ModBus常用命令
文章目录一、ModBus格式二、功能码1.概述2.读多个寄存器03码(0x03)3.写单个寄存器06码(0x06)4.写多个寄存器16码(0x10)5.错误码一、ModBus格式协议总共由4部分组成: 地址、功能、数据、校验。二、功能码1.概述简单的理解线圈就是位操作。比如说单片机控制了8路的继电器输出,为了方便表示继电器的状态,就用8个位来表示8个继电器的状态,比如0表示继电器断开,1表示继电器
·
一、ModBus格式
协议总共由4部分组成: 地址、功能、数据、校验。
二、功能码
1.概述
简单的理解线圈就是位操作。比如说单片机控制了8路的继电器输出,为了方便表示继电器的状态,就用8个位来表示8个继电器的状态,比如0表示继电器断开,1表示继电器吸合。这样0x00就表示8路继电器全部断开,0xFF表示8路继电器全部吸合。
寄存器是字节操作,比如传感器采集温度的时候用一个字节表示当前温度,比如当前温度28℃,就用0x1C表示。
2.读多个寄存器03码(0x03)
主站:从某个起始地址读n个寄存器
从站:返回读取到的字节数+寄存器的值
3.写单个寄存器06码(0x06)
主站:从某个地址写某个寄存器值
从站:返回写入的寄存器地址+寄存器值
4.写多个寄存器16码(0x10)
主站:从某个地址写几个寄存器的值(字节数为写入寄存器的值)
从站:返回某个地址及寄存器数量
响应命令只返回写的寄存器数量,而不返回写的寄存器值,这个和写单个寄存器是不同的
5.错误码
差错码的值为功能码的值加上0x80
更多推荐
已为社区贡献2条内容
所有评论(0)