全球FlexSim系统仿真中文论坛

搜索
查看: 2832|回复: 6
打印 上一主题 下一主题

如何发送一定数量的箱子到下游端口

[复制链接]
跳转到指定楼层
1#
tushenhao 发表于 2015-7-20 17:00:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
举个例子,现在暂存区上有15个箱子,上游有货物源源不断的发送到暂存区,如何设置使它一次只发送10的倍数个箱子到下游
2#
慧娴亚伦 发表于 2015-7-20 17:42:35 | 只看该作者
在离开触发进行条件的判断,结合使用getoutput()getinput()content()命令得到当前暂存区进入或离开或目前有多少个临时实体,然后用openoutput()closeoutput()来控制开闭,以控制进出。
3#
 楼主| tushenhao 发表于 2015-7-20 18:59:11 | 只看该作者
2# 慧娴亚伦
我在离开触发里面写了一段代码,能帮我看看错在什么地方吗?

closeoutput(current);
int n=content(current);
int k=floor(n/5);
if (k)
{
openoutput(current);
int m=getoutput(current);
if (m>=k*5)
{closeoutput(current);}
}
4#
慧娴亚伦 发表于 2015-7-20 20:44:37 | 只看该作者
额。你第一行代码就关闭了输出,然后此时的n应该为1,推出k为0,而k=1才能进入k下面的判断语句,因此不会触发if里面的语句。那么第一个item触发离开触发的时候就会关闭输出,再也不会有新的item离开了,自然也不会触发离开触发。所以第一个item离开之后就不会再有新的item离开了。
从你的代码和描述中,我还是不清楚您要实现的效果到底是怎么样的。
5#
 楼主| tushenhao 发表于 2015-7-20 21:13:51 | 只看该作者
4# 慧娴亚伦

暂存区接的是一个合成器,合成器一次将5个临时实体打包。当暂存区上的箱子数量是5的整数倍的时候,就将5的整数倍个箱子发送到下游进行打包。若暂存区上的箱子数量除以5有余数,比如说可能有1,2,3,4四种情况,则剩下的1,2,3,4个箱子继续留在暂存区上。
6#
慧娴亚伦 发表于 2015-7-21 11:19:14 | 只看该作者
那么暂存区设置成每5个批量发送试试?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
7#
 楼主| tushenhao 发表于 2015-7-22 09:07:52 | 只看该作者
6# 慧娴亚伦

原来那么简单,谢谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|全球FlexSim系统仿真中文论坛 ( 京ICP备14043114号-2 )

GMT+8, 2024-5-4 22:37 , Processed in 0.080741 second(s), 14 queries .

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

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