通过网关将多功能电能表接入罗克韦尔PLC中

13 5月 2026

在网关的使用中,遇到客户需要将串行多功能电能表接入罗克韦尔EtherNet/IP网络的PLC中,电能表符合电力行业DL/T 645-2007标准。本文将介绍其实现过程。

下面我们将分别介绍电力DL/T 645-2007标准和实现方案。

电力DL/T 645-2007标准

DL/T645规约是针对电表通信而制定的通信协议,主要有两个版本,分别是DL/T645-97和DL/T645-07,97代表是97年制定的协议,07则是2007年修正后的协议,两个版本都广泛应用。DL/T 645支持RS485有线和红外无线通信,采用主-从结构半双工通信方式,采集器和电表通过一问一答方式来传输数据。本文主要介绍RS485串行通讯。

  1. 通信速率

标准速率:600bps,1200bps,2400bps,4800bps,9600bps,19200bps。出厂默认2400bps。

  1. 字节格式

每字节含8位二进制码,1个起始位(0)、1个偶校验位和1个停止位(1), 共 11位。D0 是字节的最低有效位,D7 是字节的最高有效位。先传低位,后传高位。

  1. 数据帧格式

  1. 控制码格式

常用控制码:0x11,主站发出请求读取数据

0x91,从站发出应答返回读取数据

  1. 数据域

数据域包括数据标识、密码、操作者代码、数据、帧序号等。

常用的数据标识如表中所示:

  1. 前导字节

设备在发送帧信息之前,先发送4个字节FEH,以唤醒接收方。

  1. 传输响应

通信总是由主站向从站发出请求命令,被请求的从站接收到命令后作出响应。

从站设备收到命令帧后的响应延时 Td:20ms≤Td≤500ms; 字节之间停顿时间 Tb:Tb≤500ms。

  1. 应用举例

电表地址:21 65 20 01 40 19,获取电表A相电流的数值(数据标识:02 02 01 00)。

主站发送的请求数据帧:

电表发送的应答数据帧:

电表返回的A相电流数值是CB 47 33,转换为原始数据(减去0x33并翻转字节序)为00 14 98,因此对应的实际电流是1.498A。

实现方案:

通过Anybus ABC3007网关将串行RS485接口的多功能电能表,接入罗克韦尔EtherNet/IP网络的PLC中,网络结构如下图所示。

如果您的PLC是西 门子PROFINET网络,或者倍福EtherCAT网络,或者别的通讯协议的PLC,可以使用该系列其他型号的网关进行转换,如ABC3013将串行设备接入PROFINENT网络PLC,ABC3061将串行设备接入EtherCAT网络PLC。

网关配置

  1. 设置串行通信参数

按照电表串行通信中1个起始位、8个数据位,1个偶校验位和一个停止位,设置串行通讯参数。波特率根据实际电表设置,默认2400bps。

  1. 创建指令模板

按照数据帧格式,创建指令模板,如读相电压,相电流等。由于每一块电表的地址是不同的,在模板中不给定电表地址数值,使用时再设置。

  1. 调用指令

根据需要调用读A相电流指令,填入电表地址。

  1. 通讯报文

抓取串行总线上的报文,可以看到电表返回的A相电流数值。

网关不对读取到的A相电流数据进行换算,为保证实时性(延迟小于1ms),只进行协议的转换,将数据传送给另外一侧网络的PLC中,在PLC中对数据进行处理和类型转换。

数据在PLC中的处理

在罗克韦尔PLC中,我们需要将网关组态进来,然后对数据进行处理和换算。

  1. 添加网关设备

在组态工具中添加网关设备。

  1. 数据处理

从网关传递过来的A相电流数值是CB 47 33,需要将其转换为原始数据减去0x33,然后按照分辨率0.001进行换算。

  1. 在线运行

将配置和程序下载到PLC中,在线运行后可以看到A相电流值是1.498A。

以上通过网关我们在PLC中获取到了电表的A相电流,当然向电表中写数据的过程也是类似的。虽然电能表和PLC无法直接通讯,但是通过一个小小的网关,就可以方便的连接起他们。