chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

Modbus RTU通訊協(xié)議詳解與實例演示

jf_10471008 ? 來源:jf_10471008 ? 作者:jf_10471008 ? 2022-07-22 14:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Modbus通訊協(xié)議詳解

Modbus RTU通訊協(xié)議在數(shù)據(jù)通訊上采用主從應答的方式進行。只能由主機(PC,HMI等)通過唯一從機地址發(fā)起請求,從機(終端設備)根據(jù)主機請求進行響應,即半雙工通訊。該協(xié)議只允許主機發(fā)起請求,從機進行被動響應,因此從機不會主動占用通訊線路造成數(shù)據(jù)沖突。

類似Modbus RTU協(xié)議的主從應答協(xié)議還有西門子的PPI、電表常用的DL/T645-2007等協(xié)議。

一、modbus協(xié)議格式

信息傳輸為異步方式,使用16進制進行通訊,信息幀格式:


地址碼

功能碼

數(shù)據(jù)區(qū)

CRC校驗碼

1字節(jié)

1字節(jié)

N字節(jié)

2字節(jié)

地址碼

地址碼是每個通訊信息幀的第一個字節(jié),一般支持1到247,部分設備也支持0地址,用于接收主機的廣播數(shù)據(jù),每個從機在總線上地址必須唯一,只有與主機發(fā)送的地址碼相符的從機才能響應返回數(shù)據(jù)。

功能碼

功能碼是每個通訊信息幀的第二個字節(jié)。主機發(fā)送,通過功能碼告知從機設備應當執(zhí)行何種操作。

常見的八種功能碼:

功能碼

定義

操作

01H

讀取線圈

讀取一個或多個連續(xù)線圈狀態(tài)

05H

寫單個線圈

操作指定位置的線圈狀態(tài)

0FH

寫多個線圈

操作多個連續(xù)線圈狀態(tài)

02H

讀取離散量輸入

讀取一個或多個連續(xù)離散輸入狀態(tài)

04H

讀取輸入寄存器

讀取一個或多個連續(xù)輸入寄存器數(shù)據(jù)

03H

讀保持寄存器

讀取一個或多個保持寄存器數(shù)據(jù)

06H

寫單個保持寄存器

把兩個十六進制數(shù)據(jù)寫入對應位置

10H

寫多個保持寄存器

把4*N個十六進制數(shù)據(jù)寫入N個連續(xù)保持寄存器

數(shù)據(jù)區(qū)

數(shù)據(jù)區(qū)隨功能碼以及數(shù)據(jù)方向的不同而不同,這些數(shù)據(jù)可以是“寄存器首地址+讀取寄存器數(shù)量”、“寄存器地址+操作數(shù)據(jù)”、“寄存器首地址+操作寄存數(shù)量+數(shù)據(jù)長度+數(shù)據(jù)”等不同的組合,在“功能碼分析”詳解不同功能碼的數(shù)據(jù)區(qū)。

Modbus CRC校驗

Modbus RTU協(xié)議常用與工業(yè)現(xiàn)場對數(shù)據(jù)傳輸?shù)姆€(wěn)定性和正確性有較高的要求,因此通過CRC校驗保證數(shù)據(jù)傳輸?shù)恼_性和完整性。

二、錯誤反饋

地址與CRC校驗錯誤并不會收到從機的數(shù)據(jù)反饋,其他錯誤將向主機返回錯誤碼。數(shù)據(jù)幀的第二位加上0X80表示請求發(fā)生錯誤(非法功能碼、非法數(shù)據(jù)值等),錯誤數(shù)據(jù)幀如下:

地址碼

功能碼

錯誤碼

CRC校驗碼

1字節(jié)

1字節(jié)

1字節(jié)

2字節(jié)

常見錯誤碼如下:

名稱

說明

01H

非法的功能碼

不支持該功能碼操作寄存器

02H

非法的寄存器地址

訪問設備禁止訪問的寄存器

03H

非法的數(shù)據(jù)值

寫入不支持的參數(shù)值

04H

從機故障

設備工作異常

三、通訊信息傳輸過程

通訊命令由主機發(fā)送從機時,與主機發(fā)送的地址碼相符的從機接收通訊命令,如果CRC校驗無誤,則執(zhí)行相應的操作,然后把執(zhí)行結果(數(shù)據(jù))返回給主機。返回信息中包含地址碼、功能碼、執(zhí)行后的數(shù)據(jù)以及CRC校驗碼。如果地址不匹配或者CRC校驗出錯就不返回任何信息。

四、功能碼分析

功能碼01H:讀線圈

例如:主機要讀取從機地址為01H,起始線圈地址為00H的1個線圈狀態(tài),主機發(fā)送:

主機發(fā)送

發(fā)送數(shù)據(jù)(HEX)

地址碼

01

功能碼

01

起始線圈地址

高字節(jié)

00

低字節(jié)

00

線圈數(shù)量

高字節(jié)

00

低字節(jié)

01

CRC校驗

低字節(jié)

FD

高字節(jié)

CA

如果從機寄存器00H線圈閉合,從機返回:

從機返回

發(fā)送數(shù)據(jù)(HEX)

地址碼

01

功能碼

01

字節(jié)數(shù)

01

線圈狀態(tài)

01

CRC校驗碼

低字節(jié)

90

高字節(jié)

48

仿真演示:

modbus RTU協(xié)議單線圈



功能碼0FH:寫多個線圈

例如:主機要控制從機地址為01H,起始線圈地址為00H的4個線圈狀態(tài),主機發(fā)送:

主機發(fā)送

發(fā)送數(shù)據(jù)(HEX)

地址碼

01

功能碼

0F

起始線圈地址

高字節(jié)

00

低字節(jié)

00

線圈數(shù)量

高字節(jié)

00

低字節(jié)

04

寫入字節(jié)數(shù)

01

控制方式

00(全部斷開)、0F(全部閉合)

CRC校驗

低字節(jié)

XX

高字節(jié)

XX

功能碼0FH操作,從機返回:

從機返回

發(fā)送數(shù)據(jù)(HEX)

地址碼

01

功能碼

0F

起始線圈地址

高字節(jié)

00

低字節(jié)

00

線圈數(shù)量

高字節(jié)

00

低字節(jié)

04

CRC校驗

低字節(jié)

54

高字節(jié)

08

仿真演示:

mudbus協(xié)議多線圈



功能碼02H:讀離散輸入

例如:主機要讀取從機地址為01H,起始離散量地址為00H的4個輸入狀態(tài),主機發(fā)送:

主機發(fā)送

發(fā)送數(shù)據(jù)(HEX)

地址碼

01

功能碼

02

起始離散量地址

高字節(jié)

00

低字節(jié)

00

讀取數(shù)量

高字節(jié)

00

低字節(jié)

04

CRC校驗

低字節(jié)

79

高字節(jié)

C9

如果從機首地址00H開始的4離散輸入全部檢測到輸入,從機返回:

從機返回

發(fā)送數(shù)據(jù)(HEX)

地址碼

01

功能碼

02

字節(jié)數(shù)

01

離散輸入狀態(tài)

0F

CRC校驗碼

低字節(jié)

E1

高字節(jié)

8C

仿真演示:

moudbus通信協(xié)議輸入



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

例如:主機要讀取從機地址為01H,起始寄存器地址為02H的1個輸入寄存器數(shù)據(jù),主機發(fā)送:

主機發(fā)送

發(fā)送數(shù)據(jù)(HEX)

地址碼

01

功能碼

04

起始寄存器地址

高字節(jié)

00

低字節(jié)

02

寄存器數(shù)量

高字節(jié)

00

低字節(jié)

01

CRC校驗

低字節(jié)

90

高字節(jié)

0A

如果從機輸入寄存器02H的數(shù)據(jù)為3344H,從機返回:

從機返回

發(fā)送數(shù)據(jù)(HEX)

地址碼

01

功能碼

04

字節(jié)數(shù)

02

寄存器05H數(shù)據(jù)

高字節(jié)

33

低字節(jié)

44

CRC校驗碼

低字節(jié)

AD

高字節(jié)

F3

仿真演示:

modbus通信協(xié)議寄存器輸入



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

例如:主機要讀取從機地址為01H,起始寄存器地址為05H的2個保持寄存器數(shù)據(jù),主機發(fā)送:

主機發(fā)送

發(fā)送數(shù)據(jù)(HEX)

地址碼

01

功能碼

03

起始寄存器地址

高字節(jié)

00

低字節(jié)

05

寄存器數(shù)量

高字節(jié)

00

低字節(jié)

02

CRC校驗

低字節(jié)

D4

高字節(jié)

0A

如果從機保持寄存器05H、06H的數(shù)據(jù)為1122H、3344H,從機返回:

從機返回

發(fā)送數(shù)據(jù)(HEX)

地址碼

01

功能碼

03

字節(jié)數(shù)

04

寄存器05H數(shù)據(jù)

高字節(jié)

11

低字節(jié)

22

寄存器06H數(shù)據(jù)

高字節(jié)

33

低字節(jié)

44

CRC校驗碼

低字節(jié)

4B

高字節(jié)

C6

仿真演示:

modbus RTU協(xié)議保持寄存器




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

例如:主機寫入9988H的數(shù)據(jù)給從機地址為01H,寄存器地址為0050H的寄存器,主機發(fā)送:

主機發(fā)送

發(fā)送數(shù)據(jù)(HEX)

地址碼

01

功能碼

06

寄存器地址

高字節(jié)

00

低字節(jié)

50

寫入值

高字節(jié)

99

低字節(jié)

88

CRC校驗

低字節(jié)

E3

高字節(jié)

ED

從機返回與主機請求相同;

modbus協(xié)議單個保持寄存器



功能碼10H:寫多個保持寄存器

例如:主機要把數(shù)據(jù)0005H、2233H保存到從機地址為01H,起始寄存器地址為0020H的2個寄存器中,主機發(fā)送:

主機發(fā)送

發(fā)送數(shù)據(jù)(HEX)

地址碼

01

功能碼

10

起始寄存器地址

高字節(jié)

00

低字節(jié)

20

寄存器數(shù)量

高字節(jié)

00

低字節(jié)

02

寫入字節(jié)數(shù)

04

0000H

寄存器待寫入

高字節(jié)

00

低字節(jié)

05

0001H

寄存器待寫入

高字節(jié)

22

低字節(jié)

33

CRC校驗

低字節(jié)

B9

高字節(jié)

03

功能碼10H操作,從機返回:

從機返回

發(fā)送數(shù)據(jù)(HEX)

地址碼

01

功能碼

10

起始寄存器地址

高字節(jié)

00

低字節(jié)

20

寄存器數(shù)量

高字節(jié)

00

低字節(jié)

02

CRC校驗

低字節(jié)

40

高字節(jié)

02

仿真演示:

modbs多保持寄存器

審核編輯:湯梓紅

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

    關注

    28

    文章

    2293

    瀏覽量

    81598
  • 通訊協(xié)議

    關注

    10

    文章

    293

    瀏覽量

    21188
  • RTU
    RTU
    +關注

    關注

    0

    文章

    446

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    modbus協(xié)議講解modbus-rtu以及modbus-tcp協(xié)議詳解

    modbus協(xié)議講解modbus-rtu以及modbus-tcp協(xié)議詳解,見附件。
    發(fā)表于 03-01 10:14

    STM32--MODBUS 通訊篇 精選資料分享

    MODBUS STM32通訊篇文章目錄MODBUS STM32通訊篇一、MODBUS簡介二、MODBUS
    發(fā)表于 08-03 06:50

    請問MODBUS通訊協(xié)議及PLC編程通訊實例有哪些

    請問MODBUS通訊協(xié)議及PLC編程通訊實例有哪些?
    發(fā)表于 09-29 08:45

    Modbus RTU通訊協(xié)議相關資料下載

    Modbus RTU通訊協(xié)議中OSI模型,數(shù)據(jù)鏈路層和應用層是通訊關鍵部分。
    發(fā)表于 11-30 08:29

    Modbus_RTU通訊方式是什么

    Modbus_RTU通訊方式RTU 半雙工通訊方式本次使用的是 CPU:1215C DC/DC /RLY通信模塊:CM1241(RS232/RS485)硬件標識符:269(如圖 1)
    發(fā)表于 02-16 06:52

    Modbus-RTU協(xié)議包括哪些呢

    Modbus-RTUModbus 一個工業(yè)上常用的通訊協(xié)議、一種通訊約定。Modbus協(xié)議包括RTU
    發(fā)表于 02-16 07:43

    如何快速實現(xiàn)Modbus RTUModbus TCP協(xié)議轉換?

    Modbus RTUModbus TCP,實現(xiàn)不同協(xié)議設備通訊呢?01物通博聯(lián)工業(yè)智能網(wǎng)關協(xié)議
    發(fā)表于 08-18 18:36

    怎么可以用modbus_rtu協(xié)議通訊?

    怎么可以用modbus_rtu協(xié)議通訊
    發(fā)表于 11-02 07:04

    MODBUS通訊協(xié)議及編程

    ModBus通訊協(xié)議分為RTU協(xié)議和ASCII協(xié)議,下面就M
    發(fā)表于 07-17 11:58 ?1.5w次閱讀

    Modbus_通訊協(xié)議詳解

    Modbus_通訊協(xié)議詳解Modbus_通訊協(xié)議
    發(fā)表于 12-08 14:13 ?0次下載

    485-Modbus-RTU通訊協(xié)議

    Modbus RTU通信協(xié)議解讀,本協(xié)議采用主從問答方式。
    發(fā)表于 10-12 16:05 ?48次下載

    Modbus-RTU協(xié)議

    Modbus-RTUModbus 一個工業(yè)上常用的通訊協(xié)議、一種通訊約定。Modbus協(xié)議包括RTU
    發(fā)表于 12-20 18:48 ?39次下載
    <b class='flag-5'>Modbus-RTU</b><b class='flag-5'>協(xié)議</b>

    C#上位機:Modbus RTU通訊實例

    本文是對前文的補充,主要是針對上位機的串口通訊Modbus RTU協(xié)議方面的運用。在前文中有詳細代碼描述了如何搭建一個串口通訊上 位機模
    發(fā)表于 05-09 14:38 ?6次下載
    C#上位機:<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b><b class='flag-5'>通訊實例</b>

    Modbus-RTU通訊協(xié)議是什么?

    Modbus-RTU通訊協(xié)議是一種串行通訊協(xié)議,它可以用于連接不同類型的設備,以實現(xiàn)遠程監(jiān)控和控制。Mo
    的頭像 發(fā)表于 05-23 15:06 ?2114次閱讀

    Profibus PA轉Modbus RTU協(xié)議網(wǎng)關

    捷米特JM-RTU-PA網(wǎng)關將Profibus PA和Modbus RTU專用通訊協(xié)議橋接的協(xié)議
    的頭像 發(fā)表于 09-25 11:47 ?921次閱讀
    Profibus PA轉<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b><b class='flag-5'>協(xié)議</b>網(wǎng)關