《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于麒麟系統(tǒng)的SCADA狀態(tài)診斷系統(tǒng)的設(shè)計與實(shí)現(xiàn)
基于麒麟系統(tǒng)的SCADA狀態(tài)診斷系統(tǒng)的設(shè)計與實(shí)現(xiàn)
2018年電子技術(shù)應(yīng)用第5期
徐一鳳,豐大軍,王 皓,陳俊凱,范曉東
華北計算機(jī)系統(tǒng)工程研究所,北京100083
摘要: 設(shè)計實(shí)現(xiàn)了一個狀態(tài)診斷系統(tǒng),其為數(shù)據(jù)采集與監(jiān)視控制(SCADA)系統(tǒng)的子系統(tǒng)。作為工業(yè)級監(jiān)視控制軟件,對于系統(tǒng)的穩(wěn)定性和可靠性有著很高的要求。狀態(tài)診斷子系統(tǒng)即是為了保證系統(tǒng)的穩(wěn)定性和可靠性而設(shè)計的。介紹了國產(chǎn)麒麟系統(tǒng)下數(shù)據(jù)采集與監(jiān)視控制系統(tǒng)的總體結(jié)構(gòu),以及狀態(tài)診斷子系統(tǒng)的設(shè)計與實(shí)現(xiàn)。經(jīng)測試驗證,該系統(tǒng)在國產(chǎn)麒麟操作系統(tǒng)上運(yùn)行穩(wěn)定可靠。
中圖分類號: TP277
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.189011
中文引用格式: 徐一鳳,豐大軍,王皓,等. 基于麒麟系統(tǒng)的SCADA狀態(tài)診斷系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2018,44(5):134-136,143.
英文引用格式: Xu Yifeng,F(xiàn)eng Dajun,Wang Hao,et al. The design and implementation of SCADA state diagnosis system on Kylin system[J]. Application of Electronic Technique,2018,44(5):134-136,143.
The design and implementation of SCADA state diagnosis system on Kylin system
Xu Yifeng,F(xiàn)eng Dajun,Wang Hao,Chen Junkai,F(xiàn)an Xiaodong
National Computer System Engineering Research Institute of China,Beijing 100083,China
Abstract: The state diagnosis system is subsystem of supervisory control and data acquisition. As an industrial monitoring control software, the system has the request of high stability and reliability. The state diagnosis subsystem is designed in order to ensure stability and reliability of the system. This paper introduces the general structure of the supervisory control and data acquisition on domestic Kylin system, and the design and implementation of state diagnosis subsystem. It has been verified by test that the system runs stably and reliably on domestic Kylin operating system.
Key words : Kylin system;supervisory control and data acquisition;state diagnosis

0 引言

    現(xiàn)有的數(shù)據(jù)采集與監(jiān)視控制(SCADA)系統(tǒng)大多運(yùn)行在Windows平臺上,缺少國產(chǎn)化方面的考慮[1]。本文介紹的SCADA系統(tǒng)開發(fā)及運(yùn)行環(huán)境實(shí)現(xiàn)了全國產(chǎn)化。作為工業(yè)級數(shù)據(jù)采集與監(jiān)視控制軟件,對于系統(tǒng)的穩(wěn)定性和可靠性要求較高。因此SCADA系統(tǒng)中需要有狀態(tài)診斷子系統(tǒng),并且系統(tǒng)中的關(guān)鍵組件——服務(wù)器,必須實(shí)現(xiàn)冗余配置,當(dāng)主服務(wù)器發(fā)生故障時,能夠及時診斷故障并切換到后備服務(wù)器,且切換過程中不能造成擾動。由于狀態(tài)診斷系統(tǒng)與操作系統(tǒng)關(guān)系較為密切,不同操作系統(tǒng)下的實(shí)現(xiàn)可能大不相同,本文設(shè)計與實(shí)現(xiàn)了自主研發(fā)的基于國產(chǎn)麒麟操作系統(tǒng)的狀態(tài)診斷系統(tǒng)。

1 整體結(jié)構(gòu)

    數(shù)據(jù)采集與監(jiān)視控制系統(tǒng)采用跨平臺的軟件架構(gòu)設(shè)計:硬件采用國產(chǎn)飛騰處理器的服務(wù)器和臺式機(jī)(或筆記本),操作系統(tǒng)采用國產(chǎn)中標(biāo)麒麟,開發(fā)工具采用可跨平臺的Qt,支持在國產(chǎn)中標(biāo)麒麟和Windows操作系統(tǒng)上跨平臺運(yùn)行。系統(tǒng)整體結(jié)構(gòu)如圖1所示。

jsj2-t1.gif

    數(shù)據(jù)采集與監(jiān)視控制系統(tǒng)采用客戶端/服務(wù)器體系結(jié)構(gòu),正常情況下歷史站即為系統(tǒng)的服務(wù)器,如果用戶有高可靠性要求,會配置冗余歷史站,歷史站負(fù)責(zé)與下位機(jī)進(jìn)行數(shù)據(jù)交互,并記錄歷史數(shù)據(jù)??蛻舳思锤鱾€操作員站,操作員站的數(shù)據(jù)從歷史站獲取,且網(wǎng)絡(luò)僅傳輸每秒中發(fā)生變化的變更數(shù)據(jù)集。操作員站用于人機(jī)交互,用文字、動畫顯示現(xiàn)場的狀態(tài),并可以對現(xiàn)場的開關(guān)、閥門進(jìn)行操作。根據(jù)用戶需要,可以配置對外通信功能,通過網(wǎng)絡(luò)單向發(fā)布管理層用戶關(guān)心的數(shù)據(jù)和狀態(tài)[2]。

2 功能及實(shí)現(xiàn)

    數(shù)據(jù)采集與監(jiān)視控制系統(tǒng)從功能上分為離線功能和在線功能:離線包括工程組態(tài)、離線查詢等,在線包括數(shù)據(jù)通信、服務(wù)處理、數(shù)據(jù)處理、畫面監(jiān)視等[3]。操作員站和歷史站的功能有所區(qū)別,操作員站主要包括畫面監(jiān)視、數(shù)據(jù)下發(fā)、打印等與用戶的圖形接口,歷史站除包含操作員站的所有功能外,還包含數(shù)據(jù)通信、服務(wù)處理、數(shù)據(jù)處理等后臺任務(wù)。狀態(tài)診斷是操作員站和歷史站都具有的后臺服務(wù)子系統(tǒng)。軟件結(jié)構(gòu)如圖2所示。

jsj2-t2.gif

    歷史站包含所有功能的設(shè)計優(yōu)點(diǎn)在于,對于很小的項目,可以只配置一臺歷史站,或者配置兩臺互為冗余的歷史站,這樣可以有效降低成本。

2.1 狀態(tài)診斷子系統(tǒng)基本功能

    (1)初始確定歷史站的主從機(jī)狀態(tài):先啟動的為主機(jī);同時啟動時,A歷史站為主機(jī)。

    (2)周期自診斷:周期診斷本機(jī)各子任務(wù)的狀態(tài)及系統(tǒng)資源狀態(tài)。

    (3)周期互診斷:實(shí)現(xiàn)主從機(jī)之間的心跳監(jiān)測,通過周期性互發(fā)心跳值的方式實(shí)現(xiàn)。主機(jī)收不到從機(jī)的心跳信號時仍正常運(yùn)行,從機(jī)收不到主機(jī)的心跳信號則切換為主機(jī)。

    (4)判斷數(shù)據(jù)站的狀態(tài):

    ①在線:任務(wù)管理、數(shù)據(jù)通信、服務(wù)器狀態(tài)診斷、校時、數(shù)據(jù)處理、歷史數(shù)據(jù)收集、數(shù)據(jù)采集、報警、全記錄等,全部正常運(yùn)行。

    ②離線:除數(shù)據(jù)通信模塊,需要在線的任務(wù)都沒有運(yùn)行。

    ③故障:在線時需要在線的任務(wù)存在不正常運(yùn)行的[4]

2.2 自診斷方式

    各子任務(wù)的狀態(tài)通過周期檢測心跳值的方式檢測。對于心跳超時的子任務(wù),可以根據(jù)任務(wù)配置,對出錯的任務(wù)作不關(guān)閉不重啟、關(guān)閉不重啟、關(guān)閉并重啟等處理,如果出錯的子任務(wù)仍然不能正常運(yùn)行,從機(jī)只報故障,主機(jī)需要切換為從機(jī)。

    中標(biāo)麒麟系統(tǒng)可以通過兩種方式獲取系統(tǒng)資源狀態(tài):

    (1)讀取系統(tǒng)文件,例如可以通過讀取carrier文件,獲取網(wǎng)絡(luò)狀態(tài),部分示例代碼參見函數(shù)void getNetState()。

    (2)調(diào)用shell命令,解析命令的返回值,例如可以通過解析df命令的執(zhí)行結(jié)果,獲取硬盤使用率,部分示例代碼參見函數(shù)void getHardDiskOccupy()。

jsj2-cx1.gif

    針對大部分冗余歷史站容易出現(xiàn)的雙主問題,本文制作了詳細(xì)的冗余切換表,通過測試證明,可以避免雙主的出現(xiàn)。部分冗余切換如表1所示。

jsj2-b1.gif

    為了保證系統(tǒng)穩(wěn)定可靠地運(yùn)行,SCADA的狀態(tài)診斷系統(tǒng)需要確定系統(tǒng)當(dāng)前狀態(tài),并判斷何時滿足狀態(tài)切換的條件。本文設(shè)計并實(shí)現(xiàn)的狀態(tài)診斷系統(tǒng)按照圖3所示狀態(tài)圖進(jìn)行狀態(tài)判斷和切換[5]。

jsj2-t3.gif

    狀態(tài)診斷系統(tǒng)在工程運(yùn)行前需要先檢測工程配置是否正確,如果配置錯誤(如未配置歷史站、PC名字配置錯誤),則提示錯誤,并結(jié)束工程;如果配置正確,則啟動各子任務(wù),并運(yùn)行工程。

    運(yùn)行工程后進(jìn)入在線狀態(tài),檢測本機(jī)配置,如果配置為操作員站,則不存在主從機(jī)的區(qū)別,以操作員站的狀態(tài)運(yùn)行,直到退出在線或退出工程;如果配置為歷史站,則需要判斷主從狀態(tài),根據(jù)有故障不搶主、A機(jī)優(yōu)先的原則確定主從機(jī)狀態(tài)。

    為了減少切換次數(shù),主機(jī)無故障會一直保持主機(jī)狀態(tài),從機(jī)周期檢測主機(jī)的狀態(tài),如果主機(jī)降從或退出,則從機(jī)自檢無故障可以升主。

    主機(jī)和從機(jī)均可以退出在線或退出工程。

3 實(shí)驗結(jié)果

    實(shí)驗條件:歷史站A、歷史站B均正常運(yùn)行。實(shí)驗操作及實(shí)驗結(jié)果如表2所示。

jsj2-b2.gif

4 結(jié)論

    實(shí)驗結(jié)果證明,本系統(tǒng)能夠按照預(yù)期的結(jié)果在國產(chǎn)麒麟系統(tǒng)上穩(wěn)定運(yùn)行。通過對任務(wù)的監(jiān)視、強(qiáng)制關(guān)閉與重啟任務(wù),能夠?qū)Τ鲥e的子任務(wù)及時進(jìn)行處理,保證各子任務(wù)的正常運(yùn)行;通過服務(wù)器冗余配置,可以保證主歷史站出故障能夠迅速切換到從歷史站,使得從歷史站出故障時不影響主歷史站的正常運(yùn)行。

參考文獻(xiàn)

[1] 納學(xué)禮.SCADA系統(tǒng)的發(fā)展及應(yīng)用[J].中小企業(yè)管理與科技(上旬刊),2010(10):286-287.

[2] 王常力,羅安.分布式控制系統(tǒng)設(shè)計與應(yīng)用實(shí)例[M].北京:電子工業(yè)出版社,2004.

[3] 馬旭東,陳永清,陳琛.基于PLC/SCADA結(jié)構(gòu)的計算機(jī)綜合控制系統(tǒng)[J].工業(yè)儀表與自動化裝置,2002(5):35-37.

[4] KRISHNA C M,SHIN K G.Real-time system[M].McGraw-Hill,2001.

[5] Qiu Bin,GOOI H B,Liu Yulu,et al.Internet-based SCADA display system[J].Computer Applications in Power.IEEE,2002,15(1):14-19.



作者信息:

徐一鳳,豐大軍,王  皓,陳俊凱,范曉東

(華北計算機(jī)系統(tǒng)工程研究所,北京100083)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。