|
5仿真币
你好,帮我看个程序,好吗# o* i5 p1 b$ [/ `
这个程序是一个machine的logic,我是想根据part的型号(400号,500号),来执行不同的process.程序编译没错,能够运行.但是运行时Machine中却有两个part(process中只定义需要一个part)/ Z: O8 M1 W( u* s
& E5 a$ n5 h' a' c4 ]2 Zprocedure mech_Pro_Type(), b' g; M6 s% \: s+ S9 e. j
var
3 O `! l6 `" Npro1_process,pro2_process:process
& |2 W% a- F* i5 d8 p0 ~the_logic:logic1 Y5 Q3 R& D+ p7 Z8 A ^
begin/ H2 u; J. p# p! w! Q
wait until out part_count 0
b! R/ T) n4 A* i( c5 Y& ` require part any
- ^( j- Q; T7 F( O# G s+ P pro1_process=get_process('Mechanism400')! M* M0 b+ w4 c4 h; k
pro2_process=get_process('Mechanism500')
2 N& U" w8 |0 J2 m
1 N) M2 t R" v' t4 {8 E: ` if(cpart<>NULL)then3 k6 `3 g% E2 \/ V# b
if( cpart->Product_Type==400)then
% @2 e2 S& s; k" ~/ E% x- G do_process(pro1_process)in state IDLE_IDLE, BUSY_PROCESSING
% A( _7 a7 W% k -- write('装机构工位:正在执行工艺号',cpart->Product_Type,cr)
" v5 X& U# C! W i# O: ^) z else
; E+ o1 l$ v5 \ do_process(pro2_process)in state IDLE_IDLE, BUSY_PROCESSING
* ~. }3 }9 r( Y6 s --write('装机构工位:正在执行工艺号',cpart->Product_Type,cr); o0 T& ^2 X s1 T
endif& e- F8 H, F+ ]3 Z( ], x5 _% n/ X; u0 f
endif
6 C# e. E8 v- a- T; w7 Lend |
|