Flexsim——初学AGV必看的知识点(如何解决AGV在不同区域speed不同)
提示:在很多時候,AGV在不同區域行駛的速度是由要求的。比如,在無人倉儲區,AGV就可以用最大速度行駛(假設為1.2m/s);而在配送線上行駛,考慮到現場環境復雜,AGV的行駛速度就達不到1.2m/s。那么遇到這種情況時,如何使用代碼一鍵修改AGV的速度呢?
AGV network
注意,以下內容僅適用于AGV模塊。如果AGV沒有與AGV模塊共同使用,下面的方式可能并不適用你。
當拉入一個control Point后,在Tool那就會自動出現一個 AGV nerwork這個標識。雙擊點開后,界面如下圖所示:
我們都知道,當AGV通過“A”鏈接到control Point 上時,AGV就歸屬于AGV模塊了【AGV有沒有歸屬于AGV模塊,看AGV屬性界面的Travel】。如果是Navigator:DefaultNavigator,說明AGV不屬于AGV模塊,且調整AGV的速度仍然是通過AGV本身"MaxSpeed"節點進行修改;如果是Navigator:AGVnetwork,說明AGV屬于AGV模塊,且調整AGV的速度需要通過AGV network上的屬性實現。
當選擇Navigator:AGVnetwork后,AGV屬性界面上就會多出“AGV Traveler”的屬性界面:
此時,AGV Type 默認為DefaultAGV。DefaultAGV就是【第一張圖】對應的DefaultAGV。
下面我將舉例說明,如何通過代碼實現修改AGV的速度。 案例:現在有倉儲和裝配線兩種AGV作業環境。倉儲環境是無人化的,因此AGV在里面行駛的最大速度可以達到1.2m/s;裝配線環境是有人且需要AGV配送物料的,因此AGV在裝配線上行駛的最大速度只能達到0.8m/s。  第一步:在AGV network上,創建兩張AGV速度表“AGV1”和“AGV2”。  修改好后,在control point 的on Arrival上寫入以下代碼: Object current = ownerobject(c); Object agv = param(1); Object destCP = param(2); double pathOffset = param(3); double agvBodyOffset = param(4);Var agv_name=agv.name; Model.find("AGVNetwork>variables/agvs"+agv_name+"/agvType").value = 1;//1表示AGV1,按順序依次。 return 0;
總結
以上是生活随笔為你收集整理的Flexsim——初学AGV必看的知识点(如何解决AGV在不同区域speed不同)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: div为空的时候 浮动没有效果_3种CS
- 下一篇: 图像正确(相当于这个小项目就要结尾了)