先了解ModbusRTU的通信协议。
功能码:
| 代码 |
名称 |
作用 |
| 01 |
读取线圈状态 |
取得一组逻辑线圈的当前状态(ON/OFF) |
| 02 |
读取输入状态 |
取得一组开关输入的当前状态(ON/OFF) |
| 03 |
读取保持寄存器 |
在一个或多个保持寄存器中取得当前的二进制值 |
| 04 |
读取输入寄存器 |
在一个或多个输入寄存器中取得当前的二进制值 |
| 05 |
强置单线圈 |
强置一个逻辑线圈的通断状态 |
| 06 |
预置单寄存器 |
放置一个特定的二进制值到一个单寄存器中 |
| 07 |
读取异常状态 |
取得8个内部线圈的通断状态 |
| 15 |
强置多线圈 |

本文详细介绍了ModbusRTU通信协议的功能码及其应用场景,包括读取线圈状态、输入状态、保持寄存器和输入寄存器,以及如何通过预置单寄存器和多寄存器来控制设备。同时,提供了CRC16校验和数据包构建的具体实现。
最低0.47元/天 解锁文章
4939

被折叠的 条评论
为什么被折叠?



