Modbus RTU通讯协议:瑞银电能表的"普通话"指南浏览数:395

 Modbus RTU协议就像工业设备间的"普通话",让不同品牌的电能表、传感器等设备能够顺畅"交流"。


通俗易懂说电能表Modbus RTU协议 (1).jpg
瑞银
Modbus通讯协议应用演示

 本文将用最简单易懂的方式,带您了解Modbus RTU在电能表中的应用,即使您是完全没有技术背景的小白,也能轻松掌握这一重要工业通信协议的核心要点。

1
什么是Modbus RTU协议?


  Modbus RTU是一种串行通信协议,最初由Modicon公司(现为施耐德电气的一部分)在1979年为其PLC(可编程逻辑控制器)开发。

  如今,它已成为工业自动化领域应用最广泛的协议之一,全球有超过400家厂商支持。


Modbus协议
通俗易懂说电能表Modbus RTU协议 (2).jpg

为什么叫"RTU"?RTU是英文"Remote Terminal Unit"(远程终端设备)的缩写,表明这种协议主要用于远程设备间的通信。它就像电力设备间的"短信系统",通过简单的请求和回复机制实现数据交换。

2
Modbus RTU如何工作?
Modbus RTU采用 主从式通信架构 ,就像一个教室里的老师和学生

主站(Master) :相当于"老师",通常是电脑、PLC或集中器,负责发起问题和指令 。

从站(Slave) :相当于"学生",如电能表、传感器等设备,只能回答老师的提问,不能主动发言 在电能表应用中。

通俗易懂说电能表Modbus RTU协议 (1).jpg
3
Modbus RTU的报文格式
设备间的"短信模板"

Modbus RTU的通信报文就像一条精心设计的短信,有固定的格式要求。

一条完整的Modbus RTU报文包含以下几个部分:


地址码

功能码

数据域

校验码

8-Bits

8-Bits

N×8-Bits

16-Bits


地址码 (1字节):相当于"收件人电话",标识目标电能表的地址(1-247),0为广播地址。 

功能码 (1字节):相当于"短信类型",告诉电能表要做什么操作(如读数据、写数据等) 。

数据域 (N字节):具体要传输的信息内容,如寄存器地址、数据值等 。

CRC校验码 (2字节):相当于"防伪码",用于检查信息在传输过程中是否出错 。


  以读取瑞银电能表总正向有功电能数据的典型报文为例:


[地址00][功能码03][起始地址00 0C][读取长度00 02][CRC校验05 D9]


  这相当于说:"所有电表,请从000C号寄存器开始,读取1个寄存器的数据"。

通俗易懂说电能表Modbus RTU协议 (3).jpg

1号电能表收到后会回复:


[地址01][功能码03][数据长度04][数据00 00 00 00][CRC校验FA 33]


表示:"1号电表回复:读到的总正向有功电能数据值是00 00 00 00(十六进制)"(注意:该1号表为未经使用的新表)。下图为测试演示图:


Modbus读取电能表正向有功总电能.png
4
电能表中的"数据本":寄存器详解


  Modbus RTU协议中,电能表的各种数据都存储在"电子表格"——寄存器中。寄存器主要分为四种类型:

寄存器类型
读写权限
功能码
典型存储内容
线圈寄存器
读写
01,05
继电器状态、开关控制
离散输入寄存器
只读
02
开关量输入(如报警信号)
输入寄存器
只读
04
实时测量数据(电压、电流等)
保持寄存器
读写
03,06
设备参数、累计电量等

  在电能表应用中,最常见的寄存器是:


输入寄存器

(04H功能码):存储实时测量的电压、电流、功率等数据.

保持寄存器

(03H功能码):存储累计电量、设备参数等




    5
    瑞银电能表Modbus寄存器地址信息表


      modbus 协议广播地址0x00,瑞银电能表具体modbus协议寄存器地址信息,详见下面表格:

    寄存器

    变量名称

    属性

    数据

    类型

    个数

    备 注

    十六进制

    单位

    读写

    0x0000

    直流电

    V

    RO

    S16

    1

    -9999~9999

     

    读数=有效值×10(小数点-3)例:读到数据为 5000,小数点为 2,即实际数据为:5000*10(2-3) =500.0

    0x0001

    电压小数点

    RO

    U16

    1

    值固定为:0

    0x0002

    直流电流值

    A

    RO

    S16

    1

    -9999~ 9999

    0x0003

    电流小数点

    RO

    U16

    1

    值固定为:1

    0x0008

    功率值

    kW

    RO

    S16

    1

    -9999~ 9999

    0x0009

    功率小数点

    RO

    U16

    1

    值固定为:1

    0x000C

    总正向有功电能

    0.001kWh

    RO

    U32

    2

    高字节在前,低字节在后;

    0x203C

    路电

     

    0.0001V

    RO

    I32 

    2

    高字节在前,低字节在后;

    0x203E

    路电

     

    0.0001V

    RO

    I32 

    2

    恒为0

    0x2040

    路电流

    0.0001A

    RO

    I32 

    2

    高字节在前,低字节在后;

    0x2042

    2 路电流

    0.0001A

    RO

    I32 

    2

    恒为0

    0x2044

    1路功率

    0.0001kW

    RO

    I32 

    2

    高字节在前,低字节在后;

    0x2046

    2路功率

    0.0001kW

    RO

    I32 

    2

    恒为0

    0x9A00  

     

    正向有功总电能

     

    kWh

    RO

    float

    2


    0xA001/0x8900

    本机地址

    RW

    U16

    1

    0~247



    备  注 说 明


    名称
    描述

    U16

    无符号16 位整形

    U32

    无符号32位整形

    I16
    有符合16位整形
    I32
    有符合32位整形
    float
    浮点数,IEEE754
    RO
    只读数据
    RW
    可读可写
    WO
    只写数据


    6
    读取瑞银电能表报文演示


      通过瑞银电能表上位机软件,读取DJZ1226直流智能电能表的:总正向有功电能、电压、电流、功率以及表地址。


    Modbus读取电能表各项数据.png


    如上图演示,上位机发送与接收的详细报文内容:

    13:25:30.229 Total positive active energy(000C0002) ...

    13:25:30.256 ▼Send:00 03 00 0C 00 02 05 D9

    13:25:30.344 ▲Receive:01 03 04 00 00 00 00 FA 33

    13:25:30.359 DC voltage(00000002) ...

    13:25:30.424 ▼Send:00 03 00 00 00 02 C5 DA

    13:25:30.428 ▲Receive:01 03 04 00 17 00 03 0A 36

    13:25:30.494 DC current(00020002) ...

    13:25:30.522 ▼Send:00 03 00 02 00 02 64 1A

    13:25:30.610 ▲Receive:01 03 04 00 30 00 02 7B FD

    13:25:30.621 Power(00080002) ...

    13:25:30.682 ▼Send:00 03 00 08 00 02 44 18

    13:25:30.690 ▲Receive:01 03 04 00 01 00 02 2A 32

    13:25:30.702 Communication Address 2(A0010001) ...

    13:25:30.779 ▼Send:00 03 A0 01 00 01 F6 1B

    13:25:30.783 ▲Receive:01 03 02 00 01 79 84

    13:25:30.795 End of reading data.



    7

    修改电能表通讯地址


    Modbus协议修改电能表通讯地址演示
    Modbus协议修改电能表通讯地址.png
    1. 右击以管理员身份运行AMS软件,点击菜单栏“Function”中的“Meter-Setting”。

    2. 勾选“Communication Address1[8900]”前方的方框。

    3. 如演示图,双击“Value”下方,并输入数值:1

    4. 点击“Write”按钮,发送指令。

    5. 返回报文“01 06 89 00 00 01 62 56”,则表示设置成功。其中01即成功修改后的电能表地址。

    8

    常见问题与调试技巧


      即使Modbus RTU协议相对简单,在实际应用中仍可能遇到各种问题。以下是电能表通信中常见的故障及解决方法:


    01
    通讯完全无响应

    检查物理连接 : 

    ▪RS-485接线是否正确(A/B线是否接反)。

    ▪ 终端电阻是否匹配(一般在总线两端各接120Ω电阻)。

    ▪ 通信距离是否超出限制(RS-485理论可达1200米,但实际受环境影响) 。

    验证参数设置 : 

    ▪波特率、数据位、停止位、校验方式是否与电能表一致 。

    ▪设备地址是否设置正确(无重复地址)。

    02
    通讯时好时坏

    检查线路干扰

    ▪使用双绞屏蔽线,并确保屏蔽层单端接地 。

    ▪避免与强电线缆平行走线。 

    测试单个设备 : 

    ▪逐个接入电能表,排查故障设备。 

    ▪使用瑞银电子专用上位机软件(如AMS)直接与电能表通信,确认问题所在。

    03
    数据错误

    验证CRC校验

    ▪检查发送和接收的CRC码是否一致 。

    ▪确认数据字节顺序(Modbus RTU通常为小端模式)。

    ● 检查寄存器映射 : 

    ▪确认使用的寄存器地址与电能表说明书一致 。

    ▪注意寄存器地址的偏移量。

    光伏、储能、充电桩新一代直流电能表,助力新能源发展!

      如您需要使用本文中的瑞银上位机软件(Modbus RTU协议),请联系您购买瑞银电能表的订单负责人,以及获得更多售后技术支持。


    服务热线:

    18042002123

    地址:浙江省杭州市余杭区仁和街道奉欣路98号
    邮箱:xucg@reallin.com

    Copyright © 2024~2026瑞银电子(工业事业部)
    浙ICP备2022027738号