引言
現有的數據采集與監視控制(SCADA)系統大多運行在Windows平臺上,缺少國產化方面的考慮[1]。本文介紹的SCADA系統開發及運行環境實現了全國產化。作為工業級數據采集與監視控制軟件,對于系統的穩定性和可靠性要求較高。因此SCADA系統中需要有狀態診斷子系統,并且系統中的關鍵組件——服務器,必須實現冗余配置,當主服務器發生故障時,能夠及時診斷故障并切換到后備服務器,且切換過程中不能造成擾動。由于狀態診斷系統與操作系統關系較為密切,不同操作系統下的實現可能大不相同,本文設計與實現了自主研發的基于國產麒麟操作系統的狀態診斷系統。
1 整體結構
數據采集與監視控制系統采用跨平臺的軟件架構設計:硬件采用國產飛騰處理器的服務器和臺式機(或筆記本),操作系統采用國產中標麒麟,開發工具采用可跨平臺的Qt,支持在國產中標麒麟和Windows操作系統上跨平臺運行。系統整體結構如圖1所示。
數據采集與監視控制系統采用客戶端/服務器體系結構,正常情況下歷史站即為系統的服務器,如果用戶有高可靠性要求,會配置冗余歷史站,歷史站負責與下位機進行數據交互,并記錄歷史數據。客戶端即各個操作員站,操作員站的數據從歷史站獲取,且網絡僅傳輸每秒中發生變化的變更數據集。操作員站用于人機交互,用文字、動畫顯示現場的狀態,并可以對現場的開關、閥門進行操作。根據用戶需要,可以配置對外通信功能,通過網絡單向發布管理層用戶關心的數據和狀態[2]。
2 功能及實現
數據采集與監視控制系統從功能上分為離線功能和在線功能:離線包括工程組態、離線查詢等,在線包括數據通信、服務處理、數據處理、畫面監視等[3]。操作員站和歷史站的功能有所區別,操作員站主要包括畫面監視、數據下發、打印等與用戶的圖形接口,歷史站除包含操作員站的所有功能外,還包含數據通信、服務處理、數據處理等后臺任務。狀態診斷是操作員站和歷史站都具有的后臺服務子系統。軟件結構如圖2所示。
歷史站包含所有功能的設計優點在于,對于很小的項目,可以只配置一臺歷史站,或者配置兩臺互為冗余的歷史站,這樣可以有效降低成本。
2.1 狀態診斷子系統基本功能
(1)初始確定歷史站的主從機狀態:先啟動的為主機;同時啟動時,A歷史站為主機。
(2)周期自診斷:周期診斷本機各子任務的狀態及系統資源狀態。
(3)周期互診斷:實現主從機之間的心跳監測,通過周期性互發心跳值的方式實現。主機收不到從機的心跳信號時仍正常運行,從機收不到主機的心跳信號則切換為主機。
(4)判斷數據站的狀態:
①在線:任務管理、數據通信、服務器狀態診斷、校時、數據處理、歷史數據收集、數據采集、報警、全記錄等,全部正常運行。
②離線:除數據通信模塊,需要在線的任務都沒有運行。
③故障:在線時需要在線的任務存在不正常運行的[4]。
2.2 自診斷方式
各子任務的狀態通過周期檢測心跳值的方式檢測。對于心跳超時的子任務,可以根據任務配置,對出錯的任務作不關閉不重啟、關閉不重啟、關閉并重啟等處理,如果出錯的子任務仍然不能正常運行,從機只報故障,主機需要切換為從機。
中標麒麟系統可以通過兩種方式獲取系統資源狀態:
(1)讀取系統文件,例如可以通過讀取carrier文件,獲取網絡狀態,部分示例代碼參見函數void getNetState()。
(2)調用shell命令,解析命令的返回值,例如可以通過解析df命令的執行結果,獲取硬盤使用率,部分示例代碼參見函數void getHardDiskOccupy()。
針對大部分冗余歷史站容易出現的雙主問題,本文制作了詳細的冗余切換表,通過測試證明,可以避免雙主的出現。部分冗余切換如表1所示。
為了保證系統穩定可靠地運行,SCADA的狀態診斷系統需要確定系統當前狀態,并判斷何時滿足狀態切換的條件。本文設計并實現的狀態診斷系統按照圖3所示狀態圖進行狀態判斷和切換[5]。
狀態診斷系統在工程運行前需要先檢測工程配置是否正確,如果配置錯誤(如未配置歷史站、PC名字配置錯誤),則提示錯誤,并結束工程;如果配置正確,則啟動各子任務,并運行工程。
運行工程后進入在線狀態,檢測本機配置,如果配置為操作員站,則不存在主從機的區別,以操作員站的狀態運行,直到退出在線或退出工程;如果配置為歷史站,則需要判斷主從狀態,根據有故障不搶主、A機優先的原則確定主從機狀態。
為了減少切換次數,主機無故障會一直保持主機狀態,從機周期檢測主機的狀態,如果主機降從或退出,則從機自檢無故障可以升主。
主機和從機均可以退出在線或退出工程。
3 實驗結果
實驗條件:歷史站A、歷史站B均正常運行。實驗操作及實驗結果如表2所示。
4 結論
實驗結果證明,本系統能夠按照預期的結果在國產麒麟系統上穩定運行。通過對任務的監視、強制關閉與重啟任務,能夠對出錯的子任務及時進行處理,保證各子任務的正常運行;通過服務器冗余配置,可以保證主歷史站出故障能夠迅速切換到從歷史站,使得從歷史站出故障時不影響主歷史站的正常運行。
-
處理器
+關注
關注
68文章
19286瀏覽量
229813 -
SCADA
+關注
關注
6文章
269瀏覽量
36768 -
麒麟
+關注
關注
1文章
224瀏覽量
13645
發布評論請先 登錄
相關推薦
評論