電子開發(fā)網(wǎng)

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

ModbusTCP協(xié)議報(bào)文解析

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

ModbusTCP協(xié)議報(bào)文解析

 

報(bào)文格式

交互(通信)標(biāo)識(shí):2個(gè)字節(jié) 為此次通信事務(wù)處理標(biāo)識(shí)符,一般每次通信之后將被要求加1以區(qū)別不同的通信數(shù)據(jù)報(bào)文。
協(xié)議標(biāo)識(shí):2個(gè)字節(jié) 表示該條指令遵循ModbusTCP協(xié)議,一般都為00 00
報(bào)文長(zhǎng)度:2個(gè)字節(jié) 表示后面數(shù)據(jù)的長(zhǎng)度,有幾個(gè)字節(jié),高字節(jié)在前
(前六位Modbus/TCP協(xié)議不同功能碼通用)

設(shè)備標(biāo)識(shí) :1個(gè)字節(jié) 設(shè)備地址,這個(gè)可以用于局域網(wǎng)里面的具體的地址,如果目標(biāo)機(jī)器有固定ip,這個(gè)就不起作用,直接上寫成 00
功能碼:1個(gè)字節(jié) 功能碼在modbus協(xié)議用于表示信息幀的功能
數(shù)據(jù):N個(gè)字節(jié) 后面數(shù)據(jù)根據(jù)不同功能碼不同。

ModbusTCP協(xié)議報(bào)文

 

 

modbus 常用功能代碼
十進(jìn)制 功能 數(shù)據(jù)類型
01 讀取 多個(gè)線圈
02 讀取 多個(gè)離散量輸入量
03 讀取 多個(gè)保持寄存器 16進(jìn)制整型
04 讀取 多個(gè)輸入寄存器 16進(jìn)制整型
05 寫入 單個(gè)線圈
06 寫入 單個(gè)寄存器 16進(jìn)制整型
15 寫入 多個(gè)線圈
16 寫入 多個(gè)寄存器 16進(jìn)制整型

功能碼詳解

01 讀取多個(gè)線圈

示例報(bào)文:

請(qǐng)求00 01 00 00 00 06 FF 01 00 01 00 10

第1,2位 00 01 交互標(biāo)識(shí)
第3,4位 00 00 協(xié)議標(biāo)識(shí)
第5,6位 00 06 后面報(bào)文長(zhǎng)度 有6位
第7位 FF 設(shè)備地址,發(fā)送什么,響應(yīng)什么
第8位 01 功能碼

第9,10位00 01 起始地址

第11,12位 00 10查詢線圈長(zhǎng)度,查詢16位線圈

響應(yīng)00 01 00 00 00 05 FF 01 02 0A 02

前四位和7,8位同請(qǐng)求發(fā)送的報(bào)文

第5,6位是后面報(bào)文長(zhǎng)度

第9位是后面數(shù)據(jù)位的長(zhǎng)度,

第10位開始是數(shù)據(jù)位。

01查詢線圈,每一個(gè)16進(jìn)制數(shù)據(jù)表示8位線圈

第10位0A --> 0000 1010 第二位是1,第四位是1

02 讀取多個(gè)離散量輸入

同01

03 讀取 多個(gè)保持寄存器

寄存器讀取與線圈的區(qū)別,響應(yīng)數(shù)據(jù),寄存器數(shù)據(jù)每?jī)蓚(gè)字節(jié)表示1位,一次請(qǐng)求不能超過(guò)127個(gè)地址
示例報(bào)文:

請(qǐng)求00 01 00 00 00 06 01 03 00 05 00 02
第1,2位 00 01 交互標(biāo)識(shí)
第3,4位 00 00 協(xié)議標(biāo)識(shí)
第5,6位 00 06 后面報(bào)文長(zhǎng)度 有6位
第7位 01 設(shè)備地址,發(fā)送什么,響應(yīng)什么
第8位 03 功能碼

第9,10位00 05起始地址
第11,12位 00 02查詢寄存器長(zhǎng)度,查詢2個(gè)寄存器

響應(yīng)00 01 00 00 00 07 01 03 04 00 22 00 00
前四位(00 01 00 00)和7,8位(01 03)同請(qǐng)求發(fā)送的報(bào)文
第5,6位 00 07 是后面報(bào)文長(zhǎng)度
第9位 04 是后面數(shù)據(jù)位的長(zhǎng)度
第10-13位 數(shù)據(jù)位(00 22 00 00

04 讀取 多個(gè)輸入寄存器

同03

05 (05H)寫入 單個(gè)線圈

請(qǐng)求:00 01 00 00 00 06 FF 05 00 01 FF 00

第9,10位 00 01 寫入線圈的地址

第11,12位 寫入的數(shù)據(jù)值 FF 00 表示置ON/1狀態(tài) 00 00 表示置OFF/0狀態(tài)

響應(yīng):00 01 00 00 00 06 FF 05 00 01 FF 00

15(0FH)寫入 多個(gè)線圈

請(qǐng)求:00 01 00 00 00 06 FF 0F 00 05 00 0A 02 CD 01

第9,10位 00 05寫入的起始地址

第11,12位 00 0A寫入線圈數(shù)量

第13位 02數(shù)據(jù)字節(jié)數(shù)量

第14位之后是數(shù)據(jù) 低字節(jié)在前

CD 01 —> 1100 1101 0000 0001

0C 0B 0A 09 08 07 06 05
1 1 0 0 1 1 0 1
14 13 12 11 10 0F 0E 0D
0 0 0 0 0 0 0 1
06(06H) 寫入 單個(gè)寄存器

請(qǐng)求:00 05 00 00 00 06 FF 06 00 05 00 23

向地址為5的寄存器寫入35。
第9,10位 00 05寫入的起始地址
第11,12位 00 0A寫入寄存器的值

響應(yīng):00 05 00 00 00 06 FF 06 00 05 00 23

16(10H)寫入多個(gè)寄存器

請(qǐng)求:00 06 00 00 00 0B FF 10 00 02 00 02 04 00 21 00 2A

從地址2開始寫入兩個(gè)寄存器,2寄存器寫入33,3寄存器寫入42
第9,10位 00 02寫入的起始地址
第11,12位 00 02寫入寄存器的數(shù)量
第13位 04 后面數(shù)據(jù)的字節(jié)
第14-17位 數(shù)據(jù)

響應(yīng):00 06 00 00 00 06 FF 10 00 02 00 02

從地址2開始寫入兩個(gè)寄存器,2寄存器寫入33,3寄存器寫入42

第9,10位 00 02寫入的起始地址

第11,12位 00 02寫入寄存器的數(shù)量

第13位 04 后面數(shù)據(jù)的字節(jié)

第14-17位 數(shù)據(jù)

響應(yīng):00 06 00 00 0 0 06 FF 10 00 02 00 02

錯(cuò)誤響應(yīng)

當(dāng)發(fā)生通訊異常時(shí),響應(yīng)前7位仍然為modbus正常協(xié)議格式,第八位響應(yīng)功能碼(請(qǐng)求功能碼+0x80),第九位異常碼。

異常數(shù)據(jù)即包含異常碼的數(shù)據(jù):
目前使用的異常碼是:01,02,03和04。

  • 響應(yīng)功能碼 = 請(qǐng)求功能碼 + 0x80
  • 響應(yīng)報(bào)文提供異常碼顯示出錯(cuò)原因。

常見異常碼含義:

異常碼 名稱 含義
01 非法功能 對(duì)于服務(wù)器(或從站)來(lái)說(shuō),詢問(wèn)中接收到的功能碼是不可允許的操作,可能是因?yàn)楣δ艽a僅適用于新設(shè)備而被選單元中不可實(shí)現(xiàn)同時(shí),還指出服務(wù)器(或從站)在錯(cuò)誤狀態(tài)中處理這種請(qǐng)求,例如:它是未配置的,且要求返回寄存器值。
02 地址非法 對(duì)于服務(wù)器(或從站)來(lái)說(shuō),詢問(wèn)中接收的數(shù)據(jù)地址是不可允許的地址,特別是參考號(hào)和傳輸長(zhǎng)度的組合是無(wú)效的。對(duì)于帶有100個(gè)寄存器的控制器來(lái)說(shuō),偏移量96和長(zhǎng)度4的請(qǐng)求會(huì)成功,而偏移量96和長(zhǎng)度5的請(qǐng)求將產(chǎn)生異常碼02。
03 數(shù)據(jù)非法 對(duì)于服務(wù)器(或從站)來(lái)說(shuō),詢問(wèn)中包括的值是不可允許的值。該值指示了組合請(qǐng)求剩余結(jié)構(gòu)中的故障。例如:隱含長(zhǎng)度是不正確的。modbus協(xié)議不知道任何特殊寄存器的任何特殊值的重要意義,寄存器中被提交存儲(chǔ)的數(shù)據(jù)項(xiàng)有一個(gè)應(yīng)用程序期望之外的值。
04 從站設(shè)備故障 當(dāng)服務(wù)器(或從站)正在設(shè)法執(zhí)行請(qǐng)求的操作時(shí),產(chǎn)生不可重新獲得的差錯(cuò)。
特殊數(shù)據(jù)處理

float 按IEEE-754標(biāo)準(zhǔn)協(xié)議存儲(chǔ)

C#中浮點(diǎn)數(shù)的二進(jìn)制格式遵循IEEE754標(biāo)準(zhǔn)

IEEE-754格式標(biāo)準(zhǔn):一個(gè)浮點(diǎn)數(shù)有2部分組成:底數(shù)m和指數(shù)e
IEEE-754

寄存器地址

Modbus協(xié)議定義的寄存器地址是5位十進(jìn)制地址,即:
線圈(DO)地址:00001~09999
觸點(diǎn)(DI)地址:10001~19999
輸入寄存器(AI)地址:30001~39999
輸出寄存器(AO)地址:40001~49999

0x代表線圈(DO)類地址,1x代表觸點(diǎn)(DI)類地址、 3x代表輸入寄存器(AI)類地址、4x代表輸出寄存器(AO)類地址。
在實(shí)際編程中,前綴的區(qū)分作用(有功能碼進(jìn)行區(qū)分),所以只需說(shuō)明后4位數(shù),而且需轉(zhuǎn)換為4位十六進(jìn)制地址。
Modbus 數(shù)據(jù)地址格式是從0開始,寄存器地址對(duì)應(yīng)報(bào)文中地址關(guān)系,x0001對(duì)應(yīng)00 00,示例40003對(duì)應(yīng) 00 02地址

以上根據(jù)開發(fā)時(shí)查的資料和網(wǎng)上資料整理一些的有用信息,方便開發(fā)查詢

Tags:電冰箱,冰箱,工作原理  
責(zé)任編輯:admin
相關(guān)文章列表
電動(dòng)自行車的工作原理_電車工作原理
汽車的三元催化器安裝位置及工作原理詳解,三元催化器最有效的清
氧傳感器的工作原理是什么?氧傳感器好壞判別方法
詳解TL431的工作原理和用法
什么是整流橋,整流橋工作原理
開關(guān)電源電路圖工作原理及維修詳解析
光耦合電路講解,工作原理+電路案例,通俗易懂,帶你搞定
新能源汽車驅(qū)動(dòng)電機(jī)作用及工作原理 永磁同步電機(jī)結(jié)構(gòu)圖
電容傳感器工作原理_電容傳感器原理圖
串聯(lián)型開關(guān)電源的工作原理分析
SMART入門 西門子S7-200 SMART PLC入門基礎(chǔ)知識(shí)精華
逆變器工作原理是什么?逆變器的工作原理和作用詳解
超級(jí)電容結(jié)構(gòu)和工作原理詳解
石英晶振的原理與結(jié)構(gòu) 晶振結(jié)構(gòu) 壓電效應(yīng)
MOS管工作原理動(dòng)畫基礎(chǔ)知識(shí)-MOS管工作動(dòng)畫原理圖詳解
熱電偶是什么?熱電偶工作原理
光電式測(cè)速傳感器的工作原理
正激式、自激式、推挽式、降壓式、升壓式和反轉(zhuǎn)式開關(guān)電源工作原
lcd1602工作原理是什么
如何理解熱電偶型溫度傳感器的工作原理? thermocouple
光電耦合器要如何進(jìn)行工作?光電耦合器工作原理及作用介紹
取樣電阻的工作原理 康銅絲電阻
晶振詳解之工作原理_晶振是晶體振蕩器(Oscillator)
聲音基礎(chǔ)知識(shí) 揚(yáng)聲器的工作原理
三極管導(dǎo)通時(shí),集電極是不是反向擊穿?三極管的工作原理
汽車空調(diào)的構(gòu)成及工作原理
汽車減震器的構(gòu)造和工作原理(圖解)
電感式接近開關(guān)工作原理_電感式接近開關(guān)作用
IGBT工作原理,解析IGBT工作原理及作用
光電二極管的工作原理
請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語(yǔ)。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個(gè)字
[ 查看全部 ] 網(wǎng)友評(píng)論
推薦文章
最新推薦
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁(yè)面
下到頁(yè)底
晶體管查詢
久久99久久99精品免观看不卡 | 国产精品毛片va一区二区三区| yy6080欧美三级理论| 日日夜夜天天干干| 久久婷婷五月综合97色直播| 日本动漫丝袜腿交榨精漫画 | 亚洲精品在线网站| 男女午夜性刺激| 国产伦精品一区二区三区| 色偷偷人人澡久久天天| 国产三级精品三级在线专区| 青青草视频成人| 国产精品久久精品福利网站| 2017狠狠干| 国产浮力影院第一页| 高清一级做a爱过程免费视频| 国产婷婷综合丁香亚洲欧洲| 色哟哟精品视频在线观看| 国产a久久精品一区二区三区| 老鸭窝laoyawo国产精品| 国产AV日韩A∨亚洲AV电影| 精品一区二区三区3d动漫| 免费国产黄网站在线观看视频| 精品三级久久久久电影网1| 免费看欧美一级特黄α大片| 欧美色视频日本| 亚洲高清在线mv| 欧美亚洲国产日韩综合在线播放| 亚洲中文字幕久久精品无码va| 日韩一级片网址| 久久久久无码精品国产不卡| 拍拍拍无挡视频免费观看1000| 中文字幕伊人久久网| 天堂mv在线免费播放| 99久久一香蕉国产线看观看| 国产精品18久久久久久麻辣| 2021天天干| 国产免费久久精品丫丫| 粗大的内捧猛烈进出视频| 亚洲黄色三级视频| 最近免费中文字幕大全免费版视频|