99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

工控協(xié)議之ModbusTCP報文功能碼

jf_78858299 ? 來源:眾成PLC編程 ? 作者:眾成PLC編程 ? 2023-03-23 10:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

  • 1、01X 讀取一組邏輯線圈的當前狀態(tài)(ON/OFF)
  • 2、0x02 讀取一組開關(guān)輸入的當前狀態(tài)(ON/OFF)
  • 3、0x03 讀取一個或多個保持寄存器的數(shù)值
  • 5、0x05 強置一個邏輯線圈的通斷狀態(tài)
  • ** 6、0x06 寫單個保持寄存器**
  • ** 7、0x0f 強置多個邏輯線圈的通斷狀態(tài)**
  • 8、0x10 寫多個保持寄存器
  • 9、0x2b 讀取設(shè)備ID

1、01X 讀取一組邏輯線圈的當前狀態(tài)(ON/OFF)

請求:MBAP 功能碼 起始地址H 起始地址L 數(shù)量H 數(shù)量L(共12字節(jié))

響應(yīng):MBAP 功能碼 數(shù)據(jù)長度 數(shù)據(jù)(一個地址的數(shù)據(jù)為1位)

發(fā)送包

圖片

byte[0] byte[1] 00 02 為消息號,隨便指定,服務(wù)器返回的數(shù)據(jù)的前兩個字和這個一樣

byte[2] byte[3] 00 00 為modbus標識,強制為0即可

byte[4] byte[5] 00 06 值在06 之后所有字節(jié)的個數(shù),大家也可以數(shù)一數(shù)哈

byte[6] 01 為站號、隨便指定。

byte[7] 01 為功能碼(這個是決定了要干什么事)

byte[8] byte[9] 00 00為起始地址,比如我們我們想讀地址0的數(shù)據(jù)就為00,讀1000地址為03 E8

byte[10] byte[11] 00 80為指定讀取數(shù)據(jù)的長度,跟地址規(guī)則一樣

回包

圖片

注:bit是一直到127的 因為圖片太大無法截到

byte[0] byte[1] 消息號,我們之前寫發(fā)送指令的時候,是多少,這里就是多少。

byte[2] byte[3] 同上

byte[4] byte[5] 指后面的字節(jié)數(shù)

byte[6] 站號

byte[7] 功能碼

byte[8] 指示在byte[8]后面的字節(jié)數(shù)量 在byte[8]后面就是真實數(shù)據(jù)

byte[9] 到結(jié)尾都是我們讀取到的數(shù)據(jù) 因為字節(jié)是8位所以是16(0-127所占了128個bit 128/8 得出16)

列子:

讀5個線圈狀態(tài)

發(fā)送:00 00 00 00 00 06 01 01 00 00 00 05

接收:00 00 00 00 00 04 01 01 01 1F

回到頂部

2、0x02 讀取一組開關(guān)輸入的當前狀態(tài)(ON/OFF)

請求:MBAP 功能碼 起始地址H 起始地址L 數(shù)量H 數(shù)量L(共12字節(jié))

響應(yīng):MBAP 功能碼 數(shù)據(jù)長度 數(shù)據(jù)(長度:9+ceil(數(shù)量/8))

發(fā)送包

圖片

其實大家自己看與0x01是基本一樣的。只是多了個Bit Count這一個

Bit Count所代表的意思就是 讀取十個數(shù)據(jù)。

回包

圖片

跟0x01的回包也是一樣的,可能大家伙會有些迷茫,我發(fā)包的時候是讀取十個數(shù)據(jù)回包的時候Byte Count怎么會給我回復(fù)了個2呢?

細心的朋友可能也發(fā)現(xiàn)了、這兩個單詞是不一樣的~一個是Bit Count 一個是Byte Count,哈哈哈哈小小的幽默 。

那這個Byte Count代表的是什么意思呢。還是字節(jié)有關(guān)。

一個字節(jié)是8位、但是10個位超過了1個字節(jié)但是不滿2個字節(jié)所以占用2個字節(jié)。還有很多跟這個情況相同。

列子:

讀5個輸入狀態(tài)

發(fā)送:00 00 00 00 00 06 01 02 00 00 00 05

接收:00 00 00 00 00 04 01 02 01 15

回到頂部

3、0x03 讀取一個或多個保持寄存器的數(shù)值

請求:MBAP 功能碼 起始地址H 起始地址L 寄存器數(shù)量H 寄存器數(shù)量L(共12字節(jié))

響應(yīng):MBAP 功能碼 數(shù)據(jù)長度 寄存器數(shù)據(jù)(長度:9+寄存器數(shù)量×2)

發(fā)包

圖片

這邊Modbus/TCP我就不再展開了、都是一樣的。

這個發(fā)包也很好去理解、根據(jù)Reference這一欄還有Word Count這一欄說明是起始位置是400讀取6個保持寄存器數(shù)值。

一通百通、Modbus在功能報文上基本都是一致的。

回包

圖片

大家伙可能有迷茫了 怎么會是12呢 這個可怎么計算呢

我把這個Register這一欄專門的點開了,大家也都能看出來了吧。

圖片

這樣就跟明了了吧,Register是占了兩個位所以呢 讀寄存器的個數(shù)6乘2 那不就是12了嗎

列子:

讀取連續(xù)三個保持寄存器的數(shù)值

發(fā)送:00 00 00 00 00 06 01 03 00 00 00 03

接收:00 00 00 00 00 09 01 03 06 03 E8 13 88 02 8A

4、0x04 讀取一個或多個輸入寄存器的數(shù)值

請求:MBAP 功能碼 起始地址H 起始地址L 寄存器數(shù)量H 寄存器數(shù)量L(共12字節(jié))

響應(yīng):MBAP 功能碼 數(shù)據(jù)長度 寄存器數(shù)據(jù)(長度:9+寄存器數(shù)量×2)

發(fā)送

圖片

這個意思也就是 從0的位置讀取10個輸入寄存器的數(shù)值。

一通百通、有時候這些協(xié)議的原理我們沒必要去搞明白,我們只要是知道這一塊代表什么有什么用處我該如何去利用這一塊這樣就足夠。

沒必要去研究它如何工作如何交互(其實說白了 萬變不離其宗 大部分的協(xié)議交互還是 揮手 握手)

看每個人的需求吧,可能有些工作是必須要吃透協(xié)議那只能硬著頭皮去看了。

扯遠了。

回包

圖片

這個也很好看明白了,還是跟0x03一樣。沒有變化。

列子:

讀5個輸入寄存器的數(shù)值

發(fā)送:00 00 00 00 00 06 01 04 00 00 00 05

接收:00 00 00 00 00 0D 01 04 0A 00 00 00 01 00 02 00 03 00 04

回到頂部

5、0x05 強置一個邏輯線圈的通斷狀態(tài)

請求:MBAP 功能碼 輸出地址H 輸出地址L 輸出值H 輸出值L(共12字節(jié))

響應(yīng):MBAP 功能碼 輸出地址H 輸出地址L 輸出值H 輸出值L(共12字節(jié))

發(fā)包

圖片

05 是功能碼, 00 00是我們指定的地址,如果我們想寫地址1000,那么就為 03 E8,后四位是規(guī)定線圈的通斷狀態(tài)。

那么上面發(fā)包的意思就是 在00 00這個位置 指定線圈通斷狀態(tài)為 斷開。

舉個例子:

寫入地址100為通: 00 00 00 00 00 06 FF 05 00 64 FF 00

寫入地址1000為斷:00 00 00 00 00 06 FF 05 03 E8 00 00

回包

圖片

各位也發(fā)現(xiàn)了,回包和發(fā)包是一樣的,因為在你寫入的操作中,是不帶讀取數(shù)據(jù)的,所以服務(wù)器會直接復(fù)制一遍你的指令并返回。

例子:強置一個邏輯線圈的通斷狀態(tài)

發(fā)送:00 00 00 00 00 06 01 05 00 00 FF 00

接收:00 00 00 00 00 06 01 05 00 00 FF 00

回到頂部

6、0x06 寫單個保持寄存器

請求:MBAP 功能碼 寄存器地址H 寄存器地址L 寄存器值H 寄存器值L(共12字節(jié))

響應(yīng):MBAP 功能碼 寄存器地址H 寄存器地址L 寄存器值H 寄存器值L(共12字節(jié))

發(fā)包

圖片

這個也不用過多的介紹了吧。在00 00位置 寫入 00 00

回包

圖片

也是一樣的,服務(wù)器會直接復(fù)制一遍你的指令并返回。

回到頂部

7、**0x0f **強置多個邏輯線圈的通斷狀態(tài)

請求:MBAP 功能碼 起始地址H 起始地址L 輸出數(shù)量H 輸出數(shù)量L 字節(jié)長度 輸出值H 輸出值L

響應(yīng):MBAP 功能碼 起始地址H 起始地址L 輸出數(shù)量H 輸出數(shù)量L

發(fā)送

圖片

Bit Count 10是要寫的個數(shù)

** 回包**

圖片

都一樣,直接說例子吧。

例子:強置一串連續(xù)邏輯線圈的通斷

發(fā)送:00 00 00 00 00 0B 01 0F 00 00 00 02 04 FF 00 00 00

發(fā)送:00 00 00 00 00 06 01 0F 00 00 00 02

回到頂部

8、**0x10 **寫多個保持寄存器

請求:MBAP 功能碼 起始地址H 起始地址L 寄存器數(shù)量H 寄存器數(shù)量L 字節(jié)長度 寄存器值(13+寄存器數(shù)量×2)

響應(yīng):MBAP 功能碼 起始地址H 起始地址L 寄存器數(shù)量H 寄存器數(shù)量L(共12字節(jié))

發(fā)送

圖片

Word count為 要寫的個數(shù)

Byte count 為 要寫入的數(shù)目 1個word等于2個bytes

后面 00 00 每組為寫入的數(shù)值

回包

圖片

也是一樣的,寫了十個那么就返回十。

列子:

向起始地址為0x0000,數(shù)量為0x0001的寄存器寫入數(shù)據(jù),數(shù)據(jù)長度為0x02,數(shù)據(jù)為0x000F

發(fā)送 00 01 00 00 00 09 01 10 00 00 00 01 02 00 0F

接收 00 01 00 00 00 06 01 10 00 00 00 01

回到頂部

9、0x2b 讀取設(shè)備ID

發(fā)送

圖片

byte[0]byte[1] 消息號 隨便指定

byte[2]byte[3] modbus的標識

byte[4]byte[5] 在此之后的長度

byte[6] 站號

byte[7] 功能碼

byte[8] 功能類型 這里是讀取設(shè)備ID

byte[9] 讀什么 這里是讀設(shè)備標識

byte[10] 設(shè)備名稱.

回包

圖片

跟發(fā)包一樣。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • MODBUS
    +關(guān)注

    關(guān)注

    28

    文章

    2118

    瀏覽量

    79549
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1402

    瀏覽量

    81029
  • 工業(yè)協(xié)議
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    5645
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    圖文詳解ModbusTCP協(xié)議

    Modbus由MODICON公司于1979年開發(fā),是一種工業(yè)現(xiàn)場總線協(xié)議標準。1996年施耐德公司推出基于以太網(wǎng)TCP/IP的Modbus協(xié)議ModbusTCP。Modbus協(xié)議是一
    發(fā)表于 11-16 11:31 ?4w次閱讀

    ProfibusDP主站轉(zhuǎn)ModbusTCP協(xié)議轉(zhuǎn)換網(wǎng)關(guān)技術(shù)需求干貨講解

    ProfibusDP主站轉(zhuǎn)ModbusTCP協(xié)議轉(zhuǎn)換網(wǎng)關(guān)的技術(shù)參數(shù)● 支持的波特率:9.6Kbps~12Mbps● 供電:24VDC(±5%),最大功率3.5W● 工作環(huán)境溫度:-25~55℃,濕度
    發(fā)表于 11-13 15:23

    采用ModbusRTU或ModbusTCP通訊協(xié)議與下位機進行通信

    上位機如觸摸屏采用ModbusRTU或ModbusTCP通訊協(xié)議與下位機如單片機通過串口或網(wǎng)絡(luò)通信時,需要解析上位機報文Modbus寄存器讀寫的單位是字Word,讀寫Map表元素長度必須為字的整數(shù)倍
    發(fā)表于 02-24 07:00

    ModbusTCP轉(zhuǎn)CanOpen網(wǎng)關(guān)助力工控行業(yè)

    在工業(yè)自動化領(lǐng)域,協(xié)議轉(zhuǎn)換網(wǎng)關(guān)一直扮演著至關(guān)重要的角色。其中,modbustcp轉(zhuǎn)canopen網(wǎng)關(guān)以其獨特的優(yōu)勢,成為不同設(shè)備間通信的橋梁。這款網(wǎng)關(guān)將modbus TCP協(xié)議的設(shè)備與CANopen
    發(fā)表于 12-11 10:53

    modbus協(xié)議功能及格式

    modbus協(xié)議功能及格式
    發(fā)表于 10-28 15:56 ?43次下載

    關(guān)于MODBUSRTU通訊協(xié)議的提問?

    而modbus分為兩種協(xié)議:即串口協(xié)議(modbusrtu)和網(wǎng)口協(xié)議modbustcp協(xié)議,一般的
    的頭像 發(fā)表于 08-23 16:36 ?8513次閱讀

    一文知道ModbusTCP協(xié)議和上位機編寫

    Modbus由MODICON公司于1979年開發(fā),是一種工業(yè)現(xiàn)場總線協(xié)議標準。Modbus協(xié)議是一項應(yīng)用層報文傳輸協(xié)議,包括ASCII、RTU、TCP三種
    發(fā)表于 11-20 10:52 ?5270次閱讀
    一文知道<b class='flag-5'>ModbusTCP</b><b class='flag-5'>協(xié)議</b>和上位機編寫

    基于工控協(xié)議功能特征的同源攻擊分析方法

    基于工控協(xié)議功能特征的同源攻擊分析方法,以識別攻擊行為相似的組織并提高P溯源的效率和準確性。用工控協(xié)議
    發(fā)表于 03-30 09:50 ?11次下載
    基于<b class='flag-5'>工控</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>功能</b><b class='flag-5'>碼</b>特征的同源攻擊分析方法

    ModbusTCP報文詳解

    ModbusTCP報文詳解是工業(yè)控制常用的一種協(xié)議,通過對Modbus報文的理解,能很快提升自己的實際應(yīng)用能力。
    發(fā)表于 06-07 15:15 ?4次下載

    一文詳解ModbusTCP協(xié)議

    Modbus由MODICON公司于1979年開發(fā),是一種工業(yè)現(xiàn)場總線協(xié)議標準。1996年施耐德公司推出基于以太網(wǎng)TCP/IP的Modbus協(xié)議ModbusTCP。Modbus協(xié)議是一
    的頭像 發(fā)表于 07-26 10:51 ?1.1w次閱讀
    一文詳解<b class='flag-5'>ModbusTCP</b><b class='flag-5'>協(xié)議</b>

    智能樓宇系統(tǒng)canopen協(xié)議ModbusTCP協(xié)議進行通訊

    ModbusTCP網(wǎng)關(guān)設(shè)備應(yīng)該具備以下功能:接收來自CANopen協(xié)議設(shè)備的信號;將這些信號轉(zhuǎn)換為Modbus TCP協(xié)議格式;通過以太網(wǎng)接口將轉(zhuǎn)換后的信號發(fā)送到Modbus TCP
    的頭像 發(fā)表于 01-03 15:17 ?721次閱讀

    智能樓宇系統(tǒng)canopen協(xié)議ModbusTCP協(xié)議進行通訊

    ModbusTCP網(wǎng)關(guān)設(shè)備應(yīng)該具備以下功能:接收來自CANopen協(xié)議設(shè)備的信號;將這些信號轉(zhuǎn)換為Modbus TCP協(xié)議格式;通過以太網(wǎng)接口將轉(zhuǎn)換后的信號發(fā)送到Modbus TCP
    的頭像 發(fā)表于 01-03 15:20 ?728次閱讀
    智能樓宇系統(tǒng)canopen<b class='flag-5'>協(xié)議</b>與<b class='flag-5'>ModbusTCP</b><b class='flag-5'>協(xié)議</b>進行通訊

    【實用篇】ModbusTCP協(xié)議詳解

    ModBusTcp與串行鏈路Modbus的數(shù)據(jù)域是一致的,具體數(shù)據(jù)域可以參考串行Modbus。這里給出幾個ModbusTcp的鏈路解析說明,輔助新人分析報文。
    的頭像 發(fā)表于 01-14 11:13 ?4016次閱讀
    【實用篇】<b class='flag-5'>ModbusTCP</b><b class='flag-5'>協(xié)議</b>詳解

    modbus協(xié)議功能分類 modbus協(xié)議功能是什么,有什么作用

    Modbus協(xié)議是一種用于工業(yè)領(lǐng)域常見的通信協(xié)議,它基于主從結(jié)構(gòu),用于在不同設(shè)備之間實現(xiàn)數(shù)據(jù)交換。Modbus協(xié)議功能是決定數(shù)據(jù)交換類型
    的頭像 發(fā)表于 01-31 14:47 ?9216次閱讀

    實現(xiàn)ModbusTCP轉(zhuǎn)Profinet網(wǎng)關(guān)協(xié)議轉(zhuǎn)換功能的網(wǎng)關(guān)設(shè)備

    ModbusTCP轉(zhuǎn)Profinet網(wǎng)關(guān)產(chǎn)品主要功能 ModbusTCP轉(zhuǎn)Profinet網(wǎng)關(guān)的核心功能為實現(xiàn)Profinet協(xié)議
    的頭像 發(fā)表于 07-01 11:58 ?105次閱讀
    實現(xiàn)<b class='flag-5'>ModbusTCP</b>轉(zhuǎn)Profinet網(wǎng)關(guān)<b class='flag-5'>協(xié)議</b>轉(zhuǎn)換<b class='flag-5'>功能</b>的網(wǎng)關(guān)設(shè)備