全球FlexSim系统仿真中文论坛

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

作者: 慧娴亚伦    时间: 2014-4-28 17:26
标题: 【TFT 2014.04.28 FlexSim仿真模型题(6)】
问题描述:现实制造和物流系统中,轨道AGV(自动导引运输车)现在运用越来越广泛,自动化小车的引入使得FlexSim的仿真意义更加明显。本次题目要实现的就是AGV运行和自充电系统进行模拟.

模型要求:
1、附件中有本题7.0的原始布局,使用其他版本请也按照附件中的模型进行布局,以方便审核和对比;
2、附件中有本次模型的布局图。有两辆AGV小车在系统中进行运输,A区产品进入暂存区,由AGV运送至B区进行加工作业,加工完成后运送至C区,卸载至C区的暂存区,D区为自动充电区,整个运输过程AGV必须严格按照轨道逆时针单向运行;
3、发生器产生产品服从exponential(0,30,0),C区的暂存区累积到10个产品之后送离系统,C区卸载之后,AGV将回到A区等待新产品的到达;
4、模型一开始运行,AGV就开始消耗电量(无论AGV处在什么状态),初始电量为100%,每秒钟消耗0.1%的电量,两辆AGV的电量是相互独立的。当AGV的电量低于30%,AGV从C区回到A区的过程中,将前往D区停留30秒进行充电,充电完成之后AGV的电量将恢复为100%,并回到A区;
5、越接近现实逻辑越好。


提示:1 可以在D区之前添加网络节点进行检查;
      2 轨道路径是单向的,不能出现回头情况,也不能离开轨道进行装载等动作(可以通过设置AGV的偏移拾取方式来完成);
      3 可以添加您认为任何需要的工具来完成模型。
作者: missman    时间: 2014-4-28 20:54
[i=s] 本帖最后由 missman 于 2014-4-29 10:00 编辑 [/i]

大概做了一个,有些要求不太明确,不知道是不是楼主的要求


刚刚看到楼下有人抄袭我的模型,为了区别,我再次更新了自己模型。
作者: east0593    时间: 2014-4-28 21:12
回复~
作者: 蓝桥书生    时间: 2014-4-28 21:54
[i=s] 本帖最后由 蓝桥书生 于 2014-4-28 22:22 编辑 [/i]

因为用不了模型开始运行触发,所以加了个发生器达到效果[attach]1861[/attach]
作者: CPF2000    时间: 2014-4-28 22:29
good
作者: yushaozheng1990    时间: 2014-4-29 02:30
[i=s] 本帖最后由 yushaozheng1990 于 2014-4-29 02:41 编辑 [/i]

[attach]1862[/attach][b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=12316&ptid=4449]1#[/url] [i]慧娴亚伦[/i] [/b]
按照楼主的要求做了模型,模型的限制为AGV只充一次电,不知道是否符合要求,等待楼主点评[attach]1863[/attach]
作者: missman    时间: 2014-4-29 06:33
我做agv调度几年了,,从个人角度觉得题目有几个地方不是很切合实际。建议修改一下。
1.电量问题,负载,空载,待机耗电量不一样。不然所以agv同时没有电,工厂生产全部瘫痪。
2.充电时间问题,应该是每次卸载的时候判断电量,因为电压低时勉强完成任务可能会中通断电(电池都要过放保护),造成交通堵塞。
以上为个人观点,仅供参考。
作者: 慧娴亚伦    时间: 2014-4-29 08:56
感谢昝工的建议,但是我估计如果真的按照实际情况出题目的话,那就不是初中级比赛了,就像我们上学时候的考试题目,肯定也是简化了大部分的流程针对某一个点来进行出题。题目只是抛砖引玉,只是让大家有所启发进行更深入的思考,当然您愿意分享出不同情况耗电量的模型那就再好不过啦。再次感谢您的建议。
作者: missman    时间: 2014-4-29 09:07
[quote]回复~
[size=2][color=#999999]east0593 发表于 2014-4-28 21:12[/color] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=12325&ptid=4449]http://www.flexsim.asia/images/common/back.gif[/url][/size][/quote]


哥们,。。。。。。
作者: missman    时间: 2014-4-29 09:49
鉴于我的答案被人抄袭,重新更新了模块。请指正。
作者: lu1010265352    时间: 2014-4-29 11:11
没有看到使用任务序列的啊?
作者: 大摸鱼    时间: 2014-4-29 11:21
[i=s] 本帖最后由 大摸鱼 于 2014-4-29 12:51 编辑 [/i]

昨天做题的时候没有看清楚题意,以为在现实生活中小车在等待等待暂存区货物,等待处理器加工的这段时间是不耗电的,把问题复杂话了,现在按照楼主要求上传模型
作者: 大摸鱼    时间: 2014-4-29 11:26
请教楼主一个问题,不知道什么原因我只要使用7.0做模型不运行还好,一运行就非常卡,内存占用量直线上升(非常简单的模型也是这样),有时候还以为自己写的语句是死循环。。。。:L5.0,6.0从来没有出现过这样的情况
作者: 慧娴亚伦    时间: 2014-4-29 19:55
回复2楼:
您的模型实现了题目的要求。
您的模型是通过预先知道电量消耗完的时间,正如您在7楼的回复,在实际操作中,我们就无法在一个指定时间知道电量消耗情况,同时,现实系统中的电量消耗更加复杂,可能会出现不同工作状态,电量消耗差别非常大的情况,很明显您这个模型就无法适用。在题目的要求5中提出了,越接近现实越好,正是有这样的目的。

恭喜您!您是第一个完成模型要求的活动参与者。
论坛ID为missman 的朋友在第二层的回复是第一个有效回复。获得积分5分
24小时后本题结束(即2014年4月30日19时56分),其后的回复不计为有效回复。
作者: 慧娴亚伦    时间: 2014-4-29 19:55
回复3楼:
您的模型实现了题目的要求。
但是由于出现与2楼模型高度雷同的情况,因此,您只能获得积分1分。
作者: 慧娴亚伦    时间: 2014-4-29 19:55
回复4楼:
您的模型实现了题目的要求。
使用了循环发出消息来减少电量。至于您提到的无法使用模型开始触发,实际上有很多替代的方式,比如,在发生器的离开触发里面判断一下getoutput()即可,不必再添加几个实体了。

恭喜您!您是第二个完成模型要求的活动参与者。
获得积分4分。
作者: 慧娴亚伦    时间: 2014-4-29 19:55
回复6楼:
您的模型基本上实现了题目的要求。
个人给您的建议跟2楼模型一样,您的模型思路都是事先知道何时会出现需要充电的情况,如果修改一下耗电情况,或者不同工作状态耗电情况不一的话,您的模型就无法适用。此外,您是指定卸货之后的AGV必须前往D区的网络节点,然后再在这个网络节点判断是否需要充电,流程上稍显繁琐。另外,profiletasksequence命令使用的目的不明。

恭喜您!您是第三个完成模型要求的活动参与者。
获得积分1分。
作者: 慧娴亚伦    时间: 2014-4-29 19:56
回复12楼:
您的模型基本上实现了题目的要求。
个人给您的建议跟2楼和5楼模型基本一样,在此不再赘述。此外,您在需要充电的时候,只考察一辆AGV,如果需要充电也给另一辆AGV发送充电消息,实际上是不符合要求4两车电量相互独立的要求。

恭喜您!您是第四个完成模型要求的活动参与者。
获得积分1分。
作者: CPF2000    时间: 2014-4-29 23:19
:(初学者软件是demo只能建立20个model:'(不能学啊
作者: 慧娴亚伦    时间: 2014-4-30 07:38
本版块中的所有模型都可以使用7.0以上版本制作完成(7.0实体限制提高到30个),此外,百度创时能网盘内的绝大部分内容也是在demo版下进行教学的案例,对于基础的学习是没有任何问题的。
作者: missman    时间: 2014-4-30 08:05
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=12354&ptid=4449]14#[/url] [i]慧娴亚伦[/i] [/b]


理解,开始是那样写的。
后来考虑到既然耗电方面已经不接近现实了,干脆简化模型,达到要求即可。

因为模型的目的是可视化效果。谢谢指点
作者: east0593    时间: 2014-4-30 10:59
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=12355&ptid=4449]15#[/url] [i]慧娴亚伦[/i] [/b]


要的就是1分,谢谢楼主!
作者: 慧娴亚伦    时间: 2014-4-30 20:49
本次TFT活动已经截止。
      这是TFT活动的第六次正式活动。本题涉及到AGV轨道车在FlexSim中的简单应用,7.0以上版本优化了网络节点这个实体,使得我们在仅有demo版的情况下也能更方便的学习使用网络节点。在实际运用中,网络节点是解决任务执行器之间碰撞的通常办法。

本次题目一共有5位朋友得到了有效回复。他们的论坛ID分别是:
      missman、east0593、蓝桥书生、yushaozheng1990、大摸鱼
      他们将获得指定积分,没有获得积分的朋友期待您的下次参与.

      本次模型大家主要运用的方法是,提前算出要充电的时间,然后在某个节点指定超过这个时间则开始充电工作。在本题要求下,这样实现当然是最简单的办法,然而实在算不上是聪明且具有实际意义的方法,三楼的模型通过循环发送消息的方法来动态减少AGV的电量,个人认为是一种比较好的思路,有更强的灵活性和扩展性。希望大家能有所启发,尝试制作一下不同工作状态耗电不同的情况。在此放上个人制作的参考模型(非最佳模型),触发消耗的指令通过用户事件来实现。

      本次活动结束之后,将会第二次发放试用号奖励。再次感谢大家的参与和支持,没有参与者活动将无法开展,希望各位还能继续支持TFT的接下来的活动,再次感谢!
作者: yushaozheng1990    时间: 2014-4-30 22:23
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=12374&ptid=4449]23#[/url] [i]慧娴亚伦[/i] [/b]以后会继续支持楼主工作,并多多学习
作者: yushaozheng1990    时间: 2014-5-1 00:27
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=12374&ptid=4449]23#[/url] [i]慧娴亚伦[/i] [/b]刚刚学习了楼主的模型,有一个小问题,模型里面AGV走行路径上为什么看不到网络节点?是怎么设置的?
作者: 慧娴亚伦    时间: 2014-5-1 13:55
我在模型的左边单独放置了一个网络节点,按住x点击这个网络节点,就会改变模型中其他网络节点显示情况。
作者: yushaozheng1990    时间: 2014-5-1 16:39
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=12378&ptid=4449]26#[/url] [i]慧娴亚伦[/i] [/b]按照楼主的总结,在用户事件中添加了按照AGV不同状态耗电不同的代码,不知这样做是否是一种改进,还有什么不足之处。[attach]1870[/attach]
作者: 慧娴亚伦    时间: 2014-5-1 21:56
回复27楼:
个人认为这算是一个不错的做法,虽然没有什么巧妙之处,但却是最实用的解决方法。感谢您的分享,特此再奖励积分2分。
作者: yushaozheng1990    时间: 2014-5-1 22:28
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=12382&ptid=4449]28#[/url] [i]慧娴亚伦[/i] [/b]
谢谢楼主
作者: fyx加油    时间: 2014-5-5 16:37
请问题目中的AGV小车是画出来的还是从哪里下载的,我现在急需AGV车,请指教,谢谢
作者: 慧娴亚伦    时间: 2014-5-5 19:15
flexsim自带的。。。
作者: lansedamo    时间: 2014-5-9 15:10
可以下来学习吗?
作者: FFFrenk    时间: 2014-7-11 10:19
:lol 学习学习,赞赞赞赞赞赞赞
作者: FFFrenk    时间: 2014-7-11 10:19
:lol 学习学习,赞赞赞赞赞赞赞
作者: FFFrenk    时间: 2014-7-21 11:59
学习
作者: FFFrenk    时间: 2014-7-21 12:38
学习学习
作者: CPF2000    时间: 2014-7-26 10:11
{:2_26:}
作者: CPF2000    时间: 2014-7-27 08:39
{:3_46:}
作者: carol    时间: 2014-8-8 09:13
我用了时间表,不过没有接近现实,因为700秒是事先设定好的,不过不用写代码:victory:
作者: 慧娴亚伦    时间: 2014-8-9 12:45
回复39楼:
          跟前面的2楼的模型一样,预先知道电量消耗完的时间这种情况在实际建模中不可能出线,预先知道充电时间而设置时间表是没有意义的。
作者: carol    时间: 2014-8-10 19:30
exactly!thank you!!!
作者: carol    时间: 2014-8-10 19:31
exactly! thank you!!!
作者: CPF2000    时间: 2014-8-22 12:44
好好..............
作者: CPF2000    时间: 2014-8-23 16:37
goooood
作者: CPF2000    时间: 2014-8-23 17:15
学习中.......
作者: penspinner8092    时间: 2014-10-14 20:08
舊版開不動
作者: 慧娴亚伦    时间: 2014-10-14 20:23
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=14368&ptid=4449]46#[/url] [i]penspinner8092[/i] [/b]


可以去北京创时能官网,或者美国官网下载高版本的试用版~
作者: xinglei    时间: 2014-11-18 16:36

作者: kcler    时间: 2015-5-19 15:22
[i=s] 本帖最后由 kcler 于 2015-5-21 10:05 编辑 [/i]

请楼主指正
作者: kcler    时间: 2015-5-20 10:50
为了看到效果,只设置了car1的几种情况,car2还是均匀耗电。请楼主指正。
作者: 慧娴亚伦    时间: 2015-5-20 15:54
回复50楼:
    感谢分享!很好的完成了模型的要求,通过判断状态来改变AGV的耗电值,方法简单有效。
    此外,使用新版本(7.3以后)dashboard可以方便直观来展示一些定制的数据,能够代替很多原先需要深入学习的GUI功能。
作者: 657776724    时间: 2015-5-22 11:57
[i=s] 本帖最后由 657776724 于 2015-5-22 12:20 编辑 [/i]

[attach]2628[/attach]用子任务序列做了一个模型
在暂存区6那里写了任务序列代码,在暂存区8写了子任务序列的代码,在NN8那里写了充电后的代码。
备注:我在自己做出来之前没有看其他人做的模型,如果有些错误范的是一样的或者有些思路是一样的,请谅解。现在上传不为积分,只为得到老师的指点!
[attach]2628[/attach]
作者: 慧娴亚伦    时间: 2015-5-22 16:28
基本上完成了模型要求,主要的代码是写在暂存区6的使用运输工具触发,模型中我认为有几个地方可以改进的:
1、AGV的所有任务都是暂存区6里面发出的,这样控制会大幅降低模型的灵活性,举一个简单的例子,就是如果下游处理器的处理时间是非固定值,那么这样控制agv处于delay状态等待取走处理完成的产品就很难实现;
2、NN5里面的到达出发代码意义不明,模型中如果是已经弃用的代码最好删除,一是减少模型负担,二是以免混淆理解;
3、判断是否充电,是在AGV最终卸载的时候,这段时间离前往充电桩还有一定距离,可能导致错过电量不足进行充电的时间;
4、充电判断不是实时的,不利于进一步分析不同状态下电量消耗情况。
另外我的建议是:第一次做的时候可以不去参考他人模型,在上传之前是否可以去下载一下他人完成或者已经上传的正确答案来自己分析一下,然后再改进一下模型呢?我认为这样更有利于学习~
作者: 657776724    时间: 2015-5-23 21:52
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=16769&ptid=4449]53#[/url] [i]慧娴亚伦[/i] [/b]

谢谢老师的评价!老师提出的问题我会注意的。




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