设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4006|回复: 4

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

  [复制链接]
发表于 2014-10-8 20:31:26 | 显示全部楼层 |阅读模式
遇见一个难题,请教各位高手。; D8 P& \1 p2 F7 ?5 [
/ x% t2 O8 j$ m/ ]/ P7 `1 ?
使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。5 d& J0 H( Y! j% k
9 ~9 u! p+ B9 \( p$ _7 E
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。* a9 w4 i" _; S% R0 c6 V( ~
# k! v# C! p7 n
is* q( z: p8 m  P& W" A' C
        i,m: integer; -- 整数变量
- I& L" J) |/ @7 J! n7 v        Name:string; -- 字符串变量
9 t$ }2 C+ a; m3 ~1 x        Obj:Object; -- 对象类型变量
0 Z9 [! Y1 [4 x7 q  J- J: L9 J
/ m& g, H6 D3 w* Wdo
0 Q0 S6 o' ]/ [! P        m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型
+ K4 R$ k2 t: \        Name := sprint("BA", m);  -- 生产线名称
6 J7 Q/ k4 z1 n9 M' U# s- Y        Obj := str_to_obj(Name);  -- 转换成对象变量  G/ m& n+ A, C6 L( d  e
   $ A7 b% ?1 B/ O$ G/ R) r8 w$ L0 u1 V& I
        FOR i:=1 to 100 LOOP" b" d5 T1 A1 C& N+ ]
                    waituntil OBJ.occupied prio 1;  N  J7 |7 S3 u2 h: M
                 OBJ.cont.move(@);        7 a" U( V* b- |. B( @# w8 Y9 C
        2 c# a8 J- m: v5 {
        NEXT;, E8 c7 r6 l+ K* L9 Q; P- Z' ~
                @.backwards:=false;7 H5 C- S6 n* p2 `7 F/ h) [0 \1 A
end;
) S8 F3 V* z! x' I6 N( ]' s
发表于 2014-10-9 15:03:23 | 显示全部楼层
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。
1 z% w- z2 l7 l- ^0 x3 z+ Y$ r需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量,不太明白。
发表于 2014-10-10 10:43:12 | 显示全部楼层
函数主体 缺少对source物料的数量判断+ x4 \/ f' b* _# |
if numberMus = 100 or numberMus > 100 then: y* f4 w3 k1 A1 _* y2 A( K; q
       vehicle takes 100 units.) H% ~* ~2 b/ P/ w1 V8 \6 I
elseif numberMus < 100 then
* X  J+ P- m! V* O5 n       vehicle takes really number of units.
8 ]$ f" g( L8 F2 i9 x3 q7 M2 Hend;
) y4 Z4 d' i" v7 K4 r9 [5 U- f) N  H2 e. B
希望帮到你

点评

解答不错,关键最后一次的数量是多少如何确定。  发表于 2014-10-12 07:57
 楼主| 发表于 2014-10-12 19:19:59 | 显示全部楼层
多谢各位!
+ s" B; V  [7 a8 c. {1 T3 q
# s& s  L9 i2 h2 V/ a3 \. C
 楼主| 发表于 2014-10-12 19:20:50 | 显示全部楼层
dongshui8558 发表于 2014-10-9 15:03 - \: h. a8 H( F, C; @
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。
2 m) `4 `+ T; [: g* {  q' f0 l+ r需要说明的是,A点的运输量不是固定的,因为有两台并联的机器, ...

4 Q5 F# y  `! P  Y多谢您提供的方法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-19 16:47 , Processed in 0.025763 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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