唐军沛 常晓萌 韩珊珊 王玉琴 王建功
(东方电子股份有限公司,山东 烟台 264000)
电网调度系统对电网数据的实时性要求很高[1],若系统升级,必须无缝切换。前置采集和数据采集与监控(supervisory control and data acquisition, SCADA)计算服务不能停机,无法进行在线测试。但是测试环境很难同生产环境一致,用不能在生产环境验证的程序版本升级,存在很大风险。当升级、换型发生在不同厂家的系统之间时,它们的图模差异较大,还需接入几百个通道调试系统,严重影响了项目测试、调试工期。
为解决上述问题,本文设计实现基于端口镜像的SCADA仿真系统。在不影响生产系统正常运行的前提下,将生产系统通信报文通过前置采集网交换机端口镜像到升级系统[2]。在升级系统中模拟生产系统的运行,验证升级系统的各项功能是否正常,从而保障生产系统、升级系统无缝切换。
端口镜像是通过交换机或路由器,将一个或多个源端口的数据流量转发到某一个指定端口来实现网络监听的方法。端口镜像可以用来捕获镜像端口的数据流,在网络故障定位、入侵检测、路由器取证、网络客户分析等各个领域都有广泛的应用[3-4]。
电网调度系统主要用于实现电力信号的采集、控制、数据分析等功能。其核心技术主要包括:面向服务的双总线、一体化平台;时序压缩算法;基于基准信号、开放规则的智能告警技术等[5-8]。
端口镜像仿真采集技术目前在电网调度系统中尚未有比较深入的研究与应用[9-10]。本文是端口镜像仿真技术在电网调度系统中应用的一个全新探索。本文所设计的仿真采集方式不需要在升级/换型系统接入冗余通道,而是通过镜像“虚拟通道”到升级/换型系统实现仿真采集。这种方式为电网系统升级/换型提供了一种安全高效的解决思路。
基于端口镜像的SCADA仿真系统总体设计如图1所示。
图1 基于端口镜像的SCADA仿真系统总体设计
基于端口镜像的SCADA仿真系统针对电网调度自动化系统升级/换型的实际需求,主要实现电网参数建模、前置通信报文镜像、报文自适应处理及数据解析等功能。各功能实现步骤如下。
1)参数建模
升级/换型系统参数建模,包括前置远程终端单元(remote terminal unit, RTU)参数、路径参数、通道参数和各个厂站的遥测、遥信、遥控点参数等,各种参数需要与运行系统保持一致。
2)前置采集网交换机端口镜像
配置生产系统前置采集网交换机的镜像端口,将生产系统的通信报文镜像到升级/换型系统。
3)前置模型匹配
将生产系统的通信报文和升级/换型系统的参数模型进行匹配,识别出通道参数和镜像通信报文的对应关系。
4)报文处理
对镜像通信报文进行处理,分析出应用层镜像报文。
5)分发缓存
将应用层镜像报文分发到对应通道的报文缓冲区。
6)缓存报文提交报文处理器
将缓冲区报文提交升级/换型系统验证功能,包括数据刷新、状态变化告警、遥控模拟等功能。
7)无缝切换
升级/换型系统的功能验证完成,替代生产系统投入运行,实现无缝切换。
图2为基于端口镜像的SCADA仿真系统流程。该系统共包含三个通信处理子系统:电网模型处理子系统、端口镜像子系统和镜像报文数据解析子系统。
图2 基于端口镜像的SCADA仿真系统流程
电网镜像模型处理子系统是把生产系统的电网模型参数,导入升级/换型系统。
首先将生产系统关系数据库中的电网模型导入升级/换型系统关系数据库,再用关系库/内存库同步工具将升级系统关系库中的电网模型同步到内存库,最后用参数一致性校核工具检查参数有效性。
升级/换型系统的通信模型生效,即可根据导入的电网镜像模型信息,解析镜像报文。
端口镜像子系统是基于端口镜像的SCADA仿真系统的核心子系统,主要功能是镜像报文汇聚和镜像报文自适应分配。
1)镜像报文汇聚
镜像报文汇聚是把生产系统采集交换机上采集通信的端口作为镜像源端口,同时在生产系统的采集交换机上选取某个空闲的端口作为镜像目的端口,并把镜像目的端口连到升级/换型系统采集服务器采集网卡上,实现在升级/换型系统获取生产系统的镜像通信报文。报文汇聚程序把镜像通信报文统一存储到报文汇聚容器中。
为保障报文汇聚程序正常运行,需在镜像配置文件中记录所有的配置信息,包括:生产系统采集网交换机上的镜像源端口、镜像目的端口;生产系统的前置采集网络、前置采集网卡、前置通信服务器等参数信息;升级/换型系统的前置采集网络、前置采集网卡、前置通信服务器等参数信息。
报文汇聚程序通过镜像模型配置信息检测镜像采集网卡状态是否正常。如果采集网卡状态正常,则进行实时报文捕获,获取镜像通信报文;然后,通过网络包解析技术,解析出需要和电网模型进行匹配的相关网络参数信息,如网络报文中的IP地址和端口号等;最后,用模型匹配技术,根据电网的模型信息,采用报文自动过滤及报文传递算法,自动对镜像报文进行过滤和模型匹配,匹配成功的报文分类存放于报文汇聚容器。
2)镜像报文自适应分配
镜像报文自适应分配是为每个镜像通道创建一个对应的设备驱动实例,自适应读取报文汇聚容器中的镜像通信报文,读取成功后提交通道报文缓冲区,等待下一级报文传递。
首先,以镜像通道为最小单位,为每个镜像通道实例化一个设备对象。根据电网模型信息给每个通道在报文汇聚容器中分配一个读写镜像报文的“网络号”和“连接号”。
其次,利用“网络号”和“连接号”、镜像录波检测函数从镜像报文汇聚器中实时检测属于本通道的通信报文,镜像报文获取算法会返回镜像报文汇聚器中通信报文的内容及字节数,若汇聚器中有报文,调用“镜像读”操作获取镜像报文汇聚器中的镜像报文。
最后,调用“镜像写”操作将镜像报文保存到通道报文缓冲区,提交镜像报文数据解析子系统处理。
镜像通信报文不同于常规通信报文,没有报文发送流程,只有报文接收流程。镜像报文数据解析子系统必须支持监听接收模式,才能自动识别出镜像报文。
镜像报文数据解析子系统为每个通道创建一个数据处理对象及相应的路径对象、规约对象、报文缓冲区对象。它们工作在监听模式,实时检测通道报文缓冲区,读取镜像报文之后,发送给不同的规约对象进行数据解析处理。
规约对象将通信报文送入“规约接收”流程进行解析,解析完成后利用远程过程调用将数据提交给SCADA系统进行数据刷新。
为了更直观地进行生产系统和升级/换型系统的信号对比验证,专门设计实现两个系统的遥信对比界面、遥测越限告警对比界面。验证过程如下。
遥信位置的验证过程:以RTU为单位,任意选择想要对比的RTU,对比界面分别显示两个系统的遥信位置信息,如果遥信信号不一致,则进行标记。遥信数据对比如图3所示。
图3 遥信数据对比
遥测跳变的验证过程:以RTU为单位,任意选择想要对比的RTU,通过遥测对比界面可以观察两个系统的遥测刷新是否一致,是否有遥测越限的告警,且告警信息是否一致。如果遥测数据刷新不一致,则进行标记。遥测数据对比如图4所示。
图4 遥测数据对比
遥控模拟下发过程验证:遥控报文的正确下发对电网稳定运行具有十分重要的意义。因此在系统升级/换型前,必须对系统中的所有遥控进行“预置”操作,在两个系统中分别发送同一个遥控位置的“预置”命令,并分别提取“预置”报文进行比较。检查升级/换型系统下发的遥控报文(遥控号、遥控分合信息等)是否和生产系统一致,完全一致之后才能进行系统升级。
传统的电网调度系统升级时,需要实际接入通信通道来验证升级系统的遥测刷新频率、遥信位置对应情况,以及遥控报文的正确性。这种方式需要在升级系统接入几百个通信通道来验证系统的功能,极大地增加了调试工作量。传统调度系统的升级工期一般在几个月到半年之间。自2018年起,基于端口镜像的SCADA仿真系统已经应用到广东广州供电局、珠海供电局、佛山供电局等三十多个地调升级项目中,系统升级过程中遥测、遥信、遥控的信号比对工作,缩短到两周左右,极大地缩短了信号比对的工期,且现场实际运行情况表明:
1)电网模型处理子系统能够将生产系统的电网模型完整导入升级/换型系统,包括前置通信模型,SCADA点参数的模型信息,并且能够实现自动校核。若有模型信息不一致的情况会产生告警信息。调度运行人员可以根据告警信息及时处理模型不一致的问题,有效避免了因模型不一致影响电网数据刷新的问题。
2)端口镜像子系统能够将生产系统中的通信报文实时镜像到升级/换型系统,并能够成功地完成镜像报文和电网参数模型的匹配,将镜像报文分类存放到报文汇聚器中。镜像报文自适应,能够正确识别报文汇聚器中的通信报文并分发到相应的通道报文缓冲区。
3)镜像报文数据解析子系统能够自动读取通道报文缓冲区中的报文,并能够正常解析通信报文,然后将解析的数据提交SCADA系统,进行升级/换型系统的数据刷新及控制功能的验证。
4)升级/换型系统通过仿真采集的方式和生产系统并列运行,并通过信号比对界面,实时比较两个系统的电网采集信号。并列运行期间的电网遥测、遥信、遥控数据的差异信号得到了及时的诊断处理。系统实际切换时,两个系统的遥测刷新频率、遥信位置信号完全一致,信号一致率达到100%,同时监测两个系统的遥控模拟报文,遥控报文正确率达到100%,符合电网调度系统升级验收的标准,可以做到电网系统的无缝切换。
基于端口镜像的SCADA仿真系统给升级/换型系统提供了实际运行环境,能够验证升级/换型系统的各项功能,有效预防了遥信位置信号不对应、遥测跳变等异常情况的出现,为电网系统安全、高效的升级切换提供了很好的参考。
在遥控功能验证时,目前该系统通过比较遥控报文来检验遥控流程的正确性,升级系统同RTU子站没有实际的通信连接,因此下行的遥控报文不能到达RTU子站,也无法接收子站的遥控返校报文,因此无法验证遥控返校信息的正确性。此项功能验证应作为电网系统升级过程中需重点解决的问题进一步研究。