查看: 2|回复: 2

求大神知道传送带问题

[复制链接]
573277487 该用户已被删除
发表于 2013-1-3 14:18:28 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

主题

0

回帖

5598

积分

等待验证会员

积分
5598
发表于 2013-1-4 08:38:58 | 显示全部楼层
“发一次货”意思是传送带上已经有货物了,而且已经准备“发给下游”,使用端口控制的方法来控制即可。
假设current是传送带,在用户绘图触发里面:
treenode current = parnode(1);
if(time==你设定的时间)
openoutput(current);

主题

0

回帖

5598

积分

等待验证会员

积分
5598
发表于 2013-1-4 09:44:23 | 显示全部楼层
[i=s] 本帖最后由 domcylai 于 2013-1-4 09:46 编辑 [/i]

补充一下,也许会有人问“为什么要在这个触发器上面写?”
回答:
用户自定义绘图触发器会被触发,当你的模型中3D视图中出现了这个实体。也就是说,如果你把这个实体隐藏了,或者把3D视图给关了,那么这个触发器就不工作了。但是一般都会生效的(我们都会让它生效),说明这个工具有一定的适用性。

缺点:触发的频次和计算机性能有关,因此在极端的情况下可能会导致判断不准确。


优化的方法:不使用这个触发器,转而使用实体的消息触发器或者“用户事件”功能;

第一:消息触发器,模型运行伊始,实体发送一个延迟消息给自身,接收消息后再次发送延迟消息,已达到不断重复消息触发的作用,此时。触发的频率(与延迟的时间有关)就可以控制了。
缺点:频率快慢对于没有经验的人来说,很难控制。容易导致不精确(松弛)或者模型太卡(太紧)。

第二:用户事件,用户事件工具也有两种方法,第一种方法和消息触发器类似,不做解释。第二种方法是在固定的时间触发一次。
缺点1: 需要引用实体,因为用户事件脚本里面,current并不代表(你想要触发的那个实体),因此你不需学会声明你想要触发的那个实体。
缺点2:如果使用第一种方法,会导致上面的那种缺点,如果你使用第二种方法,会导致你的参数不灵活。8点  10点 ...12点   这些参数就成了静态参数。  这种情况下,很难做到以下情况:  比如第一个时间确定的,8点开始发货,但是下一次发货的时间由第一次发货的时间和发货量决定,可能是10点,也肯能是10点半。这时第二种方法就显得不那么灵活了。


总之,Flexsim的灵活建模使人变得聪明,你会发现有各种各样的方法等着你去尝试,(如果你不这样做)你就不会知道这些方法都有什么优缺点和适用性。选择正确的方法和合适的工具去建模吧,希望我的回答对你有用。

PS:新年快乐
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|京ICP备14043114号-2

在本版发帖
关注公众号
QQ客服返回顶部