



摘要:PLC傳統的升級方式需要技術人員到現場進行操作,此方式工作效率低、時間與人力成本高。鑒于此,文章設計并實現了一種基于物聯網的PLC程序遠程升級系統,該系統利用物聯網技術構建一條從組態軟件到生產現場PLC的虛擬串口線,技術人員在辦公室即可實現對生產現場PLC程序的遠程升級,無需到現場操作。實驗結果表明:該系統能夠穩定、可靠的實現PLC程序的遠程升級。
關鍵字:PLC;物聯網;遠程升級;虛擬串口線;GX Works2
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2025)09-0115-03 開放科學(資源服務) 標識碼(OSID) :
PLC 是可編程邏輯控制器(Programmable LogicController) 的縮寫,是一種專門用于工業領域的數字電子設備,可高效、穩定的控制機器和設備的運行,實現自動化生產。通常情況下,當現場PLC的技術需要更新或者程序出現故障時需要對PLC的程序進行更新。此外,當PLC控制系統的生產需求發生變化時,也需要對PLC程序進行更新。在數字化、智能化的工業浪潮中,PLC作為工業自動化系統的核心部件,其程序的更新與維護及其重要。傳統的PLC更新方式往往需要現場工程師的實地操作,這種方式不僅效率低下,而且時間與人力成本較高。
PLC遠程升級技術是指在不關閉PLC系統的情況下,通過遠程方式對PLC程序進行更新升級。國內外的PLC廠商、研究機構都在積極開展PLC遠程升級技術的研究和應用。孟慶龍等[1]提出了一種基于差分技術的PLC固件遠程升級方法,此方式需對PLC固件進行編碼、解碼,過程復雜。國外工控巨頭都推出了工業軟件對自家的PLC產品進行遠程升級[2],如西門子的TIA Portal軟件,施耐德的Unity Pro軟件等,但對其他廠家的PLC不兼容,缺乏通用性,而且一般要求現場具備有線寬帶或Wi-Fi條件。為解決在不具備有線寬帶的環境下,對不同廠家的PLC實現遠程升級的問題,本文設計了一種基于物聯網的PLC遠程升級系統,利用此系統,可對不同型號的PLC進行遠程升級,具有很好的兼容性。
1 總體架構
利用物聯網技術構建一條從組態軟件直達現場PLC的網絡虛擬串口線,達到遠程下載更新PLC程序的效果。構建虛擬串口線需要建立一個由設備端、云平臺、客戶端、組態軟件構成的物聯網通信系統,系統總體架構圖如圖1所示。1) 設備端,由PLC、網絡模塊組成,PLC與網絡模塊通過串口進行連接。網絡模塊先在云平臺進行注冊,上電后主動連接云平臺,與云平臺之間保持心跳連接,實時的向云平臺上傳采集的PLC數據。2) 云平臺,是整個系統的核心,具有設備管理、用戶管理、設備運行、設備日志等功能,負責整個系統數據的存儲、分發與處理。通過mstc命令方式登錄云平臺,在云平臺創建用戶并為用戶分配所屬的網絡模塊。3) 客戶端,客戶端運行在Windows系統,使用在云平臺創建的用戶和密碼進行登錄,負責對網絡模塊進行串口、網口配置。4) 組態軟件,和客戶端運行在同一臺計算機,對PLC程序的讀取和下載。利用VSPD軟件創建一對虛擬串口[3],組態軟件通過虛擬串口與客戶端實現數據交互。
2 系統需求分析
實現PLC程序的遠程在線更新是本方案的核心需求,技術人員無需到生產現場,在辦公室就能夠掌握現場PLC的實時狀態,通過組態軟件能夠以無線方式遠程讀取現場PLC的程序,在組態軟件中對程序進行修改完善并下載到PLC中,從而減少工程師的現場操作,提高工作效率、降低生產成本。整個系統的需求按照重要性概括為以下幾點:1) 網絡模塊與云平臺之間的數據傳輸延遲時間控制在0.5秒內,丟包率控制在0.1%以內。2) 對傳輸的數據包建立加解密與校驗機制,建立用戶管理體系,防止未授權用戶訪問并對數據的篡改;3) 能夠兼容多種型號的PLC設備,通過模塊內置的串口或網口與PLC連接,實現數據的采集與轉發。4) PLC狀態數據可視化,能夠對PLC進行遠程故障診斷。
3 關鍵技術
系統采用的關鍵技術包含如下幾點。
1) 設備端與云平臺保持間隔時間為0.5秒的心跳連接,系統采用阿里云服務器,設備端內置云平臺服務器域名,網絡模塊上電連接網絡后直接尋址云平臺服務器,向服務器發送進行連接的請求,服務器收到網絡模塊的連接請求后,打開連接,與網絡模塊保持間隔時間為0.5秒的心跳包連接,通過發送心跳包,網絡模塊實時向平臺上報采集的PLC數據。2) 采用Socket與UDP協議傳輸AES加密的自定義數據報文,UDP協議[4-5]提供快速數據傳輸能力,適用于對設備實時性要求較高的場景,但在網絡數據的可靠傳輸上存在弱點。本系統采用AES算法進行數據加密[6],在數據報文頭尾部添加CRC校驗碼[7],通過時序控制按序發送數據包,建立動態緩存區,對接收的報文進行完整性檢驗,保證收、發數據包的完整性、安全性與可靠性。3) 斷線重連機制,網絡模塊與云平臺之間通過心跳連接保持實時連接狀態,若3秒內未接收到模塊數據包,則認為與平臺斷線,網絡模塊將對云平臺發起重新連接。
4) 身份驗證和權限校驗機制,云平臺在接收通道命令前,對客戶端進行身份驗證和權限校驗,只有云平臺創建的用戶才能對PLC程序進行遠程升級,有效防止未授權用戶訪問并篡改數據。
4 系統設計
4.1 物聯網云平臺
物聯網云平臺是整個物聯網系統的樞紐,承擔設備接入、數據通信、遠程監控、數據存儲與處理、數據分發等關鍵任務。物聯網云平臺采用分層架構設計,保證系統的安全性、穩定性與可靠性。1) 接入層,負責PLC設備的接入認證及數據的初步處理,使不同品牌和型號的PLC設備能夠接入平臺,目前,平臺支持三菱、西門子的PLC、支持Modbus協議。2) 通信層,實現PLC設備與云平臺之間的數據通信。采用Socket套接字與UDP協議傳輸自定義的數據報文,對報文進行加密,保障數據傳輸的安全性。3) 處理層,對接收到的數據進行解密解析、處理和存儲。提取出有用的信息,如PLC設備的運行狀態、故障報警等。同時將處理后的數據轉發給相應的應用服務。4) 應用層,提供豐富的應用服務,如遠程監控、程序更新、數據分析等。提供標準的API接口,用戶可以用組態軟件、JAVA、C++等調用API從云平臺獲取數據進行二次開發,實現遠程組態監控、APP監控等。
4.2 網絡模塊及參數設置
網絡模塊分為內置sim卡和帶網口的兩種,通過串口與設備相連,無須設置,上電即可使用。如圖2所示為4G網絡模塊,其性能參數為:1) 丟包率,常規環境下(非理想狀態) 0.1%,即大概 1 000 個包丟 1 個包。2) 通訊速率:快速時為 300 毫秒延時(要求秒內必須有數據包發送) ,慢速時為 1 600 毫秒延時。3) 適用于交互式命令,例如 MODBUS 通信協議和多種 PLC 通信協議。
每個模塊具有一個SN號,使用前在云平臺進行注冊并分配給指定用戶,在云平臺的客戶端通過用戶賬戶及對應的密碼進行登錄,在設備列表中按照SN 號選定模塊,進行串口或網口設置,如圖3所示為在客戶端軟件中設置4G模塊的串口參數。
4.3 應用端軟件
應用端軟件包括安裝在同一臺電腦上的PLC的組態軟件、云平臺客戶端軟件、VSPD虛擬串口工具。不同廠家的PLC采用不同的組態軟件,如三菱的GXWorks2。VSPD虛擬串口工具可創建虛擬串口對,使云平臺客戶端軟件與組態軟件利用虛擬的串口對進行串口通信。
打開客戶端軟件后進入登錄界面,用在云平臺創建的用戶名及密碼進行登錄,登錄成功后在主頁顯示用戶所管理的網絡模塊信息,如圖3所示,顯示網絡模塊的編號,模塊的描述信息、模塊的離、在線狀態、信號強度等信息??蛻舳说墓δ馨ㄟh程設置、開始設備上下載、停止設備上下載、后臺運行等功能。按照SN 號選定模塊,點擊遠程設置,進入參數設置界面,可按照實際要求對模塊進行設置。然后點擊“開始設備上下載”,打開組態軟件,即可執行遠程讀取、寫入PLC程序操作。操作完成后點擊“停止設備上下載”并退出程序。
5 遠程升級測試與分析
5.1 測試實驗
測試實驗所需的器材包括三菱FX0S型號PLC、遠橋物聯4G模塊、串口連接線、Windows 7系統的電腦,電腦上安裝云平臺PC客戶端軟件、虛擬串口軟件VSPD、三菱PLC 組態軟件GX Works2,電腦上通過mstc命令遠程訪問云平臺。將三菱PLC通過串口與4G模塊連接,如圖4所示。測試流程如下:1) 登錄云平臺,在設備管理模塊添加測試用4G模塊SN號,將模塊添加到數據庫中;2) 在云平臺創建測試賬號與密碼,如賬戶為test,密碼默認123456,將測試模塊的SN 號添加到test賬戶下;3) 利用虛擬串口軟件VSPD創建一對虛擬串口,如圖5所示,云平臺客戶端和三菱PLC的組態軟件GX Works2通過虛擬串口實現數據互通;4) 利用測試賬戶test及密碼登錄云平臺客戶端軟件,對網絡模塊進行遠程設置,選擇端口號,配置與PLC互通的串口參數及PLC設備類型;5) 將PLC通過RS485與網絡模塊連接,連接后對PLC及模塊上電,觀察模塊上RX/TX指示燈是否正常閃爍,閃爍表示通信正常;6) 打開三菱PLC的組態軟件GX Works2,進行20次PLC程序的遠程讀取和寫入測試。
5.2 實驗結果及分析
經過20次測試,采用本系統均能夠成功讀取、寫入PLC 程序,實現了PLC 程序的遠程升級,成功率100%。如圖6、7所示為遠程讀取、寫入PLC程序的界面。經過測試統計,每次讀取、寫入PLC相同程序的耗時在40秒左右。當然,這個時間受PLC程序的大小、4G模塊的網絡環境影響。
6 總結與展望
本文設計并實現了一種基于物聯網的PLC程序遠程升級系統,通過本系統,技術人員在辦公室就可實現對生產現場的PLC程序完成遠程更新。本系統目前支持三菱、西門子、信捷等型號的PLC程序的遠程升級,經過多次測試,均成功完成PLC程序升級,系統性能穩定、安全可靠。在后續,我們將繼續完善系統,提高系統的擴展性,支持更多型號的PLC協議。
此外,將開發移動端的程序,使用戶通過APP即可遠程設置模塊參數、實時查看PLC的狀態信息,進一步豐富系統生態。