圖久智能控制器、模塊、軟件支持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