|
5仿真币
你好,帮我看个程序,好吗
* W8 F! b3 O7 H! l; u7 L' Z 这个程序是一个machine的logic,我是想根据part的型号(400号,500号),来执行不同的process.程序编译没错,能够运行.但是运行时Machine中却有两个part(process中只定义需要一个part)" N) r* A0 Q( M6 m1 v' g4 S2 b
* S" b* F( F5 c& d" U
procedure mech_Pro_Type()
* `3 X& \4 O) o1 o9 s' avar- c/ G7 f6 N) [" a* `( x% W
pro1_process,pro2_process:process
% E9 c( U% {4 M+ V* q- ^the_logic:logic$ F3 r. g! X. u$ @
begin
: M9 H$ d0 S Z: K; F+ X1 k wait until out part_count 0 ) B8 g" `* K/ z' T3 I2 H' `
require part any# p0 }& @7 G' h9 b' u( L+ \, a
pro1_process=get_process('Mechanism400')8 @" {2 r- J) m! H, h
pro2_process=get_process('Mechanism500')
6 r( ~) b( i4 h4 C3 ?& V% {
! m! ~9 _; x4 U, ^+ ]/ O4 t if(cpart<>NULL)then
. c8 z# |" d" i8 H! n( D if( cpart->Product_Type==400)then
; Q+ m9 N7 i) W$ C( S& e do_process(pro1_process)in state IDLE_IDLE, BUSY_PROCESSING& F Y8 F$ \5 b
-- write('装机构工位:正在执行工艺号',cpart->Product_Type,cr)2 v6 x! c k1 j
else , S; I, G' A0 G# E8 `( z
do_process(pro2_process)in state IDLE_IDLE, BUSY_PROCESSING
3 V4 E% l1 \; ?& ?' B2 u --write('装机构工位:正在执行工艺号',cpart->Product_Type,cr)
0 S3 w7 W- H7 Z5 `/ B endif" F6 r( g) j% S4 [+ a; B. w& o
endif! P2 E3 E. Q* J* y
end |
|