|
|
遇见一个难题,请教各位高手。8 o9 \, p2 b; Z
; Y' M1 ?5 Y6 K2 L. i使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。" Q" v9 b4 u' b2 p/ S: \: ~
9 T& o' w1 K. h. t( M
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
- i3 k) \ g+ G8 w* z& Y& L' j2 D; b" V6 `
is
9 {: V" |: x$ ` i,m: integer; -- 整数变量' K7 a" o% [* k% T/ y P
Name:string; -- 字符串变量
8 r9 e; k4 C* B F+ f Obj:Object; -- 对象类型变量
& ?' y; R5 |% F" d' f( |0 u C- j" c o' q! u2 g. K% Q2 V, J
do P" z( Y1 o2 n5 A1 ]7 e) J
m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型
- T! p( u. d& ]- F Name := sprint("BA", m); -- 生产线名称* j! [4 U6 l- \$ b# n1 B( n6 l
Obj := str_to_obj(Name); -- 转换成对象变量
8 {( u& B* N8 t! a( d2 `" ~ ! k1 B* u7 \ L; K% I
FOR i:=1 to 100 LOOP; O, ^" ]. N1 f& x
waituntil OBJ.occupied prio 1;
" a+ W2 e( \( G3 j$ M8 z9 D& J! ^ OBJ.cont.move(@); 3 u* }6 K. e6 y9 z: R k1 O. Y
, S; R" s# q* S7 Z! q3 \- f
NEXT;
5 d% E) n3 {- D' k( g; Z @.backwards:=false;2 _2 I: |' z9 b' ^" ~6 v" ~
end;
3 Q2 c G+ ~2 O8 w4 J6 S7 T- h |
|