|
|
遇见一个难题,请教各位高手。5 z' B6 C, ?7 h5 |6 A; V
/ }: K& [, Q' ]5 u( r, b: H使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。- f$ V8 W- g, ? a) K- {
' U: s! Q( r0 s" e, Q* O0 r" {需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
' U1 \! v* W" A
$ R' H* @6 F% r$ d1 o is
4 `* N5 \7 ~% ]/ i i,m: integer; -- 整数变量
$ b7 y# n& J3 q) \ Name:string; -- 字符串变量' J1 H& ?4 c+ @) [- @0 ]
Obj:Object; -- 对象类型变量# N4 l+ Q1 u$ g* X
. \) u. h- ^( b( C' f" a& Hdo
- {9 P% S9 |! v# ^7 h m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型
: |$ L- ~& D+ E Name := sprint("BA", m); -- 生产线名称
. Q# }# A3 S0 ]7 w }+ e Obj := str_to_obj(Name); -- 转换成对象变量
, d5 y3 c/ K5 _
6 |5 ^3 n8 L1 ~! m FOR i:=1 to 100 LOOP' T+ U2 x2 M( D `& Q d1 Z
waituntil OBJ.occupied prio 1;2 ^8 Q8 b' d3 K0 c, |
OBJ.cont.move(@);
: V9 c2 c8 \* P; n% i% R
% x5 M0 G4 U8 X, M! Z9 s/ T. W NEXT;" d! e$ Q B# y
@.backwards:=false;" a7 ~8 `* t4 l
end;, q- D% F& G' M4 {6 e, ?" S
|
|