王錦強,楊 軍,常 濤
(共享智能鑄造產(chǎn)業(yè)創(chuàng)新中心,寧夏銀川 750021)
隨著我國工業(yè)自動化技術(shù)的飛速發(fā)展,工業(yè)生產(chǎn)規(guī)模不斷擴大,過程控制復雜程度也大幅度提高,工控系統(tǒng)需要集成數(shù)量和種類不斷增多的現(xiàn)場信息,因此人們對自動化監(jiān)控系統(tǒng)的要求越來越高。信息化在鑄造企業(yè)生產(chǎn)運營中的應用逐步深入,智能化車間在傳統(tǒng)的鑄造企業(yè)中也成為現(xiàn)實,推進全部數(shù)字化管理,大數(shù)據(jù)、互聯(lián)網(wǎng)+、人工智能等思想逐步在智能鑄造工廠中實現(xiàn)應用。本文針對鑄造企業(yè)的特點,開發(fā)了適用于智能鑄造工廠的PLC 通訊管理系統(tǒng),實現(xiàn)鑄造工廠上層管理系統(tǒng)和底層設備的高效通訊。
現(xiàn)有智能單元和底層設備間通訊交互主要兩種方式:一是通過MySql、SqlServer 等關系數(shù)據(jù)庫,另一種是通過第三方Kepware、Wincc 等OPC 軟件和PLC 進行通訊。
3D 打印砂芯、砂型智能鑄造車間主要流程可分為:砂芯、砂型打印、砂芯、砂型清理、浸涂、微波烘干、入立體庫、組芯、流砂、澆注、冷卻、打箱、清理、砂處理、加工等工序,智能工廠涉及的設備有砂芯、砂型3D 打印機、物流AGV、砂箱緩存工位、清砂站、桁架機械抓手、浸涂池、微波烘干、立體庫、砂芯緩存工位、流砂機等,所有設備均需實現(xiàn)物聯(lián)網(wǎng)且能實現(xiàn)自動運行和過程數(shù)據(jù)采集,整個工序需要PLC、非標數(shù)采設備數(shù)量多于20 個,涉及設備參數(shù)變量6 000 個以上。
使用第三方Kepware、Wincc 等OPC 軟件存在主要問題:設備變量較多時會增加讀寫延時;商業(yè)版的軟件費用較高,分多套部署費用昂貴;智能單元前期測試過程信號模擬、上線集成過程難度較大;多變量實時性的監(jiān)控對系統(tǒng)資源開銷較大。當前智能鑄造工廠智能單元系統(tǒng)和下層通訊的設備品牌有西門子S7 系列、三菱、歐姆龍、施耐德、倍福等,非標協(xié)議設備有測溫槍、光譜儀、掃碼槍等,其他信號交互方式有MySql、SqlServer 關系數(shù)據(jù)庫、Redis 內(nèi)存數(shù)據(jù)庫?;诂F(xiàn)有智能工廠系統(tǒng)架構(gòu),開發(fā)形成一套用于數(shù)采、過程控制、集成多種設備、關系數(shù)據(jù),上層智能單元系統(tǒng)可統(tǒng)一使用的Http 數(shù)據(jù)接口,同時利用多線程技術(shù)+Redis 為智能單元提供實時數(shù)采,功能實現(xiàn)后不僅能降低上層智能單元的開發(fā)難度,并能將整個智能鑄造系統(tǒng)架構(gòu)按模塊解耦[1]。
經(jīng)過多方調(diào)研,使用C#.net 實現(xiàn)系統(tǒng)開發(fā)的方式可行,在上述這些數(shù)據(jù)交互方式中,通過以太網(wǎng)關系數(shù)據(jù)庫的方式實現(xiàn)信號交互較為常規(guī);西門子S7 系列(200、200Smart、300、400、1200、1500)[2]、施耐德、倍福、三菱、歐姆龍等PLC 均可通過基于以太網(wǎng)TCP/IP 的ModbusS7AdsOPCUA 等協(xié)議實現(xiàn)通訊[3-4];其它非標設備常用COM 口通訊,遠程訪問可使用NPort 進行轉(zhuǎn)換,在服務器使用虛擬COM 報文通訊,由于不同設備的報文手法和解析機制不同,可按技術(shù)說明書解析使用。
該通訊系統(tǒng)不僅需要實現(xiàn)和下層PLC、數(shù)據(jù)庫的通訊,還需要完成和上層智能單元的通訊,過程控制和智能單元交互的數(shù)據(jù)量較小且頻次較低,可通過當前較為流行的HttprestfulAPI。而部分涉及過程監(jiān)控及統(tǒng)計分析的數(shù)采變量,每次讀取數(shù)據(jù)量較大且讀取頻次較高,部分相同變量需要由多個上層系統(tǒng)獲取,此類數(shù)采由實時性更好、體量較小、能被多個服務器共享的內(nèi)存數(shù)據(jù)庫Redis 集群方式實現(xiàn)較為理想,最終系統(tǒng)實現(xiàn)架構(gòu)如圖1 所示。
圖1 使用PLC 通訊管理系統(tǒng)后的智能工廠系統(tǒng)架構(gòu)
PLC 通訊管理系統(tǒng)需要實現(xiàn)三個功能模塊:前端管理模塊、過程控制的PLC 通訊功能模塊、數(shù)采推送功能模塊。
根據(jù)實際應用情況,三個系統(tǒng)可使用一個項目兩種方式去實現(xiàn),前端管理模塊、Http 協(xié)議過程控制的PLC 通訊功能模塊可以用統(tǒng)一B/S 架構(gòu)實現(xiàn),以便后期PLC 設備、變量等基礎信息維護,而數(shù)采推送Redis 功能由于涉及多線程高速讀寫,適合用C/S 架構(gòu)方式實現(xiàn)。兩種功能塊使用同一種底層通訊方式。
完成開發(fā)后,智能單元和設備信號交互通過調(diào)用PLC 通訊管理系統(tǒng)中json 格式Restful API 接口實現(xiàn)。為了方便智能單元在設備調(diào)試完成前的測試,本系統(tǒng)增加測試變量管理功能,實現(xiàn)為智能單元提供模擬交互信號,大幅度縮短后期進廠調(diào)試過程。智能單元為多系統(tǒng)分布式部署,在每個智能單元服務器安裝內(nèi)存數(shù)據(jù)庫Redis 并設置為集群模式。系統(tǒng)將設備數(shù)據(jù)采集并推送到分布式Redis 集群,實現(xiàn)智能單元共享訪問,實現(xiàn)后前端PLC 設備、變量、測試流程配置界面如圖2 所示。
圖2 PLC 通訊管理系統(tǒng)管理界面
前期的智能單元開發(fā)過程中,由于系統(tǒng)多個流程需要和設備交互信號,所以項目中智能單元的開發(fā)往往需要滯后到設備調(diào)試完成后。而在該PLC 通訊方式實現(xiàn)后,可以模擬設備和智能單元進行信號的交互,系統(tǒng)的開發(fā)測試階段提前到工廠硬件建設初期,大幅度縮短進廠開發(fā)調(diào)試周期。
針對智能鑄造工廠的特點,在多種類型底層設備通訊開發(fā)過程中,通訊通道建立和數(shù)據(jù)解析是關鍵的兩個步驟,通道的建立過程常規(guī)PLC 基本都支持以太網(wǎng)通訊。非標設備(如測溫槍、掃碼槍、光譜儀)一般支持COM 通訊,通過以太網(wǎng)作為傳輸通道必須使用NPort 等設備將COM 轉(zhuǎn)為以太網(wǎng)通訊,在服務器中再用虛擬串口將以太網(wǎng)轉(zhuǎn)為COM 口。與獲取數(shù)據(jù)報文代碼的開發(fā)過程較為類似;數(shù)據(jù)報文的解析過程由于不同設備的報文收發(fā)機制不同,報文的數(shù)據(jù)字節(jié)、校驗字節(jié)、啟停字節(jié)在長度、排序、類型轉(zhuǎn)換過程中的規(guī)律等都千差萬別,所以解析過程較為繁瑣耗時,通過對當前設備使用工具不斷的抓包分析比對找出規(guī)律,進而按規(guī)律進行解析反復驗證、優(yōu)化。目前開發(fā)的PLC 通訊管理系統(tǒng)在3D 打印砂型、砂芯智能鑄造工廠得到較好的應用,實現(xiàn)了工廠上層鑄造管理系統(tǒng)和底層設備的高效通訊,實現(xiàn)了高效率管理。
PLC 通訊管理系統(tǒng)過程控制基于B/S 架構(gòu)輕量級開發(fā),整體部署文件約10M,在有多個上層系統(tǒng)、多設備、多變量時可以分布式部署,這樣將會大幅度降低單個服務器的壓力,整體提升上層系統(tǒng)和設備通訊的效率。C/S 架構(gòu)的推數(shù)據(jù)模塊由于使用Redis,能高速比對出上次和本次數(shù)采數(shù)據(jù)是否有變化,采集的數(shù)據(jù)有變化時再向智能單元推送,能大幅度較少對整體服務器帶寬資源占用,降低數(shù)據(jù)冗余。
遵從軟件開發(fā)的高內(nèi)聚低耦合思想,使用該方式將上層智能單元和底層設備的耦合性降低,一方面有利于后期迭代優(yōu)化,另一方面降低上層系統(tǒng)開發(fā)的難度,讓開發(fā)人員只關心當前業(yè)務的開發(fā),降低開發(fā)難度。開發(fā)的PLC 通訊管理系統(tǒng)在智能鑄造工廠已得到較好的應用。