康金濤,蔡其星,駱 慧,張宏偉
(浙江中控技術股份有限公司,杭州 310053)
在互聯(lián)網(wǎng)的普及和工業(yè)技術蓬勃發(fā)展的大環(huán)境下,工業(yè)現(xiàn)場對設備自動化的要求越來越高。很多大型設備公司在為國內外客戶提供先進的技術和優(yōu)質的產(chǎn)品之外,更是考慮到如何提供更加完善的售后維護服務,更好更快更精確地為客戶解決設備故障問題,減少設備因為故障、停機而帶來的損失,快速響應設備故障進行維修。
通過不同構建方式的遠程維護系統(tǒng),工程師可以通過互聯(lián)網(wǎng)對現(xiàn)場的設備進行在線監(jiān)控和遠程系統(tǒng)維護。目前很多大型設備公司提出通過遠程方式精準實施監(jiān)控現(xiàn)場設備的異常運行狀態(tài),采集相關數(shù)據(jù)了解掌握當前情況,及時作出故障判斷。并且在必要時候能夠通過遠程連接的方式實現(xiàn)對設備進行變量參數(shù)修改以及邏輯程序更新等功能,及時恢復現(xiàn)場設備正常運行。以前工程師需要到現(xiàn)場才能夠針對設備進行調試、診斷,整個維護的過程是典型的有故障才有反應的過程,這樣的故障維護只能在設備故障停機后才能起到作用,現(xiàn)在通過遠程連接的方式也能夠實現(xiàn)對現(xiàn)場設備進行相關操作,預先故障提示,做到對整個售后、維護數(shù)據(jù)的記錄、查詢和分析[1]。
針對現(xiàn)有大型設備故障解決方案不完備的現(xiàn)狀,中控集團所研發(fā)的PLC 遠程維護控制系統(tǒng)軟件,集成了多個功能化的子系統(tǒng),針對設備建模、管網(wǎng)組態(tài)、遠程診斷、遠程維護、數(shù)據(jù)管理等方面,將完成對全線各工藝站場的監(jiān)控和管理等任務。準確針對行業(yè)需求,解決實際面臨的問題,大大提高了設備的故障響應時間。
在傳統(tǒng)行業(yè)內絕大部分設備制造商還使用現(xiàn)場維護模式,如圖1所示。僅當客戶的設備產(chǎn)生故障之后,通知設備制造商,此時設備制造商才會派工程師到現(xiàn)場為客戶解決問題,從而導致客戶的設備停機,耽誤客戶設備使用,整體響應時間過長造成客戶不滿意,并且此方式要耗費大量的人員資源和出差費用。
圖1 現(xiàn)場維護模式Fig.1 On-site maintenance mode
結合大型設備行業(yè)特點,為用戶提供遠程維護模式,如圖2所示。通過遠程診斷,可實現(xiàn)現(xiàn)場PLC、RTU、SIS、DCS 等多種設備的遠程監(jiān)控,實時監(jiān)測設備的運行狀態(tài)數(shù)據(jù),可以根據(jù)相關數(shù)據(jù)分析設備的異常運行情況,分析后能夠及時掌握設備可能會出現(xiàn)的某種故障。通過遠程維護,可實現(xiàn)設備組態(tài)、遠程調試、程序及配置參數(shù)的在線修改、上載下載等。此模式可以做到及時響應設備故障,快速解決設備故障信息,減少了現(xiàn)場設備因為故障原因導致設備停機,避免給客戶帶來更大的損失。設備使用方能隨時觀察設備的運行狀態(tài),及時進行預警,提高了設備運行的可靠性,避免設備故障帶來不必要的損失[2]。生產(chǎn)方也能通過遠程監(jiān)控實時查看設備的運行狀態(tài)來及時排除故障,提高售后維修的時效性,提高客戶對產(chǎn)品的滿意程度,提升產(chǎn)品品牌。
圖2 遠程維護模式Fig.2 Remote maintenance mode
該系統(tǒng)采用J2EE 架構、B/S 模式,能夠直接在瀏覽器端運行,前后端交互圖如圖3所示。該系統(tǒng)的后端使用JAVA 語言實現(xiàn)業(yè)務邏輯,前端使用React技術,從而達到了前后端分離的效果,前后端的交互采用標準的Restful 風格的HTTP 接口。
圖3 前后端交互圖Fig.3 Front end and back end interaction diagram
前后端分離已成為互聯(lián)網(wǎng)項目開發(fā)的業(yè)界標準使用方式,通過nginx+tomcat 的方式(也可以中間加一個nodejs)有效地進行解耦,并且前后端分離會為以后的大型分布式架構、彈性計算架構、微服務架構、多端化服務(多種客戶端,例如:瀏覽器,車載終端,安卓,IOS 等)打下堅實的基礎。核心思想是前端html 頁面通過ajax 調用后端的Restuful API 接口并使用json 數(shù)據(jù)進行交互。
該系統(tǒng)的實時位號值由SCADA 軟件進行上送,通過WebSocket 協(xié)議完成瀏覽器與服務器的全雙工通信,擴展了瀏覽器與服務端的通信功能,使服務端也能主動向客戶端發(fā)送數(shù)據(jù),WebSocket 通信過程如圖4所示。傳統(tǒng)的HTTP 協(xié)議是無狀態(tài)的,每次request 請求都要由客戶端(如瀏覽器)主動發(fā)起,服務端進行處理后返回response 結果,而服務端很難主動向客戶端發(fā)送數(shù)據(jù);這種客戶端是主動方,服務端是被動方的傳統(tǒng)Web 模式對于信息變化不頻繁的Web 應用來說適用性較強,而對于涉及實時信息的Web 應用卻帶來了很大的不便,如帶有即時通信、實時數(shù)據(jù)、訂閱推送等功能的應用。伴隨著HTML5 推出的WebSocket,真正實現(xiàn)了Web 的實時通信,使B/S 模式具備了C/S 模式的實時通信能力。WebSocket 是HTML5 開始提供的一種在單個TCP連接上進行全雙工通訊的協(xié)議[3]。在WebSocket API中,瀏覽器和服務器只需要做一個握手的動作,然后,瀏覽器和服務器之間就形成了一條快速通道,兩者之間就可以直接進行數(shù)據(jù)互傳。瀏覽器通過JavaScript 向服務器發(fā)出建立WebSocket 連接的請求,連接建立以后,客戶端和服務器端就可以通過TCP 連接直接交換數(shù)據(jù)。當你獲取WebSocket 連接后,你可以通過send()方法來向服務器發(fā)送數(shù)據(jù),并通過onMessage()事件來接收服務器返回的數(shù)據(jù)。
圖4 客戶端與服務端使用WebSocket 通信流程Fig.4 Client communicates with the server using WebSocket
PLC/RTU 遠維系統(tǒng)支持多種標準的通訊協(xié)議,如Modbus TCP/IP、Ethernet/IP、IEC60870-5-104、OPC等。系統(tǒng)能夠診斷各場站設備的運行狀態(tài),并能夠精確地判斷出各模塊的運行狀態(tài)。當模塊發(fā)生故障時,該系統(tǒng)能夠立即產(chǎn)生報警事件并上傳故障信息。當模塊恢復工作后,該系統(tǒng)能夠自動復位該模塊故障及報警信息。在模塊故障的時候,該系統(tǒng)將產(chǎn)生報警并記錄發(fā)生的事件。此外,該系統(tǒng)能夠記錄下每個模塊的統(tǒng)計信息和故障參數(shù),進行診斷和分析,并用于顯示成報告[4]。
系統(tǒng)共分為設備建模、管網(wǎng)組態(tài)、數(shù)據(jù)管理、遠程診斷、遠程維護及主界面6 個模塊,如圖5所示。
圖5 模塊架構圖Fig.5 Module architecture diagram
設備建模主要實現(xiàn)系統(tǒng)基礎數(shù)據(jù)的管理,定義設備模型建立的過程,并為設備的運行狀態(tài)提供判斷標準及依據(jù),靈活的故障判定模式可根據(jù)實際業(yè)務需要進行配置。包含模塊:數(shù)據(jù)字典、設備類型、模塊類型、參數(shù)類型、故障字典。
管網(wǎng)組態(tài)主要是將現(xiàn)場管網(wǎng)情況實例化還原至系統(tǒng)中,如管網(wǎng)下的管線、站點中的設備等。此模塊還負責與以計算機為核心的監(jiān)視和數(shù)據(jù)采集(SCADA)系統(tǒng)軟件進行通訊,將采集到的位號值以訂閱的方式實時上送至系統(tǒng)中,提供位號值的趨勢變化。包含模塊:管網(wǎng)實例、管線實例、站點實例、工程師站實例、機柜實例、機架實例、設備實例、模塊實例、參數(shù)實例。
數(shù)據(jù)管理主要是分析設備的歷史故障和用戶在系統(tǒng)中的操作,可對系統(tǒng)中所監(jiān)測設備產(chǎn)生的故障進行記錄,查詢和分析,并詳細記錄下用戶對系統(tǒng)數(shù)據(jù)庫的“寫”操作。包含模塊:歷史報警管理、日志管理。
遠程診斷模塊主要是以“樹”型結構對全站所有管網(wǎng)、管線、站點下的設備的運行狀態(tài)進行動態(tài)展示,清晰直觀地展示出故障的設備、模塊及參數(shù)。
遠程維護主要是利用NoVNC 服務對工程師站進行遠程組態(tài)、遠程維護,以及維護后進行故障維護登記、組態(tài)上傳、下載等。包含模塊:遠程維護、故障維護上報、組態(tài)版本管理。
主界面以可視化的形式對全線設備故障進行多維度展示、分析。對整個管網(wǎng)分布形態(tài)進行展示,并對全網(wǎng)的設備故障和設備健康度進行評價。
該模塊對系統(tǒng)所需要的數(shù)據(jù)項進行配置,如設備類型、品牌型號、站點類型、故障類型等,為其提供相應的數(shù)據(jù)字典。且針對不同品牌的設備,對其內部各個模塊(如CPU 模塊、電源模塊、通信模塊、冗余模塊、DI 模塊、AI 模塊、DO 模塊等)的狀態(tài)信息進行定義,不同的模塊包含不同的狀態(tài)信息,如運行狀態(tài)信息、故障狀態(tài)信息、通道狀態(tài)信息等。并根據(jù)不同品牌的設備,提供相應的故障字典,根據(jù)相應的故障碼進行故障定位及為系統(tǒng)恢復操作提供依據(jù)。此外,當模塊存在故障時可以點擊相應模塊查看模塊的故障代碼、故障的詳細解釋說明和故障的排除方法。
該模塊基于設備建模,完成管網(wǎng)-管線-站點-設備-模塊-參數(shù)的逐級實例化工作,其中:管網(wǎng)下含有多條管線,管線下含有多個站點(站場/閥室),站點下含有多個設備(PLC/RTU/SIS/DCS)。建立工程師站、機柜、機架等實例,完成現(xiàn)場實際管網(wǎng)情況的組態(tài)工作。通過WebSocket 協(xié)議與SCADA 軟件進行對接,獲取采集的數(shù)據(jù)值,完成位號綁定、取值、記錄的工作。
系統(tǒng)數(shù)據(jù)主要分為實時系統(tǒng)診斷數(shù)據(jù)和系統(tǒng)管理數(shù)據(jù)兩類。當系統(tǒng)中實例化的設備滿足故障報警條件時,則將該條故障記錄在數(shù)據(jù)庫中,并在此模塊展示,可以詳細地看到故障的管網(wǎng)、管線、站點、設備、故障的等級、故障的產(chǎn)生時間、滯留時間、是否有被其他用戶確認等信息,為后期故障分析提供依據(jù)(歷史報警,如圖6所示)。此外,該模塊還負責記錄系統(tǒng)中的用戶對系統(tǒng)數(shù)據(jù)進行的“寫”操作,可以在系統(tǒng)產(chǎn)生故障時方便進行故障定位和顯示系統(tǒng)的運行狀態(tài),好的日志記錄方式可以提供足夠多定位問題的依據(jù)。
圖6 歷史報警Fig.6 Historical alarm
2.3.1 實時系統(tǒng)診斷數(shù)據(jù)
實時系統(tǒng)診斷數(shù)據(jù)采用調控中心SCADA 系統(tǒng)數(shù)據(jù)庫進行建設。SCADA 實時/歷史數(shù)據(jù)負責對PLC/RTU 實時診斷數(shù)據(jù)進行采集及存儲,并提供給PLC/RTU 診斷系統(tǒng)終端進行展示。
2.3.2 系統(tǒng)管理類數(shù)據(jù)
遠維系統(tǒng)同時采用關系數(shù)據(jù)庫,存儲PLC/RTU系統(tǒng)硬件及程序的診斷和組態(tài)信息,并記錄用戶對現(xiàn)場PLC/RTU 程序的備份及升級操作。
根據(jù)本工程現(xiàn)場控制系統(tǒng)型號,將建立控制系統(tǒng)故障信息數(shù)據(jù)庫,用戶可通過上傳的系統(tǒng)故障代碼,在系統(tǒng)中查詢相應的故障原因及處理方法或建議措施,并支持用戶自定義輸入故障處理日志等信息[5]。
該系統(tǒng)診斷數(shù)據(jù)依托調控中心SCADA 系統(tǒng)核心數(shù)據(jù)庫及關系數(shù)據(jù)庫,采用調控中心SCADA 系統(tǒng)數(shù)據(jù)庫進行建設。SCADA 實時/歷史數(shù)據(jù)負責對設備實時診斷數(shù)據(jù)進行采集及存儲,并提供給本診斷系統(tǒng)終端進行展示。通過點擊相應站名提示標可以打開每個站的系統(tǒng)界面,能夠詳細地顯示出每個模塊的故障狀態(tài)??蓪崿F(xiàn)對控制系統(tǒng)的模塊運行狀態(tài)、故障狀態(tài)信息、通道狀態(tài)等信息進行實時采集及集中監(jiān)視 (如圖7),實現(xiàn)運維人員遠程對PLC/RTU 設備的監(jiān)視與診斷。
圖7 故障診斷Fig.7 Fault diagnosis
該模塊利用NoVNC 技術進行遠程調試的實現(xiàn)方式,NoVNC 可以使用瀏覽器直接訪問服務器而不需要使用VNC 客戶端。所謂遠程調試,指的是工程師在辦公室,就可以對分布在全國各地的PLC 進行遠程調試,無需到現(xiàn)場,減少工程師出差時間,節(jié)約出差經(jīng)費,及時解決客戶問題,提高服務質量和客戶滿意度。
系統(tǒng)主界面可以顯示各管道走向概貌圖,通過點擊相應站名提示標可以打開每個站的系統(tǒng)界面,以可視化的方式多維度對系統(tǒng)進行故障展示、分析,如圖8所示。
圖8 PLC 遠程維護控制系統(tǒng)全線自控設備故障分析Fig.8 Fault analysis of automatic control equipment in PLC remote maintenance control system
根據(jù)本文提出的PLC 遠程維護控制系統(tǒng)分析和設計方法,將控制系統(tǒng)采集到的點位參數(shù)信息按照一定模式進行參數(shù)過濾、篩選、計算、匹配等操作后,根據(jù)上層系統(tǒng)的需要,完成關鍵參數(shù)上傳[6]。工程人員根據(jù)工業(yè)現(xiàn)場實際設備組態(tài)情況以及行業(yè)軟件開發(fā)經(jīng)驗完成設備模型的抽象工作,將參差不齊的現(xiàn)場設備抽象為層次清晰的結構模型。與先前建立的設備機理模型中定義的參數(shù)進行鍵-值綁定,完成設備的實例化工作。
系統(tǒng)的展示業(yè)務模塊提供樹狀架構、實景3D圖、分層展示圖等設備數(shù)據(jù)展示方式。工程師可根據(jù)不同的業(yè)務場景進行顯示框架組態(tài),生成設備展示模型,自定義類設備展示平臺界面。
本文提出的PLC 遠程維護控制系統(tǒng)軟件被應用在《廣東省天然氣管網(wǎng)二期工程調控及應急指揮中心和行政辦公用房項目調控中心PLC/RTU 遠維系統(tǒng)》,系統(tǒng)處于試運行階段,并根據(jù)客戶需求不斷進行產(chǎn)品迭代,為現(xiàn)場提供安全、可靠的設備組態(tài)、實時監(jiān)控及故障維護等功能。
本文主要介紹了PLC 遠程維護控制系統(tǒng)軟件的設計及應用,從應用行業(yè)重要性、軟件的設計、軟件主要功能、系統(tǒng)的實際應用等方面介紹了PLC 遠程維護控制系統(tǒng)軟件在大型設備監(jiān)控、故障維護中的重要意義。