|  | 
 
| 遇见一个难题,请教各位高手。 . S9 R8 O4 n4 {0 u  ~3 o0 i: |% C1 E  J5 w* ^
 使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。0 A( G; ^" a- [9 E! X
 
 , O- L0 d. {$ w  v需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。0 K! O; Z9 Z+ y8 e# X0 n
 
 9 d( w- \* N, T1 C" s& |1 p is7 O5 u) w: ^0 s4 L& H4 B# K! W
 i,m: integer; -- 整数变量! j& |5 U) q& \7 X. c7 \
 Name:string; -- 字符串变量
 8 V5 H" J) M, P! j/ N        Obj:Object; -- 对象类型变量
 & B2 A% p7 T. f+ d% I
 $ r2 \  t  r9 R5 @8 ^8 K  X+ d  X$ ldo
 4 L8 F/ H) N4 ^! @0 x# O0 Q! @4 x        m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型+ V! ~! {) L; A7 N
 Name := sprint("BA", m);  -- 生产线名称
 $ y# o  B5 t' O1 g- F        Obj := str_to_obj(Name);  -- 转换成对象变量
 . W. [# @: D) ]- [. ?$ ?   * X) H& P3 f+ ?
 FOR i:=1 to 100 LOOP
 ( J- X$ e6 ?4 X                    waituntil OBJ.occupied prio 1;* i( ]0 O. L5 n9 j8 E: k8 M
 OBJ.cont.move(@);
 1 p0 U" X: v& ^4 c3 ?+ Y
 ( n! [+ Z9 N& t        NEXT;
 # Z- [8 y! o7 Z& u, s                @.backwards:=false;5 x; X# {: \) j, l, p, W& W) n
 end;. v7 ?9 i2 U, y& G5 r# s
 
 | 
 |