在 Modbus 协议中,常用的数据类型包括以下几种:
- 位数据(Coils):Coils 数据类型表示单个开关量的状态,可以表示开/关、真/假等状态,只能读取和写入单个位,使用功能码 01H 或 05H 可以对 Coils 进行读写操作。
- 离散量输入(Discrete Inputs):D iscrete Inputs 数据类型表示输入的状态,只能读取,不能写入,使用功能码 02H 可以对 Discrete Inputs 进行读操作。
- 16 位无符号整数(Input Registers):Input Registers 数据类型表示无符号的 16 位整数,只能读取,不能写入,使用功能码 04H 可以对 Input Registers 进行读操作。
- 16 位有符号整数(Holding Registers):Holding Registers 数据类型表示有符号的 16 位整数,可以读取和写入,使用功能码 03H 或 06H 可以对 Holding Registers 进行读写操作。
这些数据类型的区别在于它们的功能和操作类型不同,线圈和 Discrete Inputs 只能读取,Input Registers 和 Holding Registers 可以读写,而且 Input Registers 和 Holding Registers 还区分有符号和无符号两种类型。在实际应用中,根据不同的应用场景和需要采集的数据类型,选择合适的数据类型进行通信和操作。