|
|
遇见一个难题,请教各位高手。, _* Y( k) b$ ]5 J8 @: b
- U& d' b- q$ D$ ]使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。
' v' i7 j, ] R+ \" b3 K" `+ [3 U3 F) `( {0 V9 M
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
; Q& n8 r: X6 F$ i5 Y; w5 {
' k% @" H1 m) z- h( I# Q' l3 B. n is) I6 J: R2 @ H6 G3 f
i,m: integer; -- 整数变量
& N) O5 I* l( r( U Name:string; -- 字符串变量
\3 b; T2 P' F( x! b) } Obj:Object; -- 对象类型变量& g6 M' k3 r% c9 h. P, h
4 b, i7 I' [3 z
do- o: B; X2 \/ Q+ |7 L
m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型! L6 I1 r }* E# O
Name := sprint("BA", m); -- 生产线名称5 O: Q- W: ~) M& V l! H) M
Obj := str_to_obj(Name); -- 转换成对象变量1 \. q Y8 _+ d# o: G
6 {+ F8 V# t8 {: a- a' v2 k FOR i:=1 to 100 LOOP
3 [- \- O( N! s7 e4 Q/ g2 B. T waituntil OBJ.occupied prio 1;
" I& K& d& S0 i- N OBJ.cont.move(@); 1 T* t9 o L! P' e/ ^
0 N+ e0 w- g" w1 Q# j$ i
NEXT;
: J. F( Z1 R5 j D- `8 C: A @.backwards:=false;
, R/ x* @7 c/ L' G7 Q) Tend;) y) w5 P3 n6 Z* f4 ^
|
|