发送报文:设备地址:01功能码:03起始地址:00 00(例如从第一个寄存器开始读取)寄存器数量:00 02(读取两个寄存器的值)CRC校验举例报文:01 03 00 00 00 02 CRC校验接收报文:设备地址:01功能码:03字节数:04(两个寄存器,每个寄存器两个字节)数据:XX XX YY YY(四个字节,表示两个寄存器的值)CRC...
数据按每寄存器两字节组成。 以下是写入从站设备17的40002开始的两个寄存器(4个字节),写入十六进制值00 0A和01 02的请求示例: 响应(Response) 正常响应返回从机地址、功能码、起始地址和已写入的寄存器数量。以下是对上述请求的响应示例: 状态转移图 下图是写多个寄存器这类事务状态转移图: 好了,关于最常用的几种...
3、下发:01(485地址)03(485功能码-读取寄存器数据)0C 4E(需要读取参数的起始地址高+低位MW300)0003 (需要读取的字数量)66 8C(16位CRC校验码低位在前) 回复:01(485地址)03(485功能码)06(读取到的字节数量)00 01(读取MW300的参数) 00 03(读取MW302的参数)0065(读取MW304的参数)2C 9E(16位CRC校验码...
03接受报文格式:从机地址+功能码+字节数+具体数据+CRC校验 首先我们看一下发送报文: 从机地址是01,功能码03,起始地址00,寄存器数量是十六进制0A也就是10,和门设置的是一样的,我们来对对照一下我们设置的参数: 我们再来看一下接收报文: 从机地址是01,功能码03,返回字节数是十六进制14也就是返回20给字节,我们...
1.3.3.1 读取保持寄存器 (功能码03) 主机发送数据部分: 主机发送功能码03的数据,表示要读取从0x0032开始3个寄存器的内容。 从机回复的数据部分: 从机发送功能码03的数据,表示读取到的数据总共6个字节,分别为0x00、0x01、0x00、0x02、0x00、0x03,即读取到的3个寄存器的数据为0x0001、0x0002、0x0003。
我们这期重点介绍Modbus协议功能码。 功能码种类 Modbus功能码是Modbus消息帧的重要组成部分,用于通信事务处理。 功能码占用1个字节,取值范围是1到127(0x01~0x7F),功能码+0x80表示异常状态。 Modbus协议中规定了三类功能码:公共功能码、用户自定义功能码和保留功能码。
20、设置长度2 BYTE0X0000 TO 0X7B0错误响应功能码1BYTE0X10+ 0X80错误代码1BYTE0x1 or 0x2 or 0x3 or 0x4举例设置多个保持寄存器请求响应域名称数据(hex)域名称数据(hex)功能码10功能码0F设顷址高(字节)00设顷址高(字节)100设顷址低(字节)01设顷址低(字节)101设置数量高(W)00设置数量高(字节)00...
2 功能码“01”:读1路或多路开关量输出状态 例如:主机要读取地址为01,开关量DO1,DO2的输出状态。 从机(PDM)数据寄存器的地址和数据为: 主机发送的报文格式: 从机(PDM)响应返回的报文格式: 3 功能码“03”:读多路寄存器输入 例如:主机要读取地址为01,起始地址为0116的3个从机寄存器数据。
5、打开串口调试助手,见下图5,串口号选择COM5,然后打开中口,接收区和发送区分别选择“十六进制显示”,在发送区输入指令:01 03 00 00 00 01 84 0A ,接收区即可返回数据:01 03 02 00 14 B8 4B,其中14(十六进制)就是读取的寄存器值。 图5 串口调试助手设置 ...