设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5275|回复: 4

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

  [复制链接]
发表于 2014-10-8 20:31:26 | 显示全部楼层 |阅读模式
遇见一个难题,请教各位高手。
; V+ B; _, n6 s# G
' B- P( \, f3 Q" P& o) m使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。
7 @; d, j: P! T8 m
% i; }  f) ^2 ?3 h! d( j需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
" ?5 b3 I# b$ A/ i9 P- S# \1 l" `4 i  `6 r+ J5 W
is. r9 |+ A9 b, ]7 S4 j
        i,m: integer; -- 整数变量
2 I! i% f( B( L+ d7 v& Y/ g7 J        Name:string; -- 字符串变量
% s$ \- `: r, G0 r6 x1 b& I" I8 z4 }        Obj:Object; -- 对象类型变量/ J" Q3 f' u6 i/ r6 \: \7 o6 u

  N# c* i+ A" D( g/ Y0 Udo) P! v+ P8 o* }9 I3 j( Y1 W
        m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型
8 ]& U0 a' }: g% ~' k8 i        Name := sprint("BA", m);  -- 生产线名称
- M! y! k! x- g3 Z1 t        Obj := str_to_obj(Name);  -- 转换成对象变量
, i) v2 i: I: B# r  r   1 o! o. }- M, o3 |  F0 D0 y
        FOR i:=1 to 100 LOOP
& B2 Q4 z. ]+ F                    waituntil OBJ.occupied prio 1;- f; \9 c; \# m5 f
                 OBJ.cont.move(@);        7 s7 c3 h  \5 t# Z
       
. Z8 K: {0 J8 [: b# D        NEXT;
# c3 I' @- D/ M7 x0 y                @.backwards:=false;  j- o: g- U  a1 u7 Q* t. a
end;
; K+ Z8 y! \1 A' ^+ ?7 O% A8 p+ @0 q
发表于 2014-10-9 15:03:23 | 显示全部楼层
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。
& _, S  u+ O; E/ J5 @) k需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量,不太明白。
发表于 2014-10-10 10:43:12 | 显示全部楼层
函数主体 缺少对source物料的数量判断
5 B: ]' Y* Y8 @8 q" _if numberMus = 100 or numberMus > 100 then) J5 R1 p) {2 F; _: n
       vehicle takes 100 units.1 j5 o& O$ I/ j+ B
elseif numberMus < 100 then2 h( \1 R9 k/ l
       vehicle takes really number of units.) Q0 M$ p* g; L( B/ j( p/ b% G
end;
) O# \: _4 D3 m
6 A: E' q3 E) ~+ Q2 b7 g8 J希望帮到你

点评

解答不错,关键最后一次的数量是多少如何确定。  发表于 2014-10-12 07:57
 楼主| 发表于 2014-10-12 19:19:59 | 显示全部楼层
多谢各位! , d8 w+ D8 d7 e
9 m, w4 w  A. g9 D+ {) ^
 楼主| 发表于 2014-10-12 19:20:50 | 显示全部楼层
dongshui8558 发表于 2014-10-9 15:03 $ ~* w8 K( L6 f
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。
+ c, F) @) n0 b* E4 u5 W需要说明的是,A点的运输量不是固定的,因为有两台并联的机器, ...
+ K' A5 M  E, l+ \+ X2 C
多谢您提供的方法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-2 13:48 , Processed in 0.018806 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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