讀可讀寫(xiě)模擬量寄存器:
?
發(fā)送命令(主機(jī)向從機(jī))格式:
[ 設(shè)備地址 ]?[ 命令號(hào) 03]?[ 起始寄存器地址高 8 位 ]?[ 低 8 位 ]?[ 讀取的寄存器數(shù)高 8 位 ]?[ 低 8 位 ]?[CRC 校驗(yàn)的低 8 位 ]?[CRC 校驗(yàn)的高 8 位 ]?
例: [11][03][00][6B][00][03][CRC 低 ][CRC 高 ]?
意義例如以下:
11 : 設(shè)備地址,樣例中的地址是 11 ,溶氧傳感器端默認(rèn)的地址是 1 , 。
03 : 讀模擬量的命令號(hào)固定為 03 ,這是 Modbus 協(xié)議規(guī)定的 。
00 、 6B : 起始地址高 8 位 ( 00 ) 、低 8 位 ( 6B ) :表示想讀取的模擬量的起始地址,比方樣例中的起始地址為 107 。 這個(gè) 006B 表示一個(gè)完整的地址,注意這里的地址是高 8 位在前,低 8 位在后。
00 、 03 : 寄存器數(shù)高 8 位 ( 00 ) 、低 8 位 ( 03 ) :表示從起始地址開(kāi)始讀多少個(gè)模擬量(返回的每個(gè)模擬量是用兩個(gè)字節(jié)表示的)。樣例中為 3 個(gè)模擬量。注意,在返回的信息中一個(gè)模擬量須要返回兩個(gè)字節(jié) 同一時(shí)候這里的地址也是高 8 位在前,低 8 位在后 。
[CRC 低 ][CRC 高 ] :幀尾的 CRC-16 校驗(yàn),尤其須要注意的一點(diǎn)是校驗(yàn)結(jié)果的低 8 位在前,高 8 位在后,這個(gè)順序不同于起始地址以及讀取深度的地址順序。
?
設(shè)備響應(yīng): [ 設(shè)備地址 ]?[ 命令號(hào) 03]?[ 返回的字節(jié)個(gè)數(shù) ][ 數(shù)據(jù) 1][ 數(shù)據(jù) 2]...[ 數(shù)據(jù) n][CRC 校驗(yàn)的低 8 位 ]?[CRC 校驗(yàn)的高 8 位 ]?
例: [11][03][06][02][2B][00][00][00][64][CRC 低 ][CRC 高 ]?
意義例如以下:
11 : 設(shè)備地址(從機(jī)地址)。
03 :命令號(hào)。
06 : 返回的字節(jié)個(gè)數(shù)(不高擴(kuò)兩字節(jié)的校驗(yàn)碼):表示數(shù)據(jù)的字節(jié)個(gè)數(shù),也就是數(shù)據(jù) 1 , 2...n 中的 n 的值。樣例中返回了 3 個(gè)模擬量的數(shù)據(jù),由于一個(gè)模擬量須要 2 個(gè)字節(jié)所以共 6 個(gè)字節(jié)。
數(shù)據(jù) 1...n :當(dāng)中 [ 數(shù)據(jù) 1][ 數(shù)據(jù) 2] 各自是第 1 個(gè)模擬量的高 8 位和低 8 位, [ 數(shù)據(jù) 3][ 數(shù)據(jù) 4] 是第 2 個(gè)模擬量的高 8 位和低 8 位,以此類推。樣例中返回的值各自是 555 , 0 , 100 。
[CRC 低 ][CRC 高 ] :CRC 校驗(yàn)同上。?
?
寫(xiě)單個(gè)模擬量寄存器:
?
發(fā)送命令(主機(jī)向從機(jī))格式:
[ 設(shè)備地址 ]?[ 命令號(hào) 06]?[ 需下置的寄存器地址高 8 位 ]?[ 低 8 位 ]?[ 下置的數(shù)據(jù)高 8 位 ]?[ 低 8 位 ]?[CRC 校驗(yàn)的低 8 位 ]?[CRC 校驗(yàn)的高 8 位 ]?
例: [11][06][00][01][00][03][CRC 低 ][CRC 高 ]?
意義例如以下:
11 : 設(shè)備地址和上面的同樣。
06 : 寫(xiě)模擬量的命令號(hào)固定為 06 。
00 、 01 :要被寫(xiě)入的 寄存器地址高 8 位,低 8 位。
00 、 03 :要被寫(xiě)入的 數(shù)據(jù)高 8 位,低 8 位 。比方樣例中就把 1 號(hào)寄存器的值設(shè)為 3 。
注意此命令一條僅僅能寫(xiě)入一個(gè)模擬量的狀態(tài)。?
[CRC 校驗(yàn)的低 8 位 ]?[CRC 校驗(yàn)的高 8 位 ] :同上。
設(shè)備響應(yīng):假設(shè)成功把計(jì)算機(jī)發(fā)送的命令原樣返回,否則不響應(yīng)。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
