modbus支持的功能码如下表所示:
访问 | 功能描述 | 功能码 |
位访问 | 读线圈 | 1 |
位访问 | 读离散输入 | 2 |
位访问 | 写单线圈 | 5 |
位访问 | 写多线圈 | 15 |
字访问 | 读输入寄存器 | 4 |
字访问 | 读保持寄存器 | 3 |
字访问 | 写单寄存器 | 6 |
字访问 | 写多寄存器 | 16 |
字访问 | 读/写多寄存器 | 23 |
线圈:
类似于开关量,每一个bit对应一个信号的开关状态。所以一个byte就可以同时控制8路的信号。比如控制外部8路io的高低。
线圈寄存器支持读也支持写,写在功能码里面又分为写单个线圈寄存器(功能码5)和写多个线圈寄存器(功能码15)。
离散输入:
离散输入寄存器就相当于线圈寄存器的只读模式,他也是每个bit表示一个开关量,而他的开关量只能读取输入的开关信号,是不能够写的。
保持寄存器:
用于存放具体的数据量的,并且是可读写的。
输入寄存器:
和保持寄存器类似,但只支持读而不能写,一般是读取各种实时数据。
———————————————————————————————————————————
参考链接: