任志翔,仇群輝,周 垠
(嘉興電力局,浙江 嘉興 314033)
隨著變電站監(jiān)控中心的成立,無(wú)人值班變電站對(duì)調(diào)度自動(dòng)化系統(tǒng)的要求進(jìn)一步提高,對(duì)運(yùn)行數(shù)據(jù)的準(zhǔn)確性和系統(tǒng)的可靠性要求也隨之提高,原則上不允許任何錯(cuò)誤信息和信號(hào)丟失。因此,監(jiān)測(cè)并分析數(shù)據(jù)流十分重要。
從研究突發(fā)性誤信號(hào)入手,借鑒其它領(lǐng)域黑匣子(BLACK BOX)的概念,開(kāi)發(fā)了一套SCADA智能診斷系統(tǒng),記錄SCADA系統(tǒng)運(yùn)行中通信部分所有信息,并進(jìn)行初步的分析篩選,對(duì)系統(tǒng)中出現(xiàn)的誤信號(hào)、丟信號(hào)等事件進(jìn)行快速故障定位,找出問(wèn)題的原因所在,大大提高了自動(dòng)化系統(tǒng)的運(yùn)行水平。
數(shù)據(jù)錯(cuò)誤在遠(yuǎn)動(dòng)系統(tǒng)中時(shí)常發(fā)生,對(duì)于發(fā)生周期穩(wěn)定且長(zhǎng)期存在的誤信,可以通過(guò)不斷試驗(yàn)和取樣得以解決。而發(fā)生周期不穩(wěn)定的誤信,具有瞬時(shí)性和不確定性,給專業(yè)技術(shù)人員的判斷造成了很大的困難。錯(cuò)誤往往稍縱即逝,無(wú)法獲取足夠的分析數(shù)據(jù)。例如某變電站的刀閘一直處于合閘狀態(tài),主站上突然收到刀閘斷開(kāi)又立刻合上的信息,而當(dāng)?shù)睾笈_(tái)卻沒(méi)有任何信號(hào)。由于發(fā)生時(shí)間不確定,無(wú)法及時(shí)對(duì)關(guān)鍵數(shù)據(jù)進(jìn)行采樣,所以很難對(duì)此做出解釋。
數(shù)據(jù)丟失經(jīng)常出現(xiàn),特別是當(dāng)事故跳閘發(fā)生時(shí),保護(hù)信號(hào)的丟失尤其頻繁,事后的傳動(dòng)試驗(yàn)又一切正常。由于缺少事故發(fā)生時(shí)的數(shù)據(jù)采樣,廠商也往往束手無(wú)策。
如何解釋錯(cuò)誤數(shù)據(jù)的發(fā)生,并對(duì)其做出科學(xué)的評(píng)估,關(guān)鍵是能否在錯(cuò)誤發(fā)生時(shí)取得足夠的數(shù)據(jù)采樣。
錯(cuò)誤數(shù)據(jù)可能產(chǎn)生在各個(gè)環(huán)節(jié),SCADA主站的前置機(jī)對(duì)校驗(yàn)錯(cuò)誤的報(bào)文采取丟棄處理,經(jīng)過(guò)前置機(jī)過(guò)濾后的正確報(bào)文由系統(tǒng)更高層次的軟件處理。而錯(cuò)誤的報(bào)文恰恰是遠(yuǎn)動(dòng)技術(shù)人員用于分析問(wèn)題最直接的原始資料,有助于以后的跟蹤研究,因此有必要保留遠(yuǎn)動(dòng)系統(tǒng)中的所有信息。
黑匣子是一種實(shí)時(shí)記錄手段,可以監(jiān)聽(tīng)記錄各種數(shù)據(jù)傳輸。根據(jù)黑匣子功能,針對(duì)使用最廣泛的CDT規(guī)約和音頻通信的特點(diǎn),在普通PC上開(kāi)發(fā)SCADA智能診斷系統(tǒng),選擇廠站端和通信設(shè)備之間的上行通道為捕捉點(diǎn),通過(guò)調(diào)制解調(diào)器并接,對(duì)SCADA報(bào)文進(jìn)行不間斷數(shù)據(jù)記錄和保存,并進(jìn)行誤碼標(biāo)記。系統(tǒng)原理如圖1所示。
圖1 SCADA智能診斷系統(tǒng)原理設(shè)計(jì)圖
SCADA智能診斷系統(tǒng)以普通PC為平臺(tái),以VC環(huán)境開(kāi)發(fā)軟件,通過(guò)PC串口和專線MODEM連接,MODEM直接和音頻線連接。所有數(shù)據(jù)從音頻線路傳入,并通過(guò)MODEM解調(diào)成數(shù)字信號(hào)進(jìn)入智能診斷系統(tǒng),使整個(gè)數(shù)據(jù)流得到長(zhǎng)期監(jiān)聽(tīng)。當(dāng)出現(xiàn)突發(fā)性錯(cuò)誤時(shí),專業(yè)人員通過(guò)對(duì)比不同監(jiān)聽(tīng)點(diǎn)的數(shù)據(jù),可以分析判斷錯(cuò)誤的來(lái)源和成因。
SCADA智能診斷系統(tǒng)基本模塊包括通信模塊、報(bào)文記錄模塊和誤碼標(biāo)記模塊。主要功能是從串口讀入廠站所有的上行報(bào)文,以固定大小的文件存儲(chǔ),并按時(shí)間命名該文件。
以某變CDT數(shù)據(jù)傳輸為例,數(shù)據(jù)傳輸速度是600波特,無(wú)校驗(yàn),1個(gè)起始位、1個(gè)停止位,那么變電站每天將產(chǎn)生約5 M數(shù)據(jù),1 G容量可以記錄大約204天的數(shù)據(jù)。實(shí)際上,只要存儲(chǔ)幾周的數(shù)據(jù)就足以應(yīng)對(duì)突發(fā)性錯(cuò)誤數(shù)據(jù)的分析,因此普通硬盤(pán)的存儲(chǔ)容量就足夠了。SCADA智能診斷系統(tǒng)的軟件總體結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)軟件模塊框圖
系統(tǒng)初始化串口緩存和相關(guān)參數(shù)后,從串口處逐個(gè)讀取二進(jìn)制數(shù)據(jù),并把該數(shù)據(jù)緩存到數(shù)據(jù)管道結(jié)構(gòu)中。為了隨時(shí)同步CDT數(shù)據(jù),系統(tǒng)采用每讀1個(gè)數(shù)據(jù)即和前5個(gè)數(shù)據(jù)結(jié)合,進(jìn)行同步頭檢測(cè),如果是同步頭,就不必再進(jìn)行CRC(循環(huán)冗余碼)校驗(yàn),可直接加校驗(yàn)正確標(biāo)志并寫(xiě)入文件,提高了運(yùn)行速度。如果不是同步頭,就要檢測(cè)收到的數(shù)據(jù)個(gè)數(shù)是否達(dá)到6個(gè),即是否可以構(gòu)成1個(gè)信息字結(jié)構(gòu)。當(dāng)沒(méi)達(dá)到6個(gè)數(shù)據(jù)的時(shí)候,繼續(xù)接收數(shù)據(jù),并把該數(shù)據(jù)緩存到數(shù)據(jù)管道結(jié)構(gòu)中,同時(shí)寫(xiě)入文件,直到數(shù)據(jù)達(dá)到6個(gè)后,對(duì)該信息字結(jié)構(gòu)進(jìn)行CRC校驗(yàn),并把數(shù)據(jù)和校驗(yàn)結(jié)果符號(hào)寫(xiě)入文件。由于系統(tǒng)采用每收一個(gè)字符首先進(jìn)行同步檢測(cè),所以能在混亂情況下很快和傳輸數(shù)據(jù)實(shí)現(xiàn)同步,不會(huì)出現(xiàn)由于錯(cuò)誤信號(hào)而無(wú)法同步的現(xiàn)象,并且能對(duì)亂碼進(jìn)行恰當(dāng)?shù)臄?shù)據(jù)組織,所以有很強(qiáng)的亂碼適應(yīng)能力。
通信模塊主要采用VC中的MSComm控件進(jìn)行程序編寫(xiě),可以根據(jù)不同的通信方式進(jìn)行波特率、校驗(yàn)、停止位等參數(shù)的設(shè)置,采用MSComm控件的事件驅(qū)動(dòng)方法提取串口緩沖區(qū)內(nèi)的字節(jié)數(shù)據(jù)。
MSComm即Microsoft Communications Control,是Microsoft公司提供的簡(jiǎn)化Windows下串行通信編程的ActiveX控件,每個(gè)MSComm控件對(duì)應(yīng)1個(gè)串行端口。它為應(yīng)用程序提供了2種處理通信問(wèn)題的方法,即事件驅(qū)動(dòng)(Event-driven)方法和查詢方法。事件驅(qū)動(dòng)方法是處理串行端口交互作用的一種非常有效的方法。在許多情況下,事件的發(fā)生需要得到通知,然后利用MSComm控件的OnComm事件,捕獲并處理這些通信事件。OnComm事件還可以檢查和處理通信錯(cuò)誤。這種方法的優(yōu)點(diǎn)是程序響應(yīng)及時(shí),可靠性高。
報(bào)文記錄模塊采用文本文件的格式進(jìn)行數(shù)據(jù)記錄。為了避免在文件記錄時(shí)發(fā)生錯(cuò)誤,采用以固定大小的多個(gè)文件序列組進(jìn)行循環(huán)記錄,使系統(tǒng)發(fā)生故障后不至于丟失太多的歷史數(shù)據(jù)。所有文件使用創(chuàng)建時(shí)的時(shí)間作為文件名稱,如2008-11-02-12:30:40.txt。為了方便查詢,在報(bào)文中的每組同步頭后添加時(shí)間標(biāo)記,如eb90 eb90 eb90 2008-11-02 14:59:17,使工作人員能很快找到特定時(shí)間的報(bào)文。
誤碼標(biāo)記模塊是對(duì)所收到的數(shù)據(jù)按照指定規(guī)約進(jìn)行檢驗(yàn),在正確的信息字后面添加“+”標(biāo)記,錯(cuò)誤的信息字后面添加“-”標(biāo)記,以標(biāo)注數(shù)據(jù)的正誤。系統(tǒng)主要對(duì)使用最廣泛的CDT和DISA規(guī)約進(jìn)行監(jiān)聽(tīng)。針對(duì)CDT規(guī)約,校驗(yàn)主要采用多項(xiàng)式法、半字節(jié)查表法和查表法。多項(xiàng)式法主要用在信息傳輸速度不高、程序空間很小的地方。半字節(jié)查表法和查表法速度相對(duì)較高,適合對(duì)程序空間要求不高、速度則要求較高的地方使用。針對(duì)實(shí)際情況,在要求保證速度的情況下,采用查表法來(lái)實(shí)現(xiàn)CRC校驗(yàn)。校驗(yàn)碼生成是軟件的核心,通過(guò)對(duì)比校驗(yàn)碼可以判斷每個(gè)信息字的正誤。
由于需要快速對(duì)報(bào)文進(jìn)行解釋,另外增加了1個(gè)報(bào)文翻譯模塊,該模塊主要按照CDT編碼規(guī)則,對(duì)每一段遙信報(bào)文的信息字進(jìn)行解碼,方便工作人員快速找出當(dāng)前的遙信狀態(tài)。
某110 kV變電所母線刀閘信號(hào)經(jīng)常發(fā)生錯(cuò)誤信息,周期不定,因而一直被判斷為通信通道存在干擾。采用該系統(tǒng)對(duì)變電所的上行出口及在主站端的上行入口同時(shí)監(jiān)聽(tīng),連續(xù)運(yùn)行了3個(gè)多月。誤信號(hào)發(fā)生后,對(duì)比2處的監(jiān)聽(tīng)報(bào)文,最終判斷為廠站的規(guī)約程序存在缺陷。在特殊的條件下,程序?qū)⑦b信F3幀的最后2個(gè)字節(jié)完全歸零,以致變成了特定的遙信報(bào)文。由于它能通過(guò)主站系統(tǒng)的校驗(yàn),所以引起該變母線閘刀誤信。查明原因后進(jìn)行了處理,問(wèn)題因此得以解決。
某35 kV變電所時(shí)常出現(xiàn)信號(hào)丟失現(xiàn)象,采用該系統(tǒng)進(jìn)行診斷,發(fā)現(xiàn)在廠站出口處監(jiān)聽(tīng)的數(shù)據(jù)正確,而主站入口處的監(jiān)聽(tīng)數(shù)據(jù)發(fā)生了錯(cuò)誤。因此判斷信號(hào)在通信傳送中受到干擾,最后被主站校驗(yàn)后排除。
有些廠站設(shè)備也經(jīng)常出現(xiàn)信號(hào)丟失現(xiàn)象。經(jīng)過(guò)對(duì)比診斷,斷定廠站設(shè)備在信號(hào)快速連續(xù)翻轉(zhuǎn)的情況下會(huì)丟棄信號(hào)。比如當(dāng)重合閘成功的時(shí)候,開(kāi)關(guān)狀態(tài)會(huì)經(jīng)歷合閘、分閘、再合閘3個(gè)狀態(tài),但是由于速度非常快,廠站會(huì)丟棄分閘的信號(hào),導(dǎo)致主站只有保護(hù)信號(hào)而沒(méi)有開(kāi)關(guān)動(dòng)作信號(hào)。
SCADA數(shù)據(jù)出錯(cuò)的智能診斷系統(tǒng)原理簡(jiǎn)單,應(yīng)用方便,硬件要求低,只需要普通PC或工控機(jī);能夠?qū)崿F(xiàn)報(bào)文的長(zhǎng)期監(jiān)聽(tīng),診斷自動(dòng)化運(yùn)行中的固有缺陷,成為自動(dòng)化診斷強(qiáng)有力的手段。
[1]李建華,郭明.RS-232和調(diào)制解調(diào)器高級(jí)通信編程[M].北京:人民郵電出版社,2001.
[2]JAN AXELSON.串行端口大全.北京:中國(guó)電力出版社,2001.
[3]EVANGE,LOS PETROUTSOS, KEVIN HOUGH.VISUAL BASIC6高級(jí)開(kāi)發(fā)指南[M].北京:電子工業(yè)出版社,1999.
[4]戴梅萼,史嘉權(quán).微型計(jì)算機(jī)技術(shù)及應(yīng)用[M].北京:清華大學(xué)出版社,1999.