工程監(jiān)測無線中繼采集儀的參數(shù)讀寫MODBUS協(xié)議
無線中繼采集儀支持基于地址的 MODBUS 協(xié)議、自定義的 AAB/B 協(xié)議以及字符串指令集協(xié)議,使用這些通訊協(xié)議可對寄存器(參數(shù))進(jìn)行訪問。

MODBUS 協(xié)議
無線中繼采集儀支持 MODBUS 的 03、 04、 06 指令碼。(1) 03(0x03) /03(0x04) 指令碼: 讀取多個連續(xù)的寄存器數(shù)據(jù),指令格式如下

例:讀取地址為 129 的無線中繼采集儀寄存器值,寄存器開始地址為 0,連續(xù)讀取 10 個寄存器主機(jī)發(fā)送指令: 0x81 0x03 0x00 0x00 0x00 0x0A 0xDA 0x0D
從機(jī)返回應(yīng)答: 81 03 14 00 81 00 01 00 02 00 01 00 01 00 0A 00 0A 00 01 09 60 00 07 A1 EF(下劃線為讀取到的 10 個寄存器值)讀取多個連續(xù)寄存器時, 單次讀取不要超過 32 個寄存器, 不要試圖讀取不存在的寄存器。
(2) 06(0x06) 指令碼: 修改單個寄存器的值, 指令格式如下

例:將地址為 129 的無線中繼采集儀中的寄存器 8 的值修改為 100 主機(jī)發(fā)送指令: 0x81 0x06 0x00 0x08 0x09 0x60 0x11 0xB0 從機(jī)返回應(yīng)答: 0x81 0x06 0x00 0x08 0x09 0x60 0x11 0xB0
(3)校驗(yàn)碼算法
CRC16-MODBUS 算法:
unsigned int crc16(unsigned char *dat, unsigned int len)
{
unsigned int crc=0xffff;
unsigned char i;
while(len!=0)
{
crc^=*dat;
for(i=0;i<8;i++)
{
if((crc&0x0001)==0)
crc=crc>>1;
else
{
crc=crc>>1;
crc^=0xa001;
}
}
len-=1;
dat++;
}
return crc;
}
審核編輯黃宇
-
ModBus協(xié)議
+關(guān)注
關(guān)注
3文章
184瀏覽量
34383 -
采集儀
+關(guān)注
關(guān)注
0文章
300瀏覽量
7421 -
無線中繼
+關(guān)注
關(guān)注
0文章
17瀏覽量
8099
發(fā)布評論請先 登錄
Modbus協(xié)議轉(zhuǎn)換:讓工業(yè)設(shè)備輕松“對話”

工程師福音!CCLinkie轉(zhuǎn)Modbus RTU讓粉塵監(jiān)測不再“揚(yáng)灰”
Modbus轉(zhuǎn)Profinet賦予數(shù)據(jù)采集儀高效通信的超能力
檢漏儀通信革命:Modbus轉(zhuǎn)Profinet讓數(shù)據(jù)傳輸“快人一步”
告別協(xié)議沖突!Modbus轉(zhuǎn)Profinet助力風(fēng)速風(fēng)向儀無縫對接
天拓四方:Modbus協(xié)議網(wǎng)關(guān)工作原理及功能解析
一文淺談Modbus協(xié)議
Modbus協(xié)議網(wǎng)關(guān)簡介

Modbus、樓宇自控、電力協(xié)議轉(zhuǎn)Modbus協(xié)議網(wǎng)關(guān)BL120ML支持一鍵對接LabVIEW

使用MODBUS協(xié)議、樓宇自控系統(tǒng)、電力協(xié)議轉(zhuǎn)Modbus協(xié)議網(wǎng)關(guān)來集成樓宇內(nèi)的溫濕度傳感器設(shè)備

使用Modbus、樓宇自控、電力協(xié)議轉(zhuǎn)Modbus協(xié)議網(wǎng)關(guān)實(shí)現(xiàn)生產(chǎn)設(shè)備的遠(yuǎn)程監(jiān)控和管理

BACnet轉(zhuǎn)Modbus協(xié)議網(wǎng)關(guān)實(shí)現(xiàn)設(shè)備無縫對接GE Digital iFIX

空調(diào)協(xié)議網(wǎng)關(guān)快速操作空調(diào)協(xié)議轉(zhuǎn)換為Modbus協(xié)議

評論