


全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Modbus TCP 與 Modbus RTU的區(qū)別Modbus通信協(xié)議由Modicon公司(現(xiàn)已經(jīng)為施耐德公司并購(gòu),成為其旗下的子品牌)于1979年發(fā)明的,是全球最早用于工業(yè)現(xiàn)場(chǎng)的總線(xiàn)規(guī)約。由于其免費(fèi)公開(kāi)發(fā)行,使用該協(xié)議的廠家無(wú)需繳納任何費(fèi)用,Modbus通信協(xié)議采用的是主從通信模式(即Master/Slave通信模式),其在分散控制方面應(yīng)用極其廣泛,從而使得Modbus協(xié)議在全球得到了廣泛的應(yīng)用。Modbus通信協(xié)議具有多個(gè)變種,其具有支持串口(主要是RS-485總線(xiàn)),以太網(wǎng)多個(gè)版本,其中最著名的是Modbus RTU,Modbus ASCII和Modbus TCP三種。其中Modbus RTU與Modbus ASCII均為支持RS-485總線(xiàn)的通信協(xié)議,其中Modbus RTU由于其采用二進(jìn)制表現(xiàn)形式以及緊湊數(shù)據(jù)結(jié)構(gòu),通信效率較高,應(yīng)用比較廣泛。而Modbus ASCII由于采用ASCII碼傳輸,并且利用特殊字符作為其字節(jié)的開(kāi)始與結(jié)束標(biāo)識(shí),其傳輸效率要遠(yuǎn)遠(yuǎn)低于Modbus RTU協(xié)議,一般只有在通信數(shù)據(jù)量較小的情況下才考慮使用Modbus ASCII通信協(xié)議,在工業(yè)現(xiàn)場(chǎng)一般都是采用Modbus RTU協(xié)議,一般而言,大家說(shuō)的基于串口通信的Modbus通信協(xié)議都是指Modbus RTU通信協(xié)議。在此我們著重討論Modbus RTU協(xié)議,而Modbus TCP協(xié)議則是在RTU協(xié)議上加一個(gè)MBAP報(bào)文頭,由于TCP是基于可靠連接的服務(wù),RTU協(xié)議中的CRC校驗(yàn)碼就不再需要,所以在Modbus TCP協(xié)議中是沒(méi)有CRC校驗(yàn)碼,用一句比較通俗的話(huà)說(shuō)就是:Modbus TCP協(xié)議就是Modbus RTU協(xié)議在前面加上五個(gè)0以及一個(gè)6,然后去掉兩個(gè)CRC校驗(yàn)碼字節(jié)就OK.雖然這句話(huà)說(shuō)得不是特別準(zhǔn)確,但是也基本上把RTU與TCP之間的區(qū)別說(shuō)得比較清楚了。RTU協(xié)議中的指令由地址碼(一個(gè)字節(jié)),功能碼(一個(gè)字節(jié)),起始地址(兩個(gè)字節(jié)),數(shù)據(jù)(N個(gè)字節(jié)),校驗(yàn)碼(兩個(gè)字節(jié))五個(gè)部分組成,其中數(shù)據(jù)又由數(shù)據(jù)長(zhǎng)度(兩個(gè)字節(jié),表示的是寄存器個(gè)數(shù),假定內(nèi)容為M)和數(shù)據(jù)正文(M乘以2個(gè)字節(jié))組成,而RTU協(xié)議是采用3.5個(gè)字節(jié)的空閑時(shí)間作為指令的起始和結(jié)束,一般而言,只有當(dāng)從機(jī)返回?cái)?shù)據(jù)或者主機(jī)寫(xiě)操作的時(shí)候,才會(huì)有數(shù)據(jù)正文,而其他時(shí)候比如主機(jī)讀操作指令的時(shí)候,沒(méi)有數(shù)據(jù)正文,只需要數(shù)據(jù)長(zhǎng)度即可。(本章的討論只涉及寄存器的讀寫(xiě),其他比如線(xiàn)圈的讀寫(xiě)指令我們暫時(shí)不涉及)。在此我們通過(guò)兩個(gè)指令(0x03H:讀多個(gè)寄存器指令以及0x10H:寫(xiě)多個(gè)寄存器指令)來(lái)解釋Modbus RTU協(xié)議。我們使用的RTU設(shè)備是北京博安瑞通科技的SimpleWiFi串口轉(zhuǎn)WiFi模塊。S2W-M02采用UAER進(jìn)行通訊,支持串口轉(zhuǎn)WiFi,我們只講述通過(guò)WiFi網(wǎng)絡(luò)讀取開(kāi)關(guān)量輸出的狀態(tài)以及通過(guò)WiFi寫(xiě)指令控制開(kāi)關(guān)量的輸出。其中儲(chǔ)存開(kāi)關(guān)量輸出狀態(tài)的四個(gè)寄存器分別:0x18E,0x18F,0x190,0x191。在此我們假設(shè)模塊的地址為默認(rèn)的0x01,當(dāng)我們要去讀取開(kāi)關(guān)量輸出對(duì)應(yīng)的四個(gè)寄存器的狀態(tài)的時(shí)候,我們下發(fā)的十六進(jìn)制的指令為:“01 03 01 8E 00 04 25 DE”,其中“01”為模塊的地址碼,“03”為功能碼,即表示讀寄存器,“01 8E”為寄存器地址,即從該寄存器地址開(kāi)始讀取數(shù)據(jù),“00 04”則表示讀取4個(gè)寄存器,而“25 DE”則為前面“01 03 01 8E 00 04”的CRC校驗(yàn)碼,該數(shù)值通過(guò)CRC16校驗(yàn)算法計(jì)算出來(lái)的,我們會(huì)在其他文章中闡述。該指令的完整解讀就是,在地址碼為“01”的模塊中,從“01 8E”寄存器開(kāi)始,讀取4個(gè)寄存器的數(shù)據(jù)返回至主機(jī)。在此,我們可以看到,讀取指令中并沒(méi)有什么數(shù)據(jù)正文,因?yàn)樗皇亲x取相應(yīng)數(shù)量的寄存器,并不需要數(shù)據(jù)正文,而寫(xiě)操作指令則相反,我們會(huì)在后面講到。模塊返回的指令是:“01 03 08 00 01 00 01 00 01 00 01 28 D7”,返回的指令內(nèi)容解讀就是:“01”表示模塊的地址碼,“03”表示該指令是讀操作返回的指令,“08”表示數(shù)據(jù)長(zhǎng)度,在此表示的是8個(gè)字節(jié)數(shù)據(jù)正文(即4個(gè)寄存器,每個(gè)寄存器兩個(gè)字節(jié)表示),“00 01 00 01 00 01 00 01”是數(shù)據(jù)正文,表示四個(gè)寄存器的狀態(tài),“28 D7”就是CRC16校驗(yàn)碼。同樣的當(dāng)我們執(zhí)行寫(xiě)操作的是,我們舉例寫(xiě)第一個(gè)開(kāi)關(guān)量輸出,即寄存器“0x18E”,主機(jī)下發(fā)的指令為:“01 10 01 8e 00 01 02 00 00 A8 7E”,該指令的解讀就是:“01”表示模塊的地址,“10”表示該指令為寫(xiě)寄存器,“01 8E”表示從該寄存器地址開(kāi)始執(zhí)行寫(xiě)操作指令“00 01”表示寫(xiě)多少個(gè)寄存器,在此為寫(xiě)1個(gè)寄存器,“02”表示數(shù)據(jù)長(zhǎng)度,表示數(shù)據(jù)長(zhǎng)度為兩個(gè)字節(jié),“00 00”表示寫(xiě)入寄存器的數(shù)據(jù),在此表示連通,“A8 7E”為CRC校驗(yàn)碼。模塊返回的指令和讀取寄存器的返回的指令類(lèi)似。前文所述,Modbus TCP協(xié)議是在RTU協(xié)議前面添加MBAP報(bào)文頭,共七個(gè)字節(jié)長(zhǎng)度,其分別的意義是:1.傳輸標(biāo)志,兩個(gè)字節(jié)長(zhǎng)度,標(biāo)志Modbus詢(xún)問(wèn)/應(yīng)答的傳輸,一般默認(rèn)是00 00。2.協(xié)議標(biāo)志,兩個(gè)字節(jié)長(zhǎng)度,0表示是Modbus,1表示UNI-TE協(xié)議,一般默認(rèn)也是00 00。3.后續(xù)字節(jié)計(jì)數(shù),兩個(gè)字節(jié)長(zhǎng)度,其實(shí)際意義就是后面的字節(jié)長(zhǎng)度,具體情況詳見(jiàn)下文。4.單元標(biāo)志,一個(gè)字節(jié)長(zhǎng)度,一般默認(rèn)為00,單元標(biāo)志對(duì)應(yīng)于Modbus RTU協(xié)議中的地址碼,當(dāng)RTU與TCP之間進(jìn)行協(xié)議轉(zhuǎn)換的時(shí)候,特別是Modbus網(wǎng)關(guān)轉(zhuǎn)換協(xié)議的時(shí)候,在TCP協(xié)議中,該數(shù)據(jù)就是對(duì)應(yīng)RTU協(xié)議中的地址碼,具體情況詳見(jiàn)下文。通過(guò)上面的描述我們差不多能夠理解Modbus RTU協(xié)議,我們?cè)僬f(shuō)說(shuō)Modbus TCP通信協(xié)議,前面就已經(jīng)說(shuō)過(guò)TCP協(xié)議就是在RTU協(xié)議的基礎(chǔ)上去掉校驗(yàn)碼以及加上五個(gè)0和一個(gè)6,當(dāng)是讀取相關(guān)寄存器的時(shí)候,該說(shuō)法是沒(méi)有錯(cuò)的,比如上文的“01 03 01 8E 00 04 25 DE”讀取指令,用TCP協(xié)議來(lái)表述的話(huà),指令是“00 00 00 00 00 06 00 03 01 8E 00 04”,由于TCP是基于TCP連接的,不存在所謂的地址碼,所以06后面一般都是“00”(當(dāng)其作為Modbus網(wǎng)關(guān)服務(wù)器掛接多個(gè)RTU設(shè)備的時(shí)候,數(shù)值從01-FF).即“00 03 01 8E 00 04”對(duì)應(yīng)的是RTU中去掉校驗(yàn)碼的指令,前面則是五個(gè)0以及一個(gè)6。其中6表示的是數(shù)據(jù)長(zhǎng)度,即“00 03 01 8E 00 04”有6個(gè)字節(jié)長(zhǎng)度。而當(dāng)其為寫(xiě)操作指令的時(shí)候,其指令是“00 00 00 00 00 09 01 10 01 8e 00 01 02 00 00”,其中“00 09”表示后面有9個(gè)字節(jié)。Modbus RTU與Modbus TCP讀指令對(duì)比:指令的涵義:從地址碼為01(TCP協(xié)議單元標(biāo)志為00)的模塊0x18E(01 8E)寄存器地址開(kāi)始讀(03)四個(gè)(00 04)寄存器。Modbus RTU與Modbus TCP寫(xiě)指令對(duì)比指令的涵義:從地址碼為01(TCP協(xié)議單元標(biāo)志為00)的模塊0x18E(01 8E)寄存器地址開(kāi)始寫(xiě)(10)一個(gè)(00 01)寄存器,具體數(shù)據(jù)長(zhǎng)度為2個(gè)字節(jié)(02),數(shù)據(jù)正文內(nèi)容為00 00(00 00)。通過(guò)串口抓包我們知道了,M
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 聚硅氧烷纖維在新能源領(lǐng)域的應(yīng)用考核試卷
- 外貿(mào)英語(yǔ)專(zhuān)業(yè)課件
- 四年級(jí)學(xué)習(xí)月報(bào)
- 外貿(mào)英文函電課件unit12
- 山東中醫(yī)藥大學(xué)《生物制藥大實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東省濱州市重點(diǎn)中學(xué)2024-2025學(xué)年高三第二學(xué)期調(diào)研考試(物理試題)試題含解析
- 寧波大學(xué)科學(xué)技術(shù)學(xué)院《學(xué)術(shù)論文寫(xiě)作A》2023-2024學(xué)年第一學(xué)期期末試卷
- 江西省南昌市新建區(qū)重點(diǎn)達(dá)標(biāo)名校2025屆初三5月教學(xué)質(zhì)量檢測(cè)試題語(yǔ)文試題試卷含解析
- 深圳市育才中學(xué)2025年高中畢業(yè)班第一次調(diào)研測(cè)試歷史試題含解析
- 吉林省通化一中2024-2025學(xué)年5月月考試卷數(shù)學(xué)試題試卷含解析
- TOEIC托業(yè)詞匯匯總(完整版)
- 天然蝦青素提取和純化工藝研究
- 班級(jí)優(yōu)化大師電子獎(jiǎng)狀模板
- 裂變徑跡課件
- 《閱讀文言文與鑒賞》-提高學(xué)生文言文閱讀與鑒賞能力
- 醫(yī)務(wù)科依法執(zhí)業(yè)自查表
- PDP性格測(cè)試表模板
- 醫(yī)師執(zhí)業(yè)變更注冊(cè)申請(qǐng)審核表
- 領(lǐng)導(dǎo)干部任前談話(huà)記錄表
- 2023建筑施工承插型套扣式鋼管腳手架安全技術(shù)規(guī)程
- (完整版)各檔口單品菜品毛利率核算表
評(píng)論
0/150
提交評(píng)論