|
|
遇见一个难题,请教各位高手。
8 L% M6 A! {& l) o! k6 Q# n: x
$ T: K- y% O- b- \8 R: f使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。3 O/ ?8 B+ m: V2 [& j- t% a
1 K1 X1 }! @, A5 H+ X* J" ^需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。9 ^' }" P& |& \7 Y2 L0 T
4 {# A, t( n# i- r
is
. f7 b: |5 \; f) \7 G( l+ f) B' F i,m: integer; -- 整数变量' o. [/ y) J! a1 i$ a }5 d
Name:string; -- 字符串变量
5 O$ C: c5 `( N) W9 e1 _2 C* r Obj:Object; -- 对象类型变量" R5 _. q' z* B6 w( a& n, p
+ F8 z6 G1 M" D; n$ A. G. `
do
2 N3 \! d1 M5 @ m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型8 f. b# A, T3 n m
Name := sprint("BA", m); -- 生产线名称) Z3 S9 Z) a) n ~ C
Obj := str_to_obj(Name); -- 转换成对象变量
$ F+ W& B/ h" h
! k5 }2 \7 W7 ?" U& F1 d$ K2 N2 q FOR i:=1 to 100 LOOP8 |. X2 l' _, q+ B) b0 y9 q
waituntil OBJ.occupied prio 1; _* \) ]$ g& q" m5 e$ h/ v
OBJ.cont.move(@); 2 G& ^( I- o9 W+ r# x
: B) H$ k% W6 ?2 e7 i
NEXT;
+ b7 \$ T: p$ I! @$ C @.backwards:=false;
& I3 E% x p" l; W; ~end;
" j' U+ G5 n2 b0 d5 w* D |
|