|
|
遇见一个难题,请教各位高手。
1 i8 y0 B& ]4 M5 ]& @! k7 \$ F( r+ U
使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。
0 M9 u7 ^2 z8 [/ H
( y0 M" }9 j* S: V, \需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
, R% W9 t" U& Y8 F+ i& B: b, E. r( b0 Z" \" B8 ]
is( K: j+ T+ p4 {* O5 h
i,m: integer; -- 整数变量
/ e; Q9 K$ g+ H X* a* L3 q* W Name:string; -- 字符串变量4 t% P6 H3 s- Q5 W* j6 G
Obj:Object; -- 对象类型变量
& U0 L# G g% D* Y6 M
* ?4 P# ~9 M2 w* ^( Odo/ s2 x: Y7 `4 ~1 ]& R) _
m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型; h7 v: X2 D% C% Y
Name := sprint("BA", m); -- 生产线名称1 C K) z8 ~' k: K
Obj := str_to_obj(Name); -- 转换成对象变量3 r. ]2 ^' G4 a; G) i$ G. ^- q; a
7 J; d/ q* c; `8 c FOR i:=1 to 100 LOOP
6 g m! x( L. c1 w waituntil OBJ.occupied prio 1;+ f9 [1 f* N- q
OBJ.cont.move(@);
2 ^/ w) C5 {$ b! I( _ # W% ] p, R3 z! N! m1 o+ w
NEXT;
& U6 }! o& n7 J+ ` @.backwards:=false;% Y$ N, I+ ~9 h8 o* a: K& ]
end;
+ U; O% J) R! i, w4 P |
|