一.背景
Modbus協(xié)議是一項(xiàng)應(yīng)用層報(bào)文傳輸協(xié)議,包括ASCII、RTU、TCP三種報(bào)文類型。標(biāo)準(zhǔn)的Modbus協(xié)議物理層接口有RS232、RS422、RS485和以太網(wǎng)接口,采用master/slave方式通信。本文主要介紹的MODBUS-RTU。
二.MODBUS數(shù)據(jù)幀組成
首先我們要知道一幀正常的MODBUS數(shù)據(jù)幀包含的內(nèi)容有:地址域 + 功能碼 + 數(shù)據(jù) + 差錯(cuò)校驗(yàn)。
三.下面逐一解釋MODBUS數(shù)據(jù)幀各部分的具體含義:
(1)地址域:即主站要訪問的從站地址,其范圍0~247
(2)功能碼:即主站想要對(duì)從站進(jìn)行何種操作。從大的方面看分為讀(主站讀取從站數(shù)據(jù)),寫(主站向從站讀取數(shù)據(jù))再往細(xì)分就是具體讀取從站哪塊區(qū)域的數(shù)據(jù),以及具體將數(shù)據(jù)寫到從站的哪塊區(qū)域。操作從站不同的數(shù)據(jù)區(qū)對(duì)應(yīng)有不同的功能碼,在文末《MODBUS協(xié)議規(guī)范》文檔中有詳細(xì)介紹
(3)數(shù)據(jù):如果主站的請(qǐng)求是讀數(shù)據(jù),那么該“數(shù)據(jù)”要包含的信息有:從哪里開始讀數(shù)據(jù) + 讀多少數(shù)據(jù)。如果主站的請(qǐng)求是向從站寫數(shù)據(jù),那么該“數(shù)據(jù)”要包含的信息有:從哪里開始寫數(shù)據(jù) + 寫多少個(gè)字節(jié)數(shù)據(jù) + 要寫的具體數(shù)據(jù)
(4)差錯(cuò)校驗(yàn):為了保證數(shù)據(jù)傳輸?shù)恼_性,Modbus協(xié)議會(huì)在數(shù)據(jù)幀最后面加上兩個(gè)字節(jié)的差錯(cuò)校驗(yàn)
四.舉實(shí)例詳細(xì)說明主站和從站之間的數(shù)據(jù)幀交互過程
(1) 主站 請(qǐng)求讀 從站數(shù)據(jù):
主站向從站發(fā)送的實(shí)際請(qǐng)求數(shù)據(jù)幀:03 04 00 08 00 01 B0 3B (假設(shè)從站地址為03),其中:
03:為主站要訪問的域名(即從站地址,范圍0~247)。04:表示功能碼。00 08:從從站08這個(gè)地址開始讀取數(shù)據(jù)。00 01:即將讀取數(shù)據(jù)的長度。b0 3b:兩個(gè)字節(jié)的校驗(yàn)數(shù)據(jù)。
從站接收到主站的請(qǐng)求數(shù)據(jù)幀之后實(shí)際的響應(yīng)數(shù)據(jù)幀為:03 04 02 00 0A 40 F7,其中:
03:為從站地址即域名(即從站地址,范圍0~247)。04:表示功能碼。02:被讀取數(shù)據(jù)長度(包含一個(gè)字節(jié)高8位數(shù)據(jù),一個(gè)字節(jié)低8八位數(shù)據(jù))00 0A:被讀取的具體數(shù)據(jù)40 F7兩個(gè)字節(jié)的校驗(yàn)數(shù)據(jù)
(2) 主站請(qǐng)求寫 從站數(shù)據(jù):
主站向從站發(fā)送的實(shí)際請(qǐng)求數(shù)據(jù)幀:03 10 00 01 00 02 04 00 0A 01 02 99 88 (假設(shè)從站地址為03),其中:
03:為主站要訪問的域名(即從站地址,范圍0~247)。10:功能碼。00 01:往從站01這個(gè)地址開始寫數(shù)據(jù)。00 02:寄存器數(shù)量。04:一共寫4個(gè)字節(jié)數(shù)據(jù)。04 00 01 02:具體數(shù)據(jù)。99 88:兩個(gè)字節(jié)的校驗(yàn)數(shù)據(jù)。
從站接收到主站的請(qǐng)求數(shù)據(jù)幀之后實(shí)際的響應(yīng)數(shù)據(jù)幀為:03 10 00 01 00 02 11 EA,其中:
03:為從站地址即域名(即從站地址,范圍0~247)。10:功能碼。00 01:往從站01這個(gè)地址開始寫數(shù)據(jù)。(原樣返回/響應(yīng))0002:寄存器數(shù)量。(原樣返回/響應(yīng))11 EA兩個(gè)字節(jié)的校驗(yàn)數(shù)據(jù)
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7002瀏覽量
88940 -
MODBUS
+關(guān)注
關(guān)注
28文章
1799瀏覽量
76949 -
物理層
+關(guān)注
關(guān)注
1文章
148瀏覽量
34359
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論