|
|
5仿真币
你好,帮我看个程序,好吗, \; J# H" W$ _4 e+ y; P* z7 Z
这个程序是一个machine的logic,我是想根据part的型号(400号,500号),来执行不同的process.程序编译没错,能够运行.但是运行时Machine中却有两个part(process中只定义需要一个part)0 n( [) f, L+ t H" }+ ]/ o; r6 |
5 g. \' Z L6 U+ j1 q% C h
procedure mech_Pro_Type()* Q5 |( E6 _" ~# H* i# n% ^
var
7 B- ]2 D6 I7 Qpro1_process,pro2_process:process
o# u0 O1 c$ A" Cthe_logic:logic
, N# I" H) v" k/ T- Vbegin
7 _* s! |! R: e! u' B! A7 r wait until out part_count 0
4 P f, l1 m& v/ i& p# X require part any: ]3 T0 L1 e: N; ?. b
pro1_process=get_process('Mechanism400')
K* G( S) r, N) {8 ~3 M pro2_process=get_process('Mechanism500')
. a. L( Z! H2 q; y, w6 u5 P
8 w S8 o. A3 P) d! z) ? if(cpart<>NULL)then
% X! `! p6 F2 ]4 V* K; z* n0 z if( cpart->Product_Type==400)then
! F) H. J- ?- X- |* V do_process(pro1_process)in state IDLE_IDLE, BUSY_PROCESSING
) n/ n p9 v2 N: `& B$ _ -- write('装机构工位:正在执行工艺号',cpart->Product_Type,cr)
6 F2 O: v( u) b else
y4 f! A9 i7 w G do_process(pro2_process)in state IDLE_IDLE, BUSY_PROCESSING 7 r& B; u* z) l& }
--write('装机构工位:正在执行工艺号',cpart->Product_Type,cr)
4 C. @' u, t8 N, D) i endif
L2 ~5 t* M" T# K' Q. l* t endif" u* W& b4 U( t% S6 B9 X
end |
|