|
|
5仿真币
你好,帮我看个程序,好吗+ R" _/ j* r L/ n. z
这个程序是一个machine的logic,我是想根据part的型号(400号,500号),来执行不同的process.程序编译没错,能够运行.但是运行时Machine中却有两个part(process中只定义需要一个part)
1 S% w6 f, r' T
# n. s! e) Y+ e2 K# X* `3 R- G7 ?procedure mech_Pro_Type() O! o7 n/ \* G/ @9 b
var% W% K: h, m0 U; T z% f/ ^5 m: M7 M) v
pro1_process,pro2_process:process% x! z. p$ Y. G" Y' j+ O) |
the_logic:logic
: j8 ?- g2 y# i/ u1 {" {begin1 o' H+ w/ E$ H+ w0 o! }* g, O1 b
wait until out part_count 0 ( C+ I5 j6 {* o
require part any
4 ~5 _4 ]0 V# m0 y pro1_process=get_process('Mechanism400')
8 b5 c4 y8 l4 s$ ]4 r7 Y/ h pro2_process=get_process('Mechanism500')
, D% r8 Q5 Z, Q6 N! w* _
+ O* ]- g; {9 Q3 \* c. M8 n if(cpart<>NULL)then& ?6 e; \3 m. M1 ]" k6 S
if( cpart->Product_Type==400)then
$ r1 W. W1 r: l: u, E, C do_process(pro1_process)in state IDLE_IDLE, BUSY_PROCESSING# p) X- ]4 X6 R* O ?
-- write('装机构工位:正在执行工艺号',cpart->Product_Type,cr): c) K, E& k! C* h Z: W9 h8 k& V! l
else ) C( z* B* D/ _
do_process(pro2_process)in state IDLE_IDLE, BUSY_PROCESSING
8 x+ z9 O* i5 J6 X; U! ~# h( b! ` --write('装机构工位:正在执行工艺号',cpart->Product_Type,cr)
' O9 X8 ^5 x9 ~ endif6 T8 _) x2 k( {( \0 {
endif
0 A+ M0 O3 |4 a1 K/ tend |
|