Modbus是一种通讯协议,其中包含四种功能码类型,分别是线圈寄存器、输入寄存器、保持寄存器和离散输入寄存器。这四种寄存器都是位或字节或字类型的数据存储区,用于在Modbus通讯中传输数据。
-
线圈寄存器:线圈寄存器是Modbus协议用于控制开关设备的一种功能码类型。线圈寄存器中存储的是包括开关量在内的二进制数字数据。线圈寄存器的唯一目的是在Modbus通讯中读和写开关量状态(读线圈状态0x01、写单个/多个线圈0x05/0x15),开关量设备可以通过它来执行控制指令。
-
离散输入寄存器:离散输入寄存器是Modbus协议用于读取开关量设备状态的一种功能码类型(相当于线圈寄存器的只读状态)。离散输入寄存器中存储的是开关量状态的数字数据。离散输入寄存器的唯一目的是在Modbus通讯中读取开关量设备的状态。
-
输入寄存器:输入寄存器是Modbus协议用于读取模拟量设备数据的一种功能码类型。输入寄存器中存储的是模拟量信号的数字数据。输入寄存器的唯一目的是在Modbus通讯中读取模拟量设备的数据(只支持读而不能写)。
-
保持寄存器:保持寄存器是Modbus协议用于存放设备状态和控制数据的一种功能码类型。保持寄存器中存储的是控制指令和设备状态数据,如设备的运行状态、故障状态、报警状态等。保持寄存器的唯一目的是在Modbus通讯中存放和读取设备状态和控制数据(读和写具体的数据量)。
功能码可以分为位操作和字操作。位操作的最小单位为一位(bit),字操作的最小单位为两个字节。
- 位操作指令:读线圈状态功能码 01,读离散输入状态功能码 02,写单个线圈功能码 05,写多个线圈功能码 15。
- 字操作指令:读保持寄存器功能码 03,读输入寄存器功能码 04,写单个保持寄存器功能码 06,写多个保持寄存器功能码 16。

4036

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



