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

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

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

教會你用Modbus通訊協(xié)議

jf_78858299 ? 來源:創(chuàng)控教育 ? 作者:創(chuàng)控教育 ? 2023-03-23 09:41 ? 次閱讀

最初工廠通過所謂的大型微處理器的系統(tǒng)控制的“分布式控制系統(tǒng)”或“DCS”。一個中央控制系統(tǒng)控制的整個系統(tǒng)(在控制室)。所有傳感器和執(zhí)行器的通過點(diǎn)到點(diǎn)的連線方式連接到控制系統(tǒng)。或者在網(wǎng)絡(luò)拓?fù)渲刑砑?/p>

為了減少成本Modicon公司(施耐德大型PLC的前身)發(fā)明了最完整的可編程邏輯控制器PLC

因為PLC需要共享數(shù)據(jù),所以, Modicon 在1979 創(chuàng)造一個通訊協(xié)議: Modicon + fieldbus = MODBUS圖片

Modbus協(xié)議基礎(chǔ)

Modbus協(xié)議

有不同類型Modbus協(xié)議(MODBUS ASCII,Modbus RTU,MODBUS TCP/ IP,Modbus Plus, Modbus Pemex...)

此培訓(xùn)文檔主要介紹RTU和TCP / IP

Modbus 的分類

一種模式是ASCII(美國信息交換碼),

另一種模式是RTU(遠(yuǎn)程終端設(shè)備)。

施耐德電氣最常用的是串口協(xié)議是Modbus RTU

Modbus RTU最常用的串口設(shè)備包括:RS232、RS422、RS485圖片

RS232

電子工業(yè)協(xié)會(Electronic Industries Association,EIA) 所制定的異步傳輸標(biāo)準(zhǔn)接口。通常 RS-232 接口以9個引腳 (DB-9) 或是25個引腳 (DB-25) 的型態(tài)出現(xiàn)圖片

RS232主要的缺點(diǎn)只能點(diǎn)到點(diǎn)通訊.圖片

傳輸速度最大10 M位/s.

電纜的理論長度為15米。在實(shí)踐中,通過使用質(zhì)量好的電纜,有可能超過這個長度。只需使用屏蔽電纜(普通,或更好的雙絞線)能夠?qū)⑼ㄓ嶋p方的距離延長到25-30米。

RS422

RS-422(EIA RS-422-A標(biāo)準(zhǔn))是歷史上的蘋果Macintosh計算機(jī)使用的串行連接。RS-422使用差分電信號,而不像RS-232對樣使用對地不平衡的信號。差分傳輸?shù)陌l(fā)送和接收都使用兩根線,具有更好的抗噪性和更長的距離的信號。這些優(yōu)勢使得RS-422更適合工業(yè)應(yīng)用。

由于接收器采用高輸入阻抗和發(fā)送驅(qū)動器比RS232更強(qiáng)的驅(qū)動能力,故允許最多可接10個節(jié)點(diǎn)。即一個主設(shè)備(主),多個從設(shè)備(從),從設(shè)備之間不能通信,支持點(diǎn)對多的雙向通信。最大傳輸速率10 M位/s

圖片圖片

通訊線長度和最高速度關(guān)系

12m = 10 M位s/sec

120m = 1 M位s/sec

1200m = 100 k位s/sec

RS485

RS485標(biāo)準(zhǔn)由電信行業(yè)協(xié)會和電子工業(yè)聯(lián)盟定義。使用該標(biāo)準(zhǔn)的數(shù)字通信網(wǎng)絡(luò)能在遠(yuǎn)距離條件下以及電子噪聲大的環(huán)境下可以有效傳輸信號。RS-485使得廉價本地網(wǎng)絡(luò)以及多支路通信鏈路的配置成為可能。

RS485現(xiàn)在多采用的是兩線制接線方式,這種接線方式為總線式拓?fù)浣Y(jié)構(gòu),只需兩根數(shù)據(jù)線和一個地線*。

對于主與多個從設(shè)備通訊,RS485是迄今為止最流行的方法。在無中繼器最多可支持32個節(jié)點(diǎn),長度約1200米。

一個串行Modbus網(wǎng)絡(luò)有一個主設(shè)備和多個從設(shè)備,該通信是半雙工。

在不加重發(fā)器repeater的情況下,每個段最多32個站。

在干擾惡劣的環(huán)境下還應(yīng)采用鎧裝型雙絞屏蔽電纜圖片

在RS485通信網(wǎng)絡(luò)中一般采用的是主從通信方式,即一個主機(jī)帶多個從機(jī)。很多情況下,連接RS-485通信鏈路時只是簡單地用一對雙絞線將各個接口的“A”、“B”端連接起來,而忽略了信號地的連接,這種連接方法在許多場合是能正常工作的,但卻埋下了很大的隱患,原因1是共模干擾:RS-485接口采用差分方式傳輸信號方式,并不需要相對于某個參照點(diǎn)來檢測信號,系統(tǒng)只需檢測兩線之間的電位差就可以了,但容易忽視了收發(fā)器有一定的共模電壓范圍,RS-485收發(fā)器共模電壓范圍為-7到+12V,只有滿足上述條件,整個網(wǎng)絡(luò)才能正常工作;當(dāng)網(wǎng)絡(luò)線路中共模電壓超出此范圍時就會影響通信的穩(wěn)定可靠,甚至損壞接口;原因二是EMI的問題:發(fā)送驅(qū)動器輸出信號中的共模部分需要一個返回通路,如沒有一個低阻的返回通道(信號地),就會以輻射的形式返回源端,整個總線就會像一個巨大的天線向外輻射電磁波。

RS485的終端電阻和極化電阻

建議在通訊網(wǎng)絡(luò)的兩端加終端電阻120歐姆1nF,保證阻抗匹配。

極化電阻加在主站側(cè),可有效提高主站帶從站的能力,一般在從站比較多的時候采用。

圖片

設(shè)備少距離短的情況下不加終端負(fù)載電阻整個網(wǎng)絡(luò)能很好的工作,但隨著距離的增加性能將降低。理論上,在每個接收數(shù)據(jù)信號的中點(diǎn)進(jìn)行采樣時,只要反射信號在開始采樣時衰減到足夠低就可以不考慮匹配。但這在實(shí)際上難以掌握,美國MAXIM公司有篇文章提到一條經(jīng)驗性的原則可以用來判斷在什么樣的數(shù)據(jù)速率和電纜長度時需要進(jìn)行匹配:當(dāng)信號的轉(zhuǎn)換時間(上升或下降時間)超過電信號沿總線單向傳輸所需時間的3倍以上時就可以不加匹配。

一般終端匹配采用終端電阻方法,RS-485應(yīng)在總線電纜的開始和末端都并接終端電阻。終端電阻在RS-485網(wǎng)絡(luò)中取120Ω。相當(dāng)于電纜特性阻抗的電阻,因為大多數(shù)雙絞線電纜特性阻抗大約在100~120Ω。這種匹配方法簡單有效,但有一個缺點(diǎn),匹配電阻要消耗較大功率,對于功耗限制比較嚴(yán)格的系統(tǒng)不太適合。另外一種比較省電的匹配方式是RC匹配。利用一只電容C隔斷直流成分可以節(jié)省大部分功率。

RS485的串口配置

RS485總線上的每個設(shè)備都需要配置一些參數(shù),TM241使用SoMachine配置,TM221要使用SoMachine basic的軟件。

Modbus從站地址在一條總線上不能重復(fù),對于一些從站設(shè)備比如變頻器ATV320、340、伺服等還要求修改后重新上電!

RS485總線上所有設(shè)備的波特率、數(shù)據(jù)位、停止位、校驗方式必須都相同!圖片

波特率是指單位時間內(nèi)載波參數(shù)變化的次數(shù),如每秒鐘傳送240個字符,而每個字符格式包含10位(1個起始位,1個停止位,8個數(shù)據(jù)位),這時的波特率為240Bd,比特率為10位*240個/秒=2400bps。

數(shù)據(jù)位是指通信中實(shí)際數(shù)據(jù)位的參數(shù),標(biāo)準(zhǔn)的值是5、6、7和8位。RTU自動是8位,其它設(shè)置是給ASII碼使用的

停止位是用來表示單個包的最后一位。典型的值為1,1.5和2位。停止位

校驗位在串口通信中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。沒有校驗位也是可以的。

Modbus數(shù)據(jù)幀格式

MODBUS協(xié)議定義了一個與基礎(chǔ)通信層無關(guān)的簡單協(xié)議數(shù)據(jù)單元(PDU)。特定總線或網(wǎng)絡(luò)上的MODBUS協(xié)議映射能夠在應(yīng)用數(shù)據(jù)單元(ADU)上引入一些附加域。圖片

地址碼:第一個字節(jié),每個從機(jī)都有具有唯一的地址碼,并且響應(yīng)回送均以各自的地址碼開始。主機(jī)發(fā)送的地址碼表明將發(fā)送到的從機(jī)地址,而從機(jī)發(fā)送的地址碼表明回送的從機(jī)地址,地址碼為0時是廣播模式。

功能碼:通訊傳送的第二個字節(jié)。作為主機(jī)請求發(fā)送,通過功能碼告訴從機(jī)執(zhí)行什么動作。作為從機(jī)響應(yīng),從機(jī)發(fā)送的功能碼與從主機(jī)發(fā)送來的功能碼一樣,并表明從機(jī)已響應(yīng)主機(jī)進(jìn)行操作。如果從機(jī)發(fā)送的功能碼的最高位為1(比如功能碼大與此同時127),則表明從機(jī)沒有響應(yīng)操作或發(fā)送出錯。

數(shù)據(jù)區(qū):數(shù)據(jù)區(qū)是根據(jù)不同的功能碼而不同。數(shù)據(jù)區(qū)可以是實(shí)際數(shù)值、設(shè)置點(diǎn)、主機(jī)發(fā)送給從機(jī)或從機(jī)發(fā)送給主機(jī)的地址。

差錯校驗:使用 CRC碼,它是二字節(jié)的錯誤檢測碼。

Modbus地址和數(shù)值

所有的電子設(shè)備的內(nèi)部存儲區(qū)用于存儲不同類型的數(shù)據(jù)。它最初開發(fā)用于PLC與其他設(shè)備進(jìn)行Modbus通信。在通常情況下,使用四個類型的連接傳感器和執(zhí)行設(shè)備。圖片

PLC需要存儲數(shù)據(jù)以便進(jìn)行操作.圖片

每個存儲區(qū)存儲不同的數(shù)值圖片

Modbus的功能碼

功能碼:主機(jī)發(fā)送的功能碼告訴從機(jī)執(zhí)行什么任務(wù)。圖片

Modbus的校驗碼

校驗碼:Modbus通訊采用CRC-16循環(huán)冗余錯誤校驗 ,冗余循環(huán)碼CRC包含2個字節(jié),即16位二進(jìn)制。

CRC計算方法是:

1、 加載一值為0XFFFF的16位寄存器,此寄存器為CRC寄存器。

2、 把第一個8位二進(jìn)制數(shù)據(jù)(即通訊信息幀的第一個字節(jié))與16位的CRC寄存器的相異或,異或的結(jié)果仍存放于該CRC寄存器中。

3、 把CRC寄存器的內(nèi)容右移一位,用0填補(bǔ)最高位,并檢測移出位是0還是1。

4、 如果移出位為零,則重復(fù)第三步(再次右移一位);如果移出位為1,CRC寄存器與0XA001進(jìn)行異或。

5、 重復(fù)步驟3和4,直到右移8次,這樣整個8位數(shù)據(jù)全部進(jìn)行了處理。

6、 重復(fù)步驟2和5,進(jìn)行通訊信息幀下一個字節(jié)的處理。

7、 將該通訊信息幀所有字節(jié)按上述步驟計算完成后,得到的16位CRC寄存器的高、低字節(jié)進(jìn)行交換

8、 最后得到的CRC寄存器內(nèi)容即為:CRC校驗碼。

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

    關(guān)注

    2551

    文章

    51169

    瀏覽量

    754186
  • DCS
    DCS
    +關(guān)注

    關(guān)注

    20

    文章

    613

    瀏覽量

    50130
  • MODBUS
    +關(guān)注

    關(guān)注

    28

    文章

    1810

    瀏覽量

    77063
  • 中央控制系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    9233
收藏 人收藏

    評論

    相關(guān)推薦

    什么是Modbus通訊協(xié)議?Modbus通訊協(xié)議有什么特點(diǎn)?

    什么是Modbus通訊協(xié)議:  Modbus是由Modicon(現(xiàn)為施耐德電氣公司的一個品牌)在1979年發(fā)明的,是全球第一個真正用于工業(yè)現(xiàn)場的總線
    發(fā)表于 11-11 10:35

    MODBUS通訊協(xié)議---多機(jī)通訊

    、 //************************************************************************************************************* //主題: Modbus協(xié)議--多機(jī)通訊 -
    發(fā)表于 11-11 17:25

    基于LabVIEW的Modbus串口通訊協(xié)議的實(shí)現(xiàn)

    基于LabVIEW 的Modbus 串口通訊協(xié)議的實(shí)現(xiàn)附件基于LabVIEW 的Modbus 串口通訊協(xié)
    發(fā)表于 10-16 10:50

    ModBus通訊協(xié)議簡介

    ModBus通訊協(xié)議通訊協(xié)議又稱通信規(guī)程,是指通信雙方對數(shù)據(jù)傳送控制的一種約定。約定中包括對數(shù)據(jù)格式,同步方式,傳送速度,傳送步驟,檢糾錯方
    發(fā)表于 08-23 09:19

    如何通過VISA編寫Modbus通訊協(xié)議

    什么是Modbus通訊協(xié)議?如何通過VISA編寫Modbus通訊協(xié)議呢?
    發(fā)表于 09-29 07:44

    Modbus通訊協(xié)議的幾種實(shí)現(xiàn)方式

      1. Modbus簡介   Modbus是Modicon公司(現(xiàn)在已經(jīng)被施耐德收購成為了施耐德旗下品牌)為其PLC通訊而開發(fā)的一種通訊協(xié)議
    發(fā)表于 05-05 16:19

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

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

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

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

    Modbus_通訊協(xié)議詳解

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

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

    MODBUS通訊協(xié)議及編程標(biāo)準(zhǔn)通訊協(xié)議格式,工業(yè)通信的標(biāo)準(zhǔn)格式。
    發(fā)表于 03-10 11:45 ?67次下載

    MODBUS通訊協(xié)議詳細(xì)介紹

    MODBUS通訊協(xié)議詳細(xì)介紹標(biāo)準(zhǔn)通訊協(xié)議格式,工業(yè)通信的標(biāo)準(zhǔn)格式。
    發(fā)表于 03-10 11:42 ?38次下載

    MODBUS通訊協(xié)議中文版

    介紹了MODBUS通訊協(xié)議的架構(gòu),和應(yīng)用,分享給大家,歡迎下載。
    發(fā)表于 08-09 17:33 ?0次下載

    Modbus通訊協(xié)議的原理和標(biāo)準(zhǔn)

    Modbus通訊協(xié)議分為RTU和ASCLL兩種傳輸模式,已經(jīng)成為一種標(biāo)準(zhǔn)工業(yè)控制協(xié)議。
    發(fā)表于 11-02 18:31 ?12次下載

    解讀Modbus通訊協(xié)議

    作為工控人,Modbus 通訊協(xié)議想必都不陌生,Modbus 通訊協(xié)議可以說是工業(yè)自動化領(lǐng)域應(yīng)用
    的頭像 發(fā)表于 11-09 16:39 ?1662次閱讀

    Modbus通訊協(xié)議的詳細(xì)資料講解

    作為工控人,Modbus 通訊協(xié)議想必都不陌生,Modbus 通訊協(xié)議可以說是工業(yè)自動化領(lǐng)域應(yīng)用
    發(fā)表于 11-27 02:01 ?54次下載
    <b class='flag-5'>Modbus</b><b class='flag-5'>通訊</b><b class='flag-5'>協(xié)議</b>的詳細(xì)資料講解