|
|
遇见一个难题,请教各位高手。
1 F8 K7 i( o) u3 W
) Y/ }; ?, w: P5 n1 O使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。
# d" g. H$ M, k; v9 |1 Z+ H5 S
0 }7 {4 [, o. N) Z需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
+ J: e3 x1 B8 P$ t% m8 x3 Y6 q" [& S1 T7 _
is
+ |7 Z4 I* h; d: G% ] i,m: integer; -- 整数变量
W- }: n5 V6 E1 U Name:string; -- 字符串变量1 V; q9 x8 F3 z5 O) n9 z
Obj:Object; -- 对象类型变量
$ J9 s! n: c: N0 q. ^0 {. B
9 E+ \: Y N& t: kdo# B7 J+ H0 q* M$ A) K% ~' o0 {0 p9 R
m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型
( _7 h {- b7 `2 t Name := sprint("BA", m); -- 生产线名称
, G( Q8 i8 q- `6 V Obj := str_to_obj(Name); -- 转换成对象变量
* l. h" Y/ u- W2 [0 x 8 O% V# _. n/ z( p! c
FOR i:=1 to 100 LOOP
$ Q# _, A) b& B' |0 b waituntil OBJ.occupied prio 1;
4 n% D2 D. o$ m, e0 ~ OBJ.cont.move(@); 5 a6 E# Y% X: @. u4 W! P* T, N
+ E) c0 _" m; t' V; X" L
NEXT;
! x. G) }6 A$ u6 |5 Q! c2 f @.backwards:=false;
! t6 E7 i$ b7 C; @8 F0 m( O& Aend;2 X6 ^* q7 Q+ q3 } v" V$ n' }
|
|