全球FlexSim系统仿真中文论坛

标题: 【TFT 2014.12.26 FlexSim仿真模型题(28)】 [打印本页]

作者: 慧娴亚伦    时间: 2014-12-26 10:36
标题: 【TFT 2014.12.26 FlexSim仿真模型题(28)】
问题描述:本题由实际仿真建模中遇到的问题简化整理而来。在一些加工制造企业中,通常可能会准备额外的机器来应对特殊情况,额外的机器可能性能相对较差,但是可以作为备用在实际生产过程中灵活使用。

模型要求:
1、附件截图中有本题7.1的原始布局,使用其他版本请也按照附件中的模型进行布局,以方便审核和对比;
2、发生器产生实体时间间隔服从exponential(5, 5, 0)分布,处理器(processor)3作为主要处理器,加工时间为7秒,处理器4作为备用处理器,加工时间为12秒;
3、平时只开启主要处理器,只有当主要处理器处于过于忙碌的状态再开启备用处理器。备用处理器开启的条件为:新产品进入主要处理器的时间减去上一个产品离开主要处理器的时间的间隔小于5秒。
4、开启备用处理器之后,如果主要处理器恢复可自行处理状态则关闭备用处理器。备用处理器关闭的条件为:主要处理器连续处理三个产品,而无需使用备用处理器。



提示:1  灵活使用重置标签值的功能可能有用;
         2  closeinput(),time()等函数可能帮助完成本次题目。
作者: FFFrenk    时间: 2014-12-26 11:24
做了一个模型,在处理器3上控制备用处理器打开,在暂存区上控制备用处理器关闭。
作者: 德古拉    时间: 2014-12-26 11:24
[attach]2384[/attach]
作者: east0593    时间: 2014-12-29 10:17
论坛终于能上了`
作者: xinglei    时间: 2014-12-29 11:59
唉~
作者: 慧娴亚伦    时间: 2014-12-30 15:31
回复2楼:
      完成了模型的要求,给临时实体加标签来判断是否符合要求来进行相应的操作。

恭喜您!论坛ID为 FFFrenk 的朋友在第二层的回复是第一个有效回复,获得积分5分。
24小时后本题结束(即2014年12月31日15时31分),其后的回复不计为有效回复。
作者: 慧娴亚伦    时间: 2014-12-30 19:02
回复3楼:
      完成了模型要求,运用了inputopen函数来进行判断。但是模型存在一些小问题,具体原因我还不太清楚,仔细观察的话可以发现(默认随机数流下),第三个实体开始打开备用处理器,但是直到第九个实体进入主要处理器才关闭了备用处理器,这个地方需要进一步分析一下,但是暂时没有看到影响实现效果的问题。

恭喜您!论坛ID为 德古拉 的朋友在第三层的回复是第二个有效回复,获得积分4分。
作者: 慧娴亚伦    时间: 2014-12-30 19:05
回复4楼:
      完成了模型要求,运用多个注释将代码实现的整个过程显示的非常清晰。个人提一个建议就是,忽略第一个临时实体的办法不需要这么麻烦,只需要将重置的outtime标签值设为-999这样的值即可。

恭喜您!论坛ID为 east0593 的朋友在第四层的回复是第三个有效回复,获得积分1分。
作者: 慧娴亚伦    时间: 2014-12-30 19:13
回复5楼:
      完成了部分模型要求,但是发生器的发生间隔和处理器的处理时间都没有按照题目的要求。这两个地方的数值设置不是随便设置的,而是可以直接检测试题完成正确与否的数值,请特别注意完成TFT试题的每一个要求。
作者: xinglei    时间: 2014-12-30 19:16
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=15314&ptid=4924]9#[/url] [i]慧娴亚伦[/i] [/b]


后来系统崩溃了,我记着我改了。。可能搞错了
作者: xinglei    时间: 2014-12-30 19:19
之前搞错了
作者: 慧娴亚伦    时间: 2014-12-30 20:33
回复11楼:
       您的模型还是有问题,按照默认随机数流,您的第五个产品应该进入目前没有在工作的主要处理器,但是实际情况确实进入了备用处理器,请仔细检查模型。
作者: xinglei    时间: 2014-12-30 23:11
暂存区send to由随机可用端口改为第一个可用,就能实现。具体关于这个第一个可用,我还是不太理解,如果有两个端口的话,第一个可用的意思是不是一直发往第一个端口?
作者: 慧娴亚伦    时间: 2014-12-31 10:21
回复13楼:
      还是有问题,默认随机数流下,第三个临时实体进入的时候,备用处理器打开,但是接下来至到第十一个临时实体都是进入主处理器,这个过程中备用处理器还是没有关闭,请再仔细检查问题原因。
      此外第一个可用的意思是,按您提出的情况,如果下游有两个端口,只要一号端口没有无法进入实体(可能堵塞,可能已满等),都会往一号端口发送,以此往下游端口类推。
作者: xinglei    时间: 2014-12-31 12:49
给你添麻烦了,不知道这么改对不对。
作者: 慧娴亚伦    时间: 2014-12-31 15:38
回复15楼:
     完成了模型要求。
     恭喜您!论坛ID为 xinglei 的朋友在第四层的回复是第十五个有效回复,获得积分1分。
作者: 慧娴亚伦    时间: 2014-12-31 15:39
本次TFT活动已经截止。
      本次活动是TFT的第二十八次正式活动。根据不同情况选择不同的处理器应该是现实车间生产过程中的主要问题,在flexsim建模中,可以灵活的记录实体状态发生改变的时间,进而来开闭处理器完成这样的选择,是仿真建模工程师必须掌握技能。

本次题目一共有4位朋友得到了有效回复。他们的论坛ID分别是:
      FFFrenk、east0593、德古拉、xinglei、
      他们将获得指定积分,没有获得积分的朋友期待您的下次参与.

现实系统中控制加工设备可能有更复杂的模式,本次试题只是让大家熟悉利用全局表或标签来进行关键参数的记录,并在合适的时候进行调用,希望能对大家的实际建模有帮助。本次试题较为简单,将不提供参考模型,有兴趣的其他朋友可以参见前面几位完成的模型,特别推荐4楼的模型,代码的注释比较清楚,可能对初学或者想要学习代码的朋友有一定帮助。

      最后再次感谢大家的参与和支持,没有参与者活动将无法开展,希望各位还能继续支持TFT的接下来的活动,再次感谢!
作者: 657776724    时间: 2015-7-5 16:02
[i=s] 本帖最后由 657776724 于 2015-7-5 16:18 编辑 [/i]

不知道对不对。。。对连续处理3个的理解是这3个被处理完。而不是进去就可以。[attach]2681[/attach]
作者: 657776724    时间: 2015-7-5 16:23
想请教一下楼主,我之前用了ipopen函数来判断处理器4的端口是否打开,但是在处理器4的第一个输入端口时关闭的情况下,该函数依然返回1,是为什么呢?
作者: 657776724    时间: 2015-7-5 16:51
楼主:4楼的模型与其他楼的模型对连续处理3个的理解与其他楼不同,4楼计的是每次是时间间隔大于5的才算,而二三楼则是进去了就算,那么哪一种才是您题目的本意呢?
作者: 慧娴亚伦    时间: 2015-7-5 18:03
回复19楼和20楼:
        ipopen并不是用于判断我们通常使用closeinput()代码所执行的端口关闭,而是主要判定实体某个端口能否接受实体(无论这个端口是否关闭),请仔细观察箭头的颜色,红色为关闭状态,绿色为开启状态。inputopen才是用于检测closeinput()类代码执行的关闭(就是一个箭头的小横杠)。
        题目没有明确的所有内容可以自定判断,言之有理即可,当然最好是符合现实情况。
作者: 657776724    时间: 2015-7-5 19:12
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=17303&ptid=4924]21#[/url] [i]慧娴亚伦[/i] [/b]

明白了,谢谢楼主
作者: 1010265352    时间: 2015-8-13 20:44
学习一下咯
作者: yuzhu    时间: 2015-12-11 19:05
:victory:
作者: yuzhu    时间: 2015-12-11 19:08
:handshake
作者: yuzhu    时间: 2015-12-16 10:04
:victory:
作者: Kimver    时间: 2016-3-26 17:37
自己做了这个模型,不知道是否符合要求
作者: 慧娴亚伦    时间: 2016-3-27 10:59
回复27楼:

完成模型,基本符合题目要求。有两个建议:1备用处理器上的标签没有使用,不建议继续留存;2备用处理器对于连续的清零是否可以考虑仅留一个触发器判断即可?
作者: Kimver    时间: 2016-3-27 13:04
[quote]回复27楼:

嗯嗯,谢谢。另外,备用处理器的标签是我忘记删掉了;对连续的清零在两个触发器判断的话,我是理解为主处理器连续处理3个产品的过程中,备用处理器是空闲状态。
作者: zorsite    时间: 2016-3-30 12:51
[i=s] 本帖最后由 zorsite 于 2016-3-30 13:02 编辑 [/i]

编程真是一件奇妙的事情,每个人的大脑结构不一样,思路、逻辑也不太一样。
对于开启备用,我的逻辑如下:
  如果备用处于关闭状态,(已经打开的备用不需要再次打开了吧?)
      如果Entrytime-exittime <5,则打开备用。  
      打开备用后设置连续处理标签为0(为关闭备用做准备)。

对于关闭备用,大家的思路似乎有些差别。我的思路如下:
  如果备用端口打开,计算连续发往主处理器的数量(接上述逻辑,从0开始计)
    如果发往主处理器,标签增加1.
        判断标签数量是否==3,是则关闭备用处理器。
    如果发往备用,则重新开始计数。

如果备用处理器关闭,不用计算有多少发往主处理器。(计不计都没有影响)
[attach]3024[/attach]
作者: 慧娴亚伦    时间: 2016-3-30 15:00
回复 30 楼:
完成了模型的要求,主要是将判断关闭备用处理器的逻辑位置移到了上游输出的时候。
个人觉得还是放在下游判断来得好,因为上游的暂存区如果添加更加复杂的输出条件和选择的时候,该代码部分需要修改的量更大一些。
作者: gaoshanliushui    时间: 2017-10-24 22:23
学习了
作者: 1291584480    时间: 2020-4-23 21:42
1




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