Modbus網(wǎng)關(guān)就是將一種Modbus協(xié)議幀轉(zhuǎn)換為其他協(xié)議幀。
比如將Modbus RTU的數(shù)據(jù)與Modbus TCP數(shù)據(jù)進(jìn)行相互轉(zhuǎn)換;也可將主機(jī)請(qǐng)求與從機(jī)響應(yīng)進(jìn)行應(yīng)用開發(fā)以提升協(xié)議轉(zhuǎn)換的效率;比如處理多主機(jī)請(qǐng)求的多主機(jī)網(wǎng)關(guān),提升多主機(jī)請(qǐng)求響應(yīng)效率的存儲(chǔ)型網(wǎng)關(guān),代替主機(jī)發(fā)起Modbus請(qǐng)求的主動(dòng)上報(bào)。設(shè)備處于Modbus網(wǎng)關(guān)模式是為了保證Modbus轉(zhuǎn)換效率對(duì)非Modbus數(shù)據(jù)進(jìn)行遺棄,防止對(duì)串口總線產(chǎn)生干擾。
三種數(shù)據(jù)幀的差異
Modbus協(xié)議定義了一個(gè)與基礎(chǔ)通信層無關(guān)的簡單協(xié)議數(shù)據(jù)單元(PDU)由功能碼(1Bit)+數(shù)據(jù)(n Bit)組成;
Modbus RTU數(shù)據(jù)幀:采用16進(jìn)制進(jìn)行編碼,包含地址域(1Bit)+PDU+CRC校驗(yàn)(2Bit);
Modbus TCP數(shù)據(jù)幀:采用16進(jìn)制進(jìn)行編碼,包含事務(wù)處理標(biāo)識(shí)符(2Bit)+協(xié)議標(biāo)識(shí)(00 00:2字節(jié),表示Modbus RTU協(xié)議)+長度(2Bit)+地址域(1Bit)+PDU;
Modbus ASCII數(shù)據(jù)幀:采用ASCII進(jìn)行編碼,包含起始符(‘:’)+地址碼(2 Bit)+數(shù)據(jù)(0到2*255 Bit)+ LRC校驗(yàn)(2Bit)+換行符(CR,LF)