|
|
遇见一个难题,请教各位高手。
2 I% w+ N, o1 S
p; i; e) c3 T2 _: x. J使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。5 D$ G6 Y: c/ a1 ]3 a. f
2 @' h% s( \. D& \9 F7 o4 c
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
" k' Z, V$ e1 `8 H" T% w; l* G- }4 {' g0 y& M3 [
is
4 R& O4 D' y5 {: z; F p. x; L i,m: integer; -- 整数变量* ]7 T9 I6 A7 p8 n! j4 b
Name:string; -- 字符串变量
) v) m. J) ?6 h! k Obj:Object; -- 对象类型变量
5 y! [+ Q# a, c" s9 j, C( Q4 x6 A6 k0 l
do
. t2 Y! M. V6 T, D, |5 ?* Q- U! x m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型
- [' [ g6 t% q4 ^5 W Name := sprint("BA", m); -- 生产线名称
& M2 @* F" y9 b Obj := str_to_obj(Name); -- 转换成对象变量
, I3 f n& c h7 U ! L0 X6 Y- f4 }! @
FOR i:=1 to 100 LOOP
0 L- E2 q& C$ c4 [ waituntil OBJ.occupied prio 1;/ [( @# e$ _3 }0 s; D4 Y) q3 ], e! w4 b
OBJ.cont.move(@); 7 @! d5 m' Z: s7 I0 T' A
' F1 b% H. X4 c. n6 ]' O
NEXT;3 `" J' \: @- |
@.backwards:=false;
5 k! P4 r+ Q* @1 i# E _2 Zend;2 m5 _ a" H( Z" ~) i3 x
|
|