|
|
遇见一个难题,请教各位高手。, d* Z8 S% K% K4 Q5 ~4 N
, d2 z' D9 U, c6 f
使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。8 I' ?( ^8 t1 A( R2 Z! t: f H# v9 E
! H" w8 B0 j. U% L5 c8 c# A6 ]1 I需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
; Q- M* t7 _) y' M: h4 C# @% }7 H9 D+ b1 K
is
& S- ?! c$ |- J5 H6 r i,m: integer; -- 整数变量) b; k, L) ~3 D* a8 q
Name:string; -- 字符串变量
! `( G+ I o% E0 p6 B* ] Obj:Object; -- 对象类型变量. b( b% g0 W: n: }$ w! q
2 i$ p1 M' W- J' T& v2 Q) l6 D a
do
2 v. X _9 d- d) `* Y m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型* o5 S- `0 F$ q& e# n2 W$ X. C
Name := sprint("BA", m); -- 生产线名称
# A$ u1 h4 M* r7 n Obj := str_to_obj(Name); -- 转换成对象变量 u) q I; D& o( }
% L. f/ D6 J& s O" W6 B
FOR i:=1 to 100 LOOP
6 c6 j/ a+ [* T$ D2 m7 v4 h @* F waituntil OBJ.occupied prio 1;! i& B/ P- b9 s7 E# B% Y, M! V
OBJ.cont.move(@);
& a1 Z) U! x3 j * `# o1 k% ?8 s5 f
NEXT;1 c( n/ l. N/ H1 ~
@.backwards:=false;1 w3 ]: E# S4 E2 p: J% ]
end;" E) Q$ ?! y# P" g% g; y: p
|
|