MODBUS规约报文解析

MODBUS规约报文解析

报文格式,报文全部为16进制,遥信状态需要转换为二进制:

主站发送报文

地址

功能码

寄存器起始地址

读取数据长度

CRC校验码

01

03

01

00

00

02

C5

F7

说明
(读取01地址设备03功能码遥信状态)

设备地址

设备的规约或点表查看
(
遥信、遥测、遥控)

从设备的:0x0100H 寄存器读取遥信状态,可以在规约或寄存器点表中查看。
0100说明:其中00为低位(1-8个遥信),01为高位(9-16个遥信)

读取:0x0100H、0x0101H 两个寄存器数据,一共读取32个遥信位置。

可通过串口软件自动计算出

主站接受报文

地址

功能码

数据长度

寄存器1状态0100H

寄存器2状态0101H

CRC校验码

01

03

04

03

43

00

00

0B

A3

说明
(读取01地址设备03功能码遥信状态)

设备地址

设备的规约或点表查看
(
遥信、遥测、遥控)

表示收到4个数据
(03、03、00、00)

高位状态
(9
~16号遥信状态,需转换成二进制)
00000011
第9、10个遥信为合位

低位状态
(1
~8号遥信状态,需转换成二进制)
01000011
第1、2、7个遥信为合位

高位
(17
~24号遥信状态,需转换成二进制)

低位
(25
~32号遥信状态,需转换成二进制)

设备自动计算出

 MODBUS-RTU报文模型

设备地址

功能代码

数据格式

CRC校验L

CRC校验H

8bit

8bit

N*8bit

8bit

8bit

一个报文就是一帧数据,一个数据帧就一个报文: 指的是一串完整的指令数据,就像上面的一串数据。

主机对从机读数据操作

0x01

03

00 01

00 01

D5 CA

从机地址

功能号

数据地址

读取数据个数

CRC校验

从机对主机返回内容

0x01

03

02

00 17

F8 4A

从机地址

功能号

数据字节个数

两个字节数据

CRC校验

这样MODBUS主机就完成了一次对从机数据的读操作,实现了通讯。

MODBUS-RTU常用功能码

数据类型

读功能码

写功能码

对象类型

离散量输入

02

 

单个位

线圈状态

01

05,15

单个位

输入寄存器

04

 

16位字

保持寄存器

03

06,16

16位字

寄存器起始地址(起始数据地址)

数据类型

参数地址,寄存器编号

离散量输入

00001~0FFFF

线圈状态

10001~1FFFF

输入寄存器

30001~3FFFF

保持寄存器

40001~4FFFF

报文实例

遥控点号:开关操作=0300H  合操作

TX:  01 06 03 0000 02 08 4F     //06表示遥控功能码,02表示分操作;

RX:  01 06 03 0000 02 08 4F     //06表示遥控功能码,02表示分操作;

遥控点号:开关操作=0300H  分操作

TX:  01 06 03 0000 01 48 4E     //06表示遥控功能码,01表示分操作;

RX:  01 06 03 0000 01 48 4E     //06表示遥控功能码,01表示分操作;

遥测报文:每个遥测值占用2个字节,即1个寄存器,最大值为:0x0000H~0xFFFFH,即:0~65535。

发送数据:01 03 02 00 00 0D 85 B7       //16时27分02秒

接收数据:01 03 1A 00 00 00 00 00 00 1E AE 00 00 1EAD 1E AD 00 00 00 00 00 00 00 00 00 00 6A 96 77 67 

总召换的电度

共有4个电度:

正向有功积分电度=0301H    10000.000(0x00989680),

正向无功积分电度=0302H     0.000 (0x0),

反向有功积分电度=0303H     0.000(0x0),

反向无功积分电度=0304H     0.000(0x0)。

TX:01 03 81 02 00 08 CD F0 //8102为总召唤,00 08 为数据长度

RX:  01 03 10 0098 96 80 00 00 00 00 00 00 00 00 00 00 00 00 15 64   //10为报文数据长度。

电度:( 03命令码)

寄存器号

遥测报文值

转换

10进制值

正向有功积分电度 

0301H

00 98 96 80

10000000

正向无功积分电度

0302H

00 00 00 00

0

反向有功积分电度 

0303H

00 00 00 00

0

反向无功积分电度

0304H

00 00 00 00

0

  • 13
    点赞
  • 92
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值