国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

Modbus RTU通訊協議詳解與實例演示

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

掃碼添加小助手

加入工程師交流群

Modbus通訊協議詳解

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

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

一、modbus協議格式

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


地址碼

功能碼

數據區(qū)

CRC校驗碼

1字節(jié)

1字節(jié)

N字節(jié)

2字節(jié)

地址碼

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

功能碼

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

常見的八種功能碼:

功能碼

定義

操作

01H

讀取線圈

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

05H

寫單個線圈

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

0FH

寫多個線圈

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

02H

讀取離散量輸入

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

04H

讀取輸入寄存器

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

03H

讀保持寄存器

讀取一個或多個保持寄存器數據

06H

寫單個保持寄存器

把兩個十六進制數據寫入對應位置

10H

寫多個保持寄存器

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

數據區(qū)

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

Modbus CRC校驗

Modbus RTU協議常用與工業(yè)現場對數據傳輸的穩(wěn)定性和正確性有較高的要求,因此通過CRC校驗保證數據傳輸的正確性和完整性。

二、錯誤反饋

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

地址碼

功能碼

錯誤碼

CRC校驗碼

1字節(jié)

1字節(jié)

1字節(jié)

2字節(jié)

常見錯誤碼如下:

名稱

說明

01H

非法的功能碼

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

02H

非法的寄存器地址

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

03H

非法的數據值

寫入不支持的參數值

04H

從機故障

設備工作異常

三、通訊信息傳輸過程

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

四、功能碼分析

功能碼01H:讀線圈

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

主機發(fā)送

發(fā)送數據(HEX)

地址碼

01

功能碼

01

起始線圈地址

高字節(jié)

00

低字節(jié)

00

線圈數量

高字節(jié)

00

低字節(jié)

01

CRC校驗

低字節(jié)

FD

高字節(jié)

CA

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

從機返回

發(fā)送數據(HEX)

地址碼

01

功能碼

01

字節(jié)數

01

線圈狀態(tài)

01

CRC校驗碼

低字節(jié)

90

高字節(jié)

48

仿真演示:

modbus RTU協議單線圈



功能碼0FH:寫多個線圈

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

主機發(fā)送

發(fā)送數據(HEX)

地址碼

01

功能碼

0F

起始線圈地址

高字節(jié)

00

低字節(jié)

00

線圈數量

高字節(jié)

00

低字節(jié)

04

寫入字節(jié)數

01

控制方式

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

CRC校驗

低字節(jié)

XX

高字節(jié)

XX

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

從機返回

發(fā)送數據(HEX)

地址碼

01

功能碼

0F

起始線圈地址

高字節(jié)

00

低字節(jié)

00

線圈數量

高字節(jié)

00

低字節(jié)

04

CRC校驗

低字節(jié)

54

高字節(jié)

08

仿真演示:

mudbus協議多線圈



功能碼02H:讀離散輸入

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

主機發(fā)送

發(fā)送數據(HEX)

地址碼

01

功能碼

02

起始離散量地址

高字節(jié)

00

低字節(jié)

00

讀取數量

高字節(jié)

00

低字節(jié)

04

CRC校驗

低字節(jié)

79

高字節(jié)

C9

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

從機返回

發(fā)送數據(HEX)

地址碼

01

功能碼

02

字節(jié)數

01

離散輸入狀態(tài)

0F

CRC校驗碼

低字節(jié)

E1

高字節(jié)

8C

仿真演示:

moudbus通信協議輸入



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

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

主機發(fā)送

發(fā)送數據(HEX)

地址碼

01

功能碼

04

起始寄存器地址

高字節(jié)

00

低字節(jié)

02

寄存器數量

高字節(jié)

00

低字節(jié)

01

CRC校驗

低字節(jié)

90

高字節(jié)

0A

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

從機返回

發(fā)送數據(HEX)

地址碼

01

功能碼

04

字節(jié)數

02

寄存器05H數據

高字節(jié)

33

低字節(jié)

44

CRC校驗碼

低字節(jié)

AD

高字節(jié)

F3

仿真演示:

modbus通信協議寄存器輸入



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

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

主機發(fā)送

發(fā)送數據(HEX)

地址碼

01

功能碼

03

起始寄存器地址

高字節(jié)

00

低字節(jié)

05

寄存器數量

高字節(jié)

00

低字節(jié)

02

CRC校驗

低字節(jié)

D4

高字節(jié)

0A

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

從機返回

發(fā)送數據(HEX)

地址碼

01

功能碼

03

字節(jié)數

04

寄存器05H數據

高字節(jié)

11

低字節(jié)

22

寄存器06H數據

高字節(jié)

33

低字節(jié)

44

CRC校驗碼

低字節(jié)

4B

高字節(jié)

C6

仿真演示:

modbus RTU協議保持寄存器




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

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

主機發(fā)送

發(fā)送數據(HEX)

地址碼

01

功能碼

06

寄存器地址

高字節(jié)

00

低字節(jié)

50

寫入值

高字節(jié)

99

低字節(jié)

88

CRC校驗

低字節(jié)

E3

高字節(jié)

ED

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

modbus協議單個保持寄存器



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

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

主機發(fā)送

發(fā)送數據(HEX)

地址碼

01

功能碼

10

起始寄存器地址

高字節(jié)

00

低字節(jié)

20

寄存器數量

高字節(jié)

00

低字節(jié)

02

寫入字節(jié)數

04

0000H

寄存器待寫入

高字節(jié)

00

低字節(jié)

05

0001H

寄存器待寫入

高字節(jié)

22

低字節(jié)

33

CRC校驗

低字節(jié)

B9

高字節(jié)

03

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

從機返回

發(fā)送數據(HEX)

地址碼

01

功能碼

10

起始寄存器地址

高字節(jié)

00

低字節(jié)

20

寄存器數量

高字節(jié)

00

低字節(jié)

02

CRC校驗

低字節(jié)

40

高字節(jié)

02

仿真演示:

modbs多保持寄存器

審核編輯:湯梓紅

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

    關注

    28

    文章

    2457

    瀏覽量

    83228
  • 通訊協議
    +關注

    關注

    10

    文章

    298

    瀏覽量

    21486
  • RTU
    RTU
    +關注

    關注

    0

    文章

    450

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    modbus協議講解modbus-rtu以及modbus-tcp協議詳解

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

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

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

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

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

    Modbus RTU通訊協議相關資料下載

    Modbus RTU通訊協議中OSI模型,數據鏈路層和應用層是通訊關鍵部分。
    發(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協議包括哪些呢

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

    如何快速實現Modbus RTUModbus TCP協議轉換?

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

    怎么可以用modbus_rtu協議通訊?

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

    MODBUS通訊協議及編程

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

    Modbus_通訊協議詳解

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

    485-Modbus-RTU通訊協議

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

    Modbus-RTU協議

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

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

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

    Modbus-RTU通訊協議是什么?

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

    Profibus PA轉Modbus RTU協議網關

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