|
|
遇见一个难题,请教各位高手。
1 l9 F) I8 w. N$ L
) h. W6 h" g9 { B R* n, T使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。: v" R" q% o6 r6 Z5 l4 x
0 B2 r, k' t) n/ h5 e/ D7 E" A/ m需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。, {7 t/ `, `, t3 L7 t# v) D2 s- G0 N
- b" e. y- [( P/ H; S0 k, g is
0 H0 p9 R6 T, c i,m: integer; -- 整数变量+ y$ t8 S4 H) J* ~4 D( ^
Name:string; -- 字符串变量1 u& d9 b' r& i+ w1 G& y
Obj:Object; -- 对象类型变量
8 l/ y+ M0 E, o( @7 \# ~7 w- N" o$ b* V9 B
do
3 y+ F/ p h) h& D$ D5 {& l9 d% ? m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型
/ G. g* w9 n8 P: ~+ R) q Name := sprint("BA", m); -- 生产线名称
0 H. x8 ]: O$ ` Obj := str_to_obj(Name); -- 转换成对象变量4 v1 p" z$ |. H
0 Y7 E% c+ K2 n4 m, }, E/ ?/ z FOR i:=1 to 100 LOOP3 U8 u9 T. V( Q4 I4 K! B1 h5 u
waituntil OBJ.occupied prio 1;
/ e! ]! z# [8 f' r" ]8 E OBJ.cont.move(@); ) D8 U3 s) a1 x6 B/ d5 i/ d
) ?7 `" \! |" v/ |+ x" T NEXT;; U. m: o$ o$ B4 F6 r
@.backwards:=false;, k3 T0 f5 V, g1 i& Q# Y0 U2 @5 A
end;7 P S2 h `, P V+ R# z$ [( M6 c
|
|