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、多增加幾個控制點,防止鎖死。
總結
以上是生活随笔為你收集整理的Flexsim——初学AGV必看的知识点(如何解决AGV锁死的情况)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络在实践中的应用,计算机网络技术
- 下一篇: c语言 数组循环移动,如何将一个数组的元