|
|
遇见一个难题,请教各位高手。
) S9 }0 k2 M5 T$ r8 t0 n5 `% A
使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。
- R, L7 P. K- J, P# t+ L+ d5 f: j& @; j5 @. O H) N w
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。: E3 j4 O$ r, w8 y
9 B7 t6 x2 K8 X/ m) ? is5 b6 K' O, P: c) |0 Q
i,m: integer; -- 整数变量
; I+ K5 i$ ^* \ Name:string; -- 字符串变量9 W. X" d( ^" L8 S& _% L7 w
Obj:Object; -- 对象类型变量
% Z2 Y, L9 {2 M' e0 E# R3 v# S3 _$ { r% X
do
; y, a4 f7 ^3 D6 | T+ x m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型& t: x/ K4 L; _% U0 E+ q* l
Name := sprint("BA", m); -- 生产线名称
) M) o* {- O6 C1 ~- L7 s Obj := str_to_obj(Name); -- 转换成对象变量
" J$ f8 o m4 R
6 r' W: h: I% y H FOR i:=1 to 100 LOOP3 _8 m; Z! n9 \2 c8 a
waituntil OBJ.occupied prio 1;
( U6 L+ b1 u) k/ i2 ~0 o0 m3 ~ OBJ.cont.move(@);
$ x+ ~% [1 B1 v" m1 q
; ?) P1 j# @7 p/ }2 _$ C NEXT;% `7 P/ [# d3 n. Y/ h
@.backwards:=false;# O7 ~& ?) C1 w3 e# j1 O( d* ~
end;" A X5 [$ R$ \( j) c. C) Y# T! b
|
|