色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Modbus通信協議報文分析

瑞薩MCU小百科 ? 來源:瑞薩MCU小百科 ? 2024-10-24 11:00 ? 次閱讀

10.4.7 字節序和大小端

Modbus中傳輸的數據,按照“大字節序”來傳輸,比如:

362814be-91ab-11ef-a511-92fbcf53809c.jpg

寄存器數值是0x1234,先傳輸0x12,再傳輸0x34。

在Modbus寄存器中,對于一個由2字節組成的16數,在內存中存儲這兩個字節有兩種方法:一種是將低序字節存儲在起始地址為小端(Little-Endian)字節序;另一種方法是將高序字節存儲在起始地稱為大端(Big-Endian)字節序。Modbus通信協議中具體規定了字節高低位發送順序,這樣就自然引出了字節序和大小端的問題。

①什么是大端:

所謂大端,是指數據的低位保存在內存的高地址中,數據的高位保存在內存的低地址中。

②什么是小端:

所謂小端,是指數據的低位保存在內存的低地址中,數據的高位保存在內存的高地址中。

③為什么會有大小端:

計算機系統是以字節為單位的,每個地址單元都對應著1個字節,一個字節為8bit。但在C語言中除了8bit的char類型,還有16bit的short類型和32bit的long類型,還有就是對于位數大于8位的處理器,如16位或32位的處理器,由于寄存器寬度大于一個字節,那么必然存在一個如何將多個字節安排的問題。因此就導致了大端存儲模式和小端存儲模式的出現。

低位字節和高位字節:比如123456其中的1就是高位數字,6就是低位數字。

舉一個例子,在32位數字0x12345678在內存中的表示形式為:

1)大端模式:

低地址 —— —— 高地址
0x12 0x34 0x56 0x78

2)小端模式:

低地址 —— —— 高地址
0x78 0x56 0x34 0x12

10.4.8 Modbus報文分析

在第二章中我們已經生成了一個報文,我們就拿此報文來逐步分析一下,報文如下:

36351e98-91ab-11ef-a511-92fbcf53809c.png

我們可以看到上面報文都是循環發送的,這樣看起來不太容易分析,摘抄下來其中一組來給大家分析:

發送:

從機
地址
功能碼 起始地址高位 起始地址低位 寄存器數量高位 寄存器數量低位 CRC
高位
CRC低位
01 03 00 00 00 0A C5 CD

響應:

從機地址 功能碼 返回字節數 數據位 CRC高位 CRC低位
01 03 14 00 42… CF 10

這里我們就以03功能碼為例來分析一下報文:

03發送報文格式:從機地址+功能碼+加起始地址+寄存器數量+CRC校驗

03接受報文格式:從機地址+功能碼+字節數+具體數據+CRC校驗

首先我們看一下發送報文:

從機地址是01,功能碼03,起始地址00,寄存器數量是十六進制0A也就是10,和門設置的是一樣的,我們來對對照一下我們設置的參數

3645f16e-91ab-11ef-a511-92fbcf53809c.jpg

我們再來看一下接收報文:

從機地址是01,功能碼03,返回字節數是十六進制14也就是返回20給字節,我們發送是個返回20個字節也是對的上的,第一個數據位是00 42也是和我們發送的可以對上,十六機制42,也就66,我們來看一下我們之前設置的參數:

365a8a8e-91ab-11ef-a511-92fbcf53809c.jpg

10.4.9 Moubus TCP消息幀格式

1. 協議描述

在Modbus TCP/IP中,串行鏈路中的主/從設備分別演變為客戶端/服務器端設備,即客戶端相當于主站設備,服務器端設備相當于從設備。基于TCP/IP網絡的傳輸特性,串行鏈路上一主多從的機構也演變為多客戶端/多服務器端的構造模型。Modbus協議在TCP/IP上的實現是在TCP/IP層上的應用,它需要一個完整的TCP/IP棧作為支撐,Modbus TCP/IP服務器端通常使用端口502作為接收報文的端口。

下圖為Moubus TCP的通訊結構:

3668a0e2-91ab-11ef-a511-92fbcf53809c.jpg

ModbusTCP與ModbusUDP的報文格式是一樣的,它們之間的區別其實就是TCP與UDP的區別,因此下面就針對ModbusTCP的協議進行分析,ModbusTCP與ModbusRtu(ModbusASCII)之間的區別如下圖:

367eb2ce-91ab-11ef-a511-92fbcf53809c.png

從上圖可以看出,ModbusTCP在Modbus串行通信的基礎上,去除了校驗(由于TCP本身就帶有校驗和)和設備地址(ModbusTCP弱化了設備地址,用IP地址來取代),再加上MBAP報文頭(占7bytes),下面針對MBAP進行分析說明:

369c4e4c-91ab-11ef-a511-92fbcf53809c.png

事務處理標識符:

事務處理標識用于在查詢報文與未來響應之間建立聯系。因此,對TCP/IP連接來說,在同一時刻這個標識符必須是唯一的。有以下幾種使用此標識符的方式。

例如,可以將傳輸標識作為一個帶有計數器的簡單“TCP發送順序號”,在每個請求發送時自動+1;也可以用作智能索引或指針,用來識別事務處理的內容,以便記憶當前的遠端服務器和未處理的請求。

服務器端可接收的請求數量取決于其容量,即服務器資源量和TCP窗口尺。

同樣,客戶端同時啟動事務處理的數量也取決于客戶端的資源容量。

單元標識符:

在對Modbus或Modbus+等串行鏈路子網中的設備進行尋址時,這個域用于路由的目的。在這種情況下,單元標識符(Unit Identifier)攜帶一個遠端設備的Modbus從站地址。

如果Modbus服務器連接到Modbus+或Modbus串行鏈路子網,并通過一個網橋或網關配置這個服務器的IP地址,則Modbus單元標識符對識別連接到網橋或網關后的子網的從站設備是必需的。TCP連接中的目的IP地址識別了網橋本身的地址,而網橋則使用Modbus單元標識符將請求轉交給正確的從站設備。分配給串行鏈路上的Modbus從站設備地址為1~247(十進制),地址0作為廣播地址。

對單純的Modbus TCP/IP設備來說用IP地址即可尋址Modbus服務器端設備,此時Modbus單元標識符是無用的,必須使用值0xFF填充。當對直接連接到TCP/IP網絡上的Modbus服務器尋址時,建議不要在“單元標識符”域使用有效的Modbus從站地址。

以上是MBAP報文頭個字段含義的詳細說明。

實際上,在Modbus TCP/IP傳輸過程中,服務端(從機)返回的響應報文中同樣包含MBAP報頭,除了Length字段外,其他字段均與客戶端一致。Modbus消息TCP/IP層提供,不需要像串行鏈路那樣自己判斷一幀是否結束,所有數據傳輸均由TCP/IP層處理。因為底層TCP/IP確保了端到端的連接,而且TCP/IP鏈路層已確保傳輸數據的準確性,所以Modbus TCP/IP中已不再需要LRC或CRC等校驗功能。

2. 查詢與響應報文示例

對于Modbus TCP消息幀格式,下面舉例說明各部分的含義。

①查詢報文:00 00 00 00 00 06 09 03 00 04 00 01。

1)0x06:后續還有6字節。

2)0x09:單元標識符為9。

3)0x03:功能碼3,即讀保持寄存器的值。

4)0x00 0x04:Modbus起始地址4(即40005)。

5)0x00 0x01:讀取寄存器個數為1。

②響應報文:00 00 00 00 00 05 09 03 02 00 05。

1)0x05:表示后續還有5字節。

2)0x09:同查詢報文,單元標識符。

3)0x03:功能碼,同查詢報文。

4)0x02:返回數據字節數。

5)0x00 0x05:寄存器的值。

可見,在Modbus TCP模式下,差錯校驗字段已不復存在。但在某些特殊場合,例如串行Modbus協議轉Modbus TCP的情況下,串行協議數據可以完整地裝載到Modbus TCP的數據字段,這時CRC或LRC差錯校驗字段仍然存在。例如,Modbus RTU Over TCP/IP或Modbus ASCII Over TCP/IP等。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5336

    瀏覽量

    120230
  • MODBUS
    +關注

    關注

    28

    文章

    1799

    瀏覽量

    76949
  • MPU
    MPU
    +關注

    關注

    0

    文章

    357

    瀏覽量

    48775
  • 工業控制
    +關注

    關注

    37

    文章

    1451

    瀏覽量

    85829

原文標題:字節序與Modbus通信 - RZ MPU工業控制教程連載(29)

文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Modbus?串行通信協議概述

    Modbus是一種串行通信協議,是Modicon公司(現在的施耐德電氣 Schneider Electric)于1979年為使用可編程邏輯控制器(PLC)通信而發表。Modbus已經成
    發表于 09-02 10:58 ?1370次閱讀

    淺談Modbus通信協議

    Modbus通信協議是一種工業現場總線協議標準,常用的Modbus協議有以下三種類型:Modbus TCP、
    發表于 09-20 15:56 ?4686次閱讀
    淺談<b class='flag-5'>Modbus</b><b class='flag-5'>通信協議</b>

    Modbus通信協議和多機通信例程

    Modbus通信協議介紹Modbus多機通信例程
    發表于 12-18 06:17

    Modbus通信協議的錯誤及解決辦法

    Modbus通信協議可能出現的錯誤Modbus通信協議錯誤的解決辦法
    發表于 01-11 07:32

    Modbus通信協議的相關資料分享

    Modbus通信協議Modicon公司1979在發展中,適用于工業現場總線協議控制。Modbus通信系統包含芯片的節點,并與組合物可編程控制
    發表于 11-24 08:01

    了解一下MODBUS通信協議

    目錄前言MODBUS協議簡介MODBUS通信格式信息幀格式前言近期需要制作一個MODBUS/RTU轉MODBUS/TCP 的網關。首先需要了
    發表于 01-14 06:19

    Modbus通信協議的相關資料下載

    Modbus通信協議是在RS-485串口實驗的基礎上實現的,簡單說就是首先要實現RS-485的串口通信,對所收發的數據串按照Modbus的規則編寫(比作數據的加密處理)因此在程序編寫上
    發表于 02-09 07:47

    淺析ModBus通信協議的相關知識

      概 述   Modbus是一種串行通信協議,是Modicon公司(現在的施耐德電氣Schneider Electric)于1979年為使用可編程邏輯控制器(PLC)通信而發表。Modbus
    發表于 05-05 15:51

    ModBus通信協議.pdf

    ModBus通信協議.pdf
    發表于 04-09 22:24 ?90次下載

    S7-200 Modbus通信協議手冊

    使用Modbus通信協議是Modicon公司提出的一種報文傳輸協議,它廣泛應用于工業控制領域,并已經成為一種通用的行業標準。不同廠商提供的控制設置可通過
    發表于 04-18 16:40 ?336次下載
    S7-200 <b class='flag-5'>Modbus</b><b class='flag-5'>通信協議</b>手冊

    Modbus通信協議詳解

    關于Modbus通信協議的詳解和應用分析
    發表于 10-12 16:54 ?150次下載
    <b class='flag-5'>Modbus</b><b class='flag-5'>通信協議</b>詳解

    Modbus通信協議教程

    Modbus通信協議教程Modbus通信協議教程Modbus通信協議教程
    發表于 12-08 14:14 ?75次下載

    ModBus通信協議及編程

    ModBus通信協議及編程。
    發表于 05-11 16:40 ?21次下載

    ModBus通信協議及編程_朱小襄

    ModBus通信協議及編程_朱小襄
    發表于 03-21 20:01 ?2次下載

    Modbus通信協議為什么這么受歡迎?

    01什么是ModbusModbus即總線協議,此協議多用于工業領域。Modbus是一種串行通信協議
    的頭像 發表于 02-13 10:41 ?1756次閱讀
    <b class='flag-5'>Modbus</b><b class='flag-5'>通信協議</b>為什么這么受歡迎?
    主站蜘蛛池模板: 日本另类z0zxhd| 国产欧美日韩亚洲第一页| 在线免费观看国产精品| 迅雷成人下载| 香蕉精品国产高清自在自线| 色www永久免费| 日本高清免费看| 青娱乐国产精品视频| 男人J桶进男人屁股过程| 久久精品亚洲热综合一本| 九九九精品国产在线| 精品久久99麻豆蜜桃666| 狠狠色色综合站| 精品国产成人系列| 精品久久久无码21P发布| 精品无码久久久久久国产百度| 好吊射视频988gaocom| 花蝴蝶高清影视视频在线播放| 好看的电影网站亚洲一区| 好姑娘社区在线视频| 精品美女国产互换人妻| 久久不射视频| 麻豆E奶女教师国产精品| 母乳女神春日もな| 日本性xxx| 忘忧草下载| 亚洲精品一二三区-久久| 一本色道久久综合亚洲精品| 在线自拍综合亚洲欧美| 最新在线黄色网址| AV多人爱爱XXx| 姑娘日本大全免费观看版中文翻译| 古风H啪肉NP文| 亚洲视频黄| 最新高清无码专区| 扒开小处30p| 国产精品久久毛片A片软件爽爽| 国产又粗又猛又爽黄老大爷| 久久国产精品无码视欧美| 免费国产综合视频在线看| 日本不卡不码高清免费|