<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發網

      電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
      搜索: 您現在的位置: 電子開發網 >> 電子開發 >> PLC基礎入門教程 >> 正文

      MODBUS常用功能碼學習及實例 modbus報文格式

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

      Modbus常用功能碼學習及實例

      一.MODBUS寄存器種類說明

      雖然MODBUS支持諸多功能碼,但其中只涉及到四種寄存器:線圈寄存器、離散輸入寄存器、保持寄存器、輸入寄存器。
      只要搞清楚寄存器的本質和功能碼的聯系,其實理解功能碼就很簡單。

      寄存器種類 讀寫狀態 位操作字操作 適用功能碼
      線圈寄存器 讀/寫 01H(讀); 05H(寫單個位); 0FH(寫多個位)
      離散輸入寄存器 只讀 02H
      保持寄存器 讀/寫 03H(讀); 06H(寫單個字節); 0FH(寫多個字節)
      輸入寄存器 只讀 04H

      線圈寄存器:可以類比為開關量,每個bit都對應一個信號的開關狀態。所以一個字節可以同時控制8路的信號。比如控制外部8路io的高低。 線圈寄存器支持讀也支持寫,比如控制或者讀取電磁閥的開關志狀態。對應的功能碼有:0x01 0x05 0x0f

      離散輸入寄存器:離散輸入寄存器相當于線圈寄存器的只讀模式,每個bit表示一個開關量,而他的開關量只能讀取,不能夠寫入。只能通過外部設定改變輸入狀態,比如我可以讀取外部按鍵的按下還是松開,但是控制不了按鍵。對應的功能碼有:0x02

      保持寄存器:寄存器的單位不再是bit而是兩個byte,也就是可以存放具體的數據量的,并且是可讀寫的。比如我不到那可以讀取傳感器報警上限下限,也可以設置它的大小。對應的功能碼有:0x03 0x06 0x10

      輸入寄存器:輸入寄存器相當于保持寄存器的只讀模式,也是只支持讀而不能寫。一個寄存器也是占據兩個字節的空間。比如通過讀取輸入寄存器獲取現在的模擬量采樣值。對應的功能碼有 0x04

      二.MODBUS部分功能碼

      MODBUS支持很多功能碼,但是在實際應用的時候常用的也就那么幾個。

      上面介紹了Modbus的四個寄存器種類:線圈寄存器、離散輸入寄存器、保持寄存器、輸入寄存器,從寄存器角度理解了對應功能碼。下面列出常用功能碼,具體如下:

      功能碼 名稱 數據類型 作用
      0x01 讀線圈寄存器 取得一組邏輯線圈的當前狀態(ON/OFF )
      0x02 讀離散輸入寄存器 取得一組開關輸入的當前狀態(ON/OFF )
      0x03 讀保持寄存器 整型、浮點型、字符型 在一個或多個保持寄存器中取得當前的二進制值
      0x04 讀輸入寄存器 整型、浮點型 在一個或多個輸入寄存器中取得當前的二進制值
      0x05 寫單個線圈寄存器 強置一個邏輯線圈的通斷狀態
      0x06 寫單個保持寄存器 整型、浮點型、字符型 把具體二進值裝入一個保持寄存器
      0x0f 寫多個線圈寄存器 強置一串連續邏輯線圈的通斷
      0x10 寫多個保持寄存器 整型、浮點型、字符型 把具體的二進制值裝入一串連續的保持寄存器
      三.MODBUS功能碼實例

      1.功能碼:01H 讀線圈寄存器

      1)功能:讀從站線圈寄存器,位操作,可讀單個或者多個
      2)主機發送指令:
      主機發送數據包括:從站地址+功能碼+寄存器起始地址+寄存器數量+校驗碼
      假設從站地址為0x01,線圈寄存器開始地址0x0021,結束地址0x002c,即寄存器地址范圍為:0x0021~0x0032,總共讀取12個連續線圈的狀態值,則主機發送指令如下圖所示:

      從站地址 功能碼 寄存器起始地址高8位 寄存器起始地址低8位 寄存器數量高8位 寄存器數低8位 CRC校驗低8位 CRC校驗高8位
      0x01 0x01 0x00 0x21 0x00 0x0c 0xXX 0xXX

      3)從站響應返回:
      從站響應返回數據包括:從站地址+功能碼+返回字節數+數據值+校驗碼
      其中,返回數據值的每一位對應線圈狀態,線圈狀態為ON時,其值為1;狀態為OFF時,其值為0;
      【數據以小端的形式進行存儲,即最低有效位存放于內存最低位地址(位于二進制的右側)。每8個位組成一個字節,當線圈的數量不是8的倍數時,剩余的位數添0補位。】

      從站地址 功能碼 返回字節數 data1 data2 CRC校驗低8位 CRC校驗高8位
      0x01 0x01 0x02 0xCB 0x0B 0xXX 0xXX

      本例中讀取12個線圈,12/8商1余4,因此需要2個字節存放應答數據,返回字節數為2。
      字節1存放線圈編號21~28的數值(小端字節序,線圈28的值存放在bit7,線圈21的值存放在bit0);
      字節2存放線圈編號29~32的數值,剩余位數添0補位;

      上表中data1表示0x0021-0x0028的線圈狀態,data1的最低位代表最低地址的線圈狀態;
      data1:0xCB=1100 1011,則data1線圈狀態如下表所示:

      線圈地址 功能碼 0x28 0x27 0x26 0x25 0x24 0x23 0x22 0x21
      數值 0x01 1 1 0 0 1 0 1 1

      data2表示地址0x0030-0x0038的線圈狀態,不夠8位,字節高位填充為0。
      data2:0x0B=0000 1011,則data2線圈狀態如下表所示:

      線圈地址 功能碼 0x30 0x2f 0x2e 0x2d 0x2c 0x2b 0x2a 0x29
      數值 0x01 0 0 0 0 1 0 1 1

      2.功能碼:02H 讀離散輸入寄存器

      1)功能:讀離散輸入寄存器,位操作,可讀單個或多個,類似功能碼0X01,此處省略;

      3.功能碼:03H 讀保持寄存器

      1)功能:讀從站保持寄存器,字節操作,可讀單個或者多個;每個保持寄存器占2個字節(16位);
      2)主機發送指令:
      主機發送數據包括:從站地址+功能碼+寄存器起始地址+寄存器數量+校驗碼
      假設從站地址為0x03,保持寄存器開始地址為0x003B,結束地址0x003D,即寄存器地址范圍為:0x003B~0x003D,總共讀取3個保持寄存器的數據,則主機發送指令如下圖所示:

      從站地址 功能碼 寄存器起始地址高8位 寄存器起始地址低8位 寄存器數量高8位 寄存器數量低8位 CRC校驗低8位 CRC校驗高8位
      0x03 0x03 0x00 0x3B 0x00 0x03 0xXX 0xXX

      3)從站響應返回:
      從站響應返回數據包括:從站地址+功能碼+返回字節數+數據值+校驗碼

      從站地址 功能碼 返回字節數 data1H data1L data2H data2L data3H data3L CRC校驗低8位 CRC校驗高8位
      0x03 0x03 0x06 0x1B 0x0B 0x0A 0x01 0xC2 0xDB 0xXX 0xXX

      本例中讀取3個保持寄存器,每個保持寄存器占2個字節,因此需要6個字節存放應答數據,返回字節數為6。
      0x003B~0x003D保持寄存器的數值如下圖所示:

      寄存器地址 0x003D 0x003C 0x003A
      數值 0xC2 DB 0x0A 01 0x1B 0B

      4.功能碼:04H 讀輸入寄存器

      1)功能:讀輸入寄存器,字節操作,可讀單個或多個,類似功能碼0X03,此處省略;

      5.功能碼:05H 寫單個線圈寄存器

      1)功能:對單個線圈進行寫操作,位操作,只能寫一個。寫入0xFF00表示將線圈置為ON,寫入0x0000表示將線圈置為OFF,其它值無效;
      2)主機發送指令:
      主機發送數據包括:從站地址+功能碼+寄存器起始地址+數據值+校驗碼
      假設從站地址為0x03,線圈寄存器起始地址為0x0032,要將其設置為ON,則主機發送指令如下表所示:

      從站地址 功能碼 寄存器起始地址高8位 寄存器起始地址低8位 dataH dataL CRC校驗低8位 CRC校驗高8位
      0x03 0x05 0x00 0x32 0xff 0x00 0xXX 0xXX

      3)從站響應返回:
      從站應答數據包括:從站地址+功能碼+寄存器地址+寫入值+校驗碼
      如果數據成功寫入,則應答數據與請求數據一樣,如下表所示:

      從站地址 功能碼 寄存器起始地址高8位 寄存器起始地址低8位 dataH dataL CRC校驗低8位 CRC校驗高8位
      0x03 0x05 0x00 0x32 0xff 0x00 0xXX 0xXX

      6.功能碼:06H 寫單個保持寄存器|

      1)功能:對單個保持寄存器進行寫操作,字節操作,只能寫一個。
      2)主機發送指令:
      主機發送數據包括:從站地址+功能碼+寄存器起始地址+數據值+校驗碼
      假設從站地址為0x01,線圈寄存器起始地址為0x0048,寫入數值為0x1234,則主機發送指令如下表所示:

      從站地址 功能碼 寄存器起始地址高8位 寄存器起始地址低8位 dataH dataL CRC校驗低8位 CRC校驗高8位
      0x01 0x06 0x00 0x48 0x12 0x34 0xXX 0xXX

      3)從站響應返回:
      從站應答數據包括:從站地址+功能碼+寄存器地址+寫入值+校驗碼
      如果數據成功寫入,則應答數據與請求數據一樣。

      Tags:功能碼,modbus  
      責任編輯:admin
      相關文章列表
      手把手帶你搞懂Modbus通信協議 報文格式詳解
      寄存器PLC地址與寄存器modbus協議地址 三菱FX系列西門子s7系列pl
      Modbus協議基本知識 Modbus地址范圍對應表
      Modbus-RTU協議解析
      Modbus如何遠距離傳輸? Modbus物聯網
      Modbus和RS485的關系是什么?
      Modbus RS485接線方法  modbus接線方法 終端電阻
      MODBUS調試工具(modscan32)使用說明-MODBUS調試工具(modscan32)如
      RS-485終端電阻怎么接?485終端電阻接法解析
      modbus通訊 RS-485終端電阻的重要性
      Modbus功能碼詳解 讀取線圈、保持寄存器
      modbus協議地址和常用功能碼,modbus詳解
      Modbus功能碼介紹
      Modbus網關的概念/功能/作用/特點
      Modbus-RTU通訊協議03功能碼詳解——小白一看就會的協議解析
      西門子plc SMART200 通過Modbus讀取溫濕度傳感器數據梯形圖實例
      實現PLC與多臺變頻器的MODBUS/RTU通信   MODBUS協議報文格式
      MODBUS功能碼實例  plc與儀表通信
      西門子plc modbus地址詳解
      s7-200與計算機modbus通訊案例,西門子S7-200 Smart Modbus通信介
      Modbus通訊協議簡介
      電力儀表怎么設置modbus ,電力-MODBUS_RTU通訊規約
      MODBUS規約報文解析
      modbus rtu六種功能碼詳細解析
      ModBus通信協議
      modbus通訊協議功能碼一覽_ModBus功能碼定義
      西門子200SMART主站輪詢MODBUS通信指令案例_梯形圖實例
      在通信程序中,如何實現PLC與多臺變頻器的MODBUS/RTU通信?
      MODBUS-RTU數據幀格式、報文實例
      modbus讀取保持寄存器實例
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網友評論
      推薦文章
      最新推薦
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 色婷婷久久综合中文久久一本`| 国产亚洲精品精品国产亚洲综合| 亚洲综合伊人久久综合| 国产综合色产在线精品| 一本一本久久A久久综合精品| 香蕉蕉亚亚洲aav综合| 激情婷婷成人亚洲综合| 亚洲综合综合在线| 国产色婷婷精品综合在线 | 伊人色综合视频一区二区三区 | 久久亚洲精品高潮综合色a片| 亚洲伊人久久成综合人影院| 五月天婷五月天综合网站| 狠狠色噜噜色狠狠狠综合久久| 亚洲综合一区二区精品久久| 亚洲综合精品香蕉久久网| 色天天天综合色天天碰| 亚洲国产成人久久综合| 在线精品国产成人综合| 亚洲综合综合在线| 精品综合久久久久久98| 色狠狠成人综合色| 国产成人综合在线观看网站| 亚洲国产精品综合久久网各| 亚洲综合久久久久久中文字幕| 久久综合久久综合久久| 狼狼综合久久久久综合网| 色综合久久久久无码专区| 色与欲影视天天看综合网| 狠狠狠色丁香婷婷综合久久俺| 狠狠色噜噜色狠狠狠综合久久| 亚洲 自拍 另类小说综合图区| 亚洲国产综合精品中文字幕 | 香蕉尹人综合在线观看| 亚洲综合在线一区二区三区| 久久综合久久综合亚洲| 国产色婷婷精品综合在线| 伊人久久亚洲综合| 色噜噜综合亚洲av中文无码| 久久婷婷五月综合97色一本一本| 亚洲综合无码一区二区痴汉|