|
|
5仿真币
你好,帮我看个程序,好吗3 O, b$ ?! A) Y0 M. Z7 K
这个程序是一个machine的logic,我是想根据part的型号(400号,500号),来执行不同的process.程序编译没错,能够运行.但是运行时Machine中却有两个part(process中只定义需要一个part)
2 J1 Y/ r/ A& k9 S+ c8 j/ |2 ]0 ~6 d, Q; i4 N9 V
procedure mech_Pro_Type()
7 }6 m. L1 ?; d0 b/ q6 Pvar3 n6 o/ d. o, f0 F% P& g
pro1_process,pro2_process:process; a3 L- [& k$ D' p/ x
the_logic:logic
6 x( `5 O) ]( G* }2 U/ D3 l# mbegin
( A, |' F- }6 c2 s7 \" k wait until out part_count 0
/ W' u( w2 S; v- _( | n$ v* T require part any
* P* G$ H- B$ E" [1 @ pro1_process=get_process('Mechanism400')
, T) \/ n6 } r" b8 d3 O pro2_process=get_process('Mechanism500')
" N9 C& [" G6 a 2 x# p' u! _. t
if(cpart<>NULL)then
; {; V+ s) G# f; l; G if( cpart->Product_Type==400)then) O" n4 v4 i! B" m& Z! }
do_process(pro1_process)in state IDLE_IDLE, BUSY_PROCESSING
6 f5 F6 |+ K) [+ P+ P& M v3 G. p -- write('装机构工位:正在执行工艺号',cpart->Product_Type,cr)! e+ r2 X# o( Z! A9 W% A: p& ~
else N Q1 m: P/ t, P, z8 U
do_process(pro2_process)in state IDLE_IDLE, BUSY_PROCESSING
1 T% h9 U$ z" d+ `3 c# j y --write('装机构工位:正在执行工艺号',cpart->Product_Type,cr)
- n4 _' i) t, H endif% u0 `4 r& r {5 J
endif
( o3 S) K" _. Y" s% xend |
|