|
遇见一个难题,请教各位高手。2 B+ Q/ W. d$ J# y% x2 ^ q5 N/ R
3 S4 }* A- F# r) h& f
使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。7 Q, U/ ~( Z2 Q
/ Z+ ] i1 J0 t+ p4 ]9 J! P需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。$ g7 ?# a( Q4 V
6 |% y0 J$ V+ E* F is
/ W- D) c: A: d# O4 k9 C+ }! z. S i,m: integer; -- 整数变量
- E, u( ], D$ Q% Q Name:string; -- 字符串变量
& z( U+ u E% j7 [( b9 ^: s Obj:Object; -- 对象类型变量; N$ h- I M) \
3 J- I3 T& {- o( Q& t1 ndo# ?) V# \/ ~1 {0 ~
m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型3 o* c" N! h. u% d3 S$ W6 x
Name := sprint("BA", m); -- 生产线名称0 V$ U, l: Y" Y( K8 ?7 @
Obj := str_to_obj(Name); -- 转换成对象变量
7 M2 e2 ~9 v1 n2 ^+ E" o h6 m3 ` ( \- f3 X6 V, Y \
FOR i:=1 to 100 LOOP2 `# ]9 ~4 @6 \4 _
waituntil OBJ.occupied prio 1;* h v5 P2 R0 D& G
OBJ.cont.move(@);
" E+ S, x" J) { 8 C& G7 t0 U. }8 v
NEXT;
. S) k. W0 n5 Q& ?- R @.backwards:=false;& e5 r7 ]- Y1 h6 S, o* N7 k& v ~
end;
- ~! t* l( j( ^9 C9 Y- |! L |
|