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

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

3天內不再提示

Modbus功能碼/異常功能碼/錯誤代碼

nmgdmdz ? 來源:nmgdmdz ? 作者:nmgdmdz ? 2023-06-25 09:20 ? 次閱讀

在大家通讀Modbus協議時,總是會碰到一些容易混淆的名詞,從而導致對于協議的解讀出現問題,在本文中,我們對于Modbus協議中可能會給大家造成困惑的名詞作相關的解釋。

1.功能碼:功能碼在modbus協議用于表示信息幀的功能,常用的功能碼有03,04,06,16等,其中03功能碼的作用是讀保持寄存器內容,04功能碼的作用是讀輸入寄存器內容(輸入寄存器和保持寄存器的區別看下文),06功能碼的內容是預置單個保持寄存器,16功能碼的內容則是預置多個保持寄存器。

2.輸入寄存器和保持寄存器:04功能碼的作用就是讀輸入寄存器,而03功能碼的作用則是讀保持寄存器,很多人在看到這兩個功能碼的時候總是希望找到這兩個功能碼的區別,保持寄存器和輸入寄存器到底是什么區別,modbus協議最開始是用來解決PLC通信協議問題的,主要用于輸入輸出數字量信號以及模擬量信號,所謂的輸入寄存器就是從模擬量信號輸入引申出來的,即輸入寄存器只能從模擬量信號輸入端改變寄存器,而主機則不能通過下發指令改變輸入寄存器的數據,而保持寄存器則是用于輸出模擬量信號的,主機是可以改變寄存器數據,也就是說對于主機而言,輸入寄存器是只讀的,而保持寄存器是可以讀寫的,當主機用06,16功能碼的指令去預置輸入寄存器的時候,設備會返回一個代碼為0x81的錯誤代碼,即企圖寫只讀寄存器。

3.Modbus中的數據地址格式:在Modbus協議中,經常會出現類似于3xxxx,4xxxx寄存器,這個表示的是寄存器支持的數據類型。我們用列表來說明,還有Modbus數據地址格式是從0開始,比如以下一個寄存器40009,即表示保持寄存器,寄存器地址為00 08,類似的數據地址格式經常在組態軟件以及PLC系統中用到。

映射地址 使用的功能碼 地址類型 存取方式 描述
0XXXX 01,05,15 離散輸出 讀寫 每個卷表示單個開關位
1XXXX 02 離散輸入 只讀 每個卷表示單個開關位
2XXXX 03,04,06,16 浮點寄存器 只讀/讀寫 兩個連續16位寄存器表示一個浮點數
3XXXX 04 輸入寄存器 只讀 每個寄存器表示一個16位無符號整數
4XXXX 03,06,16 保持寄存器 讀寫 每個寄存器表示一個16位無符號整數
5XXXX 03,04,06,16 ASCII字符 讀寫 每個寄存器表示兩個ASCII碼


4.Modbus RTU/ASCII/TCP:Modbus協議最開始是用于可編程邏輯控制器(PLC)之間的通訊,由于其具有的開放性,大量的用于現場智能儀表。Modbus協議有多個變種,其中最著名的是Modbus RTU/Modbus ASCII和Modbus TCP通信協議。其中RTU/ASCII協議是基于串行口通信,而TCP協議則是基于以太網通信。他們之間的區別和聯系請參考本站其他頁面內容:Modbus RTU/TCP協議解析以及Modbus RTU/ASCII通信協議異同點。

5.Modbus錯誤代碼表,modbus有功能碼,校驗碼,異常功能碼和錯誤代碼,其中異常功能碼和錯誤代碼非常容易混淆,一般來說異常功能碼指的是某個功能碼執行的時候出現的相應異常功能碼,一般都是在功能碼的基礎上加上0x80,比如03功能碼出現的異常碼是0x83異常功能碼,16功能碼對應出現的異常功能碼則是0x90,而錯誤代碼則是表示出現錯誤的具體情況,比如寄存器地址不存在,不管是讀還是寫,如果該寄存器地址不存在的話,錯誤代碼為02。具體情況請參閱本站其他頁面文章。

審核編輯黃宇

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

    關注

    4984

    文章

    12414

    瀏覽量

    456121
  • MODBUS
    +關注

    關注

    28

    文章

    1472

    瀏覽量

    75840
收藏 人收藏

    評論

    相關推薦

    臺達PLC通信支持modbus協議的4號功能嗎?

    使用modbus協議的4號功能采集PH值,系統部署如下圖:本來這是個很簡單的項目,可是在PLC的通訊編程中出現了問題,DW-MC1無線監控器采樣modbus協議的4號
    發表于 05-22 11:18

    Modbus 云溫控器通訊規約

      2.2、錯誤代碼:  錯誤代碼說明備注  01非法功能  02非法數據地址  03非法數據值  2.3、 RTU 格式:  功能:0x
    發表于 05-03 11:03

    Labview Modbus.vi 錯誤代碼56

    本帖最后由 faxhui 于 2018-1-9 23:35 編輯 用的Labview的modbus 函數,運行之后就報錯,錯誤代碼是56~~~這個好像是超時,也添加了超時時間設置的函數,怎么弄也不行~~~~有沒有高手用過這種方式,幫助解答一下,感激不盡?。。?!
    發表于 01-09 23:33

    Modbus功能的回調函數如何編寫呢

    FreeModbus從站設計(10)-Modbus功能的回調函數如何編寫關鍵詞:FreeModbus CubeMX HAL庫 串口 功能
    發表于 02-16 07:31

    modbus功能錯誤會返回什么錯誤信息?

    modbus在通信的過程中功能錯誤會返回什么錯誤
    發表于 10-13 07:48

    modbus功能怎么用?

    modbus功能怎么用
    發表于 11-06 06:37

    筆記本開機錯誤代碼檢查范圍及解決方法

    筆記本開機錯誤代碼檢查范圍及解決方法
    發表于 08-30 09:31 ?63次下載

    調制解調器的錯誤代碼一覽

    調制解調器的錯誤代碼
    發表于 09-07 15:45 ?0次下載

    MSN錯誤代碼大全

    MSN錯誤代碼大全  80004005   這是一個泛泛的錯誤代碼,它意味著,“我知道出錯了,但我不知道錯誤是什么”。   第一步,我們可以試著重新注冊MSN所需的dll
    發表于 07-20 22:50 ?2616次閱讀

    IBM筆記本錯誤代碼解釋及解決

    IBM筆記本錯誤代碼解釋及解決     IBM的ThinkPad系列筆記本電腦在國內有不少用戶,筆者收集到關于ThinkPad的錯誤代碼解釋以及解決方
    發表于 01-23 14:12 ?799次閱讀

    2013LabVIEW錯誤代碼

    2013LabVIEW錯誤代碼介紹,通過查看錯誤代碼可知錯誤原因。
    發表于 02-25 15:00 ?8次下載

    LabVIEW錯誤代碼

    labview__錯誤代碼,感興趣的小伙伴們可以看一看。
    發表于 09-06 18:07 ?0次下載

    電腦開機一直藍屏怎么辦,錯誤代碼分析和解決

    電腦開機就出現藍屏錯誤代碼提示“0x0000000A”的話,我們可以根據錯誤代碼一起來了解和解決問題。出現這種情況,很可能是因為系統中安裝了問題驅動程序、有缺陷或不兼容的軟硬件。
    發表于 04-13 09:36 ?1.1w次閱讀
    電腦開機一直藍屏怎么辦,<b class='flag-5'>錯誤代碼</b>分析和解決

    電腦啟動時藍屏0x0000007B錯誤代碼的解決方法

    解決電腦啟動時藍屏0x0000007B錯誤代碼的問題
    發表于 09-28 09:52 ?0次下載

    介紹一些常見的Modbus IO通信錯誤代碼及其含義

    Modbus IO通信協議中的錯誤代碼通常用于標識通信過程中出現的錯誤異常情況。
    的頭像 發表于 03-06 09:03 ?743次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>