设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5586|回复: 4

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

  [复制链接]
发表于 2014-10-8 20:31:26 | 显示全部楼层 |阅读模式
遇见一个难题,请教各位高手。
1 ~) q  X* _' V. I  [2 ]  W& M4 l
5 s6 I4 o+ L: `( @1 `使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。4 @9 ?" g7 O3 Q* h( R" `. p

( t- t9 e' g: T5 g( Y& Q) p需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
( l9 b( B6 A( n3 x4 w) a
$ o% A9 ]. d) {! R* P- y is
6 R& n8 Y% O( W! Y/ E        i,m: integer; -- 整数变量
% c9 v# j( V) L" k) q+ B1 e2 x" U* u        Name:string; -- 字符串变量4 F8 J$ c; c" a9 ^$ _4 w! t
        Obj:Object; -- 对象类型变量
2 T# x% Z/ v- r; |4 T2 W
2 q& u3 x/ }3 I5 r2 {2 hdo
4 o6 l7 z( R+ E/ e' e' D' W        m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型0 Q& I+ m( Y4 C# y
        Name := sprint("BA", m);  -- 生产线名称
; m: L* I' y" l" a        Obj := str_to_obj(Name);  -- 转换成对象变量8 I* N" f& E, i4 Z" h; Q
   
* r/ q, y' A# z( e* n! {7 v        FOR i:=1 to 100 LOOP
$ |9 ~7 C& I2 Q3 A2 n0 \                    waituntil OBJ.occupied prio 1;3 `: d6 f9 c! v
                 OBJ.cont.move(@);       
) ^9 }9 H+ a* T( j; B9 \       
0 H1 W* w! `) m  w) z8 T        NEXT;) c+ O0 ]3 Q+ }4 d$ [1 f
                @.backwards:=false;
8 H& B$ \4 d0 u9 c; `6 J2 Bend;
3 Y: q# K- m9 |* d0 v9 l
发表于 2014-10-9 15:03:23 | 显示全部楼层
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。
+ h9 \' J4 p. {需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量,不太明白。
发表于 2014-10-10 10:43:12 | 显示全部楼层
函数主体 缺少对source物料的数量判断
) y- G  p4 {- v7 _) ^if numberMus = 100 or numberMus > 100 then- N8 ]" p) U7 d" T
       vehicle takes 100 units.2 k6 E6 m% {8 G- o
elseif numberMus < 100 then" W2 y1 o. i! s& e( R1 U5 f
       vehicle takes really number of units.8 H7 V! }% _1 R1 }
end;5 o( e( N# N  C) j9 R- d8 o$ D

$ K( ]4 z5 U- [" [! K- A希望帮到你

点评

解答不错,关键最后一次的数量是多少如何确定。  发表于 2014-10-12 07:57
 楼主| 发表于 2014-10-12 19:19:59 | 显示全部楼层
多谢各位!
# d: U) d, w, [. r9 Y" \1 d! U
  _1 t7 N2 T9 @% L9 ?0 L- {
 楼主| 发表于 2014-10-12 19:20:50 | 显示全部楼层
dongshui8558 发表于 2014-10-9 15:03
6 C( C# s. C; r% ]: C3 G1 qFOR i:=1 to 100 LOOP, 这里肯定要变化啊。
. f1 k9 A" [) _1 L8 g需要说明的是,A点的运输量不是固定的,因为有两台并联的机器, ...
: [( r0 b! V* O6 n3 t6 z
多谢您提供的方法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-5 06:04 , Processed in 0.030120 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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