18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 18luck平台 >> 單片機 >> 正文

Modbus RTU與Modbus TCP的區別

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

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

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

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

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

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

  Modbus的功能碼有:

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

 

 

 

 

一、Modbus RTU

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

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

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

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

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

回:00 10 00 20 00 01 01 D2

二、Modbus TCP

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

MBAP報文頭:

事務處理標識 協議標識 長度 單元標識符
2字節 2字節 2字節 1字節

 

 

 

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

 

 

 

 

發:00 00 00 00 00 06 00 03 00 20 00 01
回:00 00 00 00 00 05 00 03 02 00 00

發:00 00 00 00 00 06 00 04 00 30 00 01
回:00 00 00 00 00 05 00 04 02 00 08

發: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進製發送)

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、寫(xie) 指令對比(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,通信協議  
責任編輯: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協議詳解 科普Modbus通訊協議
    Modbus通訊簡單測試—Modscan32使用簡介
    Modbus Scan32模擬軟件使用,Modscan32使用教程
    Modbus協議的數據模型和地址模型
    西門子PLC通信編程MODBUS通信梯形圖實例編程 modbus地址掃描
    西門子plc Modbus 地址和 S7-200 存儲區地址的映射,從站地址與S
    Modbus RTU 從站常見問題
    如何看懂Modbus數據幀?Modbus RTU數據幀格式
    Modbus協議中寄存器40001,30001是什麽意思?
    MODBUS協議用03功能碼為什麽既能讀又能寫寄存器地址?
    梯形圖實例 儀表與西門子PLC Modbus通訊實例稱重儀表 指令MBUS_M
    西門子plc與modbus設備進485通信詳解(modbus多機輪詢)讀取儀表
    手把手帶你搞懂Modbus通信協議 報文格式詳解
    寄存器PLC地址與寄存器modbus協議地址 三菱FX係列西門子s7係列pl
    Modbus協議基本知識 Modbus地址範圍對應表
    Modbus-RTU協議解析
    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 個字
    [ 查看全部 ] 網友評論
    關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁麵
    下到頁底
    晶體管查詢