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

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

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

了解下RS485通信和Modbus通信協(xié)議

1X4o_GKB1508 ? 來源:未知 ? 作者:李倩 ? 2018-08-22 16:02 ? 次閱讀

工業(yè)控制、電力通訊、智能儀表等領(lǐng)域,通常情況下是采用串口通信的方式進(jìn)行數(shù)據(jù)交換。最初采用的方式是RS232接口,由于工業(yè)現(xiàn)場比較復(fù)雜,各種電氣設(shè)備會在環(huán)境中產(chǎn)生比較多的電磁干擾,會導(dǎo)致信號傳輸錯誤。除此之外,RS232接口只能實現(xiàn)點對點通信,不具備聯(lián)網(wǎng)功能,最大傳輸距離也只能達(dá)到幾十米,不能滿足遠(yuǎn)距離通信要求。

RS485則解決了這些問題,數(shù)據(jù)信號采用差分傳輸方式,可以有效的解決共模干擾問題,最大距離可以到1200米,并且允許多個收發(fā)設(shè)備接到同一條總線上。隨著工業(yè)應(yīng)用通信越來越多,1979年施耐德電氣制定了一個用于工業(yè)現(xiàn)場的總線協(xié)議Modbus協(xié)議,現(xiàn)在工業(yè)中使用RS485通信場合很多都采用Modbus協(xié)議,所以今天我們來了解下RS485通信和Modbus通信協(xié)議。

【RS485通信】

實際上在RS485之前RS232就已經(jīng)誕生,但是RS232有幾處不足的地方:

1、接口的信號電平值較高,達(dá)到十幾V,容易損壞接口電路的芯片,而且和TTL電平不兼容,因此和單片機(jī)電路接起來的話必須加轉(zhuǎn)換電路。

2、傳輸速率有局限,不可以過高,一般到幾十Kb/s就到極限了。

3、接口使用信號線和GND與其他設(shè)備形成共地模式的通信,這種共地模式傳輸容易產(chǎn)生干擾,并且抗干擾性能也比較弱。

4、傳輸距離有限,最多只能通信幾十米。

5、通信的時候只能兩點之間進(jìn)行通信,不能夠?qū)崿F(xiàn)多機(jī)聯(lián)網(wǎng)通信。

針對RS232接口的不足,就不斷出現(xiàn)了一些新的接口標(biāo)準(zhǔn),RS485就是其中之一,他具備以下的特點:

1.邏輯“1”以兩線間的電壓差為+(2—6)V表示;邏輯“0”以兩線間的電壓差為-(2—6)V表示。接口信號電平比RS232C降低了,就不易損壞電路的芯片,且該電平與TTL電平兼容,可方便與TTL電路連接。

2.RS485通信速度快,數(shù)據(jù)最高傳輸速率為10Mbps以上

3.RS485內(nèi)部的物理結(jié)構(gòu),采用的是平衡驅(qū)動器和查分接收器的組合,抗干擾能力大大增加。

4.傳輸速率最遠(yuǎn)可達(dá)到1200米左右,但是他的傳輸速率和傳輸距離是成反比的,只有在100KB/s以下的傳輸速率,才能達(dá)到最大的通信距離,如果需要傳輸更遠(yuǎn)距離可以使用中繼。

5.可以在總線上進(jìn)行聯(lián)網(wǎng)實現(xiàn)多機(jī)通信,總線上允許掛多個收發(fā)器,從現(xiàn)有的RS485芯片來看,有可以掛32、64、128、256等不同個設(shè)備的驅(qū)動器。

RS-485采用平衡發(fā)送和差分接收,因此具有抑制共模干擾的能力。RS-485采用半雙工工作方式,任何時候只能有一點處于發(fā)送狀態(tài),因此,發(fā)送電路須由使能信號加以控制。RS-485用于多點互連時非常方便,可以省掉許多信號線。應(yīng)用RS-485 可以聯(lián)網(wǎng)構(gòu)成分布式系統(tǒng),其允許最多并聯(lián)32臺驅(qū)動器和32臺接收器。在RS232或RS485設(shè)備聯(lián)成的設(shè)備網(wǎng)中,如果設(shè)備數(shù)量超過2臺,就必須使用RS485做通訊介質(zhì),RS485網(wǎng)的設(shè)備間要想互通信息只有通過“主(Master)”設(shè)備中轉(zhuǎn)才能實現(xiàn),這個主設(shè)備通常是PC,而這種設(shè)備網(wǎng)中只允許存在一個主設(shè)備,其余全部是從(Slave)設(shè)備。

RS485有兩線制和四線制兩種接線,四線制只能實現(xiàn)點對點的通信方式,現(xiàn)很少采用,現(xiàn)在多采用的是兩線制接線方式,這種接線方式為總線式拓樸結(jié)構(gòu)在同一總線上最多可以掛接32個結(jié)點。在RS485通信網(wǎng)絡(luò)中一般采用的是主從通信方式,即一個主機(jī)帶多個從機(jī)。很多情況下,連接RS-485通信鏈路時只是簡單地用一對雙絞線將各個接口的“A”、“B”端連接起來。而忽略了信號地的連接,這種連接方法在許多場合是能正常工作的,但卻埋下了很大的隱患,這有二個原因:

(1)共模干擾問題: RS-485接口采用差分方式傳輸信號方式,并不需要相對于某個參照點來檢測信號,系統(tǒng)只需檢測兩線之間的電位差就可以了。但人們往往忽視了收發(fā)器有一定的共模電壓范圍,RS-485收發(fā)器共模電壓范圍為-7~+12V,只有滿足上述條件,整個網(wǎng)絡(luò)才能正常工作。當(dāng)網(wǎng)絡(luò)線路中 共模電壓超出此范圍時就會影響通信的穩(wěn)定可靠,甚至損壞接口。

(2)EMI問題:發(fā)送驅(qū)動器輸出信號中的共模部分需要一個返回通路,如沒有一個低阻的返回通道(信號地),就會以輻射的形式返回源端,整個總線就會像一個巨大的天線向外輻射電磁波。 由于PC機(jī)默認(rèn)的只帶有RS232接口,有兩種方法可以得到PC上位機(jī)的RS485電路:(1)通過RS232/RS485轉(zhuǎn)換電路將PC機(jī)串口RS232信號轉(zhuǎn)換成RS485信號,對于情況比較復(fù)雜的工業(yè)環(huán)境最好是選用防浪涌帶隔離珊的產(chǎn)品。(2)通過PCI多串口卡,可以直接選用輸出信號為RS485類型的擴(kuò)展卡。

【Modbus通信協(xié)議】

Modbus協(xié)議是應(yīng)用于電子控制器上的一種通用語言。通過此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)(例如以太網(wǎng))和其它設(shè)備之間可以通信。它已經(jīng)成為一通用工業(yè)標(biāo)準(zhǔn)。有了它,不同廠商生產(chǎn)的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進(jìn)行集中監(jiān)控。此協(xié)議定義了一個控制器能認(rèn)識使用的消息結(jié)構(gòu),而不管它們是經(jīng)過何種網(wǎng)絡(luò)進(jìn)行通信的。它描述了一控制器請求訪問其它設(shè)備的過程,如何回應(yīng)來自其它設(shè)備的請求,以及怎樣偵測錯誤并記錄。它制定了消息域格局和內(nèi)容的公共格式。

Modbus具有以下幾個特點:

(1)標(biāo)準(zhǔn)、開放,用戶可以免費、放心地使用Modbus協(xié)議,不需要交納許可證費,也不會侵犯知識產(chǎn)權(quán)。目前,支持Modbus的廠家超過400家,支持Modbus的產(chǎn)品超過600種。

(2)Modbus可以支持多種電氣接口,如RS-232、RS-485等,還可以在各種介質(zhì)上傳送,如雙絞線、光纖、無線等。

(3)Modbus的幀格式簡單、緊湊,通俗易懂。用戶使用容易,廠商開發(fā)簡單。

【RTU協(xié)議幀數(shù)據(jù)】

Modbus有兩種通信傳輸方式,一種是ASCII模式,一種是RTU模式。由于ASCII模式的數(shù)據(jù)字節(jié)是7bit數(shù)據(jù)位,51單片機(jī)無法實現(xiàn),而且應(yīng)用也相對較少,所以這里我們只用RTU模式。兩種模式相似,會用一種另外一種也就會了。一條典型的RTU數(shù)據(jù)幀如圖所示。

和我們實用串口通信程序類似,我們一次發(fā)送的數(shù)據(jù)幀必須是作為一個連續(xù)的數(shù)據(jù)流進(jìn)行傳輸。我們在實用串口通信程序中采用的方法是定義30ms,如果接收到的數(shù)據(jù)超過了30ms還沒有接收到下一個字節(jié),我們就認(rèn)為這次的數(shù)據(jù)結(jié)束。而Modbus的RTU模式規(guī)定不同數(shù)據(jù)幀之間的間隔是3.5個字節(jié)通信時間以上。如果在一幀數(shù)據(jù)完成之前有超過3.5個字節(jié)時間的停頓,接收設(shè)備將刷新當(dāng)前的消息并假定下一個字節(jié)是一個新的數(shù)據(jù)幀的開始。同樣的,如果一個新消息在小于3.5個字節(jié)時間內(nèi)接著前邊一個數(shù)據(jù)開始的,接收的設(shè)備將會認(rèn)為它是前一幀數(shù)據(jù)的延續(xù)。這將會導(dǎo)致一個錯誤,因此大家看RTU數(shù)據(jù)幀最后還有16bit的CRC校驗。

起始位和結(jié)束符:前后都至少有3.5個字節(jié)的時間間隔,起始位和結(jié)束符實際上沒有任何數(shù)據(jù),T1-T2-T3-T4代表的是時間間隔3.5個字節(jié)以上的時間,而真正有意義的第一個字節(jié)是設(shè)備地址。

設(shè)備地址:在多機(jī)通信的時候,數(shù)據(jù)那么多,我們依靠什么判斷這個數(shù)據(jù)幀是哪個設(shè)備的呢?沒錯,就是依靠這個設(shè)備地址字節(jié)。每個設(shè)備都有一個自己的地址,當(dāng)設(shè)備接收到一幀數(shù)據(jù)后,程序首先對設(shè)備地址字節(jié)進(jìn)行判斷比較,如果與自己的地址不同,則對這幀數(shù)據(jù)直接不予理會,如果如果與自己的地址相同,就要對這幀數(shù)據(jù)進(jìn)行解析,按照之后的功能碼執(zhí)行相應(yīng)的功能。如果地址是0x00,則認(rèn)為是一個廣播命令,就是所有的從機(jī)設(shè)備都要執(zhí)行的指令。

功能代碼:在第二個字節(jié)功能代碼字節(jié)中,Modbus規(guī)定了部分功能代碼,此外也保留了一部分功能代碼作為備用或者用戶自定義,這些功能碼大家不需要去記憶,甚至都不用去看,直到你有用到的那天再過來查這個表格即可。

CRC校驗:CRC校驗是一種數(shù)據(jù)算法,是用來校驗數(shù)據(jù)對錯的。CRC校驗函數(shù)把一幀數(shù)據(jù)除最后兩個字節(jié)外,前邊所有的字節(jié)進(jìn)行特定的算法計算,計算完后生成了一個16bit的數(shù)據(jù),作為CRC校驗碼,添加在一幀數(shù)據(jù)的最后。接收方接收到數(shù)據(jù)后,同樣會把前邊的字節(jié)進(jìn)行CRC計算,計算完了再和發(fā)過來的CRC的16bit的數(shù)據(jù)進(jìn)行比較,如果相同則認(rèn)為數(shù)據(jù)正常,沒有出錯,如果比較不相同,則說明數(shù)據(jù)在傳輸中發(fā)生了錯誤,這幀數(shù)據(jù)將被丟棄,就像沒收到一樣,而發(fā)送方會在得不到回應(yīng)后做相應(yīng)的處理錯誤處理。

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

    關(guān)注

    28

    文章

    840

    瀏覽量

    40215
  • RS485
    +關(guān)注

    關(guān)注

    39

    文章

    1135

    瀏覽量

    82071
  • MODBUS
    +關(guān)注

    關(guān)注

    28

    文章

    1757

    瀏覽量

    76760

原文標(biāo)題:干貨分享:RS485通信和Modbus通信協(xié)議匯總

文章出處:【微信號:GKB1508,微信公眾號:工控幫】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    labview與rs485通信modbus協(xié)議

    labview與rs485通信modbus協(xié)議編程怎么用,知道有mdbus模塊,但是網(wǎng)上例程少而且特別簡單所以,想看看大家是怎么利用這個modbus協(xié)議
    發(fā)表于 05-18 08:54

    淺析RS485通信Modbus通信協(xié)議

    RS485通信Modbus通信協(xié)議匯總1. 主從模式RS-485上的軟件層協(xié)議
    發(fā)表于 08-23 06:16

    RS485通信Modbus協(xié)議的相關(guān)資料分享

    文章目錄RS485 通信Modbus 協(xié)議單片機(jī) RS485 通信接口、控制線、原理圖及程序
    發(fā)表于 11-30 07:31

    RS485通信Modbus協(xié)議的特點

    RS485通信Modbus協(xié)議 附源碼及視頻教程下載RS485通信的特點1、采用差分信號。2、RS48
    發(fā)表于 11-30 07:05

    了解一下MODBUS通信協(xié)議

    ,如有錯誤,請多指教。MODBUS協(xié)議簡介MODBUS協(xié)議是美國Modicon公司(現(xiàn)已被收購)首先推出的基于RS485總線的通信協(xié)議,有RS
    發(fā)表于 01-14 06:19

    RS485Modbus通信協(xié)議讓工業(yè)自動化更高效

    電路的可靠性和穩(wěn)定性。   【RS485通訊協(xié)議】   實際應(yīng)用中,RS485接口還需要進(jìn)行協(xié)議規(guī)范和數(shù)據(jù)格式化。常用的RS485通訊
    發(fā)表于 05-05 16:25

    RS485通信協(xié)議pdf

    rs485通信協(xié)議: C320 系列變頻器提供標(biāo)準(zhǔn)RS485 通信接口,用戶可通過PC/PLC 實現(xiàn)集中監(jiān)控(發(fā)送運行命令設(shè)定,變頻器的工作參數(shù)和讀取變頻器的工作狀態(tài)),以適應(yīng)特定的
    發(fā)表于 12-08 20:42 ?5106次下載

    RS485通信協(xié)議

    RS485通信協(xié)議RS485 通信協(xié)議1.概述C320 系列變頻器提供標(biāo)準(zhǔn)RS485 通信
    發(fā)表于 04-07 17:26 ?89次下載

    RS485 通信協(xié)議教程

    RS485 通信協(xié)議教程 概述C320 系列變頻器提供標(biāo)準(zhǔn)RS485 通信接口,用戶可通過PC/PLC 實現(xiàn)集中監(jiān)控(發(fā)送運行命令設(shè)定,變頻器的工作參數(shù)和讀取變頻器的工作狀態(tài)),以適
    發(fā)表于 04-13 14:54 ?91次下載

    基于RS485的數(shù)據(jù)通信協(xié)議的設(shè)計與實現(xiàn)

    基于現(xiàn)場可編程門陣列(FPGA),設(shè)計了采用RS485標(biāo)準(zhǔn)的數(shù)據(jù)通信協(xié)議。其中,高速信號接收,采用同步485通信協(xié)議,高速接口包括時鐘和數(shù)據(jù)兩個信號,時鐘速率3.6864 MHz,利用
    發(fā)表于 09-16 14:43 ?77次下載
    基于<b class='flag-5'>RS485</b>的數(shù)據(jù)<b class='flag-5'>通信協(xié)議</b>的設(shè)計與實現(xiàn)

    RS485通信Modbus協(xié)議

    隨著工業(yè)應(yīng)用通信越來越多,1979年施耐德電氣制定了一個用于工業(yè)現(xiàn)場的總線協(xié)議Modbus協(xié)議,現(xiàn)在工業(yè)中使用RS485通信場合很多都采用
    發(fā)表于 01-03 18:09 ?3w次閱讀
    <b class='flag-5'>RS485</b><b class='flag-5'>通信</b>和<b class='flag-5'>Modbus協(xié)議</b>

    RS485MODBUS的區(qū)別 它們有什么不同?

    。 1979年施耐德電氣制定了一個用于工業(yè)現(xiàn)場的總線協(xié)議Modbus協(xié)議,現(xiàn)在工業(yè)中使用RS485通信場合很多都采用Modbus協(xié)議,所以今
    的頭像 發(fā)表于 03-16 09:02 ?1.8w次閱讀

    RS485MODBUS RTU的區(qū)別 如何選擇合適的通信技術(shù)?

    RS485MODBUS RTU的區(qū)別 如何選擇合適的通信技術(shù)? RS485是一種通信總線標(biāo)準(zhǔn),而MOD
    的頭像 發(fā)表于 02-01 10:27 ?8824次閱讀

    RS485通信協(xié)議的特性和應(yīng)用范圍

    隨著工業(yè)自動化和物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,數(shù)據(jù)通信協(xié)議的重要性日益凸顯。RS485通信協(xié)議作為一種廣泛應(yīng)用于工業(yè)自動化領(lǐng)域的串行通信協(xié)議,其穩(wěn)定性和可靠性得到了廣泛的認(rèn)可。本文將對
    的頭像 發(fā)表于 05-23 16:27 ?1555次閱讀

    RS232和RS485通信協(xié)議的主要區(qū)別及優(yōu)缺點

    隨著信息技術(shù)的飛速發(fā)展,通信協(xié)議在電子設(shè)備間的數(shù)據(jù)傳輸中扮演著越來越重要的角色。RS232和RS485作為兩種常見的串行通信協(xié)議,被廣泛應(yīng)用于各種電子設(shè)備和系統(tǒng)中。本文將深入探討
    的頭像 發(fā)表于 05-24 15:41 ?5863次閱讀