全球FlexSim系统仿真中文论坛

搜索
查看: 16982|回复: 17
打印 上一主题 下一主题

【网络路径中实现AGV的往复循环取卸货】

[复制链接]
跳转到指定楼层
1#
慧娴亚伦 发表于 2017-2-12 11:37:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个案例来自于一位仿真爱好者的微信公众号,地址如下:6 U9 \8 o4 ~7 s/ Q9 p% y
http://mp.weixin.qq.com/s/trB5-ArHIwnaXMg50A2-_g& Q: A) f) M# v' ?2 e1 U6 V
# O4 y* n8 D: {- p( j" ~
诚如公众号文章所说,该问题的关键在于如何生成反复循环装载和卸载的任务序列,原文中采用的做法是通过消息触发来生成每一次的装载任务,并在装载触发中根据装载的数量来判断执行卸载任务。
. d7 W3 m. ~. P  O2 E1 e3 ?该方法能够很好地实现问题要求,然而个人认为本身装卸的流程并没有跳出默认装卸任务的范围,因此,除了第一个载运空箱的流程外,其他的所有任务可以借助FlexSim自动生成,此题的关键在于两个装货站生成item的目的地问题。
# q+ |; w+ v3 g+ q; l我采用的方法,除了在空箱创建触发中编写装载空箱的任务之外,只需要在两个装货点的发送至端口触发器进行发送端口控制即可:每一次发送任务都会触发“发送至端口”触发器,使用一个标签“num”来显示当前载货数量(除了空箱之外的数量),再用一个标签“port”来统计前一个发送端口的序号,如果超出目标要求,则更新发送至下一个卸货点(使用fmod()取余函数来循环),同时更新标签“port”和“num”的值。最后使用inc()函数来增加统计载货数量。( t( c* A5 k2 s6 m
本方法主要借助了FlexSim本身break任务来先满足装运数量再进行卸货的方法,代码使用量上要精简不少,逻辑调试过程中容易减少错误和调试的时间。3 d- }- |- ?8 ?8 m6 S* |
7 M, \2 P/ W8 `6 j) d0 `* {
希望对大家有帮助,欢迎更多的讨论~   Z$ A: S" o& O+ o6 t- j) Y6 h1 h
4 `& K+ O1 Z& S3 K
模型描述:: D1 u( V) x0 c
AGV在取一个空箱后,在装货点1和装货点2循环取货,直到AGV取满5个货物后,送到第一个暂存区取货,然后继续到装货点1和装货点2循环取货,每次AGV取满5个货物后送到下一个暂存区,依次类推,直到第五个暂存区,之后又从第一个暂存区开始卸货,一直往复循环。
4 _6 f8 g$ W8 a/ y9 w
6 j2 ^1 Y. v* e: E* R我的运作模型截图:- X. L: h7 H9 R) y6 H+ R5 t5 r. Z+ N+ Z

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
2#
eb_sun 发表于 2017-2-12 23:23:46 | 只看该作者
好的学习模型,谢谢斑竹
3#
leesong 发表于 2017-3-28 13:13:18 | 只看该作者
学习一下,谢谢。
4#
lulu-luka 发表于 2017-4-17 02:08:16 | 只看该作者
谢谢分享~最近迷上了任务序列的学习~要坚持每天学习一点点
5#
字小典 发表于 2017-5-12 21:28:45 | 只看该作者
感谢指导~多多学习,继续加油!
6#
字小典 发表于 2017-5-12 21:29:04 | 只看该作者
感谢指导~多多学习,继续加油!
7#
fenglin 发表于 2017-5-24 07:45:53 | 只看该作者
8#
豆滴滴 发表于 2017-9-5 11:14:38 | 只看该作者
非常有用的模型!谢谢分享~
9#
lyk64737111 发表于 2017-9-7 17:42:29 | 只看该作者
奇思妙想啊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|全球FlexSim系统仿真中文论坛 ( 京ICP备14043114号-2 )

GMT+8, 2025-6-28 22:20 , Processed in 0.066348 second(s), 14 queries .

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表