精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

modbus協議的一些筆記

汽車電子技術 ? 來源:嵌入式情報局 ? 作者: 情報小哥 ? 2023-02-21 10:29 ? 次閱讀

大家好,我是情報小哥~

最近使用modbus協議與第三方設備進行通信,有幾點在這里小結分享一些,也避免大家以后掉坑,本文不做系統的modbus協議解說,僅對使用過程中遇到的問題和注意事項進行描述,以基于RS485的modbus-RTU為例進行講解:

1、字節序問題

modbus采用大端字節序進行報文傳輸,這個非常重要,字節序不正確則對多字節數據無法解析和組拼。

這里所說的大端字節序表示:一個數據的高字節將被優先發送,如一個word大小的數據為0x1234,那么在modbus協議打包成一幀數據進行發送的時候在規定數據域中先發送0x12,然后發送0x34,其他多字節數據類型、CRC16校驗也是類似的傳輸順序。

總線上的發送與接收方都要遵循大端的字節序發送格式。

2、單播與廣播

在modbus總線上采用單播和廣播的方式進行通信,同一總線上一般都只有一個主機、多個從機;在同一時間內一個主機可以通過地址區分與想要的從機通信,這邊是單播方式;同時modbus總線也可以一個主機以廣播的方式與多個從機進行通信。

平時我們也稱這種通信方式為主從通信(Maser/Slave),主機發送請求消息,當從機接收到正確消息后響應請求返回給主機;同時主機也可以直接發消息修改從機的數據,實現主從數據的雙向讀寫。

3、與PLC通信協議

具體與什么設備通信,只是不同的設備所支持的功能碼不同,或相關的叫法和習慣不同,具體需要根據相應的設備來進行區分了,但都符合modbus協議標準。

在跟PLC進行通信的時候其給過來的協議會指明相應的PLC地址而此地址與實際發送modbus報文數據幀中的寄存器等地址并不是一致的。

圖片

如上圖所示PLC工程師一般都會以PLC地址為基礎給出協議,而很多其他軟件工程師對接的時候,以為PLC地址(也叫PLC的存儲地址)便是modbus報文數據幀中的寄存器地址,其實兩者并不相等。

西門子的PLC地址其每個功能碼所對應的modbus報文地址都是從0開始,即從0x0000~0xFFFF;所以你可以把PLC地址看成是一種絕對地址,而modbus報文地址僅僅只是在該功能碼下的一個相對地址。

如采用03H功能碼讀取PLC存儲地址是40002的寄存器,而此時modbus報文中的寄存器地址為01。

圖片

3、線圈和寄存器的理解

由于早期PLC對于一些布爾量均是用于控制一些繼電器或者接觸器等等,這些器件主要是通過線圈來進行吸合與彈開,后面叫法也就沿用下來了,同時線圈分配輸入線圈和輸出線圈,跟我們平時MCU的IO引腳的電平讀寫有點類似。

而對于一些非bool類型的數據均采用寄存器的概念來繼續傳輸,相信這樣便可以對PLC中的這些名字進一步理解了。

4、RS485終端電阻

對于較長距離的RS485通信,采用線型連接并增加終端120Ω匹配電阻來降低干擾增加總線通信的穩定性,如下圖所示:

圖片

最 后

好了,這里小哥就簡單介紹了最近使用modbus的一些踩坑筆記,記得關注學習哦。

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

    關注

    8

    文章

    6909

    瀏覽量

    88850
  • MODBUS
    +關注

    關注

    28

    文章

    1765

    瀏覽量

    76850
  • 字節
    +關注

    關注

    0

    文章

    40

    瀏覽量

    13718
收藏 人收藏

    評論

    相關推薦

    Modbus庫開發筆記之十一:關于Modbus協議棧開發的說明

    `對于Modbus協議棧的整個開發內容,前面已經說得很清楚了,接下來我們說明下與開發沒有直接關系的內容。首先,關于我為什么開發這個協議棧的問題。我們的初衷只是想能夠在開發產品時不用每次都重寫這
    發表于 08-27 20:32

    Modbus TCP協議學習筆記分享

    公司于1979年開發,是種工業現場總線協議標準。1996年施耐德公司推出基于以太網TCP/IP的modbus協議:modbusTCP。Modbus協議
    發表于 07-01 10:36

    modbus協議筆記

    1 Modbus協議概要? Modbus通信協議由Modicon公司(現在的施耐德電氣Schneider Electric)于1979年為可編程邏輯控制(即PLC)通信而發表。目前,Modbu
    發表于 07-02 07:17

    Modbus協議是什么?Modbus協議主要有哪些應用?

    請問Modbus協議是什么?Modbus協議主要有哪些應用?
    發表于 07-15 12:04

    Modbus協議的特點是什么

    Modbus協議的特點是什么?Modbus協議有哪幾類功能碼?
    發表于 09-26 08:13

    Modbus協議地址與協議層次

    Modbus協議地址是什么意思?Modbus協議層次有何優勢?
    發表于 09-28 06:27

    Modbus協議是什么

    Modbus協議是什么?MODBUS功能碼有哪些?MODBUS協議有哪幾種傳輸模式?
    發表于 09-29 07:06

    Modbus是什么?Modbus協議有哪些優點

    Modbus是什么?Modbus協議有哪些優點?Modbus協議包括哪些?
    發表于 09-30 08:40

    文讀懂Modbus協議

    1、Modbus是什么?  Modbus協議,從字面理解它包括Mod和Bus兩部分,首先它是種bus,即總線協議,和I2C、SPI類似,總線就意味著有主機,有從機,這些設備在同
    發表于 10-28 14:23

    Modbus協議的理解

    。   對于Modbus協議一些猜測:   1.Modus協議既然是將數據字節按ASCII碼發送,為什么不以高4字節+低4字節的方式呢?我猜測的因為停止位是0x0D和0X0A,如果采用高4字節+低4字節
    發表于 05-05 16:47

    Modbus協議簡介及其特點

    Modbus協議是什么,Modbus協議的特點,本文針對Modbus協議的概況加以闡述。
    發表于 11-02 15:00 ?4656次閱讀

    Modbus協議使用常見問題分析

    Modbus協議最初由Modicon公司開發出來,是針對PLC設備設計的基于串行總線的主從模式的應用層總線設備協議。ModbusTCP是封裝在TCP包內的Modbus協議,雖然有一些
    發表于 11-02 15:34 ?4843次閱讀

    modbus協議應用指南

    modbus協議
    發表于 12-04 09:45 ?5次下載

    Modbus協議網關是什么?Modbus協議網關的功能

    Modbus協議網關是種專門用于工業自動化環境中的網絡設備,其主要功能是實現不同通信協議之間的轉換,尤其是將基于Modbus協議的設備或系統與使用其他
    的頭像 發表于 04-11 15:51 ?716次閱讀

    DJN Modbus協議

    DJN Modbus協議
    的頭像 發表于 11-27 13:52 ?1043次閱讀
    DJN <b class='flag-5'>Modbus協議</b>