|
遇见一个难题,请教各位高手。
+ |# h( E. c0 X3 i; A
7 g* J% E$ N' M/ j$ [) I+ A. i使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。& f+ J; f: A5 K- ]2 E
7 ?, M( `0 b& L( \! [1 Q$ u' S7 V需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
1 P1 K9 h0 L" h1 d
6 K- r4 g' A; N# s is* r- k9 ? x8 N! o" T" _' M
i,m: integer; -- 整数变量0 ]. \3 D& `1 P
Name:string; -- 字符串变量
+ i t$ g5 m( O' o* Q$ W Obj:Object; -- 对象类型变量
4 ~( k/ f, }( u1 S$ {
7 p" \6 C1 d; T; l& {+ k ]4 _do, O. ?5 w+ C1 M$ @/ S, k
m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型2 F( Q2 u c' O& b/ c
Name := sprint("BA", m); -- 生产线名称
3 w( w* \3 Z. I Obj := str_to_obj(Name); -- 转换成对象变量 H0 r8 _% u& }, Y% ?6 t$ }/ A
8 Z9 l6 b1 A, Y0 R1 i! S" C4 p7 X
FOR i:=1 to 100 LOOP' i4 i, o' U9 n- h
waituntil OBJ.occupied prio 1;
; B" d+ U& q) F ] OBJ.cont.move(@); 3 F' y: Z. l$ J( S4 Z
- B& u- e3 c y1 r NEXT;
) B$ I% @/ U. N- \+ K8 r5 I# Z @.backwards:=false;
# _% |: Q# ?6 y' n* xend;5 L2 p( g! O/ f- P7 J: G! c3 |7 W
|
|