|
遇见一个难题,请教各位高手。
1 J0 f/ j& S4 @, D4 Z- S4 }0 @
' M4 V) k, _; Q9 B/ w- `使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。
+ I% S2 ]3 z- k7 c% o& Q1 l) N# [& B$ w& Y* l( G: f* A! R
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。2 \2 M$ |$ C8 ~% h8 m* m
8 i& e& R+ M( H: e
is5 P j% z& i# ]: d7 L: h& x5 M
i,m: integer; -- 整数变量
: J( B3 a* A0 C+ z0 x! n Name:string; -- 字符串变量
" Z5 b M( N6 |9 _; W9 R5 V Obj:Object; -- 对象类型变量# i2 e @$ d! B# }
. @1 V0 N7 D+ K* [& t5 Y
do
* C" C& C, d0 T) f. E4 N. o m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型" z4 n! J$ j% x
Name := sprint("BA", m); -- 生产线名称
. a' r( o1 [6 c j" B3 J! h Obj := str_to_obj(Name); -- 转换成对象变量9 g* q/ Q7 Z9 g; d$ L
/ s; `$ ?3 e8 N FOR i:=1 to 100 LOOP: T/ C8 s& n+ ~0 W
waituntil OBJ.occupied prio 1;2 C( @' _$ U0 Q) [. E, D4 S
OBJ.cont.move(@); " ?) m% ^# U$ J# M" ~
1 J" k8 r% S5 c2 V
NEXT;
0 v0 A @+ K3 I; V# N B9 t @.backwards:=false;
7 ^% b* ]" P2 q" {1 R! l, W2 Lend;
. o0 I6 a3 C C6 l |
|