王錦強,楊 軍,常 濤
(共享智能鑄造產業創新中心,寧夏銀川 750021)
隨著我國工業自動化技術的飛速發展,工業生產規模不斷擴大,過程控制復雜程度也大幅度提高,工控系統需要集成數量和種類不斷增多的現場信息,因此人們對自動化監控系統的要求越來越高。信息化在鑄造企業生產運營中的應用逐步深入,智能化車間在傳統的鑄造企業中也成為現實,推進全部數字化管理,大數據、互聯網+、人工智能等思想逐步在智能鑄造工廠中實現應用。本文針對鑄造企業的特點,開發了適用于智能鑄造工廠的PLC 通訊管理系統,實現鑄造工廠上層管理系統和底層設備的高效通訊。
現有智能單元和底層設備間通訊交互主要兩種方式:一是通過MySql、SqlServer 等關系數據庫,另一種是通過第三方Kepware、Wincc 等OPC 軟件和PLC 進行通訊。
3D 打印砂芯、砂型智能鑄造車間主要流程可分為:砂芯、砂型打印、砂芯、砂型清理、浸涂、微波烘干、入立體庫、組芯、流砂、澆注、冷卻、打箱、清理、砂處理、加工等工序,智能工廠涉及的設備有砂芯、砂型3D 打印機、物流AGV、砂箱緩存工位、清砂站、桁架機械抓手、浸涂池、微波烘干、立體庫、砂芯緩存工位、流砂機等,所有設備均需實現物聯網且能實現自動運行和過程數據采集,整個工序需要PLC、非標數采設備數量多于20 個,涉及設備參數變量6 000 個以上。
使用第三方Kepware、Wincc 等OPC 軟件存在主要問題:設備變量較多時會增加讀寫延時;商業版的軟件費用較高,分多套部署費用昂貴;智能單元前期測試過程信號模擬、上線集成過程難度較大;多變量實時性的監控對系統資源開銷較大。當前智能鑄造工廠智能單元系統和下層通訊的設備品牌有西門子S7 系列、三菱、歐姆龍、施耐德、倍福等,非標協議設備有測溫槍、光譜儀、掃碼槍等,其他信號交互方式有MySql、SqlServer 關系數據庫、Redis 內存數據庫。基于現有智能工廠系統架構,開發形成一套用于數采、過程控制、集成多種設備、關系數據,上層智能單元系統可統一使用的Http 數據接口,同時利用多線程技術+Redis 為智能單元提供實時數采,功能實現后不僅能降低上層智能單元的開發難度,并能將整個智能鑄造系統架構按模塊解耦[1]。
經過多方調研,使用C#.net 實現系統開發的方式可行,在上述這些數據交互方式中,通過以太網關系數據庫的方式實現信號交互較為常規;西門子S7 系列(200、200Smart、300、400、1200、1500)[2]、施耐德、倍福、三菱、歐姆龍等PLC 均可通過基于以太網TCP/IP 的ModbusS7AdsOPCUA 等協議實現通訊[3-4];其它非標設備常用COM 口通訊,遠程訪問可使用NPort 進行轉換,在服務器使用虛擬COM 報文通訊,由于不同設備的報文手法和解析機制不同,可按技術說明書解析使用。
該通訊系統不僅需要實現和下層PLC、數據庫的通訊,還需要完成和上層智能單元的通訊,過程控制和智能單元交互的數據量較小且頻次較低,可通過當前較為流行的HttprestfulAPI。而部分涉及過程監控及統計分析的數采變量,每次讀取數據量較大且讀取頻次較高,部分相同變量需要由多個上層系統獲取,此類數采由實時性更好、體量較小、能被多個服務器共享的內存數據庫Redis 集群方式實現較為理想,最終系統實現架構如圖1 所示。

圖1 使用PLC 通訊管理系統后的智能工廠系統架構
PLC 通訊管理系統需要實現三個功能模塊:前端管理模塊、過程控制的PLC 通訊功能模塊、數采推送功能模塊。
根據實際應用情況,三個系統可使用一個項目兩種方式去實現,前端管理模塊、Http 協議過程控制的PLC 通訊功能模塊可以用統一B/S 架構實現,以便后期PLC 設備、變量等基礎信息維護,而數采推送Redis 功能由于涉及多線程高速讀寫,適合用C/S 架構方式實現。兩種功能塊使用同一種底層通訊方式。
完成開發后,智能單元和設備信號交互通過調用PLC 通訊管理系統中json 格式Restful API 接口實現。為了方便智能單元在設備調試完成前的測試,本系統增加測試變量管理功能,實現為智能單元提供模擬交互信號,大幅度縮短后期進廠調試過程。智能單元為多系統分布式部署,在每個智能單元服務器安裝內存數據庫Redis 并設置為集群模式。系統將設備數據采集并推送到分布式Redis 集群,實現智能單元共享訪問,實現后前端PLC 設備、變量、測試流程配置界面如圖2 所示。

圖2 PLC 通訊管理系統管理界面
前期的智能單元開發過程中,由于系統多個流程需要和設備交互信號,所以項目中智能單元的開發往往需要滯后到設備調試完成后。而在該PLC 通訊方式實現后,可以模擬設備和智能單元進行信號的交互,系統的開發測試階段提前到工廠硬件建設初期,大幅度縮短進廠開發調試周期。
針對智能鑄造工廠的特點,在多種類型底層設備通訊開發過程中,通訊通道建立和數據解析是關鍵的兩個步驟,通道的建立過程常規PLC 基本都支持以太網通訊。非標設備(如測溫槍、掃碼槍、光譜儀)一般支持COM 通訊,通過以太網作為傳輸通道必須使用NPort 等設備將COM 轉為以太網通訊,在服務器中再用虛擬串口將以太網轉為COM 口。與獲取數據報文代碼的開發過程較為類似;數據報文的解析過程由于不同設備的報文收發機制不同,報文的數據字節、校驗字節、啟停字節在長度、排序、類型轉換過程中的規律等都千差萬別,所以解析過程較為繁瑣耗時,通過對當前設備使用工具不斷的抓包分析比對找出規律,進而按規律進行解析反復驗證、優化。目前開發的PLC 通訊管理系統在3D 打印砂型、砂芯智能鑄造工廠得到較好的應用,實現了工廠上層鑄造管理系統和底層設備的高效通訊,實現了高效率管理。
PLC 通訊管理系統過程控制基于B/S 架構輕量級開發,整體部署文件約10M,在有多個上層系統、多設備、多變量時可以分布式部署,這樣將會大幅度降低單個服務器的壓力,整體提升上層系統和設備通訊的效率。C/S 架構的推數據模塊由于使用Redis,能高速比對出上次和本次數采數據是否有變化,采集的數據有變化時再向智能單元推送,能大幅度較少對整體服務器帶寬資源占用,降低數據冗余。
遵從軟件開發的高內聚低耦合思想,使用該方式將上層智能單元和底層設備的耦合性降低,一方面有利于后期迭代優化,另一方面降低上層系統開發的難度,讓開發人員只關心當前業務的開發,降低開發難度。開發的PLC 通訊管理系統在智能鑄造工廠已得到較好的應用。