<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. 電子開(kāi)發(fā)網(wǎng)

      電子開(kāi)發(fā)網(wǎng)電子設(shè)計(jì) | 電子開(kāi)發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
      搜索: 您現(xiàn)在的位置: 電子開(kāi)發(fā)網(wǎng) >> 電子開(kāi)發(fā) >> PLC基礎(chǔ)入門(mén)教程 >> 正文

      MODBUS常用功能碼學(xué)習(xí)及實(shí)例 modbus報(bào)文格式

      作者:佚名    文章來(lái)源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2022-08-30

      Modbus常用功能碼學(xué)習(xí)及實(shí)例

      一.MODBUS寄存器種類(lèi)說(shuō)明

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

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

      線圈寄存器:可以類(lèi)比為開(kāi)關(guān)量,每個(gè)bit都對(duì)應(yīng)一個(gè)信號(hào)的開(kāi)關(guān)狀態(tài)。所以一個(gè)字節(jié)可以同時(shí)控制8路的信號(hào)。比如控制外部8路io的高低。 線圈寄存器支持讀也支持寫(xiě),比如控制或者讀取電磁閥的開(kāi)關(guān)志狀態(tài)。對(duì)應(yīng)的功能碼有:0x01 0x05 0x0f

      離散輸入寄存器:離散輸入寄存器相當(dāng)于線圈寄存器的只讀模式,每個(gè)bit表示一個(gè)開(kāi)關(guān)量,而他的開(kāi)關(guān)量只能讀取,不能夠?qū)懭。只能通過(guò)外部設(shè)定改變輸入狀態(tài),比如我可以讀取外部按鍵的按下還是松開(kāi),但是控制不了按鍵。對(duì)應(yīng)的功能碼有:0x02

      保持寄存器:寄存器的單位不再是bit而是兩個(gè)byte,也就是可以存放具體的數(shù)據(jù)量的,并且是可讀寫(xiě)的。比如我不到那可以讀取傳感器報(bào)警上限下限,也可以設(shè)置它的大小。對(duì)應(yīng)的功能碼有:0x03 0x06 0x10

      輸入寄存器:輸入寄存器相當(dāng)于保持寄存器的只讀模式,也是只支持讀而不能寫(xiě)。一個(gè)寄存器也是占據(jù)兩個(gè)字節(jié)的空間。比如通過(guò)讀取輸入寄存器獲取現(xiàn)在的模擬量采樣值。對(duì)應(yīng)的功能碼有 0x04

      二.MODBUS部分功能碼

      MODBUS支持很多功能碼,但是在實(shí)際應(yīng)用的時(shí)候常用的也就那么幾個(gè)。

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

      功能碼 名稱(chēng) 數(shù)據(jù)類(lèi)型 作用
      0x01 讀線圈寄存器 取得一組邏輯線圈的當(dāng)前狀態(tài)(ON/OFF )
      0x02 讀離散輸入寄存器 取得一組開(kāi)關(guān)輸入的當(dāng)前狀態(tài)(ON/OFF )
      0x03 讀保持寄存器 整型、浮點(diǎn)型、字符型 在一個(gè)或多個(gè)保持寄存器中取得當(dāng)前的二進(jìn)制值
      0x04 讀輸入寄存器 整型、浮點(diǎn)型 在一個(gè)或多個(gè)輸入寄存器中取得當(dāng)前的二進(jìn)制值
      0x05 寫(xiě)單個(gè)線圈寄存器 強(qiáng)置一個(gè)邏輯線圈的通斷狀態(tài)
      0x06 寫(xiě)單個(gè)保持寄存器 整型、浮點(diǎn)型、字符型 把具體二進(jìn)值裝入一個(gè)保持寄存器
      0x0f 寫(xiě)多個(gè)線圈寄存器 強(qiáng)置一串連續(xù)邏輯線圈的通斷
      0x10 寫(xiě)多個(gè)保持寄存器 整型、浮點(diǎn)型、字符型 把具體的二進(jìn)制值裝入一串連續(xù)的保持寄存器
      三.MODBUS功能碼實(shí)例

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

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

      從站地址 功能碼 寄存器起始地址高8位 寄存器起始地址低8位 寄存器數(shù)量高8位 寄存器數(shù)低8位 CRC校驗(yàn)低8位 CRC校驗(yàn)高8位
      0x01 0x01 0x00 0x21 0x00 0x0c 0xXX 0xXX

      3)從站響應(yīng)返回:
      從站響應(yīng)返回?cái)?shù)據(jù)包括:從站地址+功能碼+返回字節(jié)數(shù)+數(shù)據(jù)值+校驗(yàn)碼
      其中,返回?cái)?shù)據(jù)值的每一位對(duì)應(yīng)線圈狀態(tài),線圈狀態(tài)為ON時(shí),其值為1;狀態(tài)為OFF時(shí),其值為0;
      【數(shù)據(jù)以小端的形式進(jìn)行存儲(chǔ),即最低有效位存放于內(nèi)存最低位地址(位于二進(jìn)制的右側(cè))。每8個(gè)位組成一個(gè)字節(jié),當(dāng)線圈的數(shù)量不是8的倍數(shù)時(shí),剩余的位數(shù)添0補(bǔ)位!

      從站地址 功能碼 返回字節(jié)數(shù) data1 data2 CRC校驗(yàn)低8位 CRC校驗(yàn)高8位
      0x01 0x01 0x02 0xCB 0x0B 0xXX 0xXX

      本例中讀取12個(gè)線圈,12/8商1余4,因此需要2個(gè)字節(jié)存放應(yīng)答數(shù)據(jù),返回字節(jié)數(shù)為2。
      字節(jié)1存放線圈編號(hào)21~28的數(shù)值(小端字節(jié)序,線圈28的值存放在bit7,線圈21的值存放在bit0);
      字節(jié)2存放線圈編號(hào)29~32的數(shù)值,剩余位數(shù)添0補(bǔ)位;

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

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

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

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

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

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

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

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

      從站地址 功能碼 寄存器起始地址高8位 寄存器起始地址低8位 寄存器數(shù)量高8位 寄存器數(shù)量低8位 CRC校驗(yàn)低8位 CRC校驗(yàn)高8位
      0x03 0x03 0x00 0x3B 0x00 0x03 0xXX 0xXX

      3)從站響應(yīng)返回:
      從站響應(yīng)返回?cái)?shù)據(jù)包括:從站地址+功能碼+返回字節(jié)數(shù)+數(shù)據(jù)值+校驗(yàn)碼

      從站地址 功能碼 返回字節(jié)數(shù) data1H data1L data2H data2L data3H data3L CRC校驗(yàn)低8位 CRC校驗(yàn)高8位
      0x03 0x03 0x06 0x1B 0x0B 0x0A 0x01 0xC2 0xDB 0xXX 0xXX

      本例中讀取3個(gè)保持寄存器,每個(gè)保持寄存器占2個(gè)字節(jié),因此需要6個(gè)字節(jié)存放應(yīng)答數(shù)據(jù),返回字節(jié)數(shù)為6。
      0x003B~0x003D保持寄存器的數(shù)值如下圖所示:

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

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

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

      5.功能碼:05H 寫(xiě)單個(gè)線圈寄存器

      1)功能:對(duì)單個(gè)線圈進(jìn)行寫(xiě)操作,位操作,只能寫(xiě)一個(gè)。寫(xiě)入0xFF00表示將線圈置為ON,寫(xiě)入0x0000表示將線圈置為OFF,其它值無(wú)效;
      2)主機(jī)發(fā)送指令:
      主機(jī)發(fā)送數(shù)據(jù)包括:從站地址+功能碼+寄存器起始地址+數(shù)據(jù)值+校驗(yàn)碼
      假設(shè)從站地址為0x03,線圈寄存器起始地址為0x0032,要將其設(shè)置為ON,則主機(jī)發(fā)送指令如下表所示:

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

      3)從站響應(yīng)返回:
      從站應(yīng)答數(shù)據(jù)包括:從站地址+功能碼+寄存器地址+寫(xiě)入值+校驗(yàn)碼
      如果數(shù)據(jù)成功寫(xiě)入,則應(yīng)答數(shù)據(jù)與請(qǐng)求數(shù)據(jù)一樣,如下表所示:

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

      6.功能碼:06H 寫(xiě)單個(gè)保持寄存器|

      1)功能:對(duì)單個(gè)保持寄存器進(jìn)行寫(xiě)操作,字節(jié)操作,只能寫(xiě)一個(gè)。
      2)主機(jī)發(fā)送指令:
      主機(jī)發(fā)送數(shù)據(jù)包括:從站地址+功能碼+寄存器起始地址+數(shù)據(jù)值+校驗(yàn)碼
      假設(shè)從站地址為0x01,線圈寄存器起始地址為0x0048,寫(xiě)入數(shù)值為0x1234,則主機(jī)發(fā)送指令如下表所示:

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

      3)從站響應(yīng)返回:
      從站應(yīng)答數(shù)據(jù)包括:從站地址+功能碼+寄存器地址+寫(xiě)入值+校驗(yàn)碼
      如果數(shù)據(jù)成功寫(xiě)入,則應(yīng)答數(shù)據(jù)與請(qǐng)求數(shù)據(jù)一樣。

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

      還可以輸入 200 個(gè)字
      [ 查看全部 ] 網(wǎng)友評(píng)論
      推薦文章
      最新推薦
      關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁(yè)面
      下到頁(yè)底
      晶體管查詢(xún)
      主站蜘蛛池模板: 97色伦图片97综合影院久久 | 97久久久精品综合88久久| 久久综合88熟人妻| 国产综合久久久久久| 99久久综合狠狠综合久久止 | 久久综合AV免费观看| 国产亚洲综合精品一区二区三区| 久久综合五月丁香久久激情| 亚洲AV综合色区无码二区爱AV| 久久综合五月丁香久久激情| 亚洲AV日韩综合一区尤物| 国产精品国色综合久久| 亚洲精品国产综合久久一线| 97久久天天综合色天天综合色hd| 亚洲AV综合色区无码一区| 伊人色综合久久天天人守人婷| 激情综合亚洲色婷婷五月APP| 狠狠综合久久AV一区二区三区 | 国产成人精品综合网站| 久久亚洲综合色一区二区三区| 国产成人综合久久久久久| 天天做天天爱天天爽综合网| 一本色综合网久久| 一本狠狠色丁香婷婷综合久久| 久久综合图区亚洲综合图区| 久久综合伊人77777| 伊人久久中文大香线蕉综合| 精品第一国产综合精品蜜芽| 五月丁香六月综合缴清无码 | 99久久国产综合精品swag| 91精品一区二区综合在线| 玖玖爱zh综合伊人久久| 久久综合丝袜长腿丝袜| 国产成人综合在线视频| 亚洲人成伊人成综合网久久| 97久久久精品综合88久久| 国产综合无码一区二区色蜜蜜| 亚洲国产一成久久精品国产成人综合 | 久久综合给合久久狠狠狠97色69| 色狠狠成人综合色| 丁香狠狠色婷婷久久综合|