

[摘? 要]? 計算機網絡信息技術已大量應用于水電站自動化運行中,日常運維中也出現了許多問題,本文通過對某水電站日常運行中計算機網絡通訊出現的問題進行分析,闡述了計算機網絡通訊的重要性及故障后可能產生的后果,以及網絡通訊狀態檢查的必要性及給日常運維工作帶來的不便。通過對基于南瑞NC2000系統的深入研究,提出了將網絡通訊狀態的監測結果引入到NC2000系統中的方法,實現對網絡通訊狀態的實時監測及故障自動報警功能,提高了設備運行的穩定性,降低了日常運維的工作量,可為類似的基于南瑞NC2000系統的通訊服務提供參考。
[關鍵詞]? NC2000系統;網絡通訊;實時監測;故障自動報警;解決策略
Abstract: Information technology has been widely used in the automation of hydropower stations, but many problems are found during daily operation and maintenance.According to some problems appearing in the network communication of the equipment and the daily maintenance of operation and maintenance staffs during the daily operation of some hydropower station, this paper explains the importance of the network communication and the consequences of communication faults. Meanwhile, the paper analyzes the necessity of communication status inspection and the inconvenience caused by communication faults during daily operation and maintenance. Based on the study of NC2000 system of NARI Group Corporation, the monitored results of the communication status are introduced into NC2000. Accordingly, the network communication status of the equipment will be monitored in real-time and the fault alarm will be implemented. Besides, the stability of the equipment during operation will be improved and the daily operation and maintenance will be more convenient. The paper provides some reference for the similar communication services based on NC2000 system of NARI Group Corporation.
Key words: NC2000 system;Network communication;Real time monitoring;Automatic fault alarm;Solution strategy
0? 前言
隨著電力工業、計算機技術的發展, 用于水電站電力生產過程管理的電力監控系統實現了水電站自動化、信息化管理, 有效提升了水電站生產效率和管理水平[1]。水電站中PLC控制及計算機網絡技術的應用已經成為主流,PLC控制系統將現場采集的設備信號通過計算機網絡上送至上位機系統,并接收上位機系統下發的控制指令,實現現場設備的自動化控制。
1? 上、下位機的簡介
某水電站上位機系統采用南京南瑞集團有限公司開發的NC2000系統,該系統采用全計算機控制的分層分布全開放式結構, 由按功能分布的主控層及按對象分布的現地單元層組成[2],采用面向對象的技術,由C側程序和java側程序兩部分組成。C側程序主要實現上位機數據的組播、上下位機數據的通訊及數據流的處理等功能,java側程序主要實現與用戶的交互功能。全廠由兩臺主服務器負責主控制層實時數據采集和處理,并分別通過兩臺主交換機與全廠其他服務器及下位機進行通訊,組成A網和B網,兩臺主服務器使用UNIX系統。
下位機使用Schneider公司的Unity Quantum系列可編程控制器,CPU使用具有熱備冗余功能的140CPU67160系列實現主備用的冗余結構,每個CPU使用2個NOE網絡模塊通過兩臺主交換機與上位機主服務器進行通訊。下位機PLC主用CPU將現場采集數據上送至主用主服務器,主用主服務器將數據處理后通過組播的方式,組播至上位機其他服務器,實現全廠設備信號的采集監視功能;運行人員通過操作員站服務器進行操作,操作命令通過主服務器下發至目標PLC的主用CPU,進而控制現場設備,實現遠方控制功能。
2? 正常運行時PLC與上位機通訊出現的問題
PLC正常運行時,由于主用CPU使用2個NOE模塊與上位機通訊,因此當其中一個通訊中斷故障時,,會自動切至另一個NOE模塊進行通訊,并不影響PLC與上位機的正常通訊,并且NC2000系統與下位機通訊故障的判斷條件為兩個網絡同時中斷,才認為通訊故障,因此,當其中一個NOE模塊故障時,上位機遠方監視顯示一切正常,只有通過現地NOE模塊上的報警指示燈才能發現通訊已經中斷。而當主用CPU與上位機通訊的兩組網絡都中斷故障時,CPU并不會進行主備切換,雖然此時備用CPU通訊正常,具備正常工作運行的條件,但由于CPU不會進行主備切換,因此PLC實際上就已經與上位機通訊中斷。
基于上述監控系統上下位機的設計,PLC與上位機通訊存在以下幾點缺點:
1.當PLC主、備用CPU其中一路網絡故障后,上位機無法及時監測并發現故障信息,只有當兩路網絡同時故障后才會進行報警,此時若是主用CPU故障,則PLC已經與上位機通訊中斷,無法正常對PLC現場設備進行監視及控制,設備將處于失控狀態;
2.某水電站設計上具有上游調壓井PLC及進水口PLC,并且離電站主廠房較遠,平時巡檢頻次相對較少,因此,當發生PLC主用CPU一路網絡故障時,并不能及時的發現,并且遠方監視顯示一切正常。當主用CPU的另一路網絡也發生故障時,將會導致PLC與上位機的通訊中斷,現場設備處于不可控狀態。目前,某水電站維護人員采取每天對上游調壓井及進水口網絡進行遠方人工檢查的方法,以便可以及時發現網絡故障問題。此種方法存在兩個缺點:1. 此種方法只有在進行檢查的時候,才能對網絡運行狀態進行監測,當網絡故障發生在檢查人員完成檢查工作后,此時網絡故障狀態將無法被監測到,給設備的安全穩定運行帶來隱患;2. 此種方法需要運維人員每天進行重復的工作,耗費一定的精力。
3? PLC與上位機通訊故障監測及報警功能
基于主服務器的UNIX系統及NC2000系統,使用腳本對網絡狀態進行監測并將監測結果信息引入到NC2000系統中,最終實現對上下位機的通訊狀態進行監測及故障自動報警的功能。
3.1? 網絡通訊狀態的實時監測功能
基于UNIX系統,采用shell腳本實現網絡通訊狀態的實時監測功能。在UNIX系統/home/nari/NC3.0/exe目錄下建立新文件netcheck、 ipcheck,netcheck文件是實現網絡通訊狀態的實時監測功能的主程序,ipcheck用于配置需要監測的設備IP地址。
使用vim對netcheck文件進行編輯,輸入如下程序段:
#!/bin/bash
total=6 #監測IP的數量
TAGPATH_DEV=412 #NC2000系統TAGPATH偏移基準值
for ((I=1;I<=$total;I++))? #初始化故障IP
do
let badnum[$J]=0? #IP故障標志初始化
done
HLIST=$(cat /home/nari/NC3.0/exe/ipcheck) #需要監測的IP
cd /home/nari/NC3.0/exe/ #切換至nari/exe目錄下
I=1
while true
do
for IP in $HLIST
do
ping -c 2 -i 0.2 -w 3 $IP >> /dev/null? #待監測IP通訊狀態
if [ $? -eq 0 ];then
badnum[$I]=0? #通訊正常將故障標志清零
else
badnum[$I]=1? #通訊故障將故障標志置1
fi
let I=$I+1
if [ $I -gt $total ];then
let I=1
fi
done
for ((N=1;N<=$total;N++))? #將監測結果引入NC2000系統中
do
let M=$TAGPATH_DEV+$N? ?#TAGPATH偏移
if [ ${badnum[$n]} -eq 1 ];then
sh_data 5.1.1.3.$M.59 1
else
sh_data 5.1.1.3.$M.59 0
fi
done
done
程序說明:
1.total,待監測IP的總數量,對于不同數量的IP需要進行手動修改,并與ipcheck文件中的IP總數量相對應;
2.TAGPATH,對應NC2000系統中開關量的位置,將每個IP的監測狀態對應一個開關量,由于引入的開關量無法從第一個開始,因此有一定的偏移量;
3.ping -c 2 -i 0.2 -w 3 $IP >> /dev/null,使用ping命令對IP地址進行監測;
4.if [ $? -eq 0 ],判斷IP地址能否ping通,若能正常ping通,則清除對應的IP故障標志,反之則將故障標志置為1;
5.sh_data 5.1.1.3.$M.59 1,將故障IP對應的開關量測值置為1,sh_data 5.1.1.3.$M.59 0則是將對應的開關量測值置為0。
netcheck文件輸入完成后,使用“chmod 774 netcheck”命令將netcheck文件的屬性修改為可執行。
ipcheck文件中輸入將要檢查的設備IP地址,如下所示:
10.6.1.151
10.6.1.152
10.6.2.151
10.6.2.152
10.6.1.161
10.6.1.162
說明:一個IP地址占用一行,以回車結束,并且待監測的IP數量必須與netcheck文件中total的數量一致。
3.2? 網絡通訊狀態故障實時報警功能
打開NC2000系統,以超級用戶的身份登錄系統,修改系統數據庫,如圖1:
數據庫修改說明:
1.在數據庫中找到腳本里對應的TAGPATH的開關量點號。注意,此處必須使用全廠開關量,因為使用LCU下的開關量時,LCU上送的開關量信號與腳本寫入的開關量信號會發生沖突,因此必須使用全廠開關量,并且編寫腳本時使用的TAGPATH要與數據庫使用的開關量對應;
2.腳本中經過通訊判斷后引入的通訊狀態是通訊狀態報警的中間量,對應于圖中“通訊判斷點”,而最終進行通訊狀態報警的點對應于圖中“通訊”點,因此需要將“通訊判斷點”的測值引入“通訊”中,如圖2;
3.根據實際需求修改報警功能點的各個參量。
修改完成后,將數據編譯、保存后,重啟NC2000系統,并運行腳本文件netcheck,即實現了設備網絡通訊狀態實時監測及故障自動報警的功能。
3.3? 網絡通訊狀態實時監測及故障自動報警功能的補充說明
1.本文數據庫中開關量使用的是連續開關量,因此在將監測結果引入NC2000系統時程序采用的是for循環語句,若使用的開關量為非連續的,則可使用case語句對程序進行調整,也可達到相同的目的。
2.實際工作中,常常會遇到重啟服務器的情況,而服務器重啟后,netcheck腳本文件不會自動運行,需要運維人員手動啟動,給工作帶來不便,因此可以使用如下方法,將netcheck腳本文件加入到系統自啟動程序內。編輯文件 /etc/rc.local,在文件末尾(exit 0之前)輸入/home/nari/NC3.0/exe/netcheck,即輸入netcheck所在目錄的絕對路徑即可。
4? 結語
隨著計算機網絡信息技術的高速發展,越來越多的行業離不開網絡信息技術技術,而新一代的智能水電站更需要網絡信息技術的支撐,因此,網絡信息技術在水電站實際運行中出現的問題是值得重點關注的。本文結合某水電站日常運行中計算機網絡通訊出現的問題,深入分析了網絡通訊中斷后產生后果,并結合水電站上下位機系統,有針對性的提出了網絡通訊狀態的監測及故障自動報警的方法,提高了設備運行的安全穩定性,對類似的水電站應用具有很好的借鑒性和應用價值。
[參 考 文 獻]
[1]? 劉海濱,董海洋. 水電站智能監控服務支持系統研究與應用[J].水電能源科學,2018,36(08):162-165
[2]? 路玉鋒. 國電南瑞NC2000監控系統在泵站中的應用[J]. 電世界,2018,59(04):42-45
[作者簡介]
王博宇,男,出生于1988,中級工程師,目前從事水電站電力運維工作,地址:四川省成都市高新區雅合街名著司南8-1-2503,電話:18282862932,郵箱:wangboyu@ylhdc.com.cn。