![]() |
上海實潤實業(yè)有限公司
主營產(chǎn)品: 精密電子天平,校準砝碼,鑄鐵砝碼,上海磅秤廠家,稱豬電子磅秤 |

聯(lián)系電話
![]() |
上海實潤實業(yè)有限公司
主營產(chǎn)品: 精密電子天平,校準砝碼,鑄鐵砝碼,上海磅秤廠家,稱豬電子磅秤 |
聯(lián)系電話
2020-8-18 閱讀(1553)
MODBUS RTU詳細解釋
Modbus一個工業(yè)上常用的通訊協(xié)議、一種通訊約定。 Modbus協(xié)議包括RTU、 ASCII、TP。其中 MODBUS-RTU
比簡單,在單片機上很容易實現(xiàn)。雖然RTU比簡單,但是看協(xié)議資料、手冊說得太業(yè)了
起初很多內(nèi)容都很難理解
所謂的協(xié)議是什么?就是互相之間的約定嘛,如果不讓別人知道那就是暗號?,F(xiàn)在就來定義一個新的協(xié)議。例如
協(xié)議:“A”——LED滅
“B”——“報警”
“C”——“LED亮”
單片機接收到“A”控制一個LED滅,單片機接收到“B”控制報警,單片機接收到“A”控制一個LED亮
那么當收到對應的信息就執(zhí)行相應的動作,這就是協(xié)議,很簡單吧。
先來簡單分析一條 NODBUS-RTU報文,例如:0106000100179804
01 06 0001 017 9804
從機地址 功能號 數(shù)據(jù)地址 數(shù)據(jù) CRC校驗
這一串數(shù)據(jù)的意思是:把數(shù)據(jù)0x0017(十制23)寫入1號從機地址0x0001數(shù)據(jù)地址。
先弄明白下面的東西
1、報文
個報文就是一幀數(shù)據(jù),一個數(shù)據(jù)幀就一個報文:指的是一串完整的指令數(shù)據(jù),就像上面的一串數(shù)據(jù)。
2、CRC校驗
意義:例如上面的9804是它前面的數(shù)據(jù)(010600010017)通過一算法(見附錄2,很簡單的計算出來的結(jié)果,其實就像是計算累加和那樣。(累加和:就是010****加起來的值,然后它的算法就是加法)
作用:在數(shù)據(jù)傳輸過程中可能數(shù)據(jù)會發(fā)生錯誤,ORC檢驗檢測接收的數(shù)據(jù)是否正確。比如主機發(fā)出010600
100179804,那么從機接收到后要根據(jù)010600010017再計算CRC校驗值,從機判斷自己計算出
來的CRC校驗是否與接收的CRC校驗(9804主機計算的)相等,如果不相等那么說明數(shù)據(jù)傳輸有錯誤這
些數(shù)據(jù)不能要。
3、功能號
意義: modbus定義。見附錄1作用:指示具體的操作。
ODBUS-RTU
一個報文分析
先聲明下我們的目的,我們是要兩個設備通訊,用的是 MODBUS協(xié)議。上面簡單介紹了:“報文”“CRC校驗”
功能號”
在單片機中掌出一部分內(nèi)存(RAM)行兩個設備通訊,例如