全球FlexSim系统仿真中文论坛

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

作者: 慧娴亚伦    时间: 2014-9-3 09:11
标题: 【TFT 2014.09.03 FlexSim仿真模型题(18)】
问题描述:本题来源于手工制造业车间仿真,由于操作工人之间熟练度的区别,因此在同一台机器上,同一件产品不同工人的加工时间是不确定,这个部分的仿真实现对于更多依靠手工的小型或特殊型制造业更贴近现实有重要作用。

模型要求:
1、附件中有本题7.1的原始布局,使用其他版本请也按照附件中的模型进行布局,以方便审核和对比;
2、发生器产生产品的时间间隔已经设置好,原题中有三名操作员实体,随机拣选一个操作员进行操作,他们身上都带有名为process的标签,代表了他们各自加工一件产品需要的时间;
3、进行加工作业的过程中要需要保证产品和操作员都不会离开处理器。

提示:1 分配操作员的工作可以使用任务分配器选择随机分配;
         2 可能用到的函数:stopobject(),resumeobject()。
作者: FFFrenk    时间: 2014-9-3 10:21
自己做了一个。在发任务的时候,也让相应的操作员和处理器处于操作或者闲置的状态,方便统计操作时间。
贴上来,望版主指正!
作者: ldd001    时间: 2014-9-3 10:42
开始用了个任务分配器,后来不知道该如何提取操作员身上的标签。

后来就改为直接用生成一个随机数,然后根据随机数选择端口和端口身上的标签,存储在全局表中。
选择操作员和操作时间都是根据全局表。

期待其他人使用任务分配器的方法!
作者: heh518    时间: 2014-9-3 11:56
本模型设置了三点,1.每个操作员接到任务后对处理器设置标签值,即该操作员的处理时间;2.在处理器上的处理时间返回该标签值减去0.001;3.设置了0.001(这个时间自设定)的预置时间。此处需要说明的设置预置时间有一定的用处,因为模型运行过程中是先确定好了加工时间,其次才是接受处理的任务,如果没有预置任务的话会错位设置。如果设置了预置时间的话,它的逻辑关系是先接受预置任务,然后才设置好了标签值(即加工时间),接着才是加工,这样就能对应了。觉得这种方法设置的内容不多,但是大家需要理解触发的时间关系!希望大家可以一起讨论!
作者: someone    时间: 2014-9-3 14:18
[attach]2178[/attach]
作者: 慧娴亚伦    时间: 2014-9-4 09:09
回复2楼:
      完成了题目的要求。在处理器的里面设置一个固定的处理时间,然后在处理器加工结束触发再额外使用占用任务补足加工时间。模型中多次灵活的使用tonode()和tonum()储存和传递操作员的引用,也使用了setstate()函数来保证处理器的时间状态符合实际操作要求。

恭喜您!论坛ID为 FFFrenk 的朋友在第二层的回复是第一个有效回复,获得积分5分。
24小时后本题结束(即2014年9月04日09时06分),其后的回复不计为有效回复。
作者: 慧娴亚伦    时间: 2014-9-4 09:32
回复3楼:
       模型思路很好,没有使用任务序列,而是在发生器刚产生临时实体就随机选择进行加工的操作员,将其写入全局表,并在后面处理器的选择操作员中调用相关操作员。但是模型有一个严重问题,使用stopobject()命令会导致发生器停止运作,导致产生的临时实体的间隔与实际是不符的。具体您可以下载其他朋友的模型,来对比一下运行一阵子的处理器工作状态时间比。

恭喜您!论坛ID为 ldd001 的朋友在第三层的回复完成了部分要求,获得积分2分。
作者: 慧娴亚伦    时间: 2014-9-4 09:54
回复4楼:
        很好的完成了题目的要求,使用预置时间使得加工时间可以对应起来。虽然每次加工一个产品需要0.001秒的预置时间,但是这个时间相对整体的加工时间而言完全是可以忽略不计的,所以不会导致统计上的不准确,而且使用的代码是最简单的。

恭喜您!论坛ID为 heh518 的朋友在第四层的回复是第一个有效回复,获得积分4分。
作者: 慧娴亚伦    时间: 2014-9-4 10:13
回复5楼:
      很好的完成了模型的要求,思路上跟4楼的模型有很多相近之处,但是实现却使用的是完全不同的方式。在选取操作员的触发器的示例任务中加入了一条子任务命令,让此条子任务命令将操作员身上加工时间的标签打上。这个触发器里面的任务我也不是太懂,但是方式令我大开眼界!

恭喜您!论坛ID为 someone 的朋友在第五层的回复是第三个有效回复,获得积分1分,由于模型巧妙特别额外奖励积分3分,共获得积分4分。
作者: ldd001    时间: 2014-9-4 10:21
确实存在这样的问题,
将stopobject命令删除,将发生器写入全局表的触发从生成触发移到了离开触发里。
这样是不是就满足题目要求了?!
作者: ldd001    时间: 2014-9-4 10:25
[quote]本模型设置了三点,1.每个操作员接到任务后对处理器设置标签值,即该操作员的处理时间;2.在处理器上的处理时间返回该标签值减去0.001;3.设置了0.001(这个时间自设定)的预置时间。此处需要说明的设置预置时间有一 ...
[size=2][color=#999999]heh518 发表于 2014-9-3 11:56[/color] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=13824&ptid=4706]http://www.flexsim.asia/images/common/back.gif[/url][/size][/quote]

我一开始的思路也是这个,就是由于搞不清flexsim的时间顺序,每次都是执行上一次设置的处理时间。后来放弃了这种方法。

求问,论坛里有没有关于时间逻辑顺序的,专门的总结帖子么?
作者: someone    时间: 2014-9-4 14:15
no setuptime!
[attach]2189[/attach]
作者: 慧娴亚伦    时间: 2014-9-4 19:35
回复10楼:
        修改过后基本满足了模型的要求。
作者: 慧娴亚伦    时间: 2014-9-4 19:39
回复12楼:
       由于对pick operator的任务示例没有过研究过,所以您修改了插入子任务的位置之后,就不需要再使用预置时间的原理,我还没有弄懂,但是这样确定使得代码更简洁明晰。感谢您的分享,额外再奖励您1个积分!
作者: 慧娴亚伦    时间: 2014-9-5 10:49
本次TFT活动已经截止。
      本次活动是TFT的第十八次正式活动,本次试题还是有关生产制造车间的运作的模拟,算是车间班组仿真系列模型。
      在FlexSim中,通常决定处理器处理时间的是临时实体本身的类型,而不是取决于不同的操作员。但是在模拟手工化程度较高的生产过程中,产品加工的时间几乎完全取决于不同的操作员。在flexsim中要实现需要一些技巧,通常的想法是通过一系列任务序列来完成操作加工的占用时间,当然也可以在产品生成或者要进行加工前,决定由哪一个操作员进行加工,同时赋予指定的新的处理时间。

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

      本次试题由于已经有很多朋友分享了自己的模型思路,我之前自己准备的答案的思路也类似于4楼,在此就不额外上传。涉及任务序列的答案可以参考2楼、4楼和12楼的模型,不涉及任务序列的答案可以参考10楼。FlexSim是非常灵活的,实现一个目的的方法可以有多种多样,非常感谢积极参与本次试题的朋友。相信大家都会在自己制作模型和查看他人模型过程中,对某个点的知识有了更深刻的理解。
作者: tang1991tang    时间: 2014-9-27 14:40
学习学习了
作者: tang1991tang    时间: 2014-9-27 15:36
学习学习了
作者: xinglei    时间: 2014-11-18 16:43

作者: xinglei    时间: 2014-11-21 20:45
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=13819&ptid=4706]2#[/url] [i]FFFrenk[/i] [/b]


学习一下
作者: xinglei    时间: 2014-11-21 20:46
换点金币了,楼主:lol
作者: 657776724    时间: 2015-6-26 10:40
提交作业:
和4楼的思路基本一致,使用了操作员的收到任务触发,只是使用了全局表来传递时间。同时没有处理预置的0.001的时间,因为觉得可以忽略不计。
[attach]2662[/attach]
作者: 慧娴亚伦    时间: 2015-6-27 15:31
回复21楼:
        完成了模型的要求,思路和做法上面与4楼一致,但是4楼很清楚的指出了处理0.001秒时间的原因。另外建议您上传的模型最好需要有区别性的命名,有助于他人查看或是自己的整理。
作者: 657776724    时间: 2015-6-28 11:53
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=17219&ptid=4706]22#[/url] [i]慧娴亚伦[/i] [/b]

好的,谢谢提醒
作者: yuzhu    时间: 2015-12-3 14:43
学习一下
作者: gaoshanliushui    时间: 2017-10-22 12:06

学习学习了




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