圖久智能控制器、模塊、軟件支持modbus標(biāo)準(zhǔn)協(xié)議通信能力,可對接第三方設(shè)備,如空調(diào)機(jī)組、VRV多聯(lián)機(jī)空調(diào)、新風(fēng)系統(tǒng)、變配電系統(tǒng)等等,常見的寄存器及功能碼介紹如下:
0x01: 讀線圈寄存器
0x02: 讀離散輸入寄存器
0x03: 讀保持寄存器
0x04: 讀輸入寄存器
0x05: 寫單個線圈寄存器
0x06: 寫單個保持寄存器
0x0f: 寫多個線圈寄存器
0x10: 寫多個保持寄存器
如上所示一共8種功能碼。這其中有涉及到線圈、離散輸入、保持、輸入四種寄存器。這名字也不知道誰起的,讓人看了一點不通俗易懂,搞得暈暈乎乎。實際上你要是看清他的本質(zhì)就很簡單了。下面分別解釋一下:
線圈寄存器,實際上就可以類比為開關(guān)量,沒一個bit都對應(yīng)一個信號的開關(guān)狀態(tài)。所以一個byte就可以同時控制8路的信號。比如控制外部8路io的高低。 線圈寄存器支持讀也支持寫,寫在功能碼里面又分為寫單個線圈寄存器和寫多個線圈寄存器。對應(yīng)上面的功能碼也就是:0x01 0x05 0x0f
離散輸入寄存器,如果線圈寄存器理解了這個自然也明白了。離散輸入寄存器就相當(dāng)于線圈寄存器的只讀模式,他也是每個bit表示一個開關(guān)量,而他的開關(guān)量只能讀取輸入的開關(guān)信號,是不能夠?qū)懙?。比如我讀取外部按鍵的按下還是松開。所以功能碼也簡單就一個讀的 0x02
保持寄存器,這個寄存器的單位不再是bit而是兩個byte,也就是可以存放具體的數(shù)據(jù)量的,并且是可讀寫的。比如我我設(shè)置時間年月日,不但可以寫也可以讀出來現(xiàn)在的時間。寫也分為單個寫和多個寫,所以功能碼有對應(yīng)的三個:0x03 0x06 0x10
輸入寄存器,只剩下這最后一個了,這個和保持寄存器類似,但是也是只支持讀而不能寫。一個寄存器也是占據(jù)兩個byte的空間。類比我我通過讀取輸入寄存器獲取現(xiàn)在的AD采集值。對應(yīng)的功能碼也就一個 0x04