全球FlexSim系统仿真中文论坛

标题: 全局表修改操作员数量v7.5 [打印本页]

作者: FFFrenk    时间: 2015-8-3 09:28
标题: 全局表修改操作员数量v7.5
本帖最后由 FFFrenk 于 2015-8-3 09:49 编辑

本案例来自官方交流群王老师的提问
/*我以前见过一个模型,任务分配器连接了5个操作员,通过修改全局表,能够关闭操作员的输入端口,从而选择使用几个操作员执行任务。*/

附件中附了我做的小模型,做模型中,有点有意思的地方,现分享如下:

1.对于王老师的需求,并没有明确是否是时时修改全局表的值就可以控制操作员的数量,所以有两个模型是通过重置触发决定操作员数量(第一个和第三个模型),另一个模型是通过对任务分配器中passto的设置来实现(第二个模型)。实际中,显然时时修改比较方便,但是需求中并不知道王老师的具体怎么应用,他的任务分配规则有可能是指定的,所以就从两方面考虑。

2.另外,在设置通过重置触发决定操作员数量的过程中,一般思路是统一在任务分配器的重置触发中设置任务执行器的输入端口。
这里会出现一个小问题,也就是flexsim中单击重置按钮时重置触发的顺序。
在flexsim中,单击重置按钮时,会从按照model中rank的顺序,逐次向下检查每个实体的,设置其重置状态。这里的重置状态包含两个方面:1.实体状态的重置;2.触发重置触发器。(按照1,2先后顺序)。

所以,在rank靠前的任务分配器中通过重置触发关闭了rank靠后的操作员的输入端口后,在检查到操作员时,会重置其状态,打开输入端口。

因此,第一个模型,通过使用senddelayedmessage,将触发的时间延后来实现关闭操作员输入端口。(ps.使用sendmessage是没有效果的~)
第三个模型,通过将任务分配器的rank改成靠后来实现。

以上。
欢迎大家交流~
作者: 慧娴亚伦    时间: 2015-8-3 10:10
感谢分享!
感觉第一个和第三个办法没有什么优劣对比性,原理都是控制是否打通分配操作员的端口,不知道是不是在实际使用过程中,遇到不同情况还是有不同区别的呢?
作者: yingjun    时间: 2015-8-3 15:31
学习中……
作者: shiningcz    时间: 2015-8-3 17:42
1# FFFrenk

学习一下
作者: wing8403    时间: 2015-8-3 23:06
跟您学到了很多知识,明白了为什么自己没做通。开始时直接在重置触发里写,后来用sendmessage写,都失败。第二个模型的方法很值得学习,以前从来没考虑过在passto里设置。非常感谢!
作者: FFFrenk    时间: 2015-8-4 12:06
2# 慧娴亚伦


第一个和第三个其实效果是差不多的(原理一致);
但是,第一个模型的代码会比较复杂,并且在操作员上也需要写代码,所以便捷性打了个折扣。

第三个的话,需要将任务分配器的rank保持在靠后,所以新添加操作员时,也应当调整其rank。

更加便捷的方法,也希望能集思广益。
作者: FFFrenk    时间: 2015-8-4 12:10
5# wing8403


王老师的问题让我对触发器理解更深了,有交流才有进步!
作者: egofan    时间: 2015-9-15 17:06
学习
作者: lulu-luka    时间: 2017-5-12 01:41
谢谢分享~近期想要学习全局表相关的内容
作者: gaoshanliushui    时间: 2018-1-21 15:17
谢谢分享
作者: huhenghua1989    时间: 2018-4-22 01:07
感谢分享!
作者: yingjun    时间: 2020-11-14 20:41
学习中……




欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) Powered by Discuz! X3.3