|
|
遇见一个难题,请教各位高手。7 L3 S2 ^ i; Z Y; z5 r1 y. T% H
( C: o: _- J" C9 o5 X使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。
8 }, `+ @) u/ n, d, j- |6 m& m! b; F: J
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
- V- A2 t# s- e8 [; D
5 c. H) S. q' L) a. n is! W5 E' o6 A( }! l' y% S
i,m: integer; -- 整数变量) w0 `0 s; @, @- {8 h/ n
Name:string; -- 字符串变量
: c' m+ F! G' b1 d0 q Obj:Object; -- 对象类型变量7 H @- Y- w0 O% E) A3 H8 H
( R" v- w6 j# s; z: u: edo7 K7 s3 O0 {, Y& j5 {
m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型9 P3 l& L. `/ G& l7 u2 T+ u* O' I; X
Name := sprint("BA", m); -- 生产线名称
% ?( N3 _9 V) u: D! Q Obj := str_to_obj(Name); -- 转换成对象变量( u2 d) b# t4 N \+ J [
+ q# s1 u3 f! C ~4 ^ FOR i:=1 to 100 LOOP
) y% K# [3 m% [! Q waituntil OBJ.occupied prio 1;
) L' s! `4 n, u& ]% g; J+ a j OBJ.cont.move(@);
; W# d- U% N2 j% a 9 X: K% _! H: F: F* y
NEXT;$ F% F! G2 y2 Y: |
@.backwards:=false;
7 t" M7 B9 ^* a( M2 p1 ^4 Hend;/ p; i0 t$ X. W- s1 y v! \ ~
|
|