|
5仿真币
你好,帮我看个程序,好吗2 a0 [- w6 S, z8 }% K7 q6 m4 A
这个程序是一个machine的logic,我是想根据part的型号(400号,500号),来执行不同的process.程序编译没错,能够运行.但是运行时Machine中却有两个part(process中只定义需要一个part)
( z" L% I( ?- |) u' A
' Q, j2 [6 ?$ l3 ~- j& X Aprocedure mech_Pro_Type()
, s; A4 A. m0 O* I; jvar
4 S) U& I. Z+ d( t% o4 O1 Epro1_process,pro2_process:process! ]- \1 ^$ X- c. K
the_logic:logic
! L, x) }% w' M( k W2 A: ]5 vbegin
9 [" a" E, n: g wait until out part_count 0
1 u: i# h9 }3 P% \2 [ require part any
- L" f4 F! D; r' N7 B1 K- } pro1_process=get_process('Mechanism400')
( H U6 A+ t H* S1 Y6 @ pro2_process=get_process('Mechanism500'); D7 {) N7 J( i1 X7 d
1 ]! n5 ^& O1 O; R1 t if(cpart<>NULL)then4 I% M/ i5 i9 k0 N& ?) ?) Q
if( cpart->Product_Type==400)then! y/ B: I7 B- m' d
do_process(pro1_process)in state IDLE_IDLE, BUSY_PROCESSING
7 z; F9 H4 [! [8 T+ y -- write('装机构工位:正在执行工艺号',cpart->Product_Type,cr)
/ S$ x) F4 e9 n: ]1 c2 b else
+ B A& ?! q) w" ? do_process(pro2_process)in state IDLE_IDLE, BUSY_PROCESSING
. |! M% F( R+ G! x* s --write('装机构工位:正在执行工艺号',cpart->Product_Type,cr)
9 W4 L. q' Q* m- d+ u6 q endif
6 Y$ ^1 j0 h$ v9 S/ P endif9 t2 u, I; m$ W1 y, R8 y) ^+ Q& n
end |
|