|
5仿真币
你好,帮我看个程序,好吗5 t& x: T0 F' z
这个程序是一个machine的logic,我是想根据part的型号(400号,500号),来执行不同的process.程序编译没错,能够运行.但是运行时Machine中却有两个part(process中只定义需要一个part)
. y b9 p' l7 h9 o% u8 F$ G3 G0 S: g6 ] Q
procedure mech_Pro_Type()$ J; v$ k8 |" G* E1 Y* N
var9 r+ K2 Y' r9 \# I# O" `
pro1_process,pro2_process:process: ]+ W4 Z% d; C! z: @' N6 F- H
the_logic:logic$ h, c% |/ s; `/ z. P6 j; L
begin
0 R- n: O# G) |" V4 ]+ w wait until out part_count 0
5 r" Z; s6 {) i5 F- D, `9 W require part any- c, K4 q1 ^2 q& b
pro1_process=get_process('Mechanism400')
6 V& a0 M+ m. b3 ?8 ?6 U/ b6 @2 n pro2_process=get_process('Mechanism500')
3 ^2 \& m1 P" G- z; B
; t+ X U7 w8 P1 ?6 e; w if(cpart<>NULL)then7 N# {6 H, q( y$ H4 o' ?2 h. y. P
if( cpart->Product_Type==400)then
% Z I s$ p5 P- |/ }; C do_process(pro1_process)in state IDLE_IDLE, BUSY_PROCESSING( Z3 w4 u& \) c; ?0 ~* Q1 {
-- write('装机构工位:正在执行工艺号',cpart->Product_Type,cr). N' u0 e. ?; D* g1 t7 J! N
else
& W; Z* Q3 {% O% s! I+ X6 Y do_process(pro2_process)in state IDLE_IDLE, BUSY_PROCESSING % p! [" m8 D% k/ d
--write('装机构工位:正在执行工艺号',cpart->Product_Type,cr)7 V$ }9 N ^5 e1 m# k) e
endif
% M: f$ x" k- X7 K/ J endif& K* U) d; W: E1 q! G# j! H4 E% u2 N i
end |
|