久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 5777|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

modbus報(bào)文解析

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:230270 發(fā)表于 2017-9-1 15:49 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
Modbus的編寫(xiě)首先需要知道協(xié)議的格式是什么樣的,這里先通過(guò)PC端的modbus Poll的報(bào)文來(lái)分析具體的格式,內(nèi)容含義。
1.      功能碼為06寫(xiě)單寄存器
000182-Tx:01 06 00 02 00 0C 28 0F
000183-Rx:01 06 00 02 00 0C 28 0F
01 這里的01表示從機(jī)的寫(xiě)寄存器的時(shí)候,如果我們要把12寫(xiě)到一個(gè)地址是0002的寄存器地址里,點(diǎn)一下“send”,就會(huì)出現(xiàn)發(fā)送指令:01 06 00 02 00 0C 280F。我們來(lái)分析一下這幀數(shù)據(jù),其中01是設(shè)備地址,06是功能碼,代表寫(xiě)寄存器這個(gè)功能,后邊跟0002表示的是要寫(xiě)入的寄存器的地址,00 0C就是要寫(xiě)入的數(shù)據(jù),280F就是CRC校驗(yàn)碼,這是軟件自動(dòng)算出來(lái)了。而根據(jù)Modbus協(xié)議,當(dāng)寫(xiě)寄存器的時(shí)候,從機(jī)成功完成該指令的操作后,會(huì)把主機(jī)發(fā)送的指令直接返回,我們的調(diào)試的modbus poll會(huì)接收到這樣一幀數(shù)據(jù):01 06 00 02 00 0C 280F.


2.      功能碼為03的讀多個(gè)寄存器
000464-Tx:01 03 00 00 00 0A C5 CD
000465-Rx:01 03 14 00 09 00 08 00 0C 00 00 00 05 00 04 00 00 00 03 00 02 0001 F0 31
我們來(lái)分析一下這幀數(shù)據(jù),發(fā)送的數(shù)據(jù)中01是設(shè)備地址,03是功能碼,代表讀多個(gè)寄存器這個(gè)功能,后邊跟00 00表示的是要讀的寄存器的起始地址,00 0A就是要寫(xiě)入數(shù)據(jù)的個(gè)數(shù)有10個(gè),C5 CD就是CRC校驗(yàn)碼。
而主機(jī)接收到的數(shù)據(jù)時(shí),01是設(shè)備地址,03是功能碼,14是要讀取數(shù)據(jù)的2倍,14的10進(jìn)制為20.而后面的00 09 00 08 00 0C 00 00 00 05 00 04 00 00 00 03 00 02 0001為讀取的10個(gè)數(shù)據(jù),兩個(gè)字節(jié)表示一位數(shù)據(jù)。顯示的數(shù)據(jù)與上位機(jī)軟件的設(shè)置一樣說(shuō)明正確。
3.      功能碼為05的單線(xiàn)圈的寫(xiě)入
000220-Tx:01 05 00 05 FF 00 9C 3B
000221-Rx:01 05 00 05 FF 00 9C 3B
下面我們來(lái)看看0X中功能碼為05的報(bào)文含義,發(fā)送的數(shù)據(jù)中01是設(shè)備地址,05是功能碼,代表寫(xiě)單個(gè)線(xiàn)圈狀態(tài),后邊跟00 05表示的是要寫(xiě)的線(xiàn)圈的地址,F(xiàn)F 00就是要寫(xiě)入的線(xiàn)圈的狀態(tài),9C 3B就是CRC校驗(yàn)碼。
而根據(jù)Modbus協(xié)議,當(dāng)寫(xiě)線(xiàn)圈的時(shí)候,從機(jī)成功完成該指令的操作后,會(huì)把主機(jī)發(fā)送的指令直接返回,與寫(xiě)寄存器類(lèi)似,返回的數(shù)據(jù)與原數(shù)據(jù)一樣。
4 .功能碼為01的讀取線(xiàn)圈的狀態(tài)
000332-Tx:01 01 00 00 00 0ABC 0D
000333-Rx:01 01 02 A8 03 86 3D

  相比于前面幾個(gè)線(xiàn)圈的讀取所包含的內(nèi)容相對(duì)較多。發(fā)送的數(shù)據(jù)中01是設(shè)備地址,01是功能碼,代表讀多個(gè)線(xiàn)圈狀態(tài),后邊跟00 00表示的是要讀的線(xiàn)圈的起始地址,00 0A就是要讀取線(xiàn)圈的個(gè)數(shù)這里是要讀取10個(gè)線(xiàn)圈狀態(tài),BC 0D就是CRC校驗(yàn)碼。
我們?cè)倏纯磎odbus poll返回的報(bào)文,前兩個(gè)01與前面含義一樣,而后面的02的含義是,要讀取的10個(gè)線(xiàn)圈的狀態(tài)要使用兩個(gè)寄存器(每8個(gè)線(xiàn)圈狀態(tài)占用一個(gè)寄存器10個(gè)就需要兩個(gè)),A8 03表示的含義是這10個(gè)線(xiàn)圈所代表的值的含義。上圖中0~9依次是000101011,A8就是7~0的表達(dá)值,7~0為10101000剛好為A8,而后面剩余的8~9,也是由00000011表示剛好為03.
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久在线视频 | 国产精品99久久久久久久久久久久 | 色综合久 | 日韩精品免费视频 | 性高湖久久久久久久久 | 久久精品色欧美aⅴ一区二区 | 7777在线视频免费播放 | 成人在线视频观看 | 亚洲 欧美 日韩 在线 | 国产分类视频 | 亚洲免费在线观看 | 亚洲人va欧美va人人爽 | 成人午夜视频在线观看 | 91久久久久久久久久久 | 欧美日韩视频在线第一区 | 国产精品久久久久久久模特 | 亚洲欧美一区二区三区在线 | 成人一区二 | 欧洲妇女成人淫片aaa视频 | 中文字幕国产视频 | 91色在线| 日韩精品一区在线 | 欧美国产日韩精品 | 成人午夜影院 | 国产9久 | 国产在线a| 日本视频一区二区 | 日本三级黄视频 | 亚洲精品1 | 日本一区二区高清不卡 | 久久视频精品 | 日韩一区二区三区视频 | 欧美激情国产精品 | 色悠悠久 | 91免费在线 | 欧美一级小视频 | 久久久av中文字幕 | 国产成人艳妇aa视频在线 | 久久国产精品-久久精品 | 欧美亚洲国产成人 | 成人免费视频网站在线看 |