日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發(fā)網

電子開發(fā)網電子設計 | 電子開發(fā)網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發(fā)網 >> 電子開發(fā) >> 單片機 >> 正文

Modbus RTU與Modbus TCP的區(qū)別

作者:佚名    文章來源:本站原創(chuàng)    點擊數:    更新時間:2022-09-08

Modbus通信協(xié)議具有多個變種,支持串口(主要是RS-485總線),以太網多個版本,其中最著名的是Modbus RTU,Modbus ASCII和Modbus TCP三種。

在工業(yè)現場一般都是采用Modbus RTU協(xié)議,一般而言,大家說的基于串口通信的Modbus通信協(xié)議都是指Modbus RTU通信協(xié)議。與Modbus RTU協(xié)議相比較,

Modbus TCP協(xié)議則是在RTU協(xié)議上加一個MBAP報文頭,并且由于TCP是基于可靠連接的服務,RTU協(xié)議中的CRC校驗碼就不再需要,所以在Modbus TCP協(xié)

議中是沒有CRC校驗碼的,所以就常用一句比較通俗的話來說:Modbus TCP協(xié)議就是Modbus RTU協(xié)議在前面加上五個0以及一個6,然后去掉兩個CRC校驗碼

字節(jié)就OK。雖然這句話說得不是特別準確,但是也基本上把RTU與TCP之間的區(qū)別說得比較清楚了。

  Modbus的功能碼有:

功能碼 含義 功能碼 含義
0x01 讀線圈 0x04 讀輸入寄存器
0x05 寫單個線圈 0x03 讀保持寄存器
0x0F 寫多個線圈 0x06 寫單個保持寄存器
0x02 讀離散量輸入 0x10 寫多個保持寄存器

 

 

 

 

一、Modbus RTU

  RTU協(xié)議中的指令由地址碼(一個字節(jié)),功能碼(一個字節(jié)),起始地址(兩個字節(jié)),數據(N個字節(jié)),校驗碼(兩個字節(jié))五個部分組成。

數據由數據長度(兩個字節(jié),表示的是寄存器個數,假定為M)和數據正文(M乘以2個字節(jié))組成。

發(fā):01 03 01 8E 00 04 25 DE //讀(0x03),從寄存器地址01 8E 開始讀,讀4個寄存器00 04

回:01 03 08 00 01 00 01 00 01 00 01 28 D7 // 08表示數據長度 ,00 01 00 01 00 01 00 01讀到的數據

發(fā):00 10 00 20 00 01 02 00 00 AC A0 // 寫(0x10),從寄存器地址 00 20開始寫,寫一個寄存器 00 01,寫入值 00 00

回:00 10 00 20 00 01 01 D2

二、Modbus TCP

  Modbus TCP協(xié)議是在RTU協(xié)議前面添加MBAP報文頭,由于TCP是基于可靠連接的服務,RTU協(xié)議中的CRC校驗碼就不再需要,所以在Modbus TCP協(xié)議中是沒有CRC校驗碼。

MBAP報文頭:

事務處理標識 協(xié)議標識 長度 單元標識符
2字節(jié) 2字節(jié) 2字節(jié) 1字節(jié)

 

 

 

事務處理標識 可以理解為報文的序列號,一般每次通信之后就要加1以區(qū)別不同的通信數據報文
協(xié)議標識符 00 00表示ModbusTCP協(xié)議
長度 表示接下來的數據長度,單位為字節(jié)
單元標識符 可以理解為設備地址

 

 

 

 

發(fā):00 00 00 00 00 06 00 03 00 20 00 01
回:00 00 00 00 00 05 00 03 02 00 00

發(fā):00 00 00 00 00 06 00 04 00 30 00 01
回:00 00 00 00 00 05 00 04 02 00 08

發(fā):00 00 00 00 00 09 00 10 00 20 00 01 02 00 00

回:00 00 00 00 00 06 00 10 00 20 00 01

三、總結(注:16進制發(fā)送)

1、讀指令對比(0x04)

MBAP報文頭 地址碼 功能碼 寄存器地址 寄存器數量 CRC校驗
Modbus RTU 01 04 00 00 00 16 71 C4
Modbus TCP 00 00 00 00 00 06 01 04 00 00 00 16

 

 

 

2、寫指令對比(0x10)

MBAP報文頭 地址碼 功能碼 寄存器地址 寄存器數量 數據長度 正文 CRC校驗
Modbus RTU 00 10 00 20 00 01 02 00 00 AC A0
Modbus TCP 00 00 00 00 00 09 00 10 00 20 00 01 02 00 00

 

 

 

 

Tags:Modbus,通信協(xié)議  
責任編輯:admin
  • 上一篇文章:
  • 下一篇文章: 沒有了
  • 相關文章列表
    西門子plc S7-200SMART通過MODBUS通信控制變頻器啟停如何看電流頻
    西門子plc梯形圖編程實例 西門子200smart與電流表Modbus RTU通訊
    使用西門子plc的Modbus通訊 串口調試助手與S7-200SMART PLC從站通
    Modbus 調試助手的使用(一) Modsim32使用詳解Modbus Poll
    【工具使用】Modsim32軟件使用詳解 串口調試軟件
    什么是Modbus網關?modbus網關有什么作用?
    西門子S7-200PLC ModbusTCP通訊,ModScan32使用
    Modbus協(xié)議詳解 科普Modbus通訊協(xié)議
    Modbus通訊簡單測試—Modscan32使用簡介
    Modbus Scan32模擬軟件使用,Modscan32使用教程
    Modbus協(xié)議的數據模型和地址模型
    西門子PLC通信編程MODBUS通信梯形圖實例編程 modbus地址掃描
    西門子plc Modbus 地址和 S7-200 存儲區(qū)地址的映射,從站地址與S
    Modbus RTU 從站常見問題
    如何看懂Modbus數據幀?Modbus RTU數據幀格式
    Modbus協(xié)議中寄存器40001,30001是什么意思?
    MODBUS協(xié)議用03功能碼為什么既能讀又能寫寄存器地址?
    梯形圖實例 儀表與西門子PLC Modbus通訊實例稱重儀表 指令MBUS_M
    西門子plc與modbus設備進485通信詳解(modbus多機輪詢)讀取儀表
    手把手帶你搞懂Modbus通信協(xié)議 報文格式詳解
    寄存器PLC地址與寄存器modbus協(xié)議地址 三菱FX系列西門子s7系列pl
    Modbus協(xié)議基本知識 Modbus地址范圍對應表
    Modbus-RTU協(xié)議解析
    MODBUS常用功能碼學習及實例 modbus報文格式
    Modbus如何遠距離傳輸? Modbus物聯網
    Modbus和RS485的關系是什么?
    Modbus RS485接線方法  modbus接線方法 終端電阻
    MODBUS調試工具(modscan32)使用說明-MODBUS調試工具(modscan32)如
    RS-485終端電阻怎么接?485終端電阻接法解析
    modbus通訊 RS-485終端電阻的重要性
    請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個字
    [ 查看全部 ] 網友評論
    關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁面
    下到頁底
    晶體管查詢