|
|
遇见一个难题,请教各位高手。( v! G2 }8 ]# s4 x* Y
6 \4 S p7 N- M; f1 @' t使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。
) D' w; Y3 z9 I* z) N! w" D3 A
* A6 y- g' [( n需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。0 C. Y9 L5 P) [* \2 l& ~1 A' A
0 c @7 o7 v+ W% m
is
% I: P7 _6 `9 Y$ N! J i,m: integer; -- 整数变量
7 |) {1 R% A5 Q" X Name:string; -- 字符串变量
4 V1 D9 o# S/ V5 e& D! a) G Obj:Object; -- 对象类型变量9 f8 v( [ j1 ^+ f; o# b3 r4 l% b
( ?# u* k6 Q$ v) W% I+ z" G( k) e
do
: [' a2 ~# g; }( g m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型
* L# F# r$ q/ ? f U" u: `' _ Name := sprint("BA", m); -- 生产线名称) b }/ [9 t! ?+ I E/ k' z+ F9 e1 L/ j
Obj := str_to_obj(Name); -- 转换成对象变量5 Q' Z) z( w: ?* `' n8 x
# ?& a4 C4 ?9 P& S& @ FOR i:=1 to 100 LOOP
3 ?, p' y! ]( M v waituntil OBJ.occupied prio 1;9 o- k' b5 Y9 Y L- }$ o
OBJ.cont.move(@); . ?6 q. N2 l4 M( I6 q
/ S, ?6 Z) S# v
NEXT;
$ W' ` \# j0 c @.backwards:=false;* y8 y7 |0 Q3 h# }0 j2 k
end;- v6 V/ D9 L# q {
|
|