|
|
遇见一个难题,请教各位高手。( ^* n) P3 U- @9 ]- l, z
( P8 b" l" n4 s0 O0 E" o使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。! b) o! t. E; |7 V; o6 I
. X5 p# R2 S* S* s2 T- [. T4 s需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
/ s1 z' A4 J' ^. T2 \! R9 }3 y# Q O0 K$ ?
is( M; n0 p$ n) ?3 u3 ]
i,m: integer; -- 整数变量2 J/ }* [$ e4 z: j6 k; {1 C
Name:string; -- 字符串变量
, o) z2 L7 m3 v, i1 [ Obj:Object; -- 对象类型变量8 M9 Z- J9 ?. h$ c! O6 G5 y/ v0 |5 n1 d
; i% C; W. g# C }4 Edo
' J: @2 P+ @6 c& H# t: _. Y4 | m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型! X- L3 d- w4 l
Name := sprint("BA", m); -- 生产线名称% G' c3 Q9 G, g: t8 }, E
Obj := str_to_obj(Name); -- 转换成对象变量' ]3 y" Y3 T Z+ @4 V+ B& M
# A& ]; Q# k3 x4 l FOR i:=1 to 100 LOOP4 [( |2 L+ `/ G1 e* V
waituntil OBJ.occupied prio 1;
5 I1 |- {0 O4 I4 ?0 X OBJ.cont.move(@); " e. i9 V# k$ `0 ~. s- M5 X
! p* c: ^. M [! Z- c
NEXT;/ ]- ^( q: Y2 v" Q+ J
@.backwards:=false;2 @0 O9 d3 `# w( c* U ~
end;
0 M! V6 `" V0 L3 @ |
|