王國富, 游有鵬, 張香港
(南京航空航天大學 機電學院, 南京 210016)
輸送線廣泛應用于現代物流與生產自動化等場合. 目前, 國內輸送線系統的設計開發, 仍大量采用AutoCAD等平面裝配圖設計、現場編程調試的基本模式, 普遍存在以下幾個痛點: (1)方案設計交流缺乏有效工具, 平面裝配圖不直觀且工作量大, 三維模型設計仿真周期長成本高; (2) PLC控制現場安裝與編程調試不便; (3)大規模輸送線的最優路徑調度難度大、調試驗證不便等.
仿真軟件是解決上述問題的有效途徑. 雖然國外的物流仿真軟件功能十分豐富, 仿真功能強大, 但是這些軟件往往價格較貴且更加注重各不同物流應用的廣泛適應性, 而沒有只面向輸送線系統, 將布局設計、控制編程調試與仿真結合在一起的全流程仿真軟件. 國內的物流設計仿真技術與國外相比還是有較大的差距,只有一些專用設計仿真系統, 如浙江大學的張勇、范春陽等, 針對灌裝輸送線設計的專用系統, 提出一套快速設計方案, 完成對灌裝輸送機的布局設計、結構仿真與運動仿真功能, 提高灌裝輸送線的設計效率[1,2]; 南京航空航天大學的薛志強、劉楠等提出一種可配置輸送線系統并給出快速設計與監控方案[3,4], 將輸送線設計系統與監控系統結合在一起.
本文根據以上行業痛點, 提出一套模塊化輸送線設計仿真系統解決方案. 針對痛點(1)采用基于Unity3D的模塊化輸送線設計系統, 實現了方案設計快速溝通以及三維模型的可重用性; 針對痛點(2)采用基于模塊化分布式控制器架構與軟PLC技術的輸送線仿真系統, 實現PLC控制編程的仿真驗證, 大大提高系統的現場調試效率; 針對痛點(3)采用基于遺傳算法的最優路徑, 實現輸送線最優路徑調度與快速仿真校驗.
本文設計開發了模塊化輸送線設計仿真系統, 主要由設計模塊、控制模塊、調度模塊與仿真模塊組成. 基于Winform與Unity3D研發輸送線系統設計模塊, 實現輸送機的模塊化與輸送線的設計方案的快速構建, 有效解決痛點(1); 模塊化分布式控制器架構及基于Winform與軟PLC技術的輸送線系統研發控制模塊, 可簡化安裝接線, 實現PLC離線編程與調試, 有效解決痛點(2);采用基于遺傳算法的輸送線調度模塊, 實現大規模輸送線系統輸送路徑實時優化與調度, 有效解決痛點(3);基于Unity3D研發輸送線系統仿真模塊, 以驗證系統設計模塊、控制模塊與調度模塊的可行性與有效性.
圖1為輸送線設計仿真系統的分層系統架構, 由系統設計管理層、仿真運行層、專用工具層與虛擬映射資源層組成, 實現對上述4大模塊的層次化設計開發, 以降低系統的耦合性、提高系統的魯棒性.

圖1 模塊化輸送線設計仿真系統分層系統架構
建立模塊化輸送機及其電控裝備是模塊化輸送線設計仿真系統的基礎. 本文基于Unity3D的預制體特點, 實現了三維模型的可重用性; 基于Unity3D的三維展示, 實現了設計方案的三維可視化與有效交流.
為實現輸送機模塊化, 本文將輸送機屬性抽象為基本屬性、布局屬性、控制屬性與仿真屬性, 其中基本屬性是設備的基本描述屬性; 布局屬性主要提供該輸送機的幾何與位置屬性; 控制屬性是面向輸送機控制的傳感與驅動屬性; 仿真屬性是面向輸送線仿真的運動與狀態屬性. 模塊化輸送機屬性組成如圖2所示.

圖2 輸送機模塊化屬性組成
模塊化輸送機通常包括機械框架、滾筒與傳感器等, 基于Unity3D的部分常見的輸送機模型如表1所示.

表1 部分常見的輸送機模型
系統的設計模塊基于上述模塊化的輸送機模型,通過Winform開發相應的人機交互, 設計人員可以快速拼裝構建出客戶所需的輸送線系統設計方案的三維模型.
輸送線結構模型布局構建完成后, 系統的控制采用模塊化分布式架構并提供PLC編程與仿真調試等功能, 以解決PLC現場安裝調試困難的痛點. 輸送線系統控制模塊基于軟PLC技術與虛擬控制器設計開發, 由管理模塊、編輯模塊、編譯模塊與下載模塊組成.
配置模塊: 完成虛擬控制器輸入輸出接口與輸送機模型的傳感與控制信號的相應配置.
編輯模塊: 為保證PLC程序的通用性, 系統提供了基于梯形圖的PLC程序編輯方法, 界面如圖3所示.

圖3 PLC梯形圖編輯器
編譯模塊: 將梯形圖通過AOV圖、邏輯二叉樹轉成語句表[5–7], 語句表常見的操作符如表2所示.
最好的檢驗方法當然是試射,但不可能把所有炮彈都拿出去射了,所以存在一個抽樣檢查的問題.類似的問題很多,例如,工廠生產的產品在上市之前一般也需要技術部門做合格鑒定,工商部門也會對市場上的商品做合格檢查,但由于這些產品都有包裝,一旦打開,這些產品就不能再賣了,所以不可能將所有產品都拆開檢查.即使是不需要損壞產品包裝,也可能由于數量的龐大,很難對每件產品都做檢驗,只能抽取部分產品做鑒定.在此基礎上引入簡單隨機抽樣的概念.

表2 語句表常見的操作符
下載模塊: 將編譯完成的PLC程序下載到對應的虛擬控制器.
對于規模較大的輸送線系統, 物料輸送路徑的調度涉及最短輸送路徑與輸送線局部阻塞時的最優路徑規劃, 具有實時性與動態性要求, 往往較復雜.
常見的調度算法有Dijkstra算法、Floyd算法、蟻群算法與遺傳算法等[8–11], 其中Dijkstra算法的時間復雜度為O(n2), Floyd算法的時間復雜度為O(n3), 蟻群算法收斂速度相對較慢, 難以滿足本系統的實時性要求. 本文采用基于優先級編碼的遺傳算法, 具有收斂速度快、實時性高的顯著優點.
以圖4所示的某輸送線系統抽象的有向圖為例,討論從入口1到出口10的最優路徑規劃方法, 其中圓圈代表輸送機, 邊代表輸送機之間的連接, 邊上數字代表輸送機之間的當量距離.

圖4 某輸送線系統抽象的有向圖
編碼: 以各個節點的編號j=1,2,···,m表示染色體的編碼, 染色體值表示備選節點的優先級順序v(j),圖4有向圖編碼成一個基于優先級編碼的染色體如圖5所示.

圖5 表示各節點優先級的染色體
解碼: 解碼過程如圖6所示, 則染色體經解碼的路徑是1 →3→6→7→8→10.

圖6 解碼過程
該遺傳算法的適應度函數如式(1)所示:


因此圖5染色體的適應度為:

基于優先級編碼的遺傳算法流程如圖7所示, 其中交叉操作是隨機選擇兩個染色體, 采取部分一致交叉法; 變異操作是從父代隨機選擇一個染色體的, 采用兩個基因位置交換的變異的方法; 選擇操作采用輪盤賭選擇法, 即適應度越大的染色體被選擇的概率就越大.

圖7 基于優先級的遺傳算法處理過程
節點1到節點10最優路徑的適應度過程圖如圖8所示, 其中參數設置如表3所示, 最終得出的染色體如圖9所示.

圖8 目標函數值(適應度)

表3 遺傳算法參數設置表

圖9 最優染色體
最終通過解碼得出節點1到節點10的最優路徑為1→3→6→9→10, 距離當量為107, 迭代次數不超過8次, 運算時間為0.007 982 s, 運算迅速, 滿足實際應用需求.
輸送線結構模型布局構建完成、控制器程序下載成功以及調度算法運算出最優路徑之后, 系統的仿真模塊提供了仿真驗證功能, 驗證輸送線系統方案的可行性和PLC程序的正確性.
本文實驗驗證的輸送線系統如圖10所示, 由輸送機、物料、控制器組成, 其中S系列為S630型號的輸送機、T系列為T630型號輸送機、SS系列為S1080型號輸送機、C系列為控制器.

圖10 輸送線系統平面圖
圖10中, 為簡化控制器之間連接, 采用了模塊化分布式控制器, 各控制器及其控制的輸送機連接如圖11,圖12所示, 如controller1控制器控制了輸送機S1、T1、SS1與O1四個輸送機.

圖11 控制器連接圖

圖12 輸送線控制器對應的輸送機連接圖
根據基于優先級編碼的遺傳算法運算表4的任務得到的物料輸送最優路徑如表5所示.

表4 物料輸送任務表

表5 物料輸送任務對應最優路徑表
基于上述最優路徑, 調度計算機將路徑指令發送給各對應的控制器, 最終在各PLC的控制下完成相應規劃路徑的輸送線仿真運行過程, 如圖13所示, 直觀驗證了系統路徑規劃與控制編程的正確性.

圖13 輸送線仿真過程
針對行業3大痛點, 本文設計研發了模塊化輸送線設計仿真系統, 其中研發了基于Winform與Unity3D的輸送線系統設計模塊, 實現輸送線的三維可視化與模塊化, 提高方案交流的有效性與直觀性; 系統控制采用模塊化分布式架構簡化了現場安裝接線, 通過Winform與軟PLC技術, 實現了PLC控制的離線編程與調試; 基于遺傳算法的輸送線系統調度, 實現了較為復雜的輸送路徑實時優化與調度; 采用Unity3D的輸送線系統仿真模塊, 驗證了輸送線系統設計方案、控制編程與輸送路徑規劃的可行性與正確性. 本文工作為模塊化輸送線系統的快速設計、離線編程、運行仿真與現場高效安裝調試探索了一條有效途徑.