图久智能控制器、模块、软件支持modbus标准协议通信能力,可对接第三方设备,如空调机组、VRV多联机空调、新风系统、变配电系统等等,常见的寄存器及功能码介绍如下:

    0x01: 读线圈寄存器

    0x02: 读离散输入寄存器

    0x03: 读保持寄存器

    0x04: 读输入寄存器

    0x05: 写单个线圈寄存器

    0x06: 写单个保持寄存器

    0x0f:  写多个线圈寄存器

    0x10: 写多个保持寄存器

    如上所示一共8种功能码。这其中有涉及到线圈、离散输入、保持、输入四种寄存器。这名字也不知道谁起的,让人看了一点不通俗易懂,搞得晕晕乎乎。实际上你要是看清他的本质就很简单了。下面分别解释一下:

   线圈寄存器,实际上就可以类比为开关量,没一个bit都对应一个信号的开关状态。所以一个byte就可以同时控制8路的信号。比如控制外部8路io的高低。 线圈寄存器支持读也支持写,写在功能码里面又分为写单个线圈寄存器和写多个线圈寄存器。对应上面的功能码也就是:0x01  0x05  0x0f

   离散输入寄存器,如果线圈寄存器理解了这个自然也明白了。离散输入寄存器就相当于线圈寄存器的只读模式,他也是每个bit表示一个开关量,而他的开关量只能读取输入的开关信号,是不能够写的。比如我读取外部按键的按下还是松开。所以功能码也简单就一个读的 0x02

   保持寄存器,这个寄存器的单位不再是bit而是两个byte,也就是可以存放具体的数据量的,并且是可读写的。比如我我设置时间年月日,不但可以写也可以读出来现在的时间。写也分为单个写和多个写,所以功能码有对应的三个:0x03 0x06 0x10

   输入寄存器,只剩下这最后一个了,这个和保持寄存器类似,但是也是只支持读而不能写。一个寄存器也是占据两个byte的空间。类比我我通过读取输入寄存器获取现在的AD采集值。对应的功能码也就一个 0x04