chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Modbus串行通信協(xié)議是什么 相關(guān)知識(shí)介紹

工控論壇 ? 來(lái)源:CSDN ? 作者:Z小旋 ? 2022-11-28 11:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文旨在讓您對(duì)Modbus有一個(gè)很直觀的了解,總結(jié)關(guān)于Modbus相關(guān)的知識(shí),非常適合初學(xué)的同學(xué),同時(shí)如有錯(cuò)誤,歡迎修改意見(jiàn)和建議。

什么是協(xié)議

在了解什么是Modbus之前,我們先來(lái)看下什么是協(xié)議

協(xié)議是一個(gè)漢語(yǔ)詞匯,讀音為xié yì,意思是共同計(jì)議,協(xié)商;經(jīng)過(guò)談判、協(xié)商而制定的共同承認(rèn)、共同遵守的文件。

簡(jiǎn)單地說(shuō),在我們的單片機(jī)之間互相通信,以及單片機(jī)和上位機(jī)通信中,規(guī)定了不同的內(nèi)容規(guī)范,這個(gè)規(guī)范是通信的雙方都需要遵守的,這樣就可以實(shí)現(xiàn)兩者的通信。

而這個(gè)協(xié)議規(guī)范可以有很多種,來(lái)適應(yīng)不同的設(shè)備以及通信要求等,我們常見(jiàn)的就有IIC SPI UART串口通信協(xié)議等等。而Modbus也是一個(gè)串行通信協(xié)議。

51468400-6e54-11ed-8abf-dac502259ad0.png

什么是RS-485 RS-232

我們?cè)诳碝odbus的時(shí)候,經(jīng)常會(huì)看到485串口,232串口,這些是什么呢?

RS232,RS485是一種電平標(biāo)準(zhǔn)

數(shù)據(jù)在通信雙方之間傳輸,本質(zhì)是傳輸物理的電平 比方說(shuō)傳輸5V的電壓 -1V的電壓信號(hào),這些物理信號(hào)在傳輸過(guò)程中會(huì)受到很多干擾,比方說(shuō)你傳輸一個(gè)5V的電壓,到了接收端可能就變成了4.8V,并且通信的雙方高低電平的參考電壓可能不同。

那么這個(gè)時(shí)候就需要一個(gè)電平標(biāo)準(zhǔn),來(lái)判斷多少V的電壓是高電平 1,多少V的電壓是低電平 0 這就誕生了 RS-485 RS-232

RS232:是電子工業(yè)協(xié)會(huì)(Electronic Industries Association,EIA) 制定的異步傳輸標(biāo)準(zhǔn)接口,同時(shí)對(duì)應(yīng)著電平標(biāo)準(zhǔn)和通信協(xié)議(時(shí)序),其電平標(biāo)準(zhǔn):+3V~+15V對(duì)應(yīng)0,-3V~-15V對(duì)應(yīng)1。

全雙工

邏輯1:-15V–5V

邏輯0:+3V–+15V

51581080-6e54-11ed-8abf-dac502259ad0.png

RS485:RS485是一種串口接口標(biāo)準(zhǔn),為了長(zhǎng)距離傳輸采用差分方式傳輸,傳輸?shù)氖遣罘中盘?hào),抗干擾能力比RS232強(qiáng)很多。兩線壓差為-2~-6V表示0,兩線壓差為+2~+6V表示1

半雙工

邏輯1:+2V~+6V

邏輯0:-2V~ -6V

注意485的電平指的是485-A和485-B兩根傳輸線,兩線間的電壓差。而不是傳輸線上的電壓

517144ba-6e54-11ed-8abf-dac502259ad0.png

如果還想繼續(xù)了解可以看博主的這個(gè)博文:

USB轉(zhuǎn)串口 TTL RS-232 RS-485 COM口 UART區(qū)別

也就是RS-485電平標(biāo)準(zhǔn)確定傳輸過(guò)來(lái)的數(shù)據(jù)是0還是1,在此基礎(chǔ)上,這些字節(jié)數(shù)據(jù)根據(jù)modbus通信協(xié)議來(lái)進(jìn)行數(shù)據(jù)的交互傳輸。

硬件層協(xié)議:解決0和1的可靠傳輸,常有RS232、RS485、CAN、IIC、SPI …

軟件層協(xié)議:解決傳輸目的,常有Modbus、TCP/IP、CANopen …

51a62f72-6e54-11ed-8abf-dac502259ad0.png

Modbus協(xié)議說(shuō)明

Modbus誕生于1979年 莫迪康公司 后來(lái)被施耐德電氣公司收購(gòu)。Modbus提供通用語(yǔ)言用于彼此通信的設(shè)備和設(shè)備。

Modbus已經(jīng)成為工業(yè)領(lǐng)域通信協(xié)議的業(yè)界標(biāo)準(zhǔn),并且現(xiàn)在是工業(yè)電子設(shè)備之間常用的連接方式。Modbus作為目前工業(yè)領(lǐng)域應(yīng)用最廣泛的協(xié)議

最簡(jiǎn)單的說(shuō),Modbus就是一個(gè)總線通信協(xié)議,像IIC SPI這種,但是他不依賴(lài)于硬件總線

Modbus之所以使用廣泛,是有他的優(yōu)點(diǎn)的

Modbus協(xié)議標(biāo)準(zhǔn)開(kāi)放、公開(kāi)發(fā)表且無(wú)版權(quán)要求

Modbus協(xié)議支持多種電氣接口,包括RS232、RS485、TCP/IP等,還可以在各種介質(zhì)上傳輸,如雙絞線、光纖、紅外、無(wú)線等

Modbus協(xié)議消息幀格式簡(jiǎn)單、緊湊、通俗易懂。用戶(hù)理解和使用簡(jiǎn)單,廠商容易開(kāi)發(fā)和集成,方便形成工業(yè)控制網(wǎng)絡(luò)

舉一個(gè)簡(jiǎn)單的例子,我們常用的IIC通信協(xié)議,需要在物理上連接iic總線,然后加上拉電阻,規(guī)定好物理層的高低電平。

51ba4ab6-6e54-11ed-8abf-dac502259ad0.png

而 Modbus協(xié)議是一種應(yīng)用層報(bào)文傳輸協(xié)議,協(xié)議本身并沒(méi)有定義物理層,定義了控制器能夠認(rèn)識(shí)和使用的消息結(jié)構(gòu),不管它們是經(jīng)過(guò)何種網(wǎng)絡(luò)進(jìn)行通信的。所以能夠適應(yīng)多種電氣接口,因此使用非常廣泛。

Modebus通信過(guò)程

注意Modbus是一主多從的通信協(xié)議

Modbus通信中只有一個(gè)設(shè)備可以發(fā)送請(qǐng)求。其他從設(shè)備接收主機(jī)發(fā)送的數(shù)據(jù)來(lái)進(jìn)行響應(yīng),從機(jī)是任何外圍設(shè)備,如I/O傳感器,閥門(mén),網(wǎng)絡(luò)驅(qū)動(dòng)器,或其他測(cè)量類(lèi)型的設(shè)備。從站處理信息和使用Modbus將其數(shù)據(jù)發(fā)送給主站。

也就是說(shuō),不能Modbus同步進(jìn)行通信,主機(jī)在同一時(shí)間內(nèi)只能向一個(gè)從機(jī)發(fā)送請(qǐng)求,總線上每次只有一個(gè)數(shù)據(jù)進(jìn)行傳輸,即主機(jī)發(fā)送,從機(jī)應(yīng)答,主機(jī)不發(fā)送,總線上就沒(méi)有數(shù)據(jù)通信。

從機(jī)不會(huì)自己發(fā)送消息給主站,只能回復(fù)從主機(jī)發(fā)送的消息請(qǐng)求。

5221f544-6e54-11ed-8abf-dac502259ad0.png

并且,Modbus并沒(méi)有忙機(jī)制判斷,比方說(shuō)主機(jī)給從機(jī)發(fā)送命令, 從機(jī)沒(méi)有收到或者正在處理其他東西,這時(shí)候就不能響應(yīng)主機(jī),因?yàn)閙odbus的總線只是傳輸數(shù)據(jù),沒(méi)有其他仲裁機(jī)制,所以需要通過(guò)軟件的方式來(lái)判斷是否正常接收。

舉例

現(xiàn)在,我們來(lái)探討Modbus數(shù)據(jù)傳輸?shù)姆绞剑梢院?jiǎn)單地理解成打電話。并且是單向通信的打電話

主機(jī)發(fā)送數(shù)據(jù),首先需要從機(jī)的電話號(hào)碼(區(qū)分每個(gè)從機(jī),每個(gè)地址必須唯一),告訴從機(jī)打電話要干什么事情,然后是需要發(fā)送的內(nèi)容,最后再問(wèn)問(wèn)從機(jī),我說(shuō)的話你都聽(tīng)清楚了沒(méi)有呀,沒(méi)有聽(tīng)錯(cuò)吧?

然后從機(jī)這里,得到了主機(jī)打過(guò)來(lái)的電話,從機(jī)回復(fù)主機(jī)需要的內(nèi)容,主機(jī)得到從機(jī)數(shù)據(jù),這樣就是一個(gè)主機(jī)到從機(jī)的通信過(guò)程

就好比老師和你打電話,老師撥通了你的電話號(hào),然后老師跟你說(shuō),小王呀,我這里需要你給我發(fā)東西,發(fā)的內(nèi)容是上周的一周總結(jié),你說(shuō)好的,然后打開(kāi)你電腦的文件夾,把你的周報(bào)發(fā)給老師,這就是一個(gè)通信過(guò)程。

Modbus存儲(chǔ)區(qū)

既然從機(jī)存儲(chǔ)數(shù)據(jù),那么肯定要有一個(gè)存儲(chǔ)區(qū),那就需要文件操作,我們都知道這文件可以分為只讀(-r)和讀寫(xiě)(-wr)兩種類(lèi)型

并且存儲(chǔ)的數(shù)據(jù)類(lèi)型可以分為 :布爾量 和 16位寄存器

布爾量比如IO口的電平高低,燈的開(kāi)關(guān)狀態(tài)等。

16位寄存器比如 傳感器的溫度數(shù)據(jù),存儲(chǔ)的密碼等。

Modbus協(xié)議規(guī)定了4個(gè)存儲(chǔ)區(qū) 分別是0 1 3 4區(qū) 其中1區(qū)和4區(qū)是可讀可寫(xiě),1區(qū)和3區(qū)是只讀。

526fdc28-6e54-11ed-8abf-dac502259ad0.png

并且Modbus還給每個(gè)區(qū)都劃分了地址范圍 主機(jī)向從機(jī)獲取數(shù)據(jù)時(shí),只需要告訴從機(jī)數(shù)據(jù)的起始地址,還有獲取多少字節(jié)的數(shù)據(jù),從機(jī)就可以發(fā)送數(shù)據(jù)給主機(jī)

Modbus數(shù)據(jù)模型規(guī)定了具體的地址范圍,每一個(gè)從機(jī),都有實(shí)際的物理存儲(chǔ),跟modbus的存儲(chǔ)區(qū)相對(duì)應(yīng),主機(jī)讀寫(xiě)從機(jī)的存儲(chǔ)區(qū),實(shí)際上就是對(duì)從機(jī)設(shè)備對(duì)應(yīng)的實(shí)際存儲(chǔ)空間進(jìn)行讀寫(xiě)。

52852b96-6e54-11ed-8abf-dac502259ad0.png

Modbus協(xié)議類(lèi)型

在上面我們已經(jīng)說(shuō)明了Modbus可以在各種介質(zhì)上傳輸,那么他的傳輸模式也分為三種。包括ASCII、RTU(遠(yuǎn)程終端控制系統(tǒng))、TCP三種報(bào)文類(lèi)型

串行端口存在多個(gè)版本的Modbus協(xié)議,而最常見(jiàn)的是下面四種:

Modbus-Rtu

Modbus-Ascii

Modbus-Tcp

ModbusPlus

Modbus RTU是一種緊湊的,十六進(jìn)制表示數(shù)據(jù)的方式,Modbus ASCII是一種采用Ascii碼表示數(shù)據(jù),并且每個(gè)8Bit 字節(jié)都作為兩個(gè)ASCII字符發(fā)送的表示方式。

RTU格式后續(xù)的命令/數(shù)據(jù)帶有循環(huán)冗余校驗(yàn)的校驗(yàn)和,而ASCII格式采用縱向冗余校驗(yàn)的校驗(yàn)和。

Modbus協(xié)議使用串口傳輸時(shí)可以選擇RTU或ASCII模式,并規(guī)定了消息、數(shù)據(jù)結(jié)構(gòu)、命令和應(yīng)答方式并需要對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)。ASCII 模式采用LRC校驗(yàn),RTU模式采用16 位CRC校驗(yàn)。通過(guò)以太網(wǎng)傳輸時(shí)使用TCP,這種模式不使用校驗(yàn),因?yàn)門(mén)CP協(xié)議是一個(gè)面向連接的可靠協(xié)議。

52a0f95c-6e54-11ed-8abf-dac502259ad0.png

當(dāng)然常用的就是RTU模式,ASCII一般很少

舉一個(gè)簡(jiǎn)單的例子,如果我們需要發(fā)送一個(gè)數(shù)字10 那么RTU模式下,只需要發(fā)送0x0A 總線上傳輸數(shù)據(jù)形式為:0000 1010

而ASCII碼模式則將數(shù)據(jù)1和0轉(zhuǎn)為’1’和’0’,需要發(fā)送0x31(1) 0x30(0)兩個(gè)字節(jié)數(shù)據(jù)??偩€上傳輸數(shù)據(jù)形式為:0011 0001 0011 0000

詳細(xì)的我們等下再闡述

Modbus-RTU協(xié)議

Modbus報(bào)文幀結(jié)構(gòu)

一個(gè)報(bào)文就是一幀數(shù)據(jù),一個(gè)數(shù)據(jù)幀就一個(gè)報(bào)文:指的是一串完整的指令數(shù)據(jù),本質(zhì)就是一串?dāng)?shù)據(jù)。

Modbus報(bào)文是指主機(jī)發(fā)送給從機(jī)的一幀數(shù)據(jù),其中包含著從機(jī)的地址,主機(jī)想執(zhí)行的操作,校驗(yàn)碼等內(nèi)容

Modbus協(xié)議在串行鏈路上的報(bào)文格式如下所示:

52cb7dda-6e54-11ed-8abf-dac502259ad0.png

52dcb690-6e54-11ed-8abf-dac502259ad0.png

從機(jī)地址: 每個(gè)從機(jī)都有唯一地址,占用一個(gè)字節(jié),范圍0-255,其中有效范圍是1-247,其中255是廣播地址(廣播就是對(duì)所有從機(jī)發(fā)送應(yīng)答)

功能碼: 占用一個(gè)字節(jié),功能碼的意義就是,知道這個(gè)指令是干啥的,比如你可以查詢(xún)從機(jī)的數(shù)據(jù),也可以修改從機(jī)的數(shù)據(jù),所以不同功能碼對(duì)應(yīng)不同功能.

數(shù)據(jù): 根據(jù)功能碼不同,有不同功能,比方說(shuō)功能碼是查詢(xún)從機(jī)的數(shù)據(jù),這里就是查詢(xún)數(shù)據(jù)的地址和查詢(xún)字節(jié)數(shù)等。

校驗(yàn): 在數(shù)據(jù)傳輸過(guò)程中可能數(shù)據(jù)會(huì)發(fā)生錯(cuò)誤,CRC檢驗(yàn)檢測(cè)接收的數(shù)據(jù)是否正確

Modbus功能碼

Modbus規(guī)定了多個(gè)功能,那么為了方便的使用這些功能,我們給每個(gè)功能都設(shè)定一個(gè)功能碼,也就是指代碼。

Modbus協(xié)議同時(shí)規(guī)定了二十幾種功能碼,但是常用的只有8種,用于對(duì)存儲(chǔ)區(qū)的讀寫(xiě),如下表所示:

52ec0a3c-6e54-11ed-8abf-dac502259ad0.png

當(dāng)然我們用的最多的就是03和06 一個(gè)是讀取數(shù)據(jù),一個(gè)是修改數(shù)據(jù)。

CRC校驗(yàn)

錯(cuò)誤校驗(yàn)(CRC)域占用兩個(gè)字節(jié)包含了一個(gè)16位的二進(jìn)制值。CRC值由傳輸設(shè)備計(jì)算出來(lái),然后附加到數(shù)據(jù)幀上,接收設(shè)備在接收數(shù)據(jù)時(shí)重新計(jì)算CRC值,然后與接收到的CRC域中的值進(jìn)行比較,如果這兩個(gè)值不相等,就發(fā)生了錯(cuò)誤。

比如主機(jī)發(fā)出01 06 00 01 00 17 98 04, 98 04 兩個(gè)字節(jié)是校驗(yàn)位,那么從機(jī)接收到后要根據(jù)01 06 00 01 00 17 再計(jì)算CRC校驗(yàn)值,從機(jī)判斷自己計(jì)算出來(lái)的CRC校驗(yàn)是否與接收的CRC校驗(yàn)(98 04主機(jī)計(jì)算的)相等,如果不相等那么說(shuō)明數(shù)據(jù)傳輸有錯(cuò)誤,這些數(shù)據(jù)就不能要。

CRC校驗(yàn)流程:

1、預(yù)置一個(gè)16位寄存器為0FFFFH(全1),稱(chēng)之為CRC寄存器。

2 、把數(shù)據(jù)幀中的第一個(gè)字節(jié)的8位與CRC寄存器中的低字節(jié)進(jìn)行異或運(yùn)算,結(jié)果存回CRC寄存器。

3、將CRC寄存器向右移一位,最高位填以0,最低位移出并檢測(cè)。

4 、如果最低位為0:重復(fù)第三步(下一次移位);如果最低位為1:將CRC寄存器與一個(gè)預(yù)設(shè)的固定值(0A001H)進(jìn)行異或運(yùn)算。

5、重復(fù)第三步和第四步直到8次移位。這樣處理完了一個(gè)完整的八位。

6 、重復(fù)第2步到第5步來(lái)處理下一個(gè)八位,直到所有的字節(jié)處理結(jié)束。

7、最終CRC寄存器的值就是CRC的值。

此外還有一種利用預(yù)設(shè)的表格計(jì)算CRC的方法,它的主要特點(diǎn)是計(jì)算速度快,但是表格需要較大的存儲(chǔ)空間,該方法此處不在闡述

53025508-6e54-11ed-8abf-dac502259ad0.png

下面我們來(lái)看詳細(xì)的發(fā)送和接收數(shù)據(jù):

1、主機(jī)對(duì)從機(jī)讀數(shù)據(jù)操作

主機(jī)發(fā)送報(bào)文格式如下:

5314e902-6e54-11ed-8abf-dac502259ad0.png

含義:

0x01:從機(jī)的地址

0x03:查詢(xún)功能,讀取從機(jī)寄存器的數(shù)據(jù)

0x00 0x01:代表讀取的起始寄存器地址.說(shuō)明從0x0001開(kāi)始讀取.

0x00 0x01:查詢(xún)的寄存器數(shù)量為0x0001個(gè) Modbus把數(shù)據(jù)存放在寄存器中,通過(guò)查詢(xún)寄存器來(lái)得到不同變量的值,一個(gè)寄存器地址對(duì)應(yīng)2字節(jié)數(shù)據(jù); 寄存器地址對(duì)應(yīng)著從機(jī)實(shí)際的存儲(chǔ)地址

0xD5 0xCA:循環(huán)冗余校驗(yàn) CRC

從機(jī)回復(fù)報(bào)文格式如下:

532ddd22-6e54-11ed-8abf-dac502259ad0.png

含義:

0x01:從機(jī)的地址

0x03:查詢(xún)功能,讀取從機(jī)寄存器的數(shù)據(jù)

0x02:返回字節(jié)數(shù)為2個(gè) 一個(gè)寄存器2個(gè)字節(jié)

0x00 0x17:寄存器的值是0017

0xF8 0x4A:循環(huán)冗余校驗(yàn) CRC

2、主機(jī)對(duì)從機(jī)寫(xiě)數(shù)據(jù)操作

主機(jī)發(fā)送報(bào)文格式如下:

53413a84-6e54-11ed-8abf-dac502259ad0.png

含義:

0x01:從機(jī)的地址

0x06:修改功能,修改從機(jī)寄存器的數(shù)據(jù)

0x00 0x01:代表修改的起始寄存器地址.說(shuō)明修改0x0001-0x0003的存儲(chǔ)內(nèi)容

0x00 0x17:要修改的數(shù)據(jù)值為0017

0x98 0x04:循環(huán)冗余校驗(yàn) CRC

從機(jī)回復(fù)報(bào)文格式如下:

53574d2e-6e54-11ed-8abf-dac502259ad0.png

含義:

0x01:從機(jī)的地址

0x06:修改功能,修改從機(jī)寄存器的數(shù)據(jù)

0x00 0x01:代表修改的起始寄存器地址.說(shuō)明是0x0000

0x00 0x17:修改的值為0017

0x98 0x04:循環(huán)冗余校驗(yàn) CRC

從機(jī)的回復(fù)和主機(jī)的發(fā)送是一樣的,如果不一樣說(shuō)明出現(xiàn)了錯(cuò)誤

Modbus-ACSII協(xié)議

在消息中的每個(gè)字節(jié)都作為兩個(gè)ASCII字符發(fā)送

十六進(jìn)制的0-F 分別對(duì)應(yīng)ASCII字符的0…9,A…F

也就是0x30~0x3A 0x41~0x46

5366d564-6e54-11ed-8abf-dac502259ad0.png

下方是ascii的報(bào)文幀

1個(gè)字節(jié)起始位

2個(gè)字節(jié)地址位

2個(gè)字節(jié)功能位

n個(gè)數(shù)據(jù)位,最小的有效位先發(fā)送

LRC(縱向冗長(zhǎng)檢測(cè)) 注意校驗(yàn)方式不同

結(jié)束符

53981584-6e54-11ed-8abf-dac502259ad0.png

可以看到數(shù)據(jù)部分更加繁瑣,正常我們使用都是用RTU格式,ASCII碼格式有了解即可。

53a830f4-6e54-11ed-8abf-dac502259ad0.png

總結(jié):

ModbusASCII有開(kāi)始字符(和結(jié)束字符(CR LF),可以作為一幀數(shù)據(jù)開(kāi)始和結(jié)束的標(biāo)志,而ModbusRTU沒(méi)有這樣的標(biāo)志,需要用時(shí)間間隔來(lái)判斷一幀報(bào)文的開(kāi)始和結(jié)束,協(xié)議規(guī)定的時(shí)間為3.5個(gè)字符周期,就是說(shuō)一幀報(bào)文開(kāi)始前,必須有大于3.5個(gè)字符周期的空閑時(shí)間,一幀報(bào)文結(jié)束后,也必須要有3.5個(gè)字符周期的空閑時(shí)間否則就會(huì)出現(xiàn)粘包的情況。

注意:針對(duì)3.5個(gè)字符周期,其實(shí)是一個(gè)具體時(shí)間,但是這個(gè)時(shí)間跟波特率相關(guān)。

在串口通信中,1個(gè)字符包括1位起始位、8位數(shù)據(jù)位(一般情況)、1位校驗(yàn)位(或者沒(méi)有)、1位停止位(一般情況下),因此1個(gè)字符包括11個(gè)位,那么3.5個(gè)字符就是38.5個(gè)位,波特率表示的含義是每秒傳輸?shù)亩M(jìn)制位的個(gè)位,因此如果是9600波特率,3.5個(gè)字符周期=/960038.5=0.00401s1000=4.01ms

Modbus-TCP協(xié)議

我們首先看下Modbus-TCP和Modbus-ACSII的區(qū)別

Modbus-TCP并不需要從從機(jī)地址,而是需要MBAP報(bào)文頭

并且不需要差錯(cuò)校驗(yàn),因?yàn)門(mén)CP本身就具有校驗(yàn)差錯(cuò)的能力

MBAP報(bào)文頭格式如下:

其中事務(wù)處理表示符合協(xié)議標(biāo)識(shí)符我們正常使用設(shè)置為0即可 長(zhǎng)度為6個(gè)字節(jié) 0x0006

簡(jiǎn)單來(lái)說(shuō),也就是Modbus-TCP是在Modbus-ACSII的基礎(chǔ)上,去掉校驗(yàn),然后加上五個(gè)字節(jié)的0和一個(gè)06

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • MODBUS
    +關(guān)注

    關(guān)注

    28

    文章

    2118

    瀏覽量

    79547
  • 串行通信
    +關(guān)注

    關(guān)注

    4

    文章

    588

    瀏覽量

    36182

原文標(biāo)題:詳解Modbus通信協(xié)議,清晰易懂?。?!

文章出處:【微信號(hào):gkongbbs,微信公眾號(hào):工控論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    HIPERFACE DSL編碼器通信協(xié)議介紹

    應(yīng)用的首選。HIPERFACE DSL是由SICK AG開(kāi)發(fā)的串行通信協(xié)議,專(zhuān)為編碼器與控制器之間的數(shù)據(jù)傳輸而設(shè)計(jì)。其中,“DSL”即“Digital Synchronous Link”(數(shù)字同步鏈路),突出了其高速、同步、數(shù)字化的通信
    的頭像 發(fā)表于 05-23 14:16 ?648次閱讀
    HIPERFACE DSL編碼器<b class='flag-5'>通信協(xié)議</b><b class='flag-5'>介紹</b>

    RS485串行通信協(xié)議介紹

    在上期我們介紹了RS232串行通訊,本期我們將進(jìn)一步深入探討另一種廣泛應(yīng)用于工業(yè)自動(dòng)化和數(shù)據(jù)通信領(lǐng)域的串行通信標(biāo)準(zhǔn)——RS485。
    的頭像 發(fā)表于 05-15 11:42 ?479次閱讀
    RS485<b class='flag-5'>串行</b><b class='flag-5'>通信協(xié)議</b><b class='flag-5'>介紹</b>

    Modbus 轉(zhuǎn) Profinet:工業(yè)通信協(xié)議的橋梁

    1. 引言 在工業(yè)自動(dòng)化領(lǐng)域,Modbus 和 Profinet 是兩種廣泛使用的通信協(xié)議。Modbus 是一種串行通信協(xié)議,常用于連接工業(yè)
    的頭像 發(fā)表于 02-24 11:11 ?349次閱讀
    <b class='flag-5'>Modbus</b> 轉(zhuǎn) Profinet:工業(yè)<b class='flag-5'>通信協(xié)議</b>的橋梁

    搞懂TTL、RS232、485通信協(xié)議!

    本文介紹了TTL、RS232和RS485這三種常見(jiàn)的通信協(xié)議的傳輸距離、應(yīng)用場(chǎng)景以及影響通信距離的各種因素。TTL是一種短距離通信標(biāo)準(zhǔn),通常用于同一電路板內(nèi)的
    的頭像 發(fā)表于 01-16 10:59 ?7488次閱讀
    搞懂TTL、RS232、485<b class='flag-5'>通信協(xié)議</b>!

    總線通信協(xié)議解析及應(yīng)用

    在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,總線通信協(xié)議扮演著至關(guān)重要的角色。它們定義了數(shù)據(jù)如何在處理器、內(nèi)存、輸入/輸出設(shè)備等組件之間傳輸。 總線通信協(xié)議的基本概念 總線通信協(xié)議是一組規(guī)則,它規(guī)定了數(shù)據(jù)在系統(tǒng)總線上的傳輸
    的頭像 發(fā)表于 12-31 10:07 ?1061次閱讀

    常見(jiàn)串口通信協(xié)議 如何設(shè)置串口參數(shù)

    串口通信是一種常見(jiàn)的通信方式,廣泛應(yīng)用于計(jì)算機(jī)、嵌入式系統(tǒng)和各種電子設(shè)備之間。串口通信協(xié)議主要是指在串行通信中,數(shù)據(jù)傳輸?shù)母袷胶鸵?guī)則。 常見(jiàn)
    的頭像 發(fā)表于 12-27 09:51 ?3402次閱讀

    上位機(jī)通信協(xié)議詳解 嵌入式上位機(jī)設(shè)計(jì)流程

    通信協(xié)議介紹Modbus 概述 :Modbus是一種串行通信協(xié)議,廣泛應(yīng)用于工業(yè)自動(dòng)化領(lǐng)域
    的頭像 發(fā)表于 12-04 10:21 ?2977次閱讀

    串口通信協(xié)議解析 串口通信應(yīng)用實(shí)例

    串口通信協(xié)議解析 串口通信協(xié)議是指規(guī)定了數(shù)據(jù)包的內(nèi)容,內(nèi)容包含了起始位、主體數(shù)據(jù)、校驗(yàn)位及停止位,雙方需要約定一致的數(shù)據(jù)包格式才能正常收發(fā)數(shù)據(jù)的有關(guān)規(guī)范。以下是串口通信協(xié)議介紹: 基
    的頭像 發(fā)表于 11-21 17:03 ?2133次閱讀

    CAN總線與其他串行通信協(xié)議比較

    CAN總線與其他串行通信協(xié)議相比,具有其獨(dú)特的特點(diǎn)和優(yōu)勢(shì)。以下是對(duì)CAN總線與UART、I2C、SPI等常見(jiàn)串行通信協(xié)議的比較: 一、基本特性比較
    的頭像 發(fā)表于 11-12 09:56 ?2214次閱讀

    PLC控制系統(tǒng)的通信協(xié)議解析

    的基本概念 通信協(xié)議是一組規(guī)則,定義了數(shù)據(jù)如何在不同的設(shè)備之間傳輸。在PLC控制系統(tǒng)中,這些協(xié)議包括物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層等多個(gè)層次。 常見(jiàn)的PLC通信協(xié)議 Modbus
    的頭像 發(fā)表于 11-08 09:46 ?2607次閱讀

    UART通信協(xié)議介紹和數(shù)據(jù)傳輸工作流程

    UART是一種通用串行數(shù)據(jù)總線,用于異步通信。該總線雙向通信,可實(shí)現(xiàn)全雙工傳輸和接收。UART通常用來(lái)實(shí)現(xiàn)與PC之間數(shù)據(jù)通信,命令和控制信息的傳輸?shù)取1疚奈覀?/div>
    的頭像 發(fā)表于 10-24 14:20 ?2252次閱讀
    UART<b class='flag-5'>通信協(xié)議</b><b class='flag-5'>介紹</b>和數(shù)據(jù)傳輸工作流程

    什么是Modbus協(xié)議以及它是如何在工業(yè)中運(yùn)作的?

    Modbus是一種串行通信協(xié)議,它是Modicon公司(現(xiàn)為施耐德電氣擁有)于1979年發(fā)布的總線協(xié)議,用于與其可編程邏輯控制器(PLC)進(jìn)行通信
    的頭像 發(fā)表于 10-18 17:49 ?821次閱讀

    PROFINET通信協(xié)議是什么

    PROFINET通信協(xié)議是一種專(zhuān)為工業(yè)自動(dòng)化領(lǐng)域設(shè)計(jì)的基于以太網(wǎng)的實(shí)時(shí)通信協(xié)議。以下是對(duì)PROFINET通信協(xié)議的詳細(xì)解析,包括其定義、特點(diǎn)、體系結(jié)構(gòu)、工作原理、通信方式、應(yīng)用領(lǐng)域以及
    的頭像 發(fā)表于 09-25 18:13 ?5105次閱讀

    簡(jiǎn)單認(rèn)識(shí)UART通信協(xié)議

    UART(Universal Asynchronous Receiver/Transmitter,通用異步收發(fā)傳輸器)通信協(xié)議是一種常見(jiàn)的串行通信協(xié)議,廣泛應(yīng)用于計(jì)算機(jī)、嵌入式系統(tǒng)、傳感器、無(wú)線
    的頭像 發(fā)表于 07-25 18:07 ?2136次閱讀

    Modbus轉(zhuǎn)EtherCAT網(wǎng)關(guān)快速實(shí)現(xiàn)Modbus設(shè)備與EtherCAT網(wǎng)絡(luò)通信

    隨著工業(yè)自動(dòng)化技術(shù)的快速發(fā)展,不同通信協(xié)議之間的互操作性變得越來(lái)越重要。Modbus作為一種廣泛使用的串行通信協(xié)議,與以太網(wǎng)為基礎(chǔ)的EtherCAT
    的頭像 發(fā)表于 07-24 16:28 ?807次閱讀
    <b class='flag-5'>Modbus</b>轉(zhuǎn)EtherCAT網(wǎng)關(guān)快速實(shí)現(xiàn)<b class='flag-5'>Modbus</b>設(shè)備與EtherCAT網(wǎng)絡(luò)<b class='flag-5'>通信</b>