|
|
遇见一个难题,请教各位高手。! |( G/ ]) f4 {/ e
/ h) [5 n8 H' ]1 Z" |$ \6 ~使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。; |( T# J& A6 e! P6 E
; S7 M& s9 g1 [需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。0 I# i: e0 h! V
/ I8 G, ~+ d) n- w is
$ U) E) w2 T- {9 G/ f1 W0 u i,m: integer; -- 整数变量8 B, Q# l/ l, a0 w, o7 K
Name:string; -- 字符串变量" j i! }& e3 d
Obj:Object; -- 对象类型变量 x ]6 P( {: x8 u
6 S( s9 Z7 A3 `; m
do
0 m7 o8 U2 V7 ? m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型 T8 b/ r+ u0 Q7 V9 ?, P
Name := sprint("BA", m); -- 生产线名称$ [2 G% z, k1 K2 V
Obj := str_to_obj(Name); -- 转换成对象变量
3 n6 I( {& {! y1 V
& P: A% y9 t% R# E FOR i:=1 to 100 LOOP" z) X2 g2 W% O& o0 t( u
waituntil OBJ.occupied prio 1;' A* B% {6 `/ G
OBJ.cont.move(@);
" R0 ?0 x9 h% l3 x( K( n0 F* }/ b " M4 M$ c$ y$ N% N7 ^
NEXT;
* M8 y8 `/ |8 t% y: n3 s. b @.backwards:=false;( \3 ~" ]( @2 |% t) C% |- `
end;
. m4 b4 m6 `. g8 {' N) }& d5 r |
|