Modbus-RTU常用功能码 03,16

Modbus协议主要有两个版本RTU和TCP/IP,RTU可以通过RS485接口实现,TCP/IP可以通过以太网口实现,这两种协议都是工控行业、自动化行业常用的。
Modub-RTU协议的具体内容

该协议是主从方式的通讯方式,有一个主机可以挂接多个从机,每个从机具有唯一的地址用来辨识身份,并通过不通的功能码来实现所要读取/写入的内容。

作为简单的应用,主要涉及到0x03读保持寄存器功能码、0x06预置单个寄存器功能码、0x10预置多个寄存器功能码等。

读保持寄存器功能码0x03

当主机发送03功能码时,表明主要想要获取从机某个寄存器里的内容,一条完成的命令包括主机发送的数据和从机回复的数据,分别举例如下:

主机发送:01 03 00 32 00 02 xx xx

主机回复:01 03 04 a5 d4 1812 xx xx

数据和字节含义如下图所示。
在这里插入图片描述
主机所发送的命令表示,想要读取1号从机从0x32开始的2个寄存器的内容,而从机回复0x32和0x33寄存器内的数据,总共4个字节。最后两个字节是校验码。
预置多个寄存器功能码0x10

16功能码也是写寄存器但是与06所不同的是,该功能码可以连续写多个寄存器,主机下发的数据结构为:地址、功能码、寄存器起始地址、寄存器个数、要写入数据的字节数、数据、校验码等。从机回复的数据格式为:地址、功能码、寄存器起始地址、寄存器个数、校验码等。

数据格式举例和字节含义如下图所示。
在这里插入图片描述
所表示的含义是,从0x0034开始连续写入四个字节的数据到2个寄存器中,最后两个字节是校验码。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Modbus-RTU测试工具是一种用于测试和验证Modbus-RTU协议的工具。Modbus-RTU是一种串行通信协议,广泛应用于工业自动化领域。CRC16版的Modbus-RTU测试工具主要用于计算和验证CRC16校验。 CRC16是一种循环冗余校验算法,用于检测和纠正数据传输过程中的错误。在Modbus-RTU通信中,每个数据包都包含一个CRC16字段,用于校验数据的完整性。因此,正确计算和验证CRC16校验对于确保数据的准确性和可靠性至关重要。 Modbus-RTU测试工具的CRC16版通常具备以下功能: 1. CRC16计算:能够根据输入的数据包计算出相应的CRC16校验。这对于模拟生成正确的校验或用于比对校验非常有用。 2. CRC16验证:能够根据接收到的数据包和CRC16校验验证数据包的完整性。如果验证失败,说明数据传输过程中可能发生了错误或数据包被篡改。 3. 数据包解析:能够解析Modbus-RTU数据包的各个字段,包括设备地址、功能、数据和CRC16校验。这有助于分析和理解数据包的结构和内容。 4. 数据包生成:能够根据输入的设备地址、功能、数据等信息,生成符合Modbus-RTU协议要求的数据包。这对于模拟生成测试数据或构建测试场景非常有帮助。 总之,Modbus-RTU测试工具的CRC16版主要用于计算和验证CRC16校验,以确保数据的完整性和准确性。它是Modbus-RTU协议开发和测试过程中的重要工具,有助于保障系统的稳定性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值