當前位置:
首頁 > 知識 > RS485與Modbus通信協議匯總!

RS485與Modbus通信協議匯總!

在工業控制、電力通訊、智能儀錶等領域,通常情況下是採用串口通信的方式進行數據交換。最初採用的方式是RS232介面,由於工業現場比較複雜,各種電氣設備會在環境中產生比較多的電磁干擾,會導致信號傳輸錯誤。

1979年施耐德電氣制定了一個用於工業現場的匯流排協議Modbus協議,現在工業中使用RS485通信場合很多都採用Modbus協議,所以今天我們來了解下RS485通信和Modbus通信協議。

【RS485通信】

實際上在RS485之前RS232就已經誕生,但是RS232也有不足:

1、介面的信號電平值較高,達到十幾V,容易損壞介面電路的晶元,而且和TTL電平不兼容,因此和單片機電路接起來的話必須加轉換電路。

2、介面使用的信號線與其他設備形成共地模式的通信,這種共地模式傳輸容易產生干擾,並且抗干擾性能也比較弱。

3、傳輸距離、速率都有限,最多只能通信幾十米;只能兩點之間進行通信,不能夠實現多機聯網通信。

針對RS232介面以上不足,出現了RS485等新的介面標準,RS485具備以下的特點:

1、邏輯「1」以兩線間的電壓差為+(2—6)V表示;邏輯「0」以兩線間的電壓差為-(2—6)V表示。介面信號電平比RS232降低了,不易損壞電路的晶元,且該電平與TTL電平兼容,可方便與TTL電路連接。

2、RS485通信速度快,數據最高傳輸速率為10Mbps以上;其內部的物理結構,採用的是平衡驅動器和查分接收器的組合,抗干擾能力大大增加。

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

4、可以在匯流排上進行聯網實現多機通信,匯流排上允許掛多個收發器,從現有的RS485晶元來看,有可以掛32、64、128、256等不同個設備的驅動器。

RS485有兩線制和四線制,四線制只能實現點對點的通信方式,現很少採用。兩線制這種接線方式為匯流排式拓樸結構,在同一匯流排上最多可以掛接32個結點。在RS485通信網路中一般採用的是主從通信方式,即一個主機帶多個從機。

很多情況下,連接RS-485通信鏈路時只是簡單地用一對雙絞線將各個介面的「A」、「B」端連接起來。而忽略了信號地的連接,這種連接方法在許多場合是能正常工作的,但卻埋下了很大的隱患,這有2個原因:

共模干擾問題:RS-485介面採用差分方式傳輸信號方式,並不需要相對於某個參照點來檢測信號,系統只需檢測兩線之間的電位差就可以了。但人們往往忽視了收發器有一定的共模電壓範圍,RS-485收發器共模電壓範圍為-7~+12V,只有滿足上述條件,整個網路才能正常工作。當網路線路中共模電壓超出此範圍時就會影響通信的穩定可靠,甚至損壞介面。

EMI問題:發送驅動器輸出信號中的共模部分需要一個返回通路,如沒有一個低阻的返回通道(信號地),就會以輻射的形式返回源端,整個匯流排就會像一個巨大的天線向外輻射電磁波。

由於PC機默認的只帶有RS232介面,以下方法可以得到PC上位機的RS485電路:

1、通過RS232/RS485轉換電路將PC機串口RS232信號轉換成RS485信號,對於情況比較複雜的工業環境最好是選用防浪涌帶隔離的產品。

2、通過PCI多串口卡,可以直接選用輸出信號為RS485類型的擴展卡。

【Modbus通信協議】

Modbus協議是應用於電子控制器上的一種通用語言。通過此協議,控制器相互之間、控制器經由網路(例如乙太網)和設備之間可以通信。它已經成為一通用工業標準。有了它,不同廠商生產的控制設備可以連成工業網路,進行集中監控。

此協議定義了一個控制器能認識使用的消息結構,描述了一控制器請求訪問其它設備的過程,如何回應來自其它設備的請求,以及怎樣偵測錯誤並記錄。它制定了消息域格局和內容的公共格式。

Modbus具有以下幾個特點:

1、標準、開放,用戶可以免費、放心地使用Modbus協議,不需要交納許可證費,也不會侵犯知識產權。目前,支持Modbus的廠家超過400家,支持Modbus的產品超過600種。

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

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

一、Modbus 寄存器種類說明

1— 線圈狀態:輸出埠,可設定埠的輸出狀態,也可以讀取該位的輸出狀態

2— 離散輸入狀態:輸入埠,通過外部設定改變輸入狀態,可讀但不可寫

3— 保持寄存器:控制器運行時被設定的某些參數,可讀可寫

4— 輸入寄存器:控制器運行時從外部設備獲得的某些參數,可讀不可寫

二、Modbus 通訊數據格式

單個寫入:

多個寫入:

讀取:

三、Modbus 功能碼簡述

功能碼可以分為位操作和位元組操作,位操作的最小單位是Bit,位元組操作的最小單位為2個位元組(Byte)。

1— 位操作指令:讀線圈狀態01H、讀離散輸入狀態02H、寫單個線圈05H、寫多個線圈0FH.

2— 位元組操作指令:讀保存寄存器03H、讀輸入寄存器04H、寫單個保存寄存器06H、寫多個保存寄存器10H.

四、Modbus功能碼

文章來源:網路

特別說明:此文章版權歸原作者所有,經編者整理後與大家一起分享。如果您認為某些內容侵犯了您的權益,請與編者聯繫,我們核實後將立即修訂!

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 控制與傳動 的精彩文章:

TAG:控制與傳動 |