Modbus通信協議解析_第1頁
Modbus通信協議解析_第2頁
Modbus通信協議解析_第3頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Modbus通信協議剖析及應用ModbusModbusModicon(SchneiderElectric)1979(PLC)前,Modbus已經成為工業領域通信協議的業界標準,并且現在是工業電子設備之間常用的連接方式。Modbus作為目前工業領域應用最廣泛的協議,與其他通信協議相比,有以下特點:ModbusModbusRS232RS485等,還可以在各種介質上傳輸,如雙絞線、光纖、紅外、無線等Modbus使用簡單,廠商容易開發和集成,方便形成工業控制網絡ModbusASCIIRTUTCP和使用的消息結構,不管它們是經過何種網絡進行通信的。ModbusRTUASCIIASCIILRCRTU16CRC時使用TCP,這種模式不使用校驗,因為TCP可靠協議。Modbus協議規定了4個存儲區,如下表所示:區號區號名稱讀寫范圍功能碼功能說明功能碼功能說明01H讀取輸出線圈02H讀取輸入線圈03H讀取保持寄存器04H讀取輸入寄存器05H預置單線圈06H預置單寄存器0FH預置多線圈10H預置多寄存器0區輸出線圈可讀可寫00001-099991區輸入線圈只讀10001-199993區輸入寄存器只讀30001-399994區保持寄存器可讀可寫40001-49999Modbus8用于針對上述存儲區的讀寫,如下表所示:工欲善其事,必先利其器,Modbus學習配合相關的調試軟件,可以達到事半功倍的效果,Modbus學習必備的三大神器分別是ModbusPollModbusSlaveVSPD,ModbusPollModbus主站或ModbusModbusSlave軟件主要用于仿真Modbus從站或ModbusVSPD全稱ConfigureVirtualSerialPortDriver,是用來給電腦創建虛擬串口使用的。ModbusRTU/ASCIIModbusRTU與ModbusASCII在報文數據發送格式上幾乎一樣,但1)ModbusASCII有開始字符(1)ModbusASCII有開始字符(和結束字符(CRLF),可以作為ModbusRTU3.53.53.5就會出現粘包的情況。也存在一些區別,具體體現在:注意:針對3.5間跟波特率相關。18(一般情況)1(或者沒有)1(一般情況下),因此1113.538.59600=1000/9600*38.5=4.01ms。兩者校驗方式不同,ModbusRTU是CRC循環冗余校驗,ModbusASCIILCR在ModbusRTUASCIIModbusRTURTU和ASCII,但不能只支持ASCII。從站地址功能碼從站地址功能碼數據CRC/LRC1byte1byte1byteNbytes2bytes有了以上理論基礎之后,下面針對各個功能碼進行詳細分析:讀取輸出線圈發送報文格式如下:址

功能碼

起 始起 始數 (高)(低)(高)

(低)校驗0x01 0x01 0x00 0x13 0x00 0x1B XXXX10x13=19,100020-000462700000140001返回報文格式如下:從站地址從站地址功能碼字節計數字節1234校驗0x010x010x040xCD0x6B0xB20x05XXXX100020-00046274CD6BB2。CD=11001101對應00020-000276B=01101011對應00028-00035B2=10110010對應00036-0004305=00000101對應00044-00046讀取輸入線圈發送報文格式如下:從站地址從站地址功能碼起始(高)起始(低)數量(高)數量(低)校驗0x010x020x000xC40x000x1DXXXX10xC4=196,110197-1022529返回報文格式如下:從站地址功能碼字節計數字節1字節2字節3字節4校驗0x010x020x040xCD0x6B0xB20x05XXXX110197-10225294CD6BB2。CD=11001101對應10197-102046B=01101011對應10205-10212B2=10110010對應10213-1022005=00000101對應10221-10225從站地址功能碼起始(高)起始(低)數量(高)數量(低)從站地址功能碼起始(高)起始(低)數量(高)數量(低)校驗0x010x030x000x6B0x000x02XXXX1140108-401092返回報文格式如下:從站地址功能碼字節計數1高1低2高2低校驗0x010x030x040x020x2B0x010x06XXXX140108-4010924022B0106,401080x022B,401090x0106。從站地址功能碼起始(高)起始(低)數量(高)數量(低)從站地址功能碼起始(高)起始(低)數量(高)數量(低)校驗0x010x040x000x6B0x000x02XXXX1130108-301092返回報文格式如下:從站地址功能碼字節計數1高1低2高2低校驗0x010x040x040x020x2B0x010x06XXXX130108-3010924022B0106,301080x022B,301090x0106。預置單線圈發送報文格式如下:從站地址從站地址功能碼線圈(高線圈(低)校驗0x010x050x000xAC0xFF0x00XXXX發送報文含義:預置 1號從站單個線圈的值,線圈地址為對應地址為斷通標志0xFF00表示置位表示復位,即置位1號從站輸出線圈00173。返回報文格式如下:從站地址從站地址功能碼線圈(高線圈(低)校驗0x010x050x000xAC0xFF0x00XXXX返回報文含義:預置單輸出線圈原報文返回。預置單寄存器發送報文格式如下:從站地址功能碼寄存器高寄存器低寫入值高寫入值低校驗0x010x060x000x870x030x9EXXXX10x0087=135401360x039E1401360x039E。返回報文格式如下:從站地址功能碼寄存器高寄存器低寫入值高寫入值低校驗0x010x060x000x870x030x9EXXXX返回報文含義:預置單保持寄存器原報文返回。返回報文含義:預置單保持寄存器原報文返回。預置多線圈發送報文格式如下:從站地址功能碼起始高起始低數量高數量低字節數從站地址功能碼起始高起始低數量高數量低字節數字節校驗0x010x0F0x000x130x000x0A0x020xCD00XXXX發送報文含義:預置 1號從站多個線圈的值,線圈地址為即預置1號從站線圈00020-00027=0xCD=11001101,00028-00029=0x00=0000。返回報文格式如下:從站地址功能碼起始高起始低數量高數量低校驗0x010x0F0x000x130x000x0AXXXX字節數及具體字節后返回。預置多寄存器發送報文格式如下:從站地址功能碼起始高起始低數量高數量低字節數從站地址功能碼起始高起始低數量高數量低字節數字節校驗0x010x100x000x870x000x020x040x01050A10XXXX發送報文含義:預置1號從站多個寄存器的值,寄存器地址為0x0087=135,起始地址為

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論