设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4708|回复: 4

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

  [复制链接]
发表于 2014-10-8 20:31:26 | 显示全部楼层 |阅读模式
遇见一个难题,请教各位高手。
* R0 F/ x7 A8 T2 y8 O: k( @, n. @" @5 A7 Y# ]8 j
使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。+ J% c# J/ T) ~8 T

- \' b! k- d& a& ]" c8 ]4 ]% v需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
) @4 L8 [  D# q/ m$ ^( u/ _' I4 V" m7 I9 ?- ~* x$ v+ c
is
/ f0 y* P  h2 q0 |% s        i,m: integer; -- 整数变量* ?5 W; l4 h3 L8 |4 g- \, l9 p  K/ ]
        Name:string; -- 字符串变量3 l0 M+ l1 n+ ~: E8 g* L9 R( e
        Obj:Object; -- 对象类型变量' f& F& e2 ~' g  B
) K- n  P0 D% h% g4 c
do
  {- R3 B9 W& N  ^* ~9 H, B        m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型% y, s0 l6 [; g* P5 f! I
        Name := sprint("BA", m);  -- 生产线名称
) y1 t3 f) o0 H8 H        Obj := str_to_obj(Name);  -- 转换成对象变量3 h$ k  z: N2 W
   
# N" |  C0 k- Y. t7 J! G        FOR i:=1 to 100 LOOP
5 _! b% o7 c' ~1 U( p" y! n                    waituntil OBJ.occupied prio 1;
( l4 f: D/ h& B6 t1 U& [                 OBJ.cont.move(@);        6 d! `+ W6 D  b1 a
       
* G5 W& a9 l* `! S! W$ P& q& i        NEXT;" x9 A$ u; k, H+ P: f$ V3 ^# z7 `: ^
                @.backwards:=false;
/ l0 y4 W5 \2 R, W2 e, hend;
5 _! K6 A$ I" L# Q0 ~! P- R
发表于 2014-10-9 15:03:23 | 显示全部楼层
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。
: |0 h: v9 y3 Y7 s9 N* [需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量,不太明白。
发表于 2014-10-10 10:43:12 | 显示全部楼层
函数主体 缺少对source物料的数量判断
: s  A9 j0 U. p: g, Oif numberMus = 100 or numberMus > 100 then
3 v9 |# v7 R( G6 g9 K8 b$ B. O( Z6 g       vehicle takes 100 units.
/ y* x/ W/ x* p9 Velseif numberMus < 100 then
; \4 s) Z9 v+ S0 ?3 s3 B! s! V       vehicle takes really number of units.
- u, z1 {9 s6 {' |end;5 |5 y# {* ~$ T/ K' R3 A
3 |& \& G! O( w+ g' p
希望帮到你

点评

解答不错,关键最后一次的数量是多少如何确定。  发表于 2014-10-12 07:57
 楼主| 发表于 2014-10-12 19:19:59 | 显示全部楼层
多谢各位!
/ Q  J* }4 }/ C. |" i
3 Z, a) X3 [6 H! d( }9 u; N( n3 F
 楼主| 发表于 2014-10-12 19:20:50 | 显示全部楼层
dongshui8558 发表于 2014-10-9 15:03
- r: `  t% a8 O1 @8 {6 }FOR i:=1 to 100 LOOP, 这里肯定要变化啊。
& U1 `4 v& ~6 W需要说明的是,A点的运输量不是固定的,因为有两台并联的机器, ...

! R8 ^% n4 i$ O) h, V多谢您提供的方法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-21 10:32 , Processed in 0.018206 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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