戴曉輝
(國網(wǎng)寧夏電力公司檢修公司,寧夏銀川 750001)
直流換流站遠(yuǎn)動(dòng)通道全部中斷故障分析和功能改進(jìn)
戴曉輝
(國網(wǎng)寧夏電力公司檢修公司,寧夏銀川 750001)
本文通過銀川東換流站基于惠普服務(wù)器遠(yuǎn)動(dòng)系統(tǒng)通道全部中斷故障現(xiàn)象,從遠(yuǎn)動(dòng)系統(tǒng)的基本通信構(gòu)架,硬件系統(tǒng),軟件系統(tǒng)三個(gè)方面進(jìn)行故障分析定位,就發(fā)現(xiàn)的問題進(jìn)行有針對(duì)性改進(jìn),并完善遠(yuǎn)動(dòng)系統(tǒng)軟件方面的設(shè)計(jì)缺陷,確保遠(yuǎn)動(dòng)系統(tǒng)能安全穩(wěn)定運(yùn)行。
換流站 遠(yuǎn)動(dòng)通信系統(tǒng) 通道 中斷
遠(yuǎn)動(dòng)通信系統(tǒng)是直流換流站控制保護(hù)系統(tǒng)的重要組成部分,它主要任務(wù)是在直流輸電控制保護(hù)系統(tǒng)和遠(yuǎn)方調(diào)度中心之間完成數(shù)據(jù)交換,向遠(yuǎn)方調(diào)度中心發(fā)送換流站的運(yùn)行狀態(tài)信息,銀川東換流站遠(yuǎn)動(dòng)通信系統(tǒng)是由許繼直流輸電公司開發(fā)完成,全部網(wǎng)絡(luò)構(gòu)架和通信節(jié)點(diǎn)按照雙網(wǎng)雙機(jī)冗余配置,在雙網(wǎng)和雙機(jī)未同時(shí)故障的前提下是不會(huì)發(fā)生遠(yuǎn)動(dòng)通道中斷的,而雙機(jī)和雙網(wǎng)同時(shí)故障的概率非常小,所以整個(gè)網(wǎng)絡(luò)構(gòu)架和配置完全滿足要求。
銀川東換流站遠(yuǎn)動(dòng)系統(tǒng)基礎(chǔ)數(shù)據(jù)全部從極站控系統(tǒng)采集,經(jīng)LAN網(wǎng)與數(shù)據(jù)服務(wù)器、極站控系統(tǒng)通訊,全部節(jié)點(diǎn)和網(wǎng)絡(luò)都采用雙機(jī)雙網(wǎng)冗余配置,網(wǎng)絡(luò)構(gòu)架如圖1所示。
遠(yuǎn)動(dòng)系統(tǒng)軟件結(jié)構(gòu)中軟件流程圖如圖2所示。
2013年4月5日20點(diǎn)24分開始,銀川東換流站遠(yuǎn)動(dòng)工作站至國調(diào)、西北、寧夏、山東等六個(gè)調(diào)控機(jī)構(gòu)通信全部中斷,遙測(cè)、遙信數(shù)據(jù)無法上傳。此時(shí),銀川東站OWS后臺(tái)監(jiān)控系統(tǒng)運(yùn)行正常,也無遠(yuǎn)動(dòng)異常報(bào)警信號(hào)。對(duì)GWS遠(yuǎn)動(dòng)服務(wù)器進(jìn)行檢查,發(fā)現(xiàn)KVM鍵盤顯示器無反應(yīng),遠(yuǎn)動(dòng)系統(tǒng)維護(hù)客戶端無法連接遠(yuǎn)動(dòng)服務(wù)器。初步判斷是雙遠(yuǎn)動(dòng)機(jī)死機(jī)。手動(dòng)重啟遠(yuǎn)動(dòng)服務(wù)器后,銀川東至相關(guān)調(diào)控機(jī)構(gòu)數(shù)據(jù)通信業(yè)務(wù)恢復(fù)正常。
圖1 遠(yuǎn)動(dòng)通訊系統(tǒng)硬件結(jié)構(gòu)圖
圖2 遠(yuǎn)動(dòng)通訊軟件流程圖
遠(yuǎn)動(dòng)雙機(jī)死機(jī)故障發(fā)生時(shí),銀川東換流站直流滿負(fù)荷運(yùn)行,控制保護(hù)系統(tǒng)運(yùn)行穩(wěn)定,輸送功率沒有發(fā)生變化,遠(yuǎn)動(dòng)服務(wù)器指示燈無明顯異常,遠(yuǎn)動(dòng)系統(tǒng)與極、站控主機(jī)的通訊連接正常;國調(diào)101通道一直處于不穩(wěn)定狀態(tài),通道誤碼太高導(dǎo)致通道頻繁中斷。故障發(fā)生后現(xiàn)場復(fù)制了故障時(shí)系統(tǒng)的記錄信息,對(duì)信息進(jìn)行分析,對(duì)相應(yīng)的軟件代碼進(jìn)行排查,同時(shí)搭建了對(duì)應(yīng)的測(cè)試環(huán)境,對(duì)照現(xiàn)場環(huán)境進(jìn)行反復(fù)測(cè)試。
在故障發(fā)生后調(diào)取服務(wù)器工作日志對(duì)服務(wù)器當(dāng)時(shí)硬件工作的情況進(jìn)行分析,經(jīng)分析當(dāng)天服務(wù)器本身硬件無異?,F(xiàn)象。
圖3 core文件報(bào)告
圖4 core記錄的程序出錯(cuò)點(diǎn)
在程序異常退出時(shí),系統(tǒng)內(nèi)核會(huì)在當(dāng)前工作目錄下生成一個(gè)core文件(一個(gè)內(nèi)存映像,包含調(diào)試信息)。該文件可以指示導(dǎo)致程序出錯(cuò)的代碼所在文件以及在文件中的位置,是幫助核查程序問題的有效依據(jù)。圖3為從換流站現(xiàn)場拷貝過來的core文件內(nèi)容:
根據(jù)core文件提示的內(nèi)容,程序出錯(cuò)時(shí)運(yùn)行點(diǎn)為文件Link_un balance_slave.cpp的第883行,圖4為該文件中該函數(shù)的內(nèi)容,以及程序出錯(cuò)點(diǎn)。
從此函數(shù)的代碼中分析,這段代碼是比較嚴(yán)謹(jǐn)?shù)?在訪問內(nèi)存時(shí)對(duì)于訪問區(qū)域有較嚴(yán)格的限制條件,不會(huì)導(dǎo)致內(nèi)存訪問越界出現(xiàn)。通過對(duì)memcpy上下文語境相關(guān)的源代碼進(jìn)行分析,內(nèi)存操作是安全的。從core文件的調(diào)用堆棧信息中按照調(diào)用關(guān)系向前檢查,從圖4中可以得出其調(diào)用關(guān)系,該函數(shù)為一個(gè)線程的執(zhí)行函數(shù)。
該線程的功能為IEC101規(guī)約數(shù)據(jù)處理,由IEC101鏈路層線程創(chuàng)建,其創(chuàng)建流程如圖5所示。
從以上流程可知,每一個(gè)IEC101規(guī)約建立通信連接后,都會(huì)創(chuàng)建一個(gè)線程來處理此連接的數(shù)據(jù)收發(fā)。當(dāng)判斷此連接斷開時(shí),終止該線程,但是在設(shè)置線程安全停止標(biāo)記后,并沒有等待線程安全退出,而是調(diào)用了函數(shù)TerminateThread強(qiáng)制終止了該線程。當(dāng)該線程處于等待狀態(tài)時(shí),調(diào)用此函數(shù)是不會(huì)有影響的,但是如果終止時(shí)該線程處于運(yùn)行狀態(tài)并有系統(tǒng)級(jí)函數(shù)調(diào)用時(shí),調(diào)用此函數(shù)則可能引起異常。
圖5 IEC101規(guī)約處理流程
圖6 修改后的IEC101規(guī)約處理流程
圖7 IEC104規(guī)約處理流程
根據(jù)以上問題定位分析,搭建實(shí)驗(yàn)環(huán)境,模擬現(xiàn)場實(shí)際運(yùn)行環(huán)境,通過技術(shù)手段,使IEC101規(guī)約鏈路頻繁連接和斷開,進(jìn)行測(cè)試。運(yùn)行一段時(shí)間后,出現(xiàn)了鏈路中斷。在進(jìn)行了約2300次的測(cè)試后,如按照平均每天10次中斷計(jì)算,約7個(gè)月時(shí)間,IEC101通道和IEC104通道都出現(xiàn)了鏈路中斷。
在故障發(fā)生前一段時(shí)間內(nèi),101通道一直處于不穩(wěn)定狀態(tài),時(shí)通時(shí)斷,導(dǎo)致101數(shù)據(jù)處理線程頻繁的創(chuàng)建和強(qiáng)制終止,雖然在強(qiáng)制終止時(shí)線程正在運(yùn)行的概率很小,但是當(dāng)累積數(shù)量達(dá)到一定程度時(shí),發(fā)生了正在進(jìn)行內(nèi)存復(fù)制時(shí)強(qiáng)制終止線程,導(dǎo)致異常發(fā)生。
另外,當(dāng)線程安全退出時(shí),會(huì)釋放占用的操作系統(tǒng)中此進(jìn)程的線程池資源,但是強(qiáng)制結(jié)束的線程,其線程池資源是不會(huì)釋放的,如果線程池資源耗盡,則該進(jìn)程就不能成功創(chuàng)建新的線程,因此,程序即使沒有異常退出,也可能導(dǎo)致連接中斷。
由于其中一臺(tái)遠(yuǎn)動(dòng)服務(wù)由于線程池耗盡,故障發(fā)生前已經(jīng)出現(xiàn)了鏈路中斷,切換到另外一臺(tái)繼續(xù)運(yùn)行,但是由于沒有相應(yīng)的事件上送,沒有引起運(yùn)行人員注意,直到第二臺(tái)出現(xiàn)故障,導(dǎo)致和調(diào)度的所有通道都出現(xiàn)中斷。
在線程結(jié)束時(shí),設(shè)置線程安全停止標(biāo)記后,等待線程安全結(jié)束。修改內(nèi)容如圖6所示。
完成修改后,按照3.3節(jié)環(huán)境連續(xù)運(yùn)行,進(jìn)行了8096次測(cè)試,未出現(xiàn)異常。如按照每天平均10次計(jì)算,約相當(dāng)于運(yùn)行2年時(shí)間,鏈路沒有出現(xiàn)異常,內(nèi)存未見變化。
經(jīng)檢查,104規(guī)約處理流程中沒有強(qiáng)制結(jié)束線程現(xiàn)象,線程結(jié)束時(shí)是安全退出。圖7是104規(guī)約的處理流程圖。
根據(jù)對(duì)該問題的分析、故障定位和持續(xù)試驗(yàn),修改遠(yuǎn)動(dòng)服務(wù)程序,對(duì)銀川東換流站遠(yuǎn)動(dòng)系統(tǒng)的程序進(jìn)行更換。
取消調(diào)用系統(tǒng)函數(shù)TerminateThread(link_handle,0),強(qiáng)制線程退出改為等待線程安全退出。
原程序如下:
if(link_handle!=0)
{
TerminateThread(link_handle,0);
link_handle = 0;
}
修改后的程序如下:
sleep(2);
if(link_handle!=0)
{
pthread_join(link_handle,0)
link_handle = 0;
}
(1)將遠(yuǎn)動(dòng)工作站的運(yùn)行信息:CPU、內(nèi)存使用情況、IP地址、啟動(dòng)時(shí)間注冊(cè)到運(yùn)行人員監(jiān)控系統(tǒng),便于換流站運(yùn)行人員了解遠(yuǎn)動(dòng)工作站的運(yùn)行工況;
(2)增加服務(wù)注冊(cè)信息,指示各個(gè)進(jìn)程的運(yùn)行信息;
(3)增加告警信息,將遠(yuǎn)動(dòng)系統(tǒng)運(yùn)行狀態(tài)變化時(shí)發(fā)生的事件告知運(yùn)行人員;
(4)啟用自啟動(dòng)功能,采用軟件開門狗形式,在系統(tǒng)啟動(dòng)后自動(dòng)啟動(dòng)遠(yuǎn)動(dòng)服務(wù)程序、前置服務(wù)程序以及對(duì)時(shí)服務(wù)程序,當(dāng)程序異常退出時(shí),自動(dòng)重啟動(dòng)相應(yīng)的服務(wù)程序;
(5)增加第二平面網(wǎng)絡(luò)通訊,已配合銀川站調(diào)通了調(diào)度數(shù)據(jù)網(wǎng)第二平面網(wǎng)絡(luò)通訊,為高速網(wǎng)絡(luò)通道取代專線通道做好了準(zhǔn)備。
遠(yuǎn)動(dòng)通信系統(tǒng)在每個(gè)變電站存在,他實(shí)現(xiàn)的功能也基本相同,但不同的設(shè)計(jì)者這些功能實(shí)現(xiàn)的方法不盡相同。相對(duì)于交流變電站,直流換流站站內(nèi)通信比較復(fù)雜,對(duì)應(yīng)的調(diào)度中心較多,可靠性和安全性要求較高,本文通過一起遠(yuǎn)動(dòng)通信服務(wù)器雙機(jī)死機(jī)導(dǎo)致通道全部中斷故障,從網(wǎng)絡(luò)構(gòu)架,軟硬件等方面分析查找原因,并提出可行的解決方案。希望能為以后有關(guān)自動(dòng)化維護(hù)人員分析遠(yuǎn)動(dòng)故障提供一定的思路和幫助。
[1]楊學(xué)巍,閻帥,付燕青,李喜林.電力系統(tǒng)廠站及調(diào)度自動(dòng)化解析.《電子技術(shù)與軟件工程》,2014年第5期.
[2]IEC 60870-5-103.遠(yuǎn)動(dòng)設(shè)備及系統(tǒng)第5-103部分:傳輸規(guī)約——繼電保護(hù)設(shè)備信息接口配套標(biāo)準(zhǔn),1998.
[3]劉艷,韓肖清.面向?qū)ο髷?shù)據(jù)庫及其在電力系統(tǒng)中的應(yīng)用[J].電力系統(tǒng)及其自動(dòng)化學(xué)報(bào),2001年01期.
[4]周翔.調(diào)度自動(dòng)化系統(tǒng)故障現(xiàn)象及其處理方法[J].技術(shù)與市場,2011年08期.
[5]姚小平.調(diào)度自動(dòng)化系統(tǒng)常見問題分析及解決辦法的探討[A].第三屆安徽自然科學(xué)學(xué)術(shù)年會(huì)安徽省電機(jī)工程學(xué)會(huì)2005年學(xué)術(shù)年會(huì)論文集[C],2005年.
戴曉輝(1981—),男,碩士,工程師,電網(wǎng)調(diào)度自動(dòng)化專業(yè),長期從事變電站改造和監(jiān)控系統(tǒng)維護(hù)工作。