设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4654|回复: 4

[求助] 求教:transporter 运量不固定如何编程

  [复制链接]
发表于 2014-10-8 20:31:26 | 显示全部楼层 |阅读模式
遇见一个难题,请教各位高手。0 O: \1 h6 k" N. e% C% g* t2 H: b

) q) Y' x9 M+ D- l使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。
( @  s4 l! x+ G0 U
* X- m, E! U, o$ v' g! J需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。* [9 P0 x/ J; z! d4 t" r3 P) e

  Q7 _: O: E8 V/ I6 {# A is9 y7 \* K: O( i' X% h' u2 ]6 N
        i,m: integer; -- 整数变量" M2 [- |1 P6 P+ n$ H
        Name:string; -- 字符串变量
- o8 i$ \8 w2 h6 n% e6 h# [        Obj:Object; -- 对象类型变量( F, s% P1 F& i
+ ^6 @$ r. f& x) n& i
do6 E. [6 R7 m% B, I0 h- O8 B$ f. x
        m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型( Y6 k5 a$ J4 |5 x  d; E
        Name := sprint("BA", m);  -- 生产线名称( C* r2 N5 W* Z/ f5 Z
        Obj := str_to_obj(Name);  -- 转换成对象变量1 O) S% E( i0 b' h
   ' p$ G3 ~9 B. s
        FOR i:=1 to 100 LOOP1 ?9 u- Y- v: i4 e% X$ u
                    waituntil OBJ.occupied prio 1;) @( i  k+ H5 ?$ G. w
                 OBJ.cont.move(@);       
* ^7 w+ @  m0 A3 ]! b- |       
& F* D, K. i: w9 P# ~- t. R        NEXT;3 U2 J3 v3 V! V4 m8 h! Q0 A9 ?- l. S
                @.backwards:=false;0 K# w# y5 e4 u
end;
6 X0 P5 X! F& V
发表于 2014-10-9 15:03:23 | 显示全部楼层
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。, ?' n6 \. s: Z
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量,不太明白。
发表于 2014-10-10 10:43:12 | 显示全部楼层
函数主体 缺少对source物料的数量判断% {* ?, f: \; `- U$ Y: x+ J
if numberMus = 100 or numberMus > 100 then
8 o* P8 [* |. B% I  x" M       vehicle takes 100 units.' C+ }3 i1 f. @2 g, Z
elseif numberMus < 100 then% t: t$ C* h9 i& L2 d! S
       vehicle takes really number of units.: K  P/ w- k& e4 v* D. l; ?# |! A
end;6 ~7 |" E3 z6 ?- R+ ^

) P& m$ X* ^+ Z. G1 D2 q希望帮到你

点评

解答不错,关键最后一次的数量是多少如何确定。  发表于 2014-10-12 07:57
 楼主| 发表于 2014-10-12 19:19:59 | 显示全部楼层
多谢各位!
# m9 v! I/ F; s! Q! b8 g( _; ^+ B" l% ~& s0 d) @) Y. ~  F# g
 楼主| 发表于 2014-10-12 19:20:50 | 显示全部楼层
dongshui8558 发表于 2014-10-9 15:03
0 ]8 j( I" ^. |+ Y2 L* z. e( IFOR i:=1 to 100 LOOP, 这里肯定要变化啊。
4 C  c: n2 a0 ^  e. `" ]3 Q$ @+ {: c需要说明的是,A点的运输量不是固定的,因为有两台并联的机器, ...

7 ?9 L/ V5 L) b. c8 q! r多谢您提供的方法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2026-2-12 08:47 , Processed in 0.023977 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表