全球FlexSim系统仿真中文论坛

标题: 【网络路径中实现AGV的往复循环取卸货】 [打印本页]

作者: 慧娴亚伦    时间: 2017-2-12 11:37
标题: 【网络路径中实现AGV的往复循环取卸货】
这个案例来自于一位仿真爱好者的微信公众号,地址如下:
9 `" \8 C" n; Ohttp://mp.weixin.qq.com/s/trB5-ArHIwnaXMg50A2-_g
2 M: d% z' }# l0 \
' _3 r# Y/ x, B7 X诚如公众号文章所说,该问题的关键在于如何生成反复循环装载和卸载的任务序列,原文中采用的做法是通过消息触发来生成每一次的装载任务,并在装载触发中根据装载的数量来判断执行卸载任务。* G# d! l; x. [+ A4 E
该方法能够很好地实现问题要求,然而个人认为本身装卸的流程并没有跳出默认装卸任务的范围,因此,除了第一个载运空箱的流程外,其他的所有任务可以借助FlexSim自动生成,此题的关键在于两个装货站生成item的目的地问题。
- X+ ]% X0 y9 q6 L) E0 h- R7 E我采用的方法,除了在空箱创建触发中编写装载空箱的任务之外,只需要在两个装货点的发送至端口触发器进行发送端口控制即可:每一次发送任务都会触发“发送至端口”触发器,使用一个标签“num”来显示当前载货数量(除了空箱之外的数量),再用一个标签“port”来统计前一个发送端口的序号,如果超出目标要求,则更新发送至下一个卸货点(使用fmod()取余函数来循环),同时更新标签“port”和“num”的值。最后使用inc()函数来增加统计载货数量。% D# |: W  Z+ b8 P
本方法主要借助了FlexSim本身break任务来先满足装运数量再进行卸货的方法,代码使用量上要精简不少,逻辑调试过程中容易减少错误和调试的时间。/ _8 W/ _9 ~4 J0 _! c, _
5 `5 l3 g5 F7 T7 M
希望对大家有帮助,欢迎更多的讨论~
' X' i8 y( g8 o
5 q( G8 l) W5 r模型描述:
% t9 p0 x: U$ R2 z  U  G4 _* l" J; u. |  RAGV在取一个空箱后,在装货点1和装货点2循环取货,直到AGV取满5个货物后,送到第一个暂存区取货,然后继续到装货点1和装货点2循环取货,每次AGV取满5个货物后送到下一个暂存区,依次类推,直到第五个暂存区,之后又从第一个暂存区开始卸货,一直往复循环。" J* _; X" r3 s

$ e) [& W+ T& f2 V我的运作模型截图:
2 X# H6 O% ^  m" C% |% y[attach]3478[/attach]
作者: eb_sun    时间: 2017-2-12 23:23
好的学习模型,谢谢斑竹
作者: leesong    时间: 2017-3-28 13:13
学习一下,谢谢。
作者: lulu-luka    时间: 2017-4-17 02:08
谢谢分享~最近迷上了任务序列的学习~要坚持每天学习一点点
作者: 字小典    时间: 2017-5-12 21:28
感谢指导~多多学习,继续加油!
作者: 字小典    时间: 2017-5-12 21:29
感谢指导~多多学习,继续加油!
作者: fenglin    时间: 2017-5-24 07:45

作者: 豆滴滴    时间: 2017-9-5 11:14
非常有用的模型!谢谢分享~
作者: lyk64737111    时间: 2017-9-7 17:42
奇思妙想啊
作者: wy.su    时间: 2017-12-2 13:02
谢谢分享
作者: 壮志凌云1988    时间: 2018-1-23 20:13
正好需要这种资料
8 t, o4 x! R8 o
作者: Htenghui    时间: 2018-1-29 08:43

0 w' J! `" L9 l2 S% O- e好的学习模型,谢谢斑竹
作者: Lucy    时间: 2018-1-29 09:50
多谢分享哦
作者: wyc1130    时间: 2018-2-9 16:14
谢谢
作者: dmchen    时间: 2019-11-26 18:38
刚开始学任务序列,感谢您的分享
作者: williamwei1    时间: 2020-8-10 07:34
感谢分享
作者: zjj0605    时间: 2020-8-11 18:07
好的学习模型,谢谢大神
作者: tf123    时间: 2021-10-19 13:49
谢谢斑竹




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