|
|
遇见一个难题,请教各位高手。2 x8 o( P+ Z; g" e
3 P2 J. T1 w' h6 ]% I使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。2 s1 S8 p4 F$ Z
# S0 \% u0 j7 l& ?2 B需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。+ u) C3 g) y: Q9 z2 V+ f+ _2 ?
# ]! Q3 I/ n% ]: N
is2 u3 B- m1 Q8 S
i,m: integer; -- 整数变量' ^. C& @2 a R9 m/ F- V) A& Q0 f; y
Name:string; -- 字符串变量 d' h! Y1 d9 c( L. S
Obj:Object; -- 对象类型变量
$ O0 r9 b; v8 @& F E, }. t' R2 U# Q, s( U7 s# e
do
" t0 n; R1 t9 z m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型4 I$ L: a! h j( s
Name := sprint("BA", m); -- 生产线名称. |7 ]% |# s6 _. Y
Obj := str_to_obj(Name); -- 转换成对象变量
1 l1 v4 b; X8 O 2 |' @! j5 E/ [( l2 N# |
FOR i:=1 to 100 LOOP
5 n+ G, s( X- i2 k G9 | waituntil OBJ.occupied prio 1;. Q @9 l% p# r: U
OBJ.cont.move(@); 9 a: X$ j) V$ I" b1 _: E
( Q, B2 n+ Q( B! Y, U, h: ] NEXT;
$ f; J- R$ s/ p1 ]9 n @.backwards:=false;9 s9 x9 i& I$ x, x! B* H' O
end;& _* _( v! s% }7 `* f
|
|