|
|
遇见一个难题,请教各位高手。7 P: f8 j4 n- a% O
5 u2 p- Q& c3 c( ~0 w/ C) m
使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。1 l7 O4 |. C; K$ b
& F' k* e5 l" T- b! I0 r1 [3 y需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。. x& D0 l8 Y3 h
( c6 p' S7 |3 h( k/ [+ @) @
is
! `6 Q, Q$ u5 E/ v* _ i,m: integer; -- 整数变量+ n1 l( v! i0 u
Name:string; -- 字符串变量 v! X" D" r4 R& {( M0 o a# [; ]8 \
Obj:Object; -- 对象类型变量
! j2 N6 v# R0 V+ h/ `
1 h k W% H3 g) V/ fdo
$ S. q! J) `8 V7 N O m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型
" d: ?, i+ L, n* u; j! j9 o! ~, B i Name := sprint("BA", m); -- 生产线名称
; S' a& g* Y8 k5 f) u& ^- C1 R. I Obj := str_to_obj(Name); -- 转换成对象变量! A7 E! [# n# c5 J
; N% }2 b" z6 j2 i& ?' }' [
FOR i:=1 to 100 LOOP% N% O) Q6 R W. a7 Z. L0 c- e
waituntil OBJ.occupied prio 1;
: i1 Q+ |* {5 ~5 J& n7 | OBJ.cont.move(@); - {- P" i! g* Q( p
" K G! j" u8 n7 W i$ @8 R NEXT;
2 W- H( r' d1 f) U. X6 C: R @.backwards:=false;
' [+ ]( L" ~2 d9 g2 Uend;
+ m# G8 v1 i2 q, B" q! n% u |
|