|
|
遇见一个难题,请教各位高手。
; `8 i _$ M5 B4 X/ \' H2 C
) r2 N' a1 d. L* k使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。/ K8 L4 O( Q& b. s) j# ?- F8 P$ T- |
; e; E1 ?# J7 k2 u+ U8 s需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。% E+ c( h. d& w) Z
8 V% n) M+ ]! L/ J9 z% ^, H; D8 |. J
is
9 A, I" y9 X% |9 i i,m: integer; -- 整数变量! `" Z. ]0 z* g" \% m' Z( V
Name:string; -- 字符串变量* `: G% a. C/ T. h
Obj:Object; -- 对象类型变量( @2 S! b8 _7 {1 d; F2 h5 A
% [0 T) R7 F6 _) Sdo
8 o) n. d$ _! w# M m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型
- i$ m9 d; l( T8 _3 c Name := sprint("BA", m); -- 生产线名称
8 z6 U W" N7 M Obj := str_to_obj(Name); -- 转换成对象变量
- `( g$ X) P0 ]% h , o! P6 ?* e* v$ ?& D1 H$ q
FOR i:=1 to 100 LOOP
2 J4 J. m) i( ^) B' p9 s waituntil OBJ.occupied prio 1;! I8 E( b/ R. R; N9 i8 k
OBJ.cont.move(@); ! [: n9 j4 h$ P0 U$ [& \
9 l6 i1 N. U3 P" g
NEXT;
! L; x* P! a5 d @.backwards:=false;
, X! O: K& C# R! W0 H3 J0 rend;; L2 E8 }( J3 {
|
|