|
|
遇见一个难题,请教各位高手。6 R4 F. r8 q2 _& A) e
+ T) u" [1 t& y" E
使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。% Q% f3 T( y/ _( Z5 @& G. i
+ ^: a; g$ w3 N& D8 t& H3 J+ ^# `& i需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。; ^1 j% N" H# B$ m6 L3 K
* [/ }- | Y5 b$ g is: ^! T1 `& P4 l9 p) V; r
i,m: integer; -- 整数变量& a3 d1 y1 C( h( u# z, m
Name:string; -- 字符串变量
7 F0 k) |6 l; I2 a Obj:Object; -- 对象类型变量
2 |; T' K0 p/ [/ O9 W6 P" k; H6 \ g$ V& ?% A
do
2 _& M0 _7 `1 r% V$ C m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型2 p2 ?9 _- J, l: \" P
Name := sprint("BA", m); -- 生产线名称
$ d, t- D! x( L& T* { Obj := str_to_obj(Name); -- 转换成对象变量7 e | p/ Q* Y$ R n4 J
7 p0 j7 C( j+ X3 s+ N' }0 Y, i. O FOR i:=1 to 100 LOOP# W* ] B0 Z- \; s
waituntil OBJ.occupied prio 1;
+ U) w+ a# }; K5 f OBJ.cont.move(@); + p9 _( A! r- w" r2 c' I6 T4 U2 [% e
( v X0 @* q# J6 j3 s
NEXT;
- a5 g' r2 V3 S' T/ I0 ~ @.backwards:=false;5 q( H8 \5 l% {9 d$ T: v
end;$ d. R% G: C4 J9 w. o/ i
|
|