|
遇见一个难题,请教各位高手。% ?& P6 ~' h8 D$ m" b
% }; [7 D; c* _" r: o
使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。$ z$ F1 R& ?) ~0 C+ V) g
5 Y1 w8 ]% Z- X' T1 c$ w" e* K
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。8 N" b1 k6 O1 m/ D+ @5 l& E
* O% m9 b; i, X3 D
is
2 m5 E+ c! U; y0 p i,m: integer; -- 整数变量
+ N8 W: N. ]# w# v Name:string; -- 字符串变量
5 P: U& `- D: Q! J" V2 H/ S( F Obj:Object; -- 对象类型变量
6 U. k& c. ]$ B' |7 y6 b2 x! i. y4 O- w: i
do+ e3 q% f7 T8 e) ~5 N0 W
m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型+ F; K9 |; a: ?3 N
Name := sprint("BA", m); -- 生产线名称
3 u1 _) g7 f4 H" _ Obj := str_to_obj(Name); -- 转换成对象变量( ?1 w D! G8 T. J+ Q. y* S
5 B$ b7 y7 t9 t
FOR i:=1 to 100 LOOP! G O: O% ^6 x& h6 h
waituntil OBJ.occupied prio 1;
* w; T+ S _; E8 N& D! W OBJ.cont.move(@); ' g. @9 q2 b' G( \8 O$ b
8 K( U" }8 @3 C9 [. @' @4 ]$ [ NEXT;1 b. k/ D4 J3 m7 s2 Q
@.backwards:=false;
6 }& u/ g+ A8 w6 q9 ^' Kend;3 E: ]+ Y2 A# q5 p: U$ x4 h
|
|