|
|
遇见一个难题,请教各位高手。/ _1 W. v* N" m. X' g- ~7 v; A9 W
% y* j7 l' Y0 M( R% p2 X9 T使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。! K- t/ z- D% Z$ `' k. N. g
# ]9 m/ T# _! W1 X( u需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。* I( _. F+ A5 f' A. Q. X: l0 ?
@% }% A, z n5 w
is0 z- [, V4 W" z) L
i,m: integer; -- 整数变量; O1 u* L$ d+ c* o
Name:string; -- 字符串变量
7 Q z# V# e# s' q' ~ f& l- x9 N: h Obj:Object; -- 对象类型变量
7 B! J8 s3 [- c( r/ x
i/ D0 l) C, S1 K5 u2 [7 y8 xdo- o# N" ~# C6 Y* t9 e% S+ }
m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型4 G5 _* l. p) F$ ^" V* {
Name := sprint("BA", m); -- 生产线名称! u2 f" @" P X0 n8 t
Obj := str_to_obj(Name); -- 转换成对象变量
& V; E% D2 D# O ; B( k' R. n1 T/ u: e
FOR i:=1 to 100 LOOP, l# u+ d( ?, s1 o0 z; \+ H/ R" U3 p; V2 M
waituntil OBJ.occupied prio 1;- P+ \0 ?) h. J& X/ Q+ V8 m
OBJ.cont.move(@); T6 ?% n. T: P. l
2 k' U2 S$ @2 \( q! c% t9 a. T NEXT;9 j& p0 N6 X9 G( \* _' n) \
@.backwards:=false;3 Y. ]) c6 k; L1 P8 w4 y$ ^
end;
( A& g) q7 K. k/ ^ |
|