摘要:提出并研制了一種基于富客戶端技術的小型立體倉庫管理和控制系統,并對系統的組成結構、功能實現、模塊開發進行了有價值的分析。
關鍵詞:自動化立體倉庫 管控系統 串口通信
中圖分類號:TP273
1 前言
自動化立體倉庫 (Automated Storage and Retrieval System, AS/RS) 是一種利用高層立體貨架存儲貨物,并能通過計算機直接管理和控制堆垛機械自動存取物資的倉庫[1]。自動化立體倉庫管理和控制系統 (Warehouse Management and Control System, WMCS)是自動化立體倉庫的“大腦”,它指揮著倉庫中各設備的運行,統籌整座倉庫的作業管理和賬目管理,其技術水平和運行效率很大程度上決定著倉儲物流的效益。基于最新富客戶端架構開發的WMCS資源利用率高,類庫豐富、數據存取模型先進,執行效率高,程序響應速度,用戶交互體驗好,可較好地克服了傳統架構的缺陷,非常適用于開發WMCS [2]。
2 WMCS的功能需求分析
筆者所在的某大學物流實驗室已建成一套小型教學用自動化立體倉庫硬件系統,該倉庫含80個存儲庫位用于存儲工裝零部件,輸送機和巷道堆垛機各1臺。現需開發一套WMCS系統,實現立體庫的自動出入庫和工裝零部件的管理,其功能需求如下:
(1) 實現工裝零部件的管理需要實現庫存信息查詢、庫存信息管理(信息的增加、刪除、修改)以及庫存實物管理(如出庫、入庫、調庫、盤庫)等功能。
(2) 支持手動、半自動和自動三種模式控制倉庫運行,管理操作日志,并提供報表功能。
(3) 提供系統設置模塊,以便于參數設置、性能調整和系統維護。
(4) 用戶包括教師和學生在內,需要在權限控制的基礎上實現多用戶分布式操作。
(5) 為便于支持工裝裝配實驗,管控系統應支持按BOM批量取貨。
3 自動化立體倉庫管理和控制系統的基本組成結構
WMCS系統是由計算機系統和PLC構成的二級分布式網絡系統。系統總體框架圖如下:
4 自動化立體倉庫信息管理的實現
4.1零件自動編碼系統
實現對庫存的工裝零部件自動管理的基礎是實現庫存零件分類單體標識。WMCS中的零件代碼為7位,由標示編碼對象主要特征或屬性的四位分類代碼附加三位順序號構成。分類代碼將一類零件與其它類零件相區分,而附加順序號得出的零件編碼唯一確定單個零件,從而每個零件的零件代碼都具備唯一的零件編碼。本系統的分類代碼基于機械加工工裝分類編碼規則(JJDM)建立分類編碼,該系統能對庫存中的通用工裝、標準或非標準工裝、可調工裝、專用工裝、組合工裝以及成組工裝進行編碼。
4.2 庫存管理模塊
庫存管理主要負責實現庫存信息管理(增加、刪除、修改)以及庫存實物管理(如指定零件出入庫、清庫、庫位調整、盤庫)等功能。模塊基于Silverlight 富客戶端技術、Entity Framework數據訪問技術和PLC通信接口技術實現。鑒于篇幅,僅以出庫按鈕功能實現中的關鍵程序代碼為例。
LoadDataArgs args = await manager.Out(10); // 控制系統從10號庫位取托盤出庫
if (args.Succeed) // 控制系統反饋執行成功時,將出庫信息和庫存更改寫入數據庫
{
if (this.ctx.HasChanges !this.ctx.IsSubmitting)
{
LoginUser.SetOperationLog(this.OrderItem); // 生成出庫單號和操作記錄
SubmitOperation so = await ctx.SubmitChanges(); // 提交變更到數據庫
}
}
由此可見,因采用了RCP和模塊化架構,實現代碼非常簡潔、易懂、易維護。對于按BOM出庫工裝,只需在上述代碼基礎上做循環操作即可。
5 自動化立體倉庫控制系統的實現
5.1 自動化立體倉庫控制系統的組成
該自動化立體倉庫控制系統由硬、軟件兩部分組成。硬件部分選用了三菱FX2n-64mr、擴展模塊以及PLC的外部設備,包括輸入設備(如操作按鈕、開關量、模擬輸入信號等)、執行元件(如接觸器的線圈、指示燈、步進電機、三向異步電機等)以及控制臺、操作面板等。軟件部分即PLC監控程序,在專用編程軟件中編寫完成后將其寫入PLC的存儲器中即可正常運行。
5.2 自動化立體倉庫控制系統的控制方式
在控制方式設計上,為便于用戶根據需要進行靈活操作,設計了手動、半自動和全自動三種操作模式。手動模式下,用戶可不必借助上位機,而直接通過按鈕、觸摸屏控制堆垛機的全方位運動和調試其他執行元件。半自動模式下在手動模式基礎上增加了堆垛機跟蹤監控狀態的功能,而不能修改庫存數據。手動、半自動模式用于系統異常和設備調試時使用。全自動模式屬于正常工作狀態,此時上位機既能監控堆垛機的狀態,同時又正常修改庫存數據。
5.3 上位計算機和PLC的串口通信
WMCS要實現工裝零件的自動出入庫應借助控制系統的支持。上位計算機對控制系統的指揮、監控和信息采集等工作,需建立上位計算機和PLC的實時通信。本系統將FX2n的FX2n-232-BD通信擴展模塊與計算機的RS232C標準串口連接,以實現信息的共享和傳遞[3]。參照三菱FX2n串口通信協議,基于windows 32 API函數可編寫通信動態連接庫。通過對底層串口通信操作的封裝[4],不僅實時性、面向對象性好,而且便于被WMCS調用、可靠性高,簡化了系統開發,避免串口編程中的重復勞動。
6 結束語
本文闡述了一種基于RCP架構的自動化立體倉庫管理系統設計和實現方法。該系統交互體驗豐富、穩定性強、集成度高,實踐中取得了良好的應用效果,對類似系統的開發也具備較好的參考意義。
參考文獻:
[1] 劉昌祺, 董良.自動化立體倉庫設計.北京:機械工業出版社, 2004.
[2] 王通, 閆祥安, 李偉華.基于.net技術的自動化立體倉庫管理與控制系統的研究與實現.制造業自動化, 2004-04.
[3] 徐澤華, 王耀南.使用動態鏈接庫與PLC通信.微型計算機信息,2001-01.
[4] 邱培林, 沈昱明.基于FX_BD的FXPLC串口通信DLL的實現.自動化儀表, 2005-05.