正泰DDSU666 单相电能表 RS485-MODBUS RTU通讯说明

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

正泰DDSU666 单相电能表 RS485-MODBUS RTU通讯说明缩略图
🌐 This page is not yet available in English. Showing the Chinese version. Back to Chinese page.
本文目录
  1. 1. 通讯功能
  2. 2. 通讯示例
  3. 3. function code 03H:读寄存器
  4. 4. function code 10H:写多路寄存器
  5. 5. 16 位CRC check码
  6. 6. 出错处理
  7. 7. Modbus技术交流QQ群

通讯功能

仪表采用 RS485 通信方式,波特率可设为 1200、2400bps、4800bps、9600bps。
同一条通讯线路上最多可以同时连接 32 个仪表,每个仪表均可设定其通讯地址,通讯连接应使用带有铜网的屏蔽双绞线,线径不小于 0.5mm2 。布线时应使通讯线远离强电电缆或其他强电场环境,最大传输距离为 1200m,典型的网络连接方式如图,用户可根据具体情况选用其他合适的连接方式。

正泰DDSU666 单相电能表 RS485-MODBUS RTU通讯说明插图

DL/T 645-2007 协议切换到 ModBus-RTU 通讯协议的数据帧如下:

FE FE FE FE 68 xx xx xx xx xx xx 68 14 0E 33 33 35 3D 35 33 33 33 33 33 33 33 33 33 CS 16

注意:xx xx xx xx xx xx 即为屏显地址,如编号为 21 02 25 02 15 21 则填入 21 15 02 25 02 21,填入的是仪表侧边条形码标号的倒写.

正泰DDSU666 单相电能表 RS485-MODBUS RTU通讯说明插图1

CS为68 xx xx to 33 33 33的校验和后两位,不包括前面4个FE;

更改后modbus address,Baud rate,data bit,check digit,停止位以仪表屏幕显示。

默认DL/T645连接参数为(8n2,2400bps),发送上述指令,观察电表屏显,当“DLT645”变成“Modbus”即为切换成功,观察屏显“Modbus”后一屏的数字,该数字为电表的modbus从机地址,以decimal显示,注意,modbus的默认波特率为9600。

仪表设置为 ModBus-RTU 传输模式时,ModBus-RTU 通讯协议在一根通讯线上采用主从应答方式的通讯连接方式。首先,主计算机的信号寻址到一台唯一地址的终端设备(从机),然后,终端设备发出的应答信号以相反的方向传输给主机,即半双工的工作模式。该协议只允许在主机(PC,PLC 等)和终端设备之间通讯,而不允许独立的终端设备之间的数据交换,这样各终端设备不会在它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号。
仪表提供 ModBus-RTU 通讯协议(见附录 A),通讯可读取或修改的参数信息,见下表。

参数地址参数代号参数说明data type数据长度Word读写属性
0000HUcodE编程密码 codEint1R
0001HREV.软件版本int1R/W
0002HCLrE电能清零 CLr.Eint1R/W
0003HRESERVED保留int1R/W
0004HRESERVED保留int1R/W
0005HChangeProtocol协议切换设置int1R/W
0006HAddr此地址只有 Modbus-RTU 时有效int1R/W
0007HRESERVED保留int1R/W
0008HRESERVED保留int1R/W
0009HRESERVED保留int1R/W
000AHRESERVED保留int1R/W
000BHRESERVED保留int1R/W
000CHBAudBaud rateint1R/W
000DHRESERVED保留int1R/W
000EHRESERVED保留int1R/W
000FHRESERVED保留int1R/W
0010HRESERVED保留int1R/W
2000HUA 相电压float2R/W
2002HIA 相电流float2R/W
2004HP瞬时总有功功率float2R/W
2006HQ瞬时总无功功率float2R/W
2008HS瞬时总视在功率float2R/W
200AHPF总功功率因数float2R/W
200CHRESERVED保留float2R/W
200EHFreq电网频率float2R/W
2010HRESERVED保留float2R/W
4000HEp有功总电能float2R/W
通讯参数信息

ChangeProtocol 协议切换模式字,数据为 2 为 Modbus-RTU Protocol,数据为 1 时为 DL/T 645-2007协议;

CLr.E 电能清零写 1 清除总电能;

BAud Baud rate: 0:1200bps; 1:2400bps; 2:4800bps; 3:9600bps;

通讯示例

function code 03H:读寄存器

主机要读取从机地址为 01H,起始寄存器地址为 0CH 的 2 个寄存器数据,主机发送:

地址码function codeStarting register addressnumber of registersCRC verification码
010300 0C00 0204 08

如果从机寄存器 0CH、0DH 的数据为 0000H、1388H,从机返回:

地址码function codebyte countregister 0CH dataregister 0DH dataCRC verification码
01030400 0013 88F7 65

function code 10H:写多路寄存器

例如:主机要把数据 0002H、1388H、000AH 保存到从机地址为 01H,起始寄存器地址为 00H的 3 个寄存器中。

主机发送:

地址码function codeStarting register addressnumber of registers写入字节数00H 寄存器待写入数据01H 寄存器待写入数据02H 寄存器待写入数据CRC verification码
011000 0000 030600 0213 88 00 0A9B E9

从机返回:

地址码function codeStarting register addressnumber of registersCRC verification码
011000 0000 0380 08

16 位CRC check码

主机或从机可用校验码判别接收信息是否正确。由于电子噪声或一些其它干扰,信息在传

输过程中可能会发生错误,校验码可以检验主机或从机通讯信息是否有误。

16 位 CRC verification码由主机计算,放置于发送信息帧的尾部。从机再重新计算接收到的信息的CRC,比较计算得到的 CRC 与接收到的 CRC 是否一致,如果不一致,则表明出错。在进行 CRC calculation时只用到 8 个数据位,起始位及停止位都不参与 CRC calculation。

CRC verification码计算方法如下:

1) 预置 1 个 16 位的寄存器为十六进制 FFFF(即全为 1),称此寄存器为 CRC register;

2) 把第一个 8 位二进制数据(通讯信息帧的第 1 个字节)与 16 位 CRC 寄存器的低 8 位相异或,结果放于 CRC register;

3) 把 CRC 寄存器的内容右移一位(朝低位)并用 0 填补最高位,检查右移后的移出位;

4) 如果移出位为 0:重复第 3)步(再次右移一位);

如果移出位为 1:CRC 寄存器与多项式 A001(1010 0000 0000 0001)进行异或;

5) 重复步骤 3)和 4),直到右移 8 次,这样整个 8 位数据全部进行了处理;

6) 重复步骤 2)到步骤 5),进行通讯信息帧下一个字节的处理;

7) 将该通讯信息帧所有字节(不包括 CRC verification码)按上述步骤计算完成后,得到的 CRC 寄存器内容即为:16 位 CRC verification码。

出错处理

当仪表检测到了除 CRC verification码出错以外的其它错误时,将向主机回送信息,功能码的最高位置为 1,即从机返送给主机的功能码是在主机发送的功能码的基础上加 128。从机返回的错误信息帧格式如下:

地址码function code(最高位为 1)错误码CRC verification码
1 byte1 byte1 byte2字节

错误码如下:

01H非法的功能码接收到的功能码仪表不支持
02H非法的寄存器地址接收到的寄存器地址超出仪表的寄存器地址范围
03H非法的数据值接收到的数据值超出相应地址的数据范围

Modbus技术交流QQ群

正泰DDSU666 单相电能表 RS485-MODBUS RTU通讯说明插图2
技术术语(共 6 个)—— Click to Expand
RS485工业常用的差分串行通信标准,支持多点通信
function codeModbus功能码指定读/写操作类型,如01读线圈、03读保持寄存器
registerModbus 寄存器存储数据单元,分线圈/离散输入/保持/输入寄存器四类
CRC check循环冗余校验,用于检测数据传输中的错误
PLC可编程逻辑控制器,工业自动化控制的核心设备
Baud rate串行通信每秒传输符号数,Modbus RTU常用9600/19200
来源/工具信息 —— Click to Expand
来源 Modbus Chinese Network(modbus.cn) —— China leadingModbuscommunication protocol technical community Category Device register manual 字数 2766 字 · 阅读约 7 分钟 更新 2026-07-01 永久链接 https://www.modbus.cn/10181.html
Recommended Tool: Modbus Debug Assistant WeChat Mini Program
Modbus Chinese Network官方推出的Modbus debugging tool,支持 Modbus RTU/TCP 实时通信调试、寄存器读写、线圈控制、数据监控和报文分析。 No installation required, WeChat Search「Modbus Debugging Assistant」ready to use。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.