|
|
遇见一个难题,请教各位高手。3 m, P; B9 e. [; W+ R
0 r. O- p8 G8 B9 `( ^! M3 Q$ U使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。9 z! ?/ A; u" x3 S- t
+ v# B; F: p0 a( x2 `8 v; V
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
+ y7 g' C/ n) F# H! @2 T) L5 N1 P! o% X
is! S3 v. d/ ^) i3 ]
i,m: integer; -- 整数变量$ M! g+ r. [5 ?* ~; \ ~
Name:string; -- 字符串变量7 f0 Q& r# a2 n( ]6 f$ k
Obj:Object; -- 对象类型变量
w& e0 D# O0 o/ ?0 e F
* M0 M' |: V/ F( N1 Ldo
( X8 [4 H- _! U/ Y; _+ ]& S. b3 P: X m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型7 r& W4 N; X2 _% y U3 Z2 d" e5 L
Name := sprint("BA", m); -- 生产线名称
+ b9 f: ~7 E, i& p& L& i: R Obj := str_to_obj(Name); -- 转换成对象变量
8 j+ S6 p- p1 q" D( H
2 f/ [# c$ s8 o1 E$ T9 B5 @* h( B FOR i:=1 to 100 LOOP
. S) n; r4 l& a waituntil OBJ.occupied prio 1;- b# x+ a2 K, M; M+ T- v& r
OBJ.cont.move(@); $ g1 } L8 |% E
9 O+ E# q s. Z7 s( Y NEXT;8 O3 b( R, [' `) }- \* W4 I
@.backwards:=false;- ~0 v; `4 |0 e6 M! j. y
end;
3 x; p" U, ^7 R- y2 h$ X' H) {9 s |
|