日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 通訊類電路 >> 正文

RS485通信和Modbus協議

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2021-07-10

在工業控制、電力通訊、智能儀表等領域,通常情況下是采用串口通信的方式進行數據交換。最初采用的方式是RS232接口,由于工業現場比較復雜,各種電氣設備會在環境中產生比較多的電磁干擾,會導致信號傳輸錯誤。除此之外,RS232接口只能實現點對點通信,不具備聯網功能,最大傳輸距離也只能達到幾十米,不能滿足遠距離通信要求。而RS485則解決了這些問題,數據信號采用差分傳輸方式,可以有效的解決共模干擾問題,最大距離可以到1200米,并且允許多個收發設備接到同一條總線上。隨著工業應用通信越來越多,1979年施耐德電氣制定了一個用于工業現場的總線協議Modbus協議,現在工業中使用RS485通信場合很多都采用Modbus協議,本文講解RS485通信和Modbus協議。

RS485特點

1、差分輸入最大的優勢是可以抑制共模干擾。尤其工業現場的環境比較復雜,干擾比較多,所以通信如果采用的是差分方式,就可以有效的抑制共模干擾。而RS485就是一種差分通信方式,它的通信線路是兩根,通常用A和B或者D+和D-來表示。邏輯“1”以兩線之間的電壓差為+(0.2~6)V表示,邏輯“0”以兩線間的電壓差為-(0.2~6)V來表示,是一種典型的差分通信。

2、RS485通信速度快,最大傳輸速度可以達到10Mb/s以上。

3、RS485內部的物理結構,采用的是平衡驅動器和差分接收器的組合,抗干擾能力也大大增加。

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

5、可以在總線上進行聯網實現多機通信,總線上允許掛多個收發器,從現有的RS485芯片來看,有可以掛32、64、128、256等不同個設備的驅動器。

rs485電纜 

RS485通訊電纜結構圖

RS485的接口非常簡單,和RS232所使用的MAX232是類似的,只需要一個RS485轉換器,就可以直接和我們單片機的UART串行接口連接起來,并且完全使用的是和UART一致的異步串行通信協議。但是由于RS485是差分通信,因此接收數據和發送數據是不能同時進行的,也就是說它是一種半雙工通信。

Modbus協議特點

Modbus協議是應用于電子控制器上的一種通用語言。通過此協議,控制器相互之間、控制器經由網絡(例如以太網)和其他設備之間可以通信,已經成為一種工業標準。有了它,不同廠商生產的控制設備可以連成工業網絡,進行集中監控。這種協議定義了一種控制器能夠認識使用的數據結構,而不管它們是經過何種網絡進行通信的。它描述了控制器請求訪問其他設備的過程,如何回應來自其他設備的請求,以及怎樣偵測錯誤記錄,它制定了通信數據的格局和內容的公共格式。

在進行多機通信的時候,Modbus協議規定每個控制器必須要知道他們的設備地址,識別按照地址發送過來的數據,決定是否要產生動作,產生何種動作,如果要回應,控制器將生成的反饋信息用Modbus協議發出。

Modbus協議允許在各種網絡體系結構內進行簡單通信,每種設備(PLC、人機界面、控制面板、驅動程序、輸入輸出設備)都能使用Modbus協議來啟動遠程操作,一些網關允許在幾種使用Modbus協議的總線或網絡之間的通信。

Modbus網絡體系結構實例 

通訊說明

控制器采用RS-485總線,協議符合ModBusRTU規約。

數據傳輸均采用8位數據位、1位停止位、無奇偶校驗位。波特率可設為1200-9600bit/s。通訊傳送分為獨立的信息頭,和發送的編碼數據。以下的通訊傳送方式定義與RTU通訊規約相兼容:

rs485編碼 

初始結構=>=4字節的時間地址碼=1字節功能碼=1字節數據區=N字節

錯誤校檢=16位CRC碼結束結構=>=4字節的時間

地址碼:地址碼為通訊傳送的第一個字節。這個字節表明由用戶設定地址碼的從機將接收由主機發送來的信息。并且每個從機都有具有唯一的地址碼,并且響應回送均以各自的地址碼開始。主機發送的地址碼表明將發送到的從機地址,而從機發送的地址碼表明回送的從機地址。

功能碼:通訊傳送的第二個字節。ModBus通訊規約定義功能號為1到127。本控制器利用其中的一部分功能碼。作為主機請求發送,通過功能碼告訴從機執行什么動作。作為從機響應,從機發送的功能碼與從主機發送來的功能碼一樣,并表明從機已響應主機進行操作。如果從機發送的功能碼的最高位(比如功能碼大于127),則表明從機沒有響應操作或發送出錯。

數據區:數據區是根據不同的功能碼而不同。CRC碼:二字節的錯誤檢測碼。

當通訊命令發送至儀器時,符合相應地址碼的設備接通訊命令,并除去地址碼,讀取信息,如果沒有出錯,則執行相應的任務;然后把執行結果返送給發送者。返送的信息中包括地址碼、執行動作的功能碼、執行動作后結果的數據以及錯誤校驗碼。如果出錯就不發送任何信息。

接線說明

一條總線連接多個表的接線圖

RS485通信接線圖示 

Tags:RS485,Modbus協議  
責任編輯:admin
  • 上一篇文章:
  • 下一篇文章:
  • 請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個字
    [ 查看全部 ] 網友評論
    推薦文章
    • 此欄目下沒有推薦文章
    最新推薦
    熱門文章
    • 此欄目下沒有熱點文章
    關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁面
    下到頁底
    晶體管查詢