查看: 3|回复: 3

案例十 Process Flow与3维模型连接执行基本任务序列

[复制链接]

主题

0

回帖

214

积分

注册会员

积分
214
发表于 2018-5-14 09:43:41 | 显示全部楼层 |阅读模式
[i=s] 本帖最后由 Yumaotuo 于 2018-5-14 09:45 编辑 [/i]

[align=left][font=微软雅黑][color=#ff00][size=15pt]1、模型描述:[/size][/color][/font][/align][align=left][font=微软雅黑]有三台同样的设备加工产品,加工完之后由固定路线的AGV小车把货物搬到暂存区。为提高设备利用率,AGV在空载时始终等在传送带出货口的位置,并且在去搬运处理器加工完的产品时携带一个产品去给处理器补货。[/font][/align][align=left][font=微软雅黑][color=#ff00][size=15pt]2、模型布局:[/size][/color][/font][/align][align=left][font=微软雅黑]1个发生器与传送带A连接,传送带与3个处理器A连接,3个处理器与暂存区A连接,再加1个发生器0时刻产生3个产品并与3个处理器A连接。传送带、处理器、暂存区和AGV都A连接相应的网络节点进入路径。[/font][/align][align=left][font=微软雅黑]
[/font][/align][align=left][/align]
[align=left][font=微软雅黑][color=#ff00][size=15pt]3、建模逻辑:[/size][/color][/font][/align][align=left][font=微软雅黑]产品加工完毕处理器调用运输工具,在运输工具过来之前先在传送带出货点等待装载货物,当调用运输工具时出货点有货物则直接装载,若没有货物则等待货物传过来。这个模型是一个子任[size=2]务序列的逻辑,对于不熟悉编写任务序列的初学者来说很难实现,这里使用Process Flow模块,可以较清晰的梳理任务序列的逻辑和以极少的代码编辑实现子任务的逻辑。[/size][/font][/align][align=left][font=微软雅黑][size=2]
[/size][/font][/align][align=left][font=微软雅黑][size=4][color=#ff0000]4、建模步骤[/color][/size][/font][/align][align=left][font=微软雅黑][b][size=12pt]Step1[/size][/b][size=12pt]:建立新的空白FixedResource Process Flow,选择引用该PF的处理器[/size][/font][/align][align=left][font=微软雅黑][size=12pt]
[/size][/font][/align][align=left][/align]
[align=left][font=微软雅黑][b]Step2[/b]:对照模型布局中的PF流程图建立流程布局,对每一步骤重命名,设置第一个发生器(事件触发)监听的事件为处理器的使用运输工具,并且把后面要用的参数进行标签赋值。调用运输工具的处理器定义为current,加工完的Item和要去往的目的地分别设置标签为item和destination.后面就可以使用current、token.item和token.destination来引用到这三个实体了。[/font][/align]
[align=left][/align][align=left][font=微软雅黑]
[/font][/align][align=left][font=微软雅黑][b][size=10.5pt]Step3:[/size][/b][size=10.5pt]资源引用AGV,为全局类型,占用资源和释放资源为默认设置。对要引用的传送带和离开衔接点进行标签赋值为conveyor和op_station,标签的值可以直接用吸管吸。[/size][/font][/align]
[align=left][/align]
[align=left][font=微软雅黑][b]Step4:[/b]AGV在传送带的出货点要进行选择,出口处有货物就直接转载,没货物就等待,使用流转对token进行分流,在发送临时标记处写入以下代码,并且指定出口的顺序。[/font][/align][align=left][font=微软雅黑]Object conveyor = token.conveyor;//[color=#2e8b57]引用传送带[/color][/font][/align][align=left][font=微软雅黑]if (token.conveyor.subnodes.length==0)//[color=#008000]判断传送带上是否有货物[/color][/font][/align][align=left][font=微软雅黑]        return 1;//[color=#008000]如果没货物就去1号出口[/color][/font][/align][align=left][font=微软雅黑]return 2;//[color=#008000]如果有货物就去2号出口[/color][/font][/align][align=left][font=微软雅黑]
[/font][/align][align=left][font=微软雅黑][/font][/align][align=left][font=微软雅黑]
[/font][/align][align=left][font=微软雅黑]出口1进入事件监听,事件监听的逻辑是被监听的事件发生token才往下流。在出口处放一个决策点,监听事件为决策点的到达触发,把到达的Item和传送带赋值标签;出口2进入标签赋值,把传送带上的item赋值为box。[/font][/align][align=left][font=微软雅黑]
[/font][/align][align=left][/align][align=left][font=微软雅黑]
[/font][/align][align=left][font=微软雅黑][b]Step5:[/b]从传送带装载到货物之后AGV就可以去执行后面的任务了,按照顺序设置每个任务的参数。[/font][/align][align=left][font=微软雅黑]
[/font][/align][align=left][/align][align=left][font=微软雅黑]
[/font][/align][align=left][font=微软雅黑][b]Step6:[/b]最后要触发PF的发生器(事件触发),处理器都必须设置使用运输工具,这里把使用运输工具里的值设为0,不引用具体的运输工具。[/font][/align]

本帖子中包含更多资源

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

×

主题

0

回帖

939

积分

中级会员

积分
939
发表于 2018-5-16 18:04:57 | 显示全部楼层
感谢楼主的分享

主题

0

回帖

136

积分

注册会员

积分
136
发表于 2020-6-25 09:05:59 | 显示全部楼层
感谢分享

主题

0

回帖

42

积分

新手上路

积分
42
发表于 2020-7-31 17:10:53 | 显示全部楼层
感谢感谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|京ICP备14043114号-2

在本版发帖
关注公众号
QQ客服返回顶部