| 注冊| 產品展廳| 收藏該商鋪

行業(yè)產品

當前位置:
山東建大仁科電子科技有限公司>>技術文章>>溫濕度傳感器采用RS485通信和Modbus協(xié)議

產品分類品牌分類

更多分類

溫濕度傳感器采用RS485通信和Modbus協(xié)議

閱讀:717        發(fā)布時間:2020-10-23

溫濕度傳感器通常情況下是采用串口通信的方式進行數據交換。初采用的方式是 RS232 接口,由于工業(yè)現場比較復雜,各種電氣設備會在環(huán)境中產生比較多的電磁干擾,會導致信號傳輸錯誤。除此之外, RS232 接口只能實現點對點通信,不具備聯網功能,大傳輸距離也只能達到幾十米,不能滿足遠距離通信要求。而RS485 則解決了這些問題,數據信號采用差分傳輸方式,可以有效的解決共模干擾問題,大距離可以到 1200 米,并且允許多個收發(fā)設備接到同一條總線上。

隨著工業(yè)應用通信越來越多, 1979 年施耐德電氣制定了一個用于工業(yè)現場的總線協(xié)議 Modbus 協(xié)議,現在工業(yè)中使用 RS485 通信場合很多都采用 Modbus 協(xié)議,本篇文章我們具體介紹一下 RS485 通信和 Modbus 協(xié)議。

一、 RS485通信

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

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

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

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

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

5、通信的時候只能兩點之間進行通信,不能夠實現多機聯網通信。

針對RS232接口的不足,不斷出現了一些新的接口標準,RS485就是其中之一,他具備以下的特點:

1、我們在講A/D的時候,講過差分信號輸入的概念,同時也介紹了差分輸入的好處,大的優(yōu)勢是可以抑制共模干擾。尤其工業(yè)現場的環(huán)境比較復雜,干擾比較多,所以通信如果采用的是差分方式,就可以有效的抑制共模干擾。而RS485就是一種差分通信方式,它的通信線路是兩根,通常用AB或者D+D-來表示。邏輯“1”以兩線之間的電壓差為+(0.2~6)V表示,邏輯“0”以兩線間的電壓差為-(0.2~6)V來表示,是一種典型的差分通信。

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

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

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

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

二、Modbus協(xié)議

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

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

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

Modbus有兩種通信傳輸方式,一種是ASCII模式,一種是RTU模式。由于ASCII模式的數據字節(jié)是7bit數據位,51單片機無法實現,而且應用也相對較少,所以應用較多的RTU模式。

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

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

功能代碼:在第二個字節(jié)功能代碼字節(jié)中,Modbus規(guī)定了部分功能代碼,此外也保留了一部分功能代碼作為備用或者用戶自定義。

收藏該商鋪

登錄 后再收藏

提示

您的留言已提交成功!我們將在第一時間回復您~
二維碼