|
5仿真币
你好,帮我看个程序,好吗: n& l& Q8 K( _/ x1 H6 `
这个程序是一个machine的logic,我是想根据part的型号(400号,500号),来执行不同的process.程序编译没错,能够运行.但是运行时Machine中却有两个part(process中只定义需要一个part)0 `6 x! }$ H3 Y- J: {4 v3 ]
6 g0 Q) ?/ y1 t; W
procedure mech_Pro_Type()
' e! i6 J% I" V# m' I) ]) Svar
& b1 r: [& B4 L+ o( h) L1 M1 upro1_process,pro2_process:process
9 W' B2 A2 s$ z, E3 n0 Hthe_logic:logic8 M9 i, n& V/ B% v- I- Q
begin
! }/ Y0 j2 F+ g! b3 O8 `5 k9 V6 v wait until out part_count 0 , i- k) G& W9 G
require part any
0 |- Q+ r v: R% m( G! Q- [9 | pro1_process=get_process('Mechanism400')
; B: t/ C K# l pro2_process=get_process('Mechanism500')7 }# X3 W H$ ?
8 R4 w D/ ^3 D& t if(cpart<>NULL)then& {/ i' ]! c2 l* U+ ^6 Y+ y* h
if( cpart->Product_Type==400)then% A8 O1 q5 R: F# o, o/ j& Y
do_process(pro1_process)in state IDLE_IDLE, BUSY_PROCESSING
- p/ ~3 }0 A. b6 X -- write('装机构工位:正在执行工艺号',cpart->Product_Type,cr), @. z3 @2 U, t4 w( v' F4 _
else - r* `( j* c+ o$ I9 W
do_process(pro2_process)in state IDLE_IDLE, BUSY_PROCESSING 5 P+ e4 S% S+ M1 G, z0 q# {; p
--write('装机构工位:正在执行工艺号',cpart->Product_Type,cr): U; d' k4 A0 i$ ]
endif G8 C9 ^, {9 q: `/ `1 q
endif4 Z4 V+ o3 d* W( d% @$ k# P
end |
|