时间:2024-08-31
[摘 要] 计算机网络信息技术已大量应用于水电站自动化运行中,日常运维中也出现了许多问题,本文通过对某水电站日常运行中计算机网络通讯出现的问题进行分析,阐述了计算机网络通讯的重要性及故障后可能产生的后果,以及网络通讯状态检查的必要性及给日常运维工作带来的不便。通过对基于南瑞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。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!