|
|
5仿真币
你好,帮我看个程序,好吗( g* a- S; k; U. G
这个程序是一个machine的logic,我是想根据part的型号(400号,500号),来执行不同的process.程序编译没错,能够运行.但是运行时Machine中却有两个part(process中只定义需要一个part)) G# g! T$ }: c
& m7 b7 f5 X6 r9 c/ r: d
procedure mech_Pro_Type()
- e$ q0 |5 {/ }& s+ K6 l ~( cvar- m8 H$ Q" P0 X1 C
pro1_process,pro2_process:process* n1 ]5 c( o" K/ A
the_logic:logic5 O" z6 u, Q" ]
begin
0 u3 O" t: l! X2 t5 u wait until out part_count 0 , x" N& e5 K0 _
require part any* f% ^4 b. }% v
pro1_process=get_process('Mechanism400')+ z) Z# v1 H7 X6 u* B
pro2_process=get_process('Mechanism500')
; S( w; q: i# _& _8 A: h5 t ; _! [1 J8 P% B/ G4 H6 G8 m
if(cpart<>NULL)then
. h. Z5 Q" c4 a/ @. y6 M if( cpart->Product_Type==400)then) d2 T. n8 ^) R" c
do_process(pro1_process)in state IDLE_IDLE, BUSY_PROCESSING
2 N) ?& m9 B; o3 O& j( [ -- write('装机构工位:正在执行工艺号',cpart->Product_Type,cr)
6 k/ t. e) \6 e7 I, Y6 P1 `, } else
: ^$ L7 w2 }( p do_process(pro2_process)in state IDLE_IDLE, BUSY_PROCESSING
# u3 k: g: z1 f5 @0 v --write('装机构工位:正在执行工艺号',cpart->Product_Type,cr)
2 F( t& I) T( a endif
2 n$ p1 ?8 D( g/ q endif
6 S0 L( y$ r5 I% R1 Zend |
|