|
|
遇见一个难题,请教各位高手。
6 P- Z" F) U4 P' w4 S" d6 F( {. W) F* G! `: [
使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。
+ ~& B: [1 c$ }
8 T+ l: F" t' {% R需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。% w8 U+ E# s- M1 c7 F
. F! R3 ~: }9 ? is
- ^* Q0 v- _1 w2 k; n i,m: integer; -- 整数变量# |0 P. T' f- Q6 D8 P3 X8 Q/ H. a
Name:string; -- 字符串变量+ K* H% f: ~( @7 ^: z
Obj:Object; -- 对象类型变量$ E) x& F* G" R! D, g
6 U! y- U$ y( s/ Q4 l, xdo% a* A; N3 I- F, `0 e
m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型3 p) {* x! l1 T R/ u5 ^
Name := sprint("BA", m); -- 生产线名称
! k5 n! H6 y. s: V Obj := str_to_obj(Name); -- 转换成对象变量; r3 _9 ~* F; {
5 `, T7 a1 ~! w! C FOR i:=1 to 100 LOOP' K: D3 O% r' F7 a- s9 Z, s
waituntil OBJ.occupied prio 1;) D0 K) ~ ]$ r! p) U
OBJ.cont.move(@); % A- R( r, u. x
# O/ I8 R8 I1 A5 ^/ i, y NEXT;* |* C) B/ e; u' w l4 D
@.backwards:=false;/ O( I( ?; N) u, h
end;
; V, ^) @: [! J) @1 o: s; I8 o |
|