|
|
5仿真币
你好,帮我看个程序,好吗4 O/ ^3 |9 L) N! K5 u" r
这个程序是一个machine的logic,我是想根据part的型号(400号,500号),来执行不同的process.程序编译没错,能够运行.但是运行时Machine中却有两个part(process中只定义需要一个part)
: ?0 o( h4 H3 }2 z7 @5 e& t7 V0 b% L- E1 T6 _3 E( @; ?$ o v
procedure mech_Pro_Type()3 n. c: }) c3 U. U/ T
var
: ~+ ^1 N9 I. }8 V* ~6 Ppro1_process,pro2_process:process: k Z- K& s% U4 s& }
the_logic:logic
3 C7 N w' {" ?0 Ybegin
$ g$ Y+ C: B3 f5 w* f; l$ E wait until out part_count 0 9 Q" y0 z/ l2 U4 ?4 e9 R6 S
require part any+ w0 V6 ]6 U5 H$ Q3 R( ~0 \
pro1_process=get_process('Mechanism400')
, \' b' f# M: u( G; i pro2_process=get_process('Mechanism500')
5 d/ p* E' _- A( Y $ }0 b+ Q: }- _9 k. M
if(cpart<>NULL)then; d& A S& i1 J; n6 E
if( cpart->Product_Type==400)then
8 v- g* ^0 B' C Z' W) j( b/ g do_process(pro1_process)in state IDLE_IDLE, BUSY_PROCESSING3 F, K1 h2 F- N; I/ X
-- write('装机构工位:正在执行工艺号',cpart->Product_Type,cr)
f$ W. [9 Y% j. t else ( Z4 p' O! l4 O( R6 [/ V
do_process(pro2_process)in state IDLE_IDLE, BUSY_PROCESSING
) I2 @, ] U" f! A$ Y --write('装机构工位:正在执行工艺号',cpart->Product_Type,cr)
p Q ^/ E( E( W F( u7 X endif1 o& W, c3 O& L4 @2 \3 g
endif0 w' H& g2 A, F3 ^/ ]
end |
|