|
|
遇见一个难题,请教各位高手。/ H {/ a, Y- |) }5 v
: h9 f3 Z; i; B- j7 ?& N
使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。$ c0 d+ M$ v# ^
3 N j* n; i, j& b/ q5 i: |
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
+ L/ a0 H/ d; C0 H* x
9 N) M# ?9 \8 R9 r5 l: q' x+ d* A% Y is
% p9 h. r# B: A: P i,m: integer; -- 整数变量
7 A( F. {7 A/ l1 x6 ~ Name:string; -- 字符串变量+ O( d+ j/ D2 B
Obj:Object; -- 对象类型变量9 Z8 m* a9 m$ |: k0 s2 P. F% v1 u
, Z3 y. p, B a: d2 sdo
: n8 Z7 J9 L1 C2 }2 Q m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型% G+ X9 v2 k% P# B
Name := sprint("BA", m); -- 生产线名称: s( a2 M! f# w# ?
Obj := str_to_obj(Name); -- 转换成对象变量
* C( x# s8 g) w7 l: w- T
2 W' t* A6 [1 @% F" |, K3 p S FOR i:=1 to 100 LOOP
6 e' p& V- x0 j! _ waituntil OBJ.occupied prio 1;
8 c% N6 w. y$ M, | @ OBJ.cont.move(@);
, i2 e- i5 ?* ]* T1 F: \. q
* U+ z) k: T, N8 }" p. N6 f* b3 r! ? NEXT;
2 q5 L2 s. L1 H @.backwards:=false;) o8 y; V) F9 L! {4 f
end;; x# ~3 p* k" }( h1 s* y
|
|