MODBUS RTU通訊協(xié)議技術參數(shù)詳解 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,很簡單的計算出來的結果,其實就像是計算累加和那樣。(累加和:就是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校驗" 功能號" MODBUS RTU通訊協(xié)議技術參數(shù)詳解 |