|
|
5仿真币
你好,帮我看个程序,好吗4 Q6 [7 R/ q _7 z; R
这个程序是一个machine的logic,我是想根据part的型号(400号,500号),来执行不同的process.程序编译没错,能够运行.但是运行时Machine中却有两个part(process中只定义需要一个part)
- T* i$ I$ y g" a* e
$ i( ?& t/ E$ g% a! \7 X. `procedure mech_Pro_Type()
1 v* p$ r% Y8 \) Q) z* M; C% mvar
3 f* x. J4 `/ t! U8 R: Fpro1_process,pro2_process:process
! L, y5 x3 _8 x4 fthe_logic:logic
7 ^2 e# h7 ~5 }$ i- F0 ^, Cbegin; x8 Q9 e# `; |2 i+ c7 z" a
wait until out part_count 0 & w! L* s, E( F' F! a- p
require part any
, S! I! }1 t& | pro1_process=get_process('Mechanism400')
2 ^( n- v$ z6 \: T pro2_process=get_process('Mechanism500')+ I% j) \$ C! A. {0 J
$ Q8 h+ u0 M, V if(cpart<>NULL)then
" W0 S: O8 \6 Q! A! p if( cpart->Product_Type==400)then
& a' C4 K' B# g+ \( I/ x; Y do_process(pro1_process)in state IDLE_IDLE, BUSY_PROCESSING
8 U5 z' I; \, ~ -- write('装机构工位:正在执行工艺号',cpart->Product_Type,cr)
& b8 ~; c+ \- c. i; c% m- p$ ? else % F' T6 p! Y* d+ N* C$ @% u
do_process(pro2_process)in state IDLE_IDLE, BUSY_PROCESSING
! x# _2 M3 |5 U --write('装机构工位:正在执行工艺号',cpart->Product_Type,cr)/ I" ?# h8 F) Q6 r* `" `% q
endif, Y# b5 K1 r) _- `
endif t. O$ F* F4 e5 l t
end |
|