APP下载

一种改进的电力通信协议优化方法与应用

2022-11-24梁洪浩伍少成

沈阳工业大学学报 2022年6期
关键词:轮询标识符通信协议

梁洪浩, 伍少成, 王 波, 刘 洋, 李 鹏

(中国南方电网有限公司 深圳供电局, 广东 深圳 518000)

随着各种能源技术的研究和发展,智能电网的设计和建设逐渐成为新能源技术应用的焦点[1].由于具有高速、双向和实时等多种基本特征,计量基础设施成为智能电网的关键建设项目,而电能数据采集系统又是计量基础设施的重要部分[2-5].一般而言,电能数据采集系统需要及时准确地采集不同地区的供电和用电数据,其通信模块广泛使用电能表通信协议.DLT_645协议对智能电表与采集终端之间传输的数据量、格式、长度进行标准化,成为电力通信网中最常用的通信协议之一[6-9].然而随着时代发展和科技进步,DLT_645协议的传输时延与效率亟待进一步的优化和改进.目前在实时性、可靠性、多功能和传输效率上,互联网中的各种网络通信技术已逐渐取得了突破,例如Modbus协议.因此,如何结合DLT_645、Modbus等通信协议,优化与改进智能电网中的电力通信协议成为了研究热点.

国内外学者提出了一些具有借鉴和参考意义的研究[10-12].然而,由于智能电网与普通互联网之间存在较大的差异,这些相关研究难以应用于实际的通信数据传输中[13-16].为了解决这一问题,本文提出了一种基于DLT_645的改进电力通信协议.首先介绍了电力通信网的功率计算公式,并在此基础上,详细分析采集终端与智能电表之间的交互需求;其次,根据交互需求的分析结果,给出了智能电表与采集终端之间的信息传输策略.通过融合Modbus/TCP通信协议和DLT_645协议,提出了改进的电力通信协议,同时本文还设计了该通信协议网络接口的硬件.相关仿真结果表明,改进的通信协议运行稳定,平均响应时间和数据传输成功率均满足实际要求.

1 功率计算

在电力通信网络中,令N表示通信信号每个周期的采样数量,u(n)与i(n)分别表示通信信号周期内第n个采样点的电压值和电流值,U与I分别表示通信信号的电压有效值和电流有效值,具体计算表达式为

(1)

(2)

此时,P表示通信信号的有功功率,其计算表达式为

(3)

利用S表示信号的视在功率,Q表示通信信号的无功功率,有功电能与无功电能可以利用有功功率和无功功率积分得到,因此有功电能WP和无功电能WQ的计算表达式分别为

(4)

(5)

式中:t为计算能量的时间单位;T为能量积累的时间.在一个信号周期内,有功功率需求是通信信号功率的平均值,令Pn表示第n次采样的有功功率,则有功功率需求Pd的计算表达式为

(6)

2 电力通信协议

为了详细地阐述基于DLT_645的Modbus/TCP通信协议,本文分别介绍了该协议的需求分析、数据传输规则、数据帧格式和网络接口设计等内容.

2.1 需求分析

根据DLT_645协议,从智能电表到采集终端的传输数据主要包括:电能数据、最大需求数据及其发生时刻、电能变量、事件统计、电压合格率、事件确认、事件记录和冻结数据.其中电能数据主要包括:有功电能、无功电能和视在电能,其总长度为452 bit;最大需求数据是指一定的时间内,电能数据的最大瞬时需求量,其发生时刻为最大瞬时需求发生的时间点数据,最大需求数据及发生时刻的数据总长度为904 bit;电能变量主要包括:电压、电流、有功功率、无功功率、视在功率、功率因数和波形畸变等变量,其总长度为360 bit;事件统计主要包括失压、过压、欠压、断相、倒相序、不平衡、失流、倒流、过载的时间和次数,这些数据的总长度为264 bit;电压合格率一共包含4个参数,总长度为102 bit;事件确认需要11 bit来记录事件类型、发生时间或终止时间;事件记录数据记录了事件过程中每个变量数据的变化,这些数据的总长度为61 860 bit;冻结数据是指在某些特定时间内需要保存的电能数据,可分为日冻结和月冻结数据,其总长度为245 bit.当采集系统正常工作时,智能电表还需要向采集终端发送1 bit的状态确认数据,表明智能电表处于正常工作状态.此外还需要说明的是,采集终端最多可以连接500个智能电表.以上数据的传输成功率和响应时间的标准如表1所示.

表1 数据传输成功率和响应时间标准Tab.1 Data transmission success rate and response time standard

2.2 数据传输规则

为了保持采集终端与智能电表之间流畅的数据传输,本文采用轮询与事件触发相结合的方式进行传输,其轮询流程如图1所示.

图1 采集终端与智能电表的轮询过程Fig.1 Polling process of acquisition terminal and smart meter

从图1可以看出,在每次轮询时,按照智能电表的自然顺序,采集终端向所有智能电表发送轮询命令,智能电表在收到轮询命令后会发送响应数据.在最大的等待时间之内,若采集终端未收到智能电表的响应数据,则标记当前的智能电表,并向下一个智能电表发送轮询命令.当采集终端收到未被标记的所有智能电表的响应数据之后,再次向已标记的智能电表发送轮询命令.此时,若标记的智能电表仍未响应,则将这种智能电表的标记设置为故障.

在来自采集终端的轮询命令中,发送“状态确认”数据的轮询周期为1 min,电能数据、最大需求及其发生时刻、电能变量数据的轮询周期为10 min,事件统计、电压合格率和日冻结数据发送轮询命令的周期为24 h,月冻结数据的轮询周期为1个月,这些数据的最大等待时间为60 ms,发送数据的对象是指所有处于正常工作状态的智能电表.当事件发生或终止时,智能电表会向采集终端发送事件确认数据.当采集终端获知某个事件已终止时,其将发送事件记录的轮询命令.事件记录数据轮询命令的最大等待时间为200 ms.在数据交换过程中,按照一定的组合方式,采集终端与智能电表完成所有数据的轮询通信,完成轮询命令的发送和响应数据的接收.由于这两种通信流程是类似的,因此本文只给出了发送命令的通信流程,如图2所示.

2.3 基于DLT_645的Modbus/TCP协议

在实际的通信过程中,所有的数据将以一定的格式封装为若干个数据帧,每个数据帧可分为帧开始标识、帧结束标识和帧数据.其中,帧开始标识和帧结束标识实现了数据帧的同步,帧数据的主要内容由MBAP头、功能码和数据域组成.其中,MBAP头由事务标识符、协议标识符、长度和单元标识符组成;功能代码可以分为位操作和字操作两类,位操作的最小单位为1 bit,字操作的最小单位为2 bit;数据字段包括帧内计数器和有效数据.

图2 采集终端发送轮询命令的通信流程Fig.2 Communication flow chart of polling command sent by acquisition terminal

为了制定实用的数据传输协议,本文建立了Modbus/TCP协议与DLT_645协议之间的映射,其映射模型如图3所示.

由图3可知,DLT_645帧的“地址字段”与“单元标识符”之间具有映射关系,“控制代码”与“功能代码”之间具有映射关系,DLT_645协议的“数据字段”与Modbus/TCP协议的“有效数据”之间产生映射关系.通过添加1 bit“数据字段长度”与“长度”进行映射.“事务标识符”设置为0×00,而代表Modbus协议的“协议标识符”设置为0×00.

DLT_645的“数据字段”主要由两部分组成,其字段的前4 bit是“数据标识符”,其余数据字段表示具体的“数据”.在电能数据采集系统中,由于所有数据参数的采集和传输集中于一次轮询中,所以在DLT_645内部数据标识符的基础上,本文添加了数据标识符的校验码字.此时,电能数据的数据标识符为0×00 FFUM000;最大需求及其发生时刻数据为0×01FFUM000;电能变量的数据标识符为0×02FFUM000;事件统计数据的数据标识符为0×03FFUM000.需要说明的是,由于“数据字段长度”的最大值为200,“电能变量”数据需要使用两个数据帧来传输.

图3 DLT_645与Modbus/TCP协议的映射模型Fig.3 Mapping model between DLT_645 and Modbus/TCP protocols

2.4 网络接口设计

在电能数据采集系统中,网络接口主要由型号为STM32F407的MCU、LAN8720A芯片和HR911157A网络端口组成,具体接口结构如图4所示.

图4 网络接口结构Fig.4 Network interface structure

在网络接口结构中,STM32F407的MCU采用了Cortex M4内核,具有良好的控制功能和数字信号处理能力.此外,MCU集成了相应的网络模块,使用RXD0与RXD1接收数据、使用TXD0与TXD1发送数据、使用TX_EN发送启用新号.利用MDC与MDIO接口访问芯片LAN8720A的所有PHY寄存器,同时使用RMII接口与外部的PHY芯片进行通信.LAN8720A是一种低功耗物理层芯片,其I/O引脚电压符合IEEE802.3-2005标准.利用nINT/REFCLKO接口为MCU提供50 MHz时钟,同时使用RMII接口与互联网的MAC层进行通信.

3 仿真结果与分析

为了验证改进电力通信协议的有效性和稳定性,利用PMA软件分别对Modbus/RTU协议、Modbus/TCP协议进行仿真与对比.Modbus/RTU协议是支持RS-485总线的通信协议,由于该协议主要使用二进制表示数据并采用紧凑的数据结构,其具有较高的通信效率和广泛的应用.因此,使用该协议与基于DLT_645的Modbus/TCP协议进行比较,分析本文改进协议的实际性能.

在协议测试过程中,本文分别设置相同的网络参数.每当增加200次轮询次数时,记录两种协议的平均响应时间和传输成功率.在200~4 000个轮询次数的情况下,对这两种协议“电能数据”的平均响应时间与传输成功率进行统计,得到一系列数据并绘制为相应的曲线,如图5、6所示.

图5、6中,“实线”与“虚线”曲线分别表示在轮询次数为200~4 000时,Modbus/TCP协议和Modbus/RTU协议的平均响应时间和传输成功率.需要说明的是,当轮询次数小于4 000时,Modbus/TCP和Modbus/RTU协议的平均响应时间均小于50 ms,即满足表1对于响应时间的协议要求,而当轮询次数大于3 200时,Modbus/TCP和Modbus/RTU协议的传输成功率达到了99%,即满足表1对于传输成功率的协议要求.

图5 Modbus/RTU协议和Modbus/TCP协议的平均响应时间

图6 Modbus/RTU协议和Modbus/TCP协议的传输成功率

在此基础上,本文对Modbus/TCP和Modbus/RTU协议进行了更详细的对比和分析.由图5可知,Modbus/RTU协议的平均响应时间明显高于Modbus/TCP协议的平均响应时间.其主要原因是Modbus/TCP协议中没有发生CRC校验过程,与Modbus/RTU协议相比,Modbus/TCP协议的执行步骤较少,这直接导致Modbus/TCP协议的平均响应时间一定小于Modbus/RTU协议.由图6可知,Modbus/TCP协议的传输成功率略高于Modbus/RTU协议,两者之间的差距较小,这主要是由于Modbus/RTU协议和Modbus/TCP协议的设计均比较合理,且其协议执行又较为类似,所以其传输成功率区别较小.

4 结 论

基于DLT_645协议,本文提出了一种适用于电能数据采集系统的Modbus/TCP通信协议,缩短了采集终端到智能电表之间的数据传输时延,提高了这两者之间的数据传输成功率,较好地满足了智能电网中的通信需求,具有较好的参考意义和借鉴价值.然而,由于实验条件与实验环境的限制,本文并未对该协议的安全性和可靠性进行分析与检验,因此该协议的推广与应用需要进一步的仿真实验进行验证,下一步研究将致力于解决该问题.

猜你喜欢

轮询标识符通信协议
基于底层虚拟机的标识符混淆方法
基于Wireshark的列控中心以太网通信协议解析器的研究与实现
基于区块链的持久标识符系统①
基于等概率的ASON业务授权设计∗
依托站点状态的两级轮询控制系统时延特性分析
关于电力物联网信息模型及通信协议的设计要点分析
利用时间轮询方式操作DDR3实现多模式下数据重排
科研人员唯一标识符的理论研究现状剖析
数字图书馆推广工程唯一标识符体系构建研究*
基于风险分析的安全通信协议简化研究