|
|
5仿真币
你好,帮我看个程序,好吗: ]! n' b8 ~! S. i7 Y3 K$ D
这个程序是一个machine的logic,我是想根据part的型号(400号,500号),来执行不同的process.程序编译没错,能够运行.但是运行时Machine中却有两个part(process中只定义需要一个part)
' K; A4 O8 `, N) v0 m- K1 t" M
/ ^5 z% [% i5 n0 mprocedure mech_Pro_Type()
$ S8 A2 ]# A ~& D3 tvar5 s6 @4 z! Y' h9 B5 \7 @' s' U
pro1_process,pro2_process:process( ]3 Y1 i" t# \2 ?4 x4 p, m
the_logic:logic
! l6 H' O' W U# Gbegin
& h6 I# `- p3 | wait until out part_count 0
0 y5 p& |5 {0 y; z+ C5 Q3 z9 H! C1 c require part any
( ]1 n+ l) F9 M, B2 Y pro1_process=get_process('Mechanism400')
t6 c% k+ u* @9 j2 E- D" m' H# ~. v pro2_process=get_process('Mechanism500')
' i4 Q w" f! t9 |& H) k , R; h# P! V$ G2 ?4 Z
if(cpart<>NULL)then( u3 F7 u: Z$ d2 L0 y
if( cpart->Product_Type==400)then
' a: Q) a& r1 g1 t2 D" _4 c do_process(pro1_process)in state IDLE_IDLE, BUSY_PROCESSING, z% P. i# Z/ a" p1 `3 Z
-- write('装机构工位:正在执行工艺号',cpart->Product_Type,cr)5 r; \* D$ }, e! R% \! S
else
7 ]/ o+ j% h8 S4 Y do_process(pro2_process)in state IDLE_IDLE, BUSY_PROCESSING
+ q8 j* t! x0 c --write('装机构工位:正在执行工艺号',cpart->Product_Type,cr)
/ k! U& l6 Y) ^6 _ endif
9 F' k: N* q# s" o" r: y, R endif* Y' |3 Z1 }8 E
end |
|