|
|
遇见一个难题,请教各位高手。5 {6 z3 }9 H* K f3 b3 s1 s
' `% W7 U' }. M& ^3 I7 K使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。2 n7 ^( C/ K/ z1 Y9 ]1 z
! p4 _9 o% N/ t& I7 Y4 L
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
- W" U4 f" n+ @0 y
6 G' X" A0 m# n' h is
$ S7 S/ y/ W% a# w3 ^4 r i,m: integer; -- 整数变量
4 n+ f0 q% o' k4 S0 P. A5 |7 I4 c5 _ Name:string; -- 字符串变量
$ ? u2 ]% ]( D2 x( H Obj:Object; -- 对象类型变量+ _1 J6 v' F9 d& Y: F% o1 e
# V! i+ u' T$ X# r! h% ~do
7 J5 Y8 p0 b+ C3 {7 ^. Z( g+ R3 I; \ m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型
8 ]+ Y/ @- [, O9 G Name := sprint("BA", m); -- 生产线名称0 Z4 v! D" i5 j' j5 R( V
Obj := str_to_obj(Name); -- 转换成对象变量; y& ^' X! n0 u9 r
* W- l0 w% q3 A: M0 W
FOR i:=1 to 100 LOOP' u d {) v2 w: V/ ?. \
waituntil OBJ.occupied prio 1;' c& q. e# n; C8 [
OBJ.cont.move(@);
2 w- l c9 q" f8 n# Y! a* c* U* }) Q 3 c5 ^5 {1 w2 z0 a$ y% b: n
NEXT;
) H) R3 {5 ~1 ^9 S; D$ c @.backwards:=false;
9 h9 c) q% Z+ Fend;
. H! h+ X" Z" a" ~; N3 D" N |
|