列举多个modbus01功能码的例子
时间: 2023-10-02 17:04:03 浏览: 48
以下是一些常见的modbus01功能码的例子:
1. 读取线圈状态(01H):查询线圈的开关状态,返回开关状态的位值。
2. 读取离散输入状态(02H):查询离散输入状态,返回输入状态的位值。
3. 读取保持寄存器(03H):查询保持寄存器的值,返回寄存器值。
4. 读取输入寄存器(04H):查询输入寄存器的值,返回寄存器值。
5. 强制单个线圈(05H):设置单个线圈的值,返回设置是否成功。
6. 预置单个寄存器(06H):设置单个寄存器的值,返回设置是否成功。
7. 强制多个线圈(0FH):设置多个线圈的值,返回设置是否成功。
8. 预置多个寄存器(10H):设置多个寄存器的值,返回设置是否成功。
9. 读取文件记录(14H):查询文件记录的值,返回记录数据。
10. 写入文件记录(15H):设置文件记录的值,返回设置是否成功。
相关问题
列举01功能码示例和说明
1. 01H - 读线圈状态:查询指定线圈的开关状态,返回值为布尔类型(0为OFF,1为ON)。
2. 05H - 写单个线圈:将指定线圈的状态设置为开或关,参数为布尔类型。
3. 0FH - 写多个线圈:一次性设置多个线圈的状态,参数为开关状态的位串。
4. 02H - 读离散输入状态:查询指定离散输入的状态,返回值为布尔类型。
5. 04H - 读输入寄存器:查询指定输入寄存器的值,返回值为16位整数。
6. 03H - 读保持寄存器:查询指定保持寄存器的值,返回值为16位整数。
7. 06H - 写单个寄存器:将指定寄存器的值设置为给定的16位整数值。
8. 10H - 写多个寄存器:一次性设置多个寄存器的值,参数为16位整数值的位串。
列举modbus协议例子
1. 读取寄存器:
设备地址:01
功能码:03
起始地址:0000
寄存器数量:0004
校验码:CRC16
请求指令:01 03 00 00 00 04 CRC16
响应指令:01 03 08 27 00 01 02 03 04 CRC16
解释:表示读取设备地址为01的设备中从0000到0003的四个寄存器的值为(00 01 02 03 04),CRC16为校验码。
2. 写单个寄存器:
设备地址:01
功能码:06
寄存器地址:0001
寄存器值:000A
校验码:CRC16
请求指令:01 06 00 01 00 0A CRC16
响应指令:01 06 00 01 00 0A CRC16
解释:表示将设备地址为01的设备中0001寄存器的值设置为0A,CRC16为校验码。
3. 写多个寄存器:
设备地址:01
功能码:10
起始地址:0001
寄存器数量:0002
字节数:04
寄存器值:000A 000B
校验码:CRC16
请求指令:01 10 00 01 00 02 04 000A 000B CRC16
响应指令:01 10 00 01 00 02 CRC16
解释:表示将设备地址为01的设备中0001和0002寄存器的值设置为0A和0B,CRC16为校验码。