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