全球FlexSim系统仿真中文论坛

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

作者: 慧娴亚伦    时间: 2014-5-20 11:21
标题: 【TFT 2014.05.20 FlexSim仿真模型题(8)】
问题描述:在实际物流过程中,我们经常会碰到两个运输工具(任务执行器)合作进行搬运,本次题目要模拟的就是,操作员和叉车配合,将货架上的货物卸载到传送带上的过程。

模型要求:
1、附件中有本题7.1的原始布局,使用其他版本请也按照附件中的模型进行布局,以方便审核和对比。(原题中已经设置好了发生器产生临时实体和货架的初始状态);
2、叉车最大容量为3,叉车每次叉取货架上的货物之后,运到分拣传送带边上,由操作员将其搬运下来,并放置到分拣传送带上;
3、搬运货物的细节(如放置位置不准确等)不进行具体要求;


提示:1 有多种方法可以实现效果,但是基本上都需要使用任务序列的编写;
         2 可能会用到freeoperators()命令(非必须);
         3 可以添加您认为任何需要的实体、工具来完成模型。
作者: 大摸鱼    时间: 2014-5-20 11:49
1
作者: 大摸鱼    时间: 2014-5-20 12:02
一次装三个
作者: 向阳,无伤    时间: 2014-5-20 13:20
1
作者: east0593    时间: 2014-5-20 17:58
2
作者: yushaozheng1990    时间: 2014-5-20 19:45
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=12613&ptid=4505]1#[/url] [i]慧娴亚伦[/i] [/b]
代码写在了onentry触发器里面,个人感觉较为啰嗦,肯定可以简化,但是时间水平有限只能做到这个水平了,不知模型是否完全实现了楼主的要求,等待楼主批评指正[attach]1944[/attach]
作者: meissen    时间: 2014-5-20 20:49
版主 你好, 请查看附件,采用的方法比较菜,一次搬运一个。
作者: 慧娴亚伦    时间: 2014-5-20 21:34
[i=s] 本帖最后由 慧娴亚伦 于 2014-5-21 13:24 编辑 [/i]

回复3楼:
您的模型使用了协同任务序列进行配合搬运,是此类问题的一种常见的解决思路。但您的模型还是有不少问题,第一次对搬运实体的引用是正确的,但是后面的识货引用都是错误的。只要运行一会儿就能看出不对劲

恭喜您!您完成了部分模型要求。
论坛ID为大摸鱼 的朋友在第三层的回复,获得积分2分。
由于有更新回复,本楼奖励积分作废,更新奖励参见十六楼。
作者: 慧娴亚伦    时间: 2014-5-20 21:38
[i=s] 本帖最后由 慧娴亚伦 于 2014-5-20 22:00 编辑 [/i]

回复4楼:
您的模型使用了占用任务,这也是此类问题的另一种常见的解决思路,但是由于模型中叉车每次只搬运1个货物,叉车没有达到最大容量,由于一次性搬运3个实体也是考察的一部分,因此您也只完成了部分模型要求。

论坛ID为向阳,无伤 的朋友在第四层的回复,获得积分2分。
作者: 慧娴亚伦    时间: 2014-5-20 21:45
回复5楼:
您的模型与3楼模型高度雷同,同时3楼模型本身还不完全符合要求,因此无法获得积分。
作者: 慧娴亚伦    时间: 2014-5-20 21:58
回复6楼:

您的模型实现了题目的要求。您是在货架的进入触发判断条件,然后一次性输出所有的协同搬运任务,这个办法虽然比较繁琐,但是不可否认完成了本题的要求。当然解决方法的灵活程度上确实还存在问题。

恭喜您!您是第一个完成模型要求的活动参与者。
论坛ID为yushaozheng1990 的朋友在第六层的回复是第一个有效回复。获得积分5分
24小时后本题结束(即2014年5月21日21时59分),其后的回复不计为有效回复。
作者: 慧娴亚伦    时间: 2014-5-20 22:02
回复7楼:
您的模型思路跟4楼的朋友相同,同时对外观进行了一定的优化,使其更符合现实系统,但是模型的问题也是处在没有实现多个卸载。

恭喜您!您完成了部分模型要求。
论坛ID为meissen 的朋友在第七层的回复,获得积分2分。
作者: 大摸鱼    时间: 2014-5-20 23:16
做的时候只运行了第一个循环后面的没有看,现在重新上传模型
作者: meissen    时间: 2014-5-20 23:42
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=12645&ptid=4505]12#[/url] [i]慧娴亚伦[/i] [/b]


^_^ 谢谢版主肯定。。。

下面是新修改的,主要的货架上的发送至触发新增了几行,实现了一次3个的功能了
作者: east0593    时间: 2014-5-21 11:38
求1分!
作者: 慧娴亚伦    时间: 2014-5-21 13:23
回复13楼:
在实体全部发送到货架的时候发消息分配指定任务,然后在消息内再发消息分配新的任务,方法很巧妙的实现了题目的要求,虽然缺乏灵活性,但是整体运用上比6楼更近了一步。个人的建议是以后使用协同任务序列可以参考默认的格式,但不要将注解也复制过来,同时最好在关键的步骤加上自己的注解。

恭喜您!您完成了部分模型要求。
论坛ID为大摸鱼 的朋友在第十三层的回复是第二个有效回复,获得积分4分。
由于有更新回复,8楼奖励积分作废。
作者: yushaozheng1990    时间: 2014-5-21 16:59
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=12659&ptid=4505]16#[/url] [i]慧娴亚伦[/i] [/b]
添加了一段写在与分拣传送带相连的暂存区进入触发的代码,相对于之前的模型代码有了很大简化[attach]1952[/attach]
作者: 慧娴亚伦    时间: 2014-5-21 19:32
回复14楼:
目前为止您的方法是使用代码最少的,很巧妙的运用了占用任务结合暂存区的位置来实现了配合搬运的视觉效果,特此额外奖励积分2分
作者: 慧娴亚伦    时间: 2014-5-21 19:33
回复15楼:
感谢您的参与,您的模型与前面的模型一致,恭喜您获得鼓励的完成积分1分。
作者: 慧娴亚伦    时间: 2014-5-21 19:37
[i=s] 本帖最后由 慧娴亚伦 于 2014-5-21 19:39 编辑 [/i]

回复17楼:
您的模型的思路跟13楼的模型大致相同,但是你们的思路可能都被配合搬运这个“配合”二次给限制了,单纯从灵活性和代码易读性上来看,14楼的做法更好。但是与您之前的代码相比确实简化了不少,个人建议的地方与13楼一样,编写协同任务序列一定要养成较好的注释习惯。(此外改进的模型请尽量在我给积分之前,或者发布模型参考答案之后,以免因为不必要的原因失去积分。)
作者: yushaozheng1990    时间: 2014-5-21 20:30
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=12672&ptid=4505]20#[/url] [i]慧娴亚伦[/i] [/b]
好的,谢楼主
作者: 慧娴亚伦    时间: 2014-5-21 22:05
本次TFT活动已经截止。
      这是TFT活动的第八次正式活动,本次试题涉及是一个新手入门常见的问题,两个任务执行器之间的配合任务。在不知道任务执行器的执行任务的基本机制的情况下,想要实现配合运输是比较麻烦的。大多数复杂的情况下,我们只能使用协同任务来完成,但有时候涉及搬运的item数量较多,使用协同任务就非常的不方便。
       我个人觉得占用任务是解决这类问题的一个好方法,代码也不复杂,使用起来也比较轻巧。在还不太理解任务的本质的情况下,我个人觉得14楼的模型虽然实际上并不是两个任务执行器直接的配合(借助了暂存区作为载体),但却是实现效果的同时代码最易读的。推荐Flexsim入门爱好者运用此类方法解决配合搬运的问题。
     本次题目一共有5位朋友得到了有效回复。他们的论坛ID分别是:
     向阳,无伤、yushaozheng1990、 meissen、大摸鱼、east0593
     他们将获得指定积分,没有获得积分的朋友期待您的下次参与。

     下面放上我个人制作的参考模型,没有通过暂存区通过发消息的方式,利用占用任务将两个任务执行器链接起来。关于此类问题如果有更好的解决方法也欢迎大家进一步交流。
     再次感谢大家的参与和支持,没有参与者活动将无法开展,希望各位还能继续支持TFT的接下来的活动,再次感谢!
作者: yushaozheng1990    时间: 2014-5-22 11:03
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=12677&ptid=4505]22#[/url] [i]慧娴亚伦[/i] [/b]
学习一下
作者: tang1991tang    时间: 2014-7-11 16:26
感谢楼主。。。。。。。。。。。。。。。。。。。。
作者: FFFrenk    时间: 2014-7-21 13:05
学习学习
作者: FFFrenk    时间: 2014-7-21 13:41
学习学习学习
作者: FFFrenk    时间: 2014-7-24 18:47
学习学习
作者: FFFrenk    时间: 2014-7-24 18:48
再次学习
作者: FFFrenk    时间: 2014-8-5 10:50
[i=s] 本帖最后由 慧娴亚伦 于 2014-8-5 10:52 编辑 [/i]

版主大大,自己写了一个协同任务的,写在rack的进入触发。
作者: 慧娴亚伦    时间: 2014-8-5 16:00
回复29楼:
      完成了模型的要求,思路跟6楼的模型相近,但是代码上简化了很多,通过判断货架的数量,来成批次下达同样的协同任务,方法上没有太多创新,但是在运用协同任务这一方法上优化了代码,特别奖励积分1分。
作者: CPF2001    时间: 2014-8-26 11:13
下载学习中...
作者: CPF2001    时间: 2014-8-26 20:54
太难了 不懂
作者: CPF2000    时间: 2014-8-26 21:41
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=12637&ptid=4505]6#[/url] [i]yushaozheng1990[/i] [/b]


您的代码写在哪里呢 找不到啊
作者: CPF2000    时间: 2014-8-27 09:40
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=12677&ptid=4505]22#[/url] [i]慧娴亚伦[/i] [/b]


回复22楼:你的模型operator只能一趟搬运一个box,要跑3趟才行,假如要实现一趟就把3个box都搬走的话,请问你的模型代码如何简单的修改呢?
作者: 慧娴亚伦    时间: 2014-8-27 10:18
使用协同任务,一次性搬运叉车上的所有实体。
不过这个不符合实际情况,如果人可以一口气搬3个东西还要叉车干嘛。。。。
作者: CPF2000    时间: 2014-8-27 10:28
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=13718&ptid=4505]35#[/url] [i]慧娴亚伦[/i] [/b]


假设可以搬运3个。。。。。。假设不使用协同任务,就修改你模型中代码,不能简单的修改吗???难道说,就因为不能一次性搬运而转向协同任务,导致整锅汤都倒掉?
作者: 慧娴亚伦    时间: 2014-9-12 10:16
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=13720&ptid=4505]36#[/url] [i]CPF2000[/i] [/b]


您可以自己尝试一下能否简单修改代码。flexsim中很多情况都是:表面上看上去很简单,实际实现起来很麻烦;看上去好像很复杂,实现起来代码可能反而很简单
作者: 丫头盖    时间: 2014-10-9 10:58
学习了,喜欢~
作者: xinglei    时间: 2014-11-18 16:40

作者: 向伟杰2015    时间: 2015-5-22 20:42
怎么没有答案呢?
作者: 慧娴亚伦    时间: 2015-5-22 22:00
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=16772&ptid=4505]40#[/url] [i]向伟杰2015[/i] [/b]


答案在第三页,请认真看完帖子再发表言论。
作者: yan8288314    时间: 2021-10-5 22:18
学习了,谢谢版主。
作者: gyx666    时间: 2021-10-9 11:32
[ 本帖最后由 gyx666 于 2021-10-9 11:33 编辑 ]\n\n利用PF模块做的
作者: 小新新VIP    时间: 2021-10-11 08:33
很棒很腻害呀




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