|
|
5仿真币
你好,帮我看个程序,好吗! c2 d" p; J) u
这个程序是一个machine的logic,我是想根据part的型号(400号,500号),来执行不同的process.程序编译没错,能够运行.但是运行时Machine中却有两个part(process中只定义需要一个part)
; @* f# I" G, _# v! O
7 d: B( [+ m! j" ^7 p5 Sprocedure mech_Pro_Type()
# Y4 V' N7 y4 n7 |, Lvar
! T: ~+ z& Z% i- |' V' p1 _pro1_process,pro2_process:process
" Y- h" Z. M1 Qthe_logic:logic6 c9 R r$ r. n% Q1 r
begin
; j3 q+ `5 j8 ]7 D wait until out part_count 0 ) W; K8 W% u. ~4 d Z
require part any
! K, d: M; o2 Y' ?& ]7 k& t pro1_process=get_process('Mechanism400')
! r5 S/ \8 o v, p- q7 H, ` pro2_process=get_process('Mechanism500')6 A$ _. }) r; Z! v
, J! ^. U& _/ F& z. s# v+ f2 D2 Z4 F if(cpart<>NULL)then
+ M9 B% O/ K' O8 m- ?8 e9 {% r if( cpart->Product_Type==400)then$ e( G6 n5 U0 c& Y4 o- z% q
do_process(pro1_process)in state IDLE_IDLE, BUSY_PROCESSING0 G9 ^) V; Q# z- B2 h
-- write('装机构工位:正在执行工艺号',cpart->Product_Type,cr)8 f2 X* P6 l& U5 ?! x# ~& o
else
% R+ c# m s& I% a' g do_process(pro2_process)in state IDLE_IDLE, BUSY_PROCESSING ' Y1 t/ J+ P: X$ \0 \0 l1 _) ?
--write('装机构工位:正在执行工艺号',cpart->Product_Type,cr)6 m. o3 y# E! y3 [/ `4 \1 a
endif
8 `0 |7 d1 _6 l \ D; {% u: n endif9 ]1 ~ R) |# E, b# G8 C
end |
|