ModBus 协议

文章详细介绍了Modbus的不同传输模式,包括ModbusRtu、ModbusTcp等,并阐述了Modbus存储区的数据类型、读写权限以及功能码的使用。例如,0x02用于读取输入线圈,0x03用于读取输出寄存器。此外,文章还解析了Modbus在串行链路中的报文格式,包括从站地址、功能码、数据和校验部分,并给出读取输出寄存器的报文实例。
摘要由CSDN通过智能技术生成

ModbusRtu/ModbusAscii/ModbusTcp

串口 、 以太网

ModbusRtu、ModbusAscii、ModbusTcp、ModbusUdp、

ModbusRtuOverTcp、ModbusRtuOverUdp

ModbusAsciiOverTcp、ModbusAsciiOverUdp

10 : 0x0A = 10dec  0x30 0x31

Modbus存储区

数据类型:布尔量  寄存器

读写:只读  读写

只读布尔量:输入线圈     1区        10001-19999

只读寄存器:输入寄存器  3区        30001-39999

读写布尔量:输出线圈      0区        00001-09999

读写寄存器:输出寄存器   4区        40001-49999

扩展:4区扩展一位:  400001-465535

功能码:

读取输入线圈        0x02

读取输入寄存器     0x04

读取输出线圈         0x01

读取输出寄存器      0x03

写入单个输出线圈   0x05

写入多个输出线圈   0x0F

写入单个输出寄存器 0x06

写入多个输出寄存器0x10

Modbus通信协议分析

Modbus在串行链路中的报文格式:

        从站地址 + 功能码 + 数据(变化) + 校验

从站地址:设备编号,区分,Modbus一主从多s

功能码03 读取输出寄存器

发生报文格式:

 一个字节: 0 - 255

起始寄存器: 二个字节 0-65535

数量:二个字节

接收报文格式:

Rx:01 03 00 00 00 0A C5 CD    //读保持寄存器起始地址00 00 数量为10

01:从站地址

03:功能码

00 00 :起始地址

00 0A:数量

C5 CD:校验

Tx:01 03 14 00 0C 00 00 00 2C 00 0F 00 00 00 00 00 00 00 00 00 00 00 00 88 24

01:从站地址

03:功能码

14:字节计数

00 0C 00 00 00 2C 00 0F 00 00 00 00 00 00 00 00 00 00 00 00:数据值

   12        0       44      15        0         0      0        0          0        0

88 24:校验

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值