1、22 东北电力技术NORTHEAST ELECTRIC POWER TECHNOLOGY2023 年第 44 卷第 7 期智能电网轻量化矩阵冗余软总线系统的实现方法陈明恩,王 伟,叶 宁,易金宝,汪贤浩(国电南京自动化股份有限公司,江苏 南京 210031)摘要:通信总线系统作为智能电网关键技术之一,具有极高的开发与实践价值。重点描述了轻量化矩阵冗余通信软总线系统关键技术特征和要点设计原则,详细阐述了多输入多输出矩阵软总线的设计方法,各节点工作在客户端方式时,可以动态加入或退出,形成可插拔的客户端模式。软总线矩阵路由服务器工作在服务器模式时,可以静态路由或实时动态路由,各个节点和矩阵路由器共享
2、全局配置信息,有定时和维护列表,通过私有协议实现数据交互,能够单机或多机分散部署。关键词:通信软总线;多输入多输出;可插拔客户端;矩阵路由服务器;分布式系统中图分类号 TM76文献标志码 A文章编号 1004-7913(2023)07-0022-05Realization Method of Lightweight Matrix RedundantCommunication Soft Bus System of Smart GridCHEN Mingen,WANG Wei,YE Ning,YI Jinbao,WANG Xianhao(Guodian Nanjing Automation Co.
3、,Ltd.,Nanjing,Jiangsu 210031,China)Abstract:As one of the key technologies of smart grid,the communication bus system has extremely high development and practical value.It focuses on describing the key technical characteristics and key design principles of lightweight matrix redundant communica-tion
4、 soft bus system.It expounds the design method of the multiple input output multiple matrix soft bus in detail.Each node works in the client mode and can be dynamically added or withdrawn,forming a pluggable client mode.The soft bus matrix routing server works in server mode,which can be static rout
5、ing or real-time dynamic routing.Each node and matrix router share global configuration infor-mation,have their own timing and maintenance lists,realize data exchange through private protocols,and can be deployed in a single or multi-machine decentralized manner.Key words:communication soft bus;mult
6、iple input multiple output;pluggable clients;matrix routing server;distributed systems智能电网分布式控制系统的通信系统集成各种硬件和软件通信技术,并可采用开放式的通信网架,具有高速、集成、兼容、双向的特质,可以动态响应实时信息与数据交互,为智能传感器和控制装置、控制中心、保护系统和需求响应系统提供一个安全的即插即用的网络平台。硬件通信总线应用比较广泛,如 RS485、CAN总线、以太网、ARINC429 航空通信总线等。而软件通信总线没有硬件总线成熟,还未做到专业化、规范化,实现路径比较繁杂。目前电网调度系统
7、中消息总线提供的消息传输服务局限在单一系统的局域范围内,缺少通用、高效的多系统间广域实时信息交互手段1-2。文献1介绍了调度数据网方面的广域数据总线体系结构,文献2-3介绍了电力调度数据网的广域消息总线设计,一些文献介绍开源或第三方通信总线技术基础二次开发设计4-6。通信软件总线系统从理论角度来说深度不高,在开发实践中高可靠性、高性能、高吞吐量的实用产品很少。已有文献资料主要集中在概念、原理、框架功能等方面的研究,在研发与实践、自主知识产权方面还需继续深入研究。根据数据采集与控制系统(SCADA)、集散控制系统(DCS)、智能电网、电力调度等分布式系统通信严谨稳定、冗余可靠等特点7,借鉴其他总
8、线设计思想8-11,对这一关键通信软件总线系统进行深入研究,成功开发了切实可行、稳定高效的通用软总线系统产品,并已获得发明专利知识产权授权。本文基于该技术方案核心思想,进一步从理2023 年第 44 卷第 7 期陈明恩,等:智能电网轻量化矩阵冗余软总线系统的实现方法23 论角度深入归纳与总结。节点客户端可以是输入节点,也可以是输出节点,或二者兼有。各个数据通信节点为客户端模式时,节点可以动态加入,也可以动态退出,形成可插拔的客户端,文献12-13中也讨论了该思想。矩阵(Matrix)路由服务器负责和客户端各个节点交互,实现链路维护和数据路由透明转发。工作在服务器模式时,可提供相关统计与分析,监
9、控各客户端数据流量、流向,耗时,在线状态等。本文以 TCP 的 Client/Server 通信方式为基础,客户端节点在 TCP 的 Client 方式、Matrix 路由器在TCP 的 Server 模式14-15工作。这两者一起构成多输入多输出的矩阵式通信,实现了一种高效可靠冗余的软总线方案。1 软总线系统概述本方案由客户端节点和 Matrix 路由服务器构成,在设计和实施中,结合了智能电网,遵循设计要点、框架流程(图 1)及特有技术特征,这也是区别其他通信软总线系统的特色和亮点。图 1 智能电网通信软总线系统流程a.物理双网主备双链实时在线。所有节点和路由服务器全部物理配置主备双网卡,实
10、现 2 个物理网络通道。客户端节点 2 个通道同时主动连接Matrix 服务器建立 TCP 链路,链路在热主备模式工作。Matrix 服务器 IP 在冷主备侦听模式工作,服务器主 IP 首先启动绑定侦听,无效情况下切换到备 IP 地址绑定侦听。此时,客户端 Node 主备 IP首先向 Matrix 主 IP 同时建立链接。在 Matrix 主 IP无效时,客户端主备 IP 才向 Matrix 备 IP 建链。数据帧报文无主备模式单份传输,身份注册帧和链路测试帧追随链路实现双份。b.全局配置信息文件。所有节点和路由服务器参数都读取统一的全局配置文件。各个客户端从矩阵路由服务器自动下载该配置文件,
11、获取服务器端的主备 IP 地址,服务器端口等参数。各节点依照配置文件主备 IP 设置物理网络 IP 地址。客户端启动时,读取各节点物理主备 IP 地址,自动匹配配置文件的相应该节点 Nodeid,路由目的地等信息,节点物理主备 IP 与配置信息不一致则实现错误日志。也可以通过接口指定 Nodeid、路由节点等,无需自动匹配 IP 地址。c.主备链路双向实时检测机制。由于 TCP 面向连接,对端正常关闭可以及时检测。对端设备掉电、程序崩溃、网络中断等不能也无法及时通知另外一端,链路连接会长时间存在,形成假活状态。实时通信需要检测链路即刻存活状态,这需要自行设计链路检测机制。本文从主备客户端节点和
12、路由服务器主备链路双向检测实时链路。d.静态或动态注册机制。通信软总线交互协议主要包括身份注册帧、链路测试帧、节点状态查询帧及有效数据帧。身份注册包括配置文件中已知节点静态注册或未知节点动态注册模式。已知节点静态注册模式:有效的客户端节点主备双链路皆同时向路由服务器注册身份,匹配配置节点映射表后启用在册。只有经过确认成功注册的客户节点才能从服务器接收发送数据,外界主动建链却未通过注册登记的链路,服务器端会很快主动断链,这样就防止内部数据外泄和外部数据冲击12,该方式严谨可靠安全。未知节点动态注册模式:当配置文件允许动态添加节点时,客户端节点主动建链后发送身份注册帧,源 Nodeid 预先置为
13、0,服务器发现该节点 No-deid 为 0,则算法生成全局新 Nodeid 并返回该值,如全局约定,客户端使用者已指定 Nodeid,则无需生成。动态新建该节点相关核心信息,并添加相关映射表,可自由扩展客户端数量。这在动态注册场景时中具有实际意义,在智能电网更适宜静态注册模式。当强调灵活性时,则支持动态注册。在节点状态查询帧时,客户端节点可以从矩阵路由服务器获取指定的 Nodeid 信息,回复帧确认相关节点在线状态等相关信息。客户端主备链路维护自己各自所有的身份注册过程和链路测试帧,而节点状态帧、有效数据帧随24 东北电力技术2023 年第 44 卷第 7 期时选择主或备链路交互数据。有效数
14、据帧同样起到链路测试帧功能。e.N 阶静态和动态路由矩阵。本文采用物理和 TCP 链路热主备,服务器侦听冷主备,数据单份传输无主备的特殊设计优化方案,设为性能最优NN 阶轻量化矩阵路由服务器。可读取配置文件信息,建立静态路由表。提供改变 Matrix 路由表列向量接口给客户端使用,以此实现动态路由机制。客户端动态注册信息,动态路由不保存到全局配置文件,只在运行时存在。f.IP 或 Nodeid 方式寻址鉴权和映射。服务器支持 IP 地址和节点 Nodeid 的 2 种方式注册鉴权和Hash 映射定位。配置文件支持该选项,IP 方式稳定可靠,可建立黑名单和白名单。但 Nodeid 方式的自我测试
15、和调试简单,验证方便高效,不受物理组网和 IP 配置约束,可以自由部署,多客户端节点和路由服务器即使在同一台电脑上部署也构成分布式系统。g.圆形缓存设计。客户端设计圆形缓存区,服务器按照链接通道设置圆形缓存区,缓存数据。该圆形缓存区不保存链路测试帧、身份识别帧、节点状态帧及非完整格式的数据帧,仅仅保留报文形式合法,帧头帧尾等校验过滤合规的有效数据帧,提高缓存区存储及有效数据使用效率。圆形数据缓存区支持生产者与消费者的多线程模式。数据传输支持数字或中英文,UTF8 或 ASCII 码格式。h.Qt 实时消息机制。本方案采用 Qt 语言编程,同时利用 Qt 消息机制。客户端采用多线程工作模式。服务
16、器采用 Qt 的 QTcpSocket 消息机制和定时器消息等组合。链路维护采用自我实时检测机制,路由服务器收到数据后实时路由透明转发数据,并定时运行监测圆形缓存区剩余数据与各客户端节点信息的相关状态。路由服务器无需多线程,而只采用单一主线程。该方案简单可靠,同时提供阻塞或非阻塞数据访问模式。2 软总线系统方案设计2.1 软总线客户端设计思想客户端数据交互的主动发起者和接收者设计为TCP 的客户端模式,主要流程如图 2 所示。主要功能包括有效数据报文的组帧和拆帧、异常报文的定位、分析分解、丢弃;通信主从链路的建链和关闭;多线程圆形数据缓冲区的维护;节点链路的注册问询或回复;链路心跳等。其主要实
17、现方法为承接其他线程或用户数据,组帧报文,作为发送端,添加数据头、数据尾,添加路由目的节点列表,保证数据信息作为一个完整可校验形式的数据发送出去。作为接收端,数据报文的拆帧,对数据报文分析与分解,去除报文头和报文尾,提供实际有效数据给使用者。图 2 客户端设计流程在数据链路方面采用 TCP 通信 Client 工作方式,主备物理通道同时建链,链路热主备。实际有效通信数据无主备,只传输 1 份,可以任意选择主备链路通道。TCP 通信存在同步阻塞或异步通知方式。本方案综合考虑,客户端节点采用多线程模式。在多线程模式下,读入或写入数据行为一直循环运行。同时,每个客户端节点设计各自独立发送数据区和接收
18、数据圆形缓冲区。发送数据区直接负责存储调用者的组帧后的数据报文,接收数据圆形缓冲区负责存储校验后的完整数据,给使用者提供去除报文头和报文尾拆帧后的裸数据接口。由于涉及消费者和生产者,接收圆形数据缓冲区设计为读写锁互斥机制。客户端节点主备链路同时向路由服务器注册身份,服务器审验确认后,主备链路实时在线,主备链之一存活即允许收发数据报文。如果有数据发送或接收时,则链路正常。没有收发数据超过一定时间间隔时,主动发送链路问询信息帧,收到确认报文后重新计时。如果超过设定时间仍未收到确认报2023 年第 44 卷第 7 期陈明恩,等:智能电网轻量化矩阵冗余软总线系统的实现方法25 文或有效数据。认为断链,
19、主动关闭该 socket,重新建链。2.2 软总线路由服务器设计思想路由服务器作为数据交互的桥梁,在 TCP 通信 server 模式工作,实时不掉线运行,否则通信软总线系统瘫痪。读取包括节点信息表与静态路由表维护,负责数据报文的多重路由转发,通信链路的侦测和维护,圆形数据缓冲区列表维护,客户端注册帧的注册登记与回复,动态路由表分析与映射等。路由服务器 TCP 所有 socket 都建立在 Qt 语言的 QTcpSocket 内在消息机制基础上,这样无需多线程实现,只设计一个主进程负责一切行为与工作,设置自定义定时列表,对各节点链路自我维护。主要流程如图 3 所示,主要内容如下。a.节点信息表
20、维护。服务器运行时,从统一配置文件中获取各节点信息配置详细内容,包括节点机器的主从通道 IP 地址、节点 Nodeid、静态路由目的地址等,建立 hash 映射表,并设置各节点相应的收发缓冲区、该链路的 socket 状态、最近报文的时间戳等实时信息。b.数据报文的寻址透传。从发送节点端过来的数据报文不做任何修改,报文头和尾数据不变。根据报文参数选择静态或动态路由,解析目的地址列表,把报文多重映射到目的节点的发送圆形缓冲区,保证数据报文作为一个经过校验和检查初步合格的数据发送出去,一个节点对应一个收发数据圆形缓冲区。c.通信链路的注册鉴权。鉴于智能电网应用场景,客户端节点需要身份注册与鉴权设计
21、。客户端节点主备链路首先同时向路由服务器注册身份,登记在册,确保主备双链路实时在线。只有经过确认成功注册的客户节点才能从服务器接收发送数据。通常情况下,依据全局统一配置文件,可选择对客户端的主从 IP 通道地址和端口号鉴权,也可以选择客户端 Nodeid 鉴权。外界主动建链却未通过注册登记的链路,Matrix 路由服务器会很快主动关闭该链路,这样就防止内部数据外泄和外部数据冲击。形成黑名单和白名单机制。d.节点信息表圆形数据缓冲区维护。对配置的每个节点,设置各自独立的一个发送圆形数据缓冲区,圆形缓存区是按照生产者和消费者多线程设计思想构建。如果一个 TCP 链路设立一个工作线程,服务器会有数十
22、个或上百个线程,线程间数据交互设计比较复杂,圆形缓存区读写要设置互斥锁,各线程间要设置同步信号,防止数据写入或读取不成功。而采用 Qt 跨平台内在消息机制,路由服务器只设立一个主进程负责链路维护和数据透传转发等。图 3 服务器端设计流程e.节点链路测试的问询或回复。同客户端类似,自身也主动发送链路测试。如果有数据收发时,则认为链路正常;没有收发数据超过约定时间间隔时,发送链路问询信息帧,收到确认报文后重新计时。如果超过设定时间仍未收到确认报文或有效数据,认为断链,关闭该 socket,等待客户端重新建链。主备链路维护各自身份注册帧和链路测试帧,有效数据帧随时选择主备链路交互数据,本文把有效数据
23、帧作为链路测试帧的一种存在形式。3 轻量化静态/动态路由矩阵思想路由服务器的路由表包括静态维护和动态路由表。根据节点配置信息,建立静态路由表。该矩阵服务器描述如下:设 A 为 mp 的矩阵,B 为 pn 的矩阵,那么称 mn 的矩阵 C,C 为矩阵 A 与 B 的乘积,记作C=AB,其中矩阵 C 中的第 i 行第 j 列元素可以表示为 26 东北电力技术2023 年第 44 卷第 7 期A=a1,1a1,2a1,3a2,1a2,2a2,3B=b1,1b1,2b2,1b2,2b3,1b3,2 (2)C=AB=a1,1b1,1+a1,2b2,1+a1,3b3,1a1,1b1,2+a1,2b2,2+
24、a1,3b3,2a2,1b1,1+a2,2b2,1+a2,3b3,1a2,1b1,2+a2,2b2,2+a2,3b3,2设计 N 个节点,每个节点既可以为输入节点,又可以为输出节点。如果是主备通道链路主备,数据收发主备双份,一般方案就形成 2N2N 阶路由矩阵,复杂性升高。本方案设计链路热主备,服务器侦听冷主备,数据单份传输无主备 NN 阶轻量化高冗余矩阵路由,是 N 阶 Map 图的邻接矩阵。矩阵 B 的每个元素 0/1,表示目的节点通道是否选通,左上右下对角线元素确定为 0,不发送数据给自身,否则可能形成数据循环。在静态路由矩阵的基础上,修改目的节点列表接口函数,方便为使用者动态更改矩阵列
25、向量元素,形成动态路由矩阵,矩阵 C 是做 A 和 B 信息流的综合。从物理意义理解,矩阵 A 和矩阵 C 中元素是同一节点,B 本质经过特殊设计,优化为 NN 阶矩阵。根据节点是否动态改变通信状态,B矩阵元素可以动态调整为设 0 或 1,形成动态路由矩阵。这样就形成高可靠性、高冗余轻量化邻接矩阵设计方案。A=a11a1nan1annB=0110(3)C=c11c1ncn1cnn4 结语综上所述,本文是基于 Qt 跨平台和内有消息机制实现一种轻量化矩阵冗余的通信软总线系统的具体方法,静态或动态注册和订阅数据的总线具有可靠高效、可扩展性好、复用性强、松散耦合、维护方便等特点。矩阵路由服务器和客户
26、端构成矩阵式通信软总线解决方案,支持主从非平等节点模式和平等节点模式,实现横向或纵向数据交换。它不是消息总线,不涉及系统层面上具体数据交互的消息定义和处理,只提供底层数据通信和链路支撑,可以理解为服务总线。这样就具有非常高效的通用性,可以为各个分布式系统作为底层服务总线所借鉴参考和开发使用。这种模式下可以依据各类系统自身通信数据特点,自定义一个集中式的消息中间件实现各种系统的集成(包括数据模型转换、连接、路由和编排),从而实现集成服务,可以在构建新应用时快速复用,实现消息总线和服务总线分层设计。这在异构操作系统、多节点设备系统、集散控制系统、数据采集与监视控制、智能电网配电、调度及能量管理系统
27、等各种分布式系统都具有重要的实践意义和广泛的应用前景。参考文献:1 尚学伟,赵 林,范泽龙,等.基于调度数据网的广域数据总线体系架构和关键技术 J.电力系统自动化,2018,42(11):109-114.2 王 恒,郭凌旭,武瑞龙,等.基于电力调度数据网的广域消息总线设计与实现 J.电力系统自动化,2017,41(15):100-106.3 王 恒,辛耀中,尚学伟,等.智能电网调度控制系统数据总线技术 J.电力系统自动化,2015,39(1):9-13,182.4 高 磊.基于 Kafka 的数据总线系统关键技术研究与开发D.郑州:郑州大学,2020.5 李春雷,高峰,颜运强.基于 Actor
28、 模型的软总线设计J.计算机工程,2019,45(5):77-83.6 邓辉舫,黄俊成.基于消息队列软总线的系统集成与数据交换方案 J.华南理工大学学报(自然科学版),2008(5):1-5.7 赵义奎,李惠民,王乐挺,等.ICE 在配网自动化主站中的应用 J.电力系统保护与控制,2014,42(1):102-107.8 史须勇.ICT 通信服务器体系结构的设计与实现 D.沈阳:中国科学院大学(中国科学院沈阳计算技术研究所),2016.9 曾颖超,王茂芝,冯伟桓.一种轻量级的对象通信机制设计与实现 J.计算机工程与科学,2016,38(3):437-442.10 王 齐.分布式服务平台架构设计
29、与实现 D.南京:南京理工大学,2008.11 游 夏,林森.混合关键系统的高效通信技术 J.数字技术与应用,2019,37(7):54-55.(下转第 29 页)2023 年第 44 卷第 7 期邹高凯,等:一起合并单元采样失步引起的备自投闭锁分析29 图 3 同步时钟接线造成从钟与主钟假同步。设备软件版本采用的是V2.3 程序版本,该版本为控制时间输出的抖动,将 OCXO 晶振驯服的阈值设置得过小,对于老化率稍高的 OCXO 晶振产生的偏差,存在驯服调整不够的可能性,从而造成时间偏差的累积。g.备用电源自投装置 SV 异常告警现象主要原因分析为:外部合并单元 smpCnt 值超差(厂家默认
30、 8 帧告警即 2 ms),如图 3 所示,同一采样时刻的数据中 66 kV 母线和母线电压合并单元的smpCnt 为 1948、66 kV 北保 3 号线合并单元的smpCnt 为 1929,相差 19 帧,延时相差远超过2 ms3-6,程序中判断 smpCnt 差值完全超差,SV告警置位并闭锁保护。从时间的推移来看,告警发生间隔越来越短,说明外部合并单元存在对时异常情况。3 结论本站线路备自投闭锁是由于时钟“假同步”引起,因此采取对时钟程序进行升级处理,解决时间偏差的累积,消除“假同步”问题7-8。经过一段时间的运行没有再出现此类问题。a.在智能变电站中,时钟的重要性越来越突出,尤其对网采
31、网跳的结构模式更为关键。继电保护应用网络采样方式,合并单元的同步性能直接影响继电保护的性能,因此时钟系统的可靠性对变电站安全稳定运行异常重要。b.对于备自投具备直采直跳条件的装置建议改成直采直跳组网模式,不具备条件的要加强同步时钟的管理。c.对于多路 SV 采样的智能设备,应将其所接入合并单元的对时接在一个时钟源上。参考文献:1 智能变电站技术导则:Q/GDW 3832009 S.2 智能变电站继电保护检验规程:Q/GDW 18102012 S.3 智能变电站合并单元技术规范:Q/GDW 14262016 S.4 黄晓明,黄志华,张华娇.变电站整站二次设备就地化及运维方案研究 J.电力系统保护
32、与控制,2019,47(5):173-178.5 吴红建.变电站二次设备就地化系统网络架构研究 J.科技风,2018,25(42):186-187.6 焦志强,王彦彪,张乐桢,等.基于智能变电站合并单元守时误差测试方法研究 J.中国高新科技,2022,24(22):68-71.7 崔 玉,朱继红,曹海欧,等.合并单元数据可靠性提升方案研究与应用 J.电力系统保护与控制,2021,49(2):34-37.8 周文越,李 霞.一起合并单元故障引起的保护误动事故分析 J.电测与仪表,2018,55(24):56-60.作者简介:邹高凯(1990),男,学士,工程师,从事继电保护检修及整定计算相关工作
33、。(收稿日期 2022-09-15)(编辑:孙丝萝)(上接第 29 页)12 苏彦彬.SOA 开放式控制平台的软总线及消息传输的研究D.广州:华南理工大学,2011.13 赖宇亮.开发式控制系统软总线及调度的实现 D.广州:华南理工大学,2011.14 周星宇.基于软总线的飞行控制软件设计与开发 D.南京:南京航空航天大学,2019.15 王 恒,马云龙,武 杨,等.电网调控系统通信总线调用链监视与分布式追踪方法研究 J.电力系统保护与控制,2021,49(16):29-37.作者简介:陈明恩(1976),男,硕士,高级工程师,从事智能电网 SCA-DA 系统,分层分布式的大容量系统自动化软件平台,云主站系统方面的研究工作。(收稿日期 2023-01-10)(编辑:王 军)
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100