|
|
5仿真币
你好,帮我看个程序,好吗, M8 v8 ^6 L7 Y
这个程序是一个machine的logic,我是想根据part的型号(400号,500号),来执行不同的process.程序编译没错,能够运行.但是运行时Machine中却有两个part(process中只定义需要一个part)
* b4 f9 t W( K f- P' S6 K
( y* i" N" w5 U$ S# R8 O G- gprocedure mech_Pro_Type()
3 J8 G: V( O0 W$ B- ]: j: ?! rvar
2 g( z3 v5 L# [9 ?/ |+ epro1_process,pro2_process:process
. R1 Z" [% @' p# _the_logic:logic
' M/ n( c# f% L! G8 sbegin
+ V0 a; L& t( {$ @ wait until out part_count 0 $ B7 {2 `5 p2 B# y& q* t
require part any
$ g) O4 {2 [1 A7 Y, D pro1_process=get_process('Mechanism400')
: ?# L$ N `) u! J% O pro2_process=get_process('Mechanism500')6 v) U& I+ W( p; m- M1 f+ |$ C
( V9 O9 d1 m2 ^+ e. Q if(cpart<>NULL)then
& q" Z. @- s0 t$ h+ H' C+ `, w if( cpart->Product_Type==400)then9 L; G' x8 j; H8 q0 Y& x- V" W
do_process(pro1_process)in state IDLE_IDLE, BUSY_PROCESSING
, I, s- M' Q$ d4 {) q" v -- write('装机构工位:正在执行工艺号',cpart->Product_Type,cr)) ^; v; c, P8 }3 x' H* I" B9 V/ w
else # _; x* X8 q4 E4 M ]4 s1 l& z9 u7 W
do_process(pro2_process)in state IDLE_IDLE, BUSY_PROCESSING ) X& s' v3 ~1 B
--write('装机构工位:正在执行工艺号',cpart->Product_Type,cr)
( }. B' Q# H7 I6 g% _ endif3 q& X6 x# y. Q' i4 d9 t
endif
r! V, \) {, h% L& z8 v1 K Wend |
|