设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5323|回复: 4

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

  [复制链接]
发表于 2014-10-8 20:31:26 | 显示全部楼层 |阅读模式
遇见一个难题,请教各位高手。
* k6 _, [, a7 G, n: k
  t0 d/ |# N( v  E/ Q4 N使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。
) f$ [" B: @$ S& L/ K7 G
5 \/ f2 C/ m1 N9 |0 P: }* q需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
  E. A! t8 n, f, }: o. u( K7 I1 n2 h: F3 S8 y  w
is
8 z5 m; p# d& v9 c, |; C        i,m: integer; -- 整数变量) v8 o: O. O6 L' l, P
        Name:string; -- 字符串变量
3 J3 a& K! e" u        Obj:Object; -- 对象类型变量
+ R  n$ m3 c/ G0 {7 [  e4 F2 @* e( i$ E
do
: C" |8 b8 ]4 }" s% f        m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型
" d9 m) O. C6 g' k- h6 T6 y8 }0 m6 v        Name := sprint("BA", m);  -- 生产线名称
* B0 ^' L9 G) ~5 D8 o* r" O' Y        Obj := str_to_obj(Name);  -- 转换成对象变量4 e* L2 y1 Q6 L+ Y% |" A8 I0 c
   
$ p9 \, u6 y5 C) b  u: h        FOR i:=1 to 100 LOOP; j' w2 K' V) Y
                    waituntil OBJ.occupied prio 1;5 z/ I/ U! @8 C4 g
                 OBJ.cont.move(@);       
" `/ K4 h& i' X       
! [  E2 N) s6 z* U/ p        NEXT;5 u1 c+ T6 h* E+ T/ Z
                @.backwards:=false;# C# {$ V6 X4 u, y
end;
4 z- @6 S' A9 E) U6 s4 M* ~
发表于 2014-10-9 15:03:23 | 显示全部楼层
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。1 b: x; K2 \4 Q& ^8 m* f+ M# v2 P
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量,不太明白。
发表于 2014-10-10 10:43:12 | 显示全部楼层
函数主体 缺少对source物料的数量判断
! [; }6 V: u  l2 q: p3 u$ {; pif numberMus = 100 or numberMus > 100 then( Y9 j! U  v9 w" m! e3 g7 A9 u
       vehicle takes 100 units.  f& _9 ]" }% J2 W2 }( A
elseif numberMus < 100 then
* I) w1 t9 [' t; Q& M       vehicle takes really number of units.* r% B( i9 r+ ~- F- k
end;
+ n$ s; J4 a- `1 M, Z- Z; Y' Q
" i, T0 ~/ H( Y希望帮到你

点评

解答不错,关键最后一次的数量是多少如何确定。  发表于 2014-10-12 07:57
 楼主| 发表于 2014-10-12 19:19:59 | 显示全部楼层
多谢各位!
6 j* c) \7 d9 P
( ]7 v/ \, p) V4 ?' |1 |$ r. F6 d& t
 楼主| 发表于 2014-10-12 19:20:50 | 显示全部楼层
dongshui8558 发表于 2014-10-9 15:03 2 M& |, ?7 f* Z  ~: t& }. ], D
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。- L& \7 H+ `  u6 [
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器, ...

0 V9 F+ h; r1 Y. V' v多谢您提供的方法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-21 12:40 , Processed in 0.014781 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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