|
|
遇见一个难题,请教各位高手。
8 q) x$ D0 b4 Z; ~9 W
4 p. w9 n% |1 i3 s; j9 ], s使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。2 K) j; p2 K) ^! a1 ~
" k; Z5 Y @; z4 K! P! V
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
% A; ?5 a s4 [! d r9 K) X0 F B/ e: t, R1 n
is r; P. T5 _ v; w; c! q! o
i,m: integer; -- 整数变量7 j) A6 Y. T7 N' I
Name:string; -- 字符串变量
1 F% l/ z& E8 h, B" } Obj:Object; -- 对象类型变量
" r; H. C( y- W- ^$ o9 r( D. W
do: o, E7 \% s- Q6 @: O7 s
m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型
6 o9 H. l8 U. F& H$ }8 ]# S Name := sprint("BA", m); -- 生产线名称+ q$ G- [3 z4 ] S) q1 \/ @. C
Obj := str_to_obj(Name); -- 转换成对象变量3 J ? h- o, u
4 Z8 |) S: u9 D* \; L- ?+ x FOR i:=1 to 100 LOOP0 U, J( M& i+ g- [! q. C/ _" B
waituntil OBJ.occupied prio 1;
8 j* Z/ B# ?( q; T8 N% { OBJ.cont.move(@); ; v* I* A/ {& l3 b; p* N2 |
P4 F* o x. P5 ^' z9 p
NEXT;
1 x. P: w8 b3 O2 [3 |, a @.backwards:=false;' u8 `2 C6 \1 }6 ]
end;" W, B" ~* }) A8 d1 e
|
|