|
|
[i=s] 本帖最后由 SunshineFu 于 2020-3-1 22:32 编辑 [/i]
今天分享的案例来自《Flexsim仿真建模分析》之AGV模块的案例练习。
(1)案例模型布局
(2)模型描述
发生器Source1产生临时实体至Queue1中,由TaskExecuter1和TaskExecuter2负责搬运至Queue2,任务完成后,TaskExecuter返回至Queue1,并继续执行下一个搬运任务。路径网络中所有路段均为双向路段。
(3)模型要求
[list=1]
[*]Source、Queue、Sink、TaskExecuter均保持默认参数设置
[*]TaskExecuter搬运货物过程中不能发生碰撞
[/list](4)建模步骤
[list=1]
[*]将Queue1和TaskExecuter1之间进行S链接,TaskExecuter1和TaskExecuter2之间进行A链接。(这样Queue1有搬运需求可以调用TaskExecuter1,如果TaskExecuter1在忙,会把任务再分配给TaskExecuter2执行)
[*]搜索重定向。将ControlPoint7与ControlPoint5和ControlPoint6进行A链接,在AGV网络属性的路径点中添加新的触发逻辑,触发条件改为te.subnodes.length>0(保证TaskExecuter向Queue2搬运货物时才触发),路径点逻辑改为通过搜索重定向,并且将重定向类类改为“并继续前进,直接通过中途控制点”,最后在路径点成员中添加ControlPoint7。这样可以使得TaskExecuter从Queue1向Queue2搬运货物时,在ControlPoint7点选择一条无障碍路径。TaskExecuter从Queue2返回Queue1也是同样的设置思路。
[*]在ControlPoint3和ControlPoint7之间使用控制区域,其目的是防止两台TaskExecuter同时返回Queue1搬运货物时产生死锁冲突,在ControlPoint4和ControlPoint8之间设置控制区域也是同样的道理。
[/list](5)模型展示 按以上步骤设置好模型,运行结果如下图所示
ps:建模步骤中控制点ControlPoint在图片没有显示出来,各位想学习或者讨论最好打开模型看,模型用的是2019版Flexsim。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|