|
|
遇见一个难题,请教各位高手。" ?( p7 J' F h. ^% O
' }9 n6 g( W: @- U- c使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。
6 R' s$ g' P& m9 b K5 T* w! q
1 }" p+ P6 n3 P7 h需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
f Z X0 C! g/ s* D! B' s5 F' a3 [& P+ [* H
is0 K! D) n; d! C1 t2 i) J/ ^4 l
i,m: integer; -- 整数变量5 {: G1 q& P3 w% P3 Q/ J) x
Name:string; -- 字符串变量
# Z) N) a5 X0 G- f6 N7 S; o Obj:Object; -- 对象类型变量" w: e" Q( o. D* Z D1 m
: t7 H- u& }& D2 D. M8 r
do1 g# B, u, H" E; f0 o' ~
m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型% @. E" V) t# s
Name := sprint("BA", m); -- 生产线名称
6 b# P& t% A+ a4 k Obj := str_to_obj(Name); -- 转换成对象变量
" I) `$ c6 {3 Y6 c. S4 U# q
7 U" e" e3 w, t. f0 j. i2 u FOR i:=1 to 100 LOOP- y: S& D& l1 X1 n
waituntil OBJ.occupied prio 1;
/ g- L8 [5 g$ Z. h9 B OBJ.cont.move(@);
- ~( a4 ~7 B; i ) e) V2 L. `' F* ^. d/ T
NEXT;( i+ M( V; E% c; d2 i
@.backwards:=false;6 V$ X4 A$ z1 M5 a' j- h7 V( Y- \
end;; t7 X0 @; j; j. g4 d' J; n
|
|