亚洲欧美日韩国产综合一区二区_亚洲偷精品国产五月丁香麻豆_精品久久久久久中文字幕202_久久国产亚洲精品美女_国产精品调教视频一区

RS485通信和Modbus協(xié)議 必須加轉(zhuǎn)換電路

2020-10-22 16:50:37

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

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

一、 RS485通信

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

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

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

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

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

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

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

1、我們?cè)谥vA/D的時(shí)候,講過(guò)差分信號(hào)輸入的概念,同時(shí)也介紹了差分輸入的好處,最大的優(yōu)勢(shì)是可以抑制共模干擾。尤其工業(yè)現(xiàn)場(chǎng)的環(huán)境比較復(fù)雜,干擾比較多,所以通信如果采用的是差分方式,就可以有效的抑制共模干擾。而RS485就是一種差分通信方式,它的通信線(xiàn)路是兩根,通常用A和B或者D+和D-來(lái)表示。邏輯“1”以?xún)删€(xiàn)之間的電壓差為+(0.2~6)V表示,邏輯“0”以?xún)删€(xiàn)間的電壓差為-(0.2~6)V來(lái)表示,是一種典型的差分通信。

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

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

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

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

二、Modbus協(xié)議

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

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

Modbus協(xié)議允許在各種網(wǎng)絡(luò)體系結(jié)構(gòu)內(nèi)進(jìn)行簡(jiǎn)單通信,每種設(shè)備(PLC、人機(jī)界面、控制面板、驅(qū)動(dòng)程序、輸入輸出設(shè)備)都能使用Modbus協(xié)議來(lái)啟動(dòng)遠(yuǎn)程操作,一些網(wǎng)關(guān)允許在幾種使用Modbus協(xié)議的總線(xiàn)或網(wǎng)絡(luò)之間的通信。

Modbus有兩種通信傳輸方式,一種是ASCII模式,一種是RTU模式。由于ASCII模式的數(shù)據(jù)字節(jié)是7bit數(shù)據(jù)位,51單片機(jī)無(wú)法實(shí)現(xiàn),而且應(yīng)用也相對(duì)較少,所以應(yīng)用較多的RTU模式。一條典型的RTU數(shù)據(jù)幀。

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

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

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

標(biāo)簽: RS485通信和Modbus協(xié)議

關(guān)閉
新聞速遞