Flexsim——初学AGV必看的知识点(如何解决AGV锁死的情况)

初学者在刚开始学习AGV模块的时候,一般都会遇到这样的情况:放1台AGV到模型里跑是没有问题的,但是多放1台AGV或者更多时,AGV就会锁死Deadlocks?
下面关于这个问题进行解答。


AGV为什么会锁死

在解释什么是“Deadlocks”锁死之前,首先要了解Flexsim中AGV的行进机制,在用户手册上的解释原文是

AGV networks have a sophisticated look-ahead mechanism that can avoid crashes by determining if the next control point on the path is available or not. If it is not available, the AGV will wait at its current control point.

意思就是说,AGV具有复杂的前瞻机制,在启动之前,总会先确认路径上的下一个控制点是否可以前往避免崩溃。如果下一个控制点不可用,AGV就会在当前控制点等待;如果下一个控制点一直不可用,AGV就会锁死。
在读懂下面这张图之前,我们需要了解几个关键词:

  • Allocation: AGV行驶到或占据控制点(ControlPoint)或者区域(ControlArea)时,该控制点或者区域将由当前的AGV进行分配。换句话说,这个控制点或者区域就属于当前的AGV了,其他AGV就不能再获取到它。
  • Deallocation:有分配逻辑就有解除分配逻辑。解除分配有两种类型:“Deallocate At Next Control Point"和"Deallocation when Past Current”。选择的界面就在控制点的属性界面上,如下图所示。
    在这里插入图片描述
    我们通过一个视频来解释,什么是"Deallocate At Next Control Point"和"Deallocation when Past Current"。【我把视频上传到B站了】
    两种控制点类型的不同运动形态.mp4
    视频中有两个模型,左边模型控制点类型为"Deallocation when Past Current",右边模型控制点类型为"Deallocate At Next Control Point",两个模型的行驶路径上都有5个控制点:左边的模型,第1辆AGV(后面简称AGV1)经过第2个控制点(后面简称控制点2)后,第2辆AGV(后面简称AGV2)就会立刻跟上;右边的模型,AGV1经过控制点2后,AGV2不会立刻跟上,等待AGV1经过控制点3后,AGV2才开始运动。

通过上面的视频就可以解释AGV锁死的最主要原因是:当前AGV在前往下一个控制点(简称控制点A)时,控制点A处于被分配状态【Allocation】,使得AGV无法行使到控制点A ,导致AGV锁死。
因此,如果想要避免AGV出现锁死的现象,可以考虑以下两种方法:
1、把最大分配额【Max Allocations】从【1】改成【大于1的值就行】;
2、多增加几个控制点,防止锁死。


  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值