在做物聯(lián)網(wǎng),需要用modbus協(xié)議與硬件通訊,想試下Gateway或者workman能不能做,就是沒什么頭緒,網(wǎng)上也沒有案例可參考。
比如gateway該怎么配置,listen怎么填,讀寫寄存器要發(fā)什么格式的數(shù)據(jù)
https://gitee.com/bubaishaolong/modbus-tcp-client 這個(gè)直接去鏈接modbus服務(wù)器 獲取寄存器里面的值,當(dāng)前bit位也可以進(jìn)行操作
這個(gè)是我最近弄得一個(gè) https://gitee.com/bubaishaolong/webman_iot 可以參考一下
大佬請(qǐng)教一下,寄存器的值大于255就會(huì)從新計(jì)算,比如寄存器存儲(chǔ)的值是256,但是讀到數(shù)據(jù)是0,257讀到的就是1,這種要怎么正確讀取寄存器的值?
這個(gè)問題解決了,每個(gè)寄存器返回的數(shù)組元素是兩個(gè),索引為0的元素存儲(chǔ)的是256的倍數(shù),所以正確的值應(yīng)該是$value = 256 * $word->getBytes()[0] + $word->getBytes()[1];
大佬請(qǐng)問下如何實(shí)現(xiàn)按位讀寫?比如說一個(gè)8位寄存器地址,用0和1代表開關(guān),那一個(gè)地址就可以存儲(chǔ)8種設(shè)備的狀態(tài),那如何只改變其中一位的值?