RS485通訊注意事項
為了讓主機(jī)可以比較"從容"地切換到接收狀態(tài),從機(jī)接收到報文后不應(yīng)該馬上回答,而要至少等待雙方約定的一個時間(比如20ms),這其實也應(yīng)當(dāng)是RS-485通信的一個參數(shù)。
使用全雙工RS-422就沒有這個問題。
有一些RS232到RS485的接口轉(zhuǎn)換器需要用RTS信號來控制發(fā)送和接收狀態(tài)切換,由于PC機(jī)很難像單片機(jī)那樣精確地判斷最后一位從移位寄存器發(fā)出去了(單片機(jī)對有的UART可以用中斷,或者笨笨地定時+查詢標(biāo)志等方法),所以經(jīng)常發(fā)生下位機(jī)收不好最后一個字節(jié)或者上位機(jī)收不好第一各字節(jié)的情況。有人采取上位機(jī)正常報文后面加無用字符(比如0xFF)的辦法來湊合。
雖然現(xiàn)在有RS232到RS485的收發(fā)自動切換的轉(zhuǎn)接器,但它內(nèi)部其實是用單穩(wěn)態(tài)觸發(fā)器來實現(xiàn)的,為了適應(yīng)不同波特率,切換仍然有一個延遲,波特率較高的時候下位機(jī)回答太快仍然有可能第一個字節(jié)出錯。
所說的20ms只是一個舉例,根據(jù)波特率等情況當(dāng)然可以適當(dāng)改變。但是,正規(guī)的RS485規(guī)約應(yīng)該要規(guī)定這個幀間空閑間隔的(比如IEC870-5規(guī)定是33bit)。
實際通信的實時性主要由輪詢的間隔以及超時的處理來決定,附加幾毫秒的延時并不很重要。實際使用RS485通信最常遇到倒就是收發(fā)切換的問題,要想解決好,一是上位機(jī)從發(fā)到收的切換要盡量快(盡可能使用UART硬件自動控制RTS、發(fā)送完成中斷或者精確定時),二是下位機(jī)要略位"寬容"一點(diǎn)。
一、如何布線
走線走得好,可以很大程度減少干擾的影響,提高通訊的可靠性,但我們在實踐中往往對此認(rèn)識不 足。如為了走線方便,把網(wǎng)線放在電源線的線槽里,或在天花板走線時經(jīng)過日光燈等干擾源,這樣走線是不對的。實際上干擾源對相鄰網(wǎng)線的干擾,主要是通過磁場 和電場的作用,按照電磁理論,干擾源對網(wǎng)線的感應(yīng)與距離的平方成反比,因此,網(wǎng)線離干擾源那怕遠(yuǎn)離10厘米,網(wǎng)線受到的干擾都會明顯減弱。
綜上所述,走線應(yīng)遵循兩個原則:
遠(yuǎn)離電源線,日光燈等干擾源;
當(dāng)網(wǎng)線不能與電源線等干擾源避開時網(wǎng)線應(yīng)與電源線垂直,不能平行,并采用質(zhì)量高的雙絞線走線。
二、PC 機(jī)與多臺收款機(jī)聯(lián)接方式
485卡和ECR都有兩個485接口。多機(jī)聯(lián)網(wǎng)應(yīng)遵循原則,即從PC的485卡的其中一個485接口連到第一臺ECR的其中一個485接口,然后從第一 臺ECR的另一個485接口連到第二臺ECR的其中一個485接口,然后再從第二臺ECR的另一個485接口連到第三臺ECR,如此類推。最后在PC的 485卡和最后一臺ECR的另一個485接口接上 120Ω 匹配電阻(此匹配電阻在485卡內(nèi)配有兩個)。
三、聯(lián)機(jī)的數(shù)量
由于卡上,下拉電阻出于抗干擾的考慮,減少了電阻阻抗,使75176的負(fù)載增加,導(dǎo)致聯(lián)機(jī)臺數(shù)減少,因此建議超過10臺以上收款機(jī)時,應(yīng)該考慮使用兩個網(wǎng)卡,兩個串口,聯(lián)成兩個網(wǎng)絡(luò),減輕網(wǎng)卡的負(fù)載。
四、通訊速率
通訊速率快慢在我們通訊系統(tǒng)中是以波特率的高低來衡量。龍飛收款機(jī)的通訊波特率可以在9600、19200和38400之間選擇,我們選擇的原則是:距 離短可以選擇較高的波特率,距離長則選擇較低的波特率。當(dāng)我們選擇較低的波特率時,如果發(fā)現(xiàn)比正常速度(同樣波特率相比較)慢得多,很可能線路已受到干 擾,數(shù)據(jù)校驗經(jīng)常出錯,不斷重傳,造成通訊速度孌慢,此時應(yīng)檢查網(wǎng)絡(luò)是否采取本文所提到的抗干擾措施,同時還可以采取提高通訊波特率的方法,以快速通過線 路的方式,減少干擾的影響。
五、線型的選擇
RS485是采用平衡式(差分式)線路,對同時出現(xiàn)在兩條信號線DATA+和 DATA-的干擾有較強(qiáng)的抑制能力,當(dāng)兩條線絞在一起時,對通訊各種分布參數(shù)耦合過來的干擾信號則可平均地分配到這兩條線上,因此對RS485的平衡式線 路而言,用雙絞線可獲得抗干擾能力。因此,建議采用無屏蔽的雙絞線,如果有條件可采用屏蔽雙絞線,但屏蔽線兩端要接好地,才有屏蔽效果。如果距離較短,可 采用一般的電話線。如果線中有多股雙絞線,應(yīng)采用其中一對雙絞線;如果距離較長時,網(wǎng)線的電阻不容忽視,網(wǎng)線存在的電阻會使信號衰減,降低網(wǎng)絡(luò)通訊的可靠 性。因此距離較長,應(yīng)選用銅芯較粗的絞線,理論上講一根線兩端電阻不應(yīng)超過80Ω。
六、注意接地
目前,有相當(dāng)部分PC機(jī)在使用 時,電源并沒接地。主要是電源沒有接地,或電源插座沒有地線,從而造成PC機(jī)地線與地之間往往有幾十伏以上的漏電電壓存在,這個電壓很容易就引入網(wǎng)卡或收 款機(jī)中,從而導(dǎo)致網(wǎng)卡或收款機(jī)通訊損壞。因此,我們要求PC機(jī)需要良好的接地。保證網(wǎng)卡或收款機(jī)的正常工作。
第一章 澄清幾個概念:
概念一: 485總線的通訊距離可以達(dá)到1200米.
其實只是485總線結(jié)構(gòu)理論上 在理想環(huán)境的前提下才有可能使得傳輸距離達(dá)到1200米.一般是指通訊線材優(yōu)質(zhì)達(dá)標(biāo),波特率9600,只有一臺485設(shè)備才能使得通訊距離達(dá)到1200米,而且能通訊并不代表每次通訊都正常.所以通常485總線實際的穩(wěn)定的通訊距離遠(yuǎn)遠(yuǎn)達(dá)不到1200米. 負(fù)載485設(shè)備多,線材阻抗不合乎標(biāo)準(zhǔn),線徑過細(xì),轉(zhuǎn)換器品質(zhì)不良,設(shè)備防雷保護(hù),波特率的加高等等因素都會降低通訊距離.
概念二: 485總線可以帶128臺設(shè)備進(jìn)行通訊.
其實并不是所有485轉(zhuǎn)換器都能夠帶128臺設(shè)備的.要根據(jù)485轉(zhuǎn)換器內(nèi)芯片采用的型號和485設(shè)備芯片采用的型號來判斷的.誰低就誰的.一般485芯片負(fù)載能力有三個級別 32臺 128臺 256臺. 理論上的標(biāo)稱往往實際上是達(dá)不到的.通訊距離越長,波特率越高,線徑越細(xì),線材質(zhì)量越差,轉(zhuǎn)換器品質(zhì)越差,轉(zhuǎn)換器電能供應(yīng)不足(無源轉(zhuǎn)換器),防雷保護(hù)越強(qiáng)這些都會大大降低真實負(fù)載數(shù)量.
概念三: 485總線是一種最簡單 最穩(wěn)定 最成熟的工業(yè)總線結(jié)構(gòu).
這種概念是錯誤的.應(yīng)該是: 485總線是一種用于設(shè)備聯(lián)網(wǎng)的經(jīng)濟(jì)型的傳統(tǒng)的工業(yè)總線方式. 通訊質(zhì)量是需要根據(jù)施工經(jīng)驗進(jìn)行測試和調(diào)試的. 485總線雖然簡單,但必須嚴(yán)格安裝施工規(guī)范進(jìn)行布線.
第二章 嚴(yán)格幾個施工規(guī)范:
485+和485-條數(shù)據(jù)線一定要互為雙絞.
布線一定要布多股屏蔽雙絞線,多股是為了備用,屏蔽是為了出現(xiàn)特殊情況時調(diào)試,雙絞是因為485通訊采用差模通訊原理,雙絞的抗干擾性最好.不采用雙絞線,是極端錯誤的.
485總線一定要是手牽手式的總線結(jié)構(gòu),堅決杜絕星型連接和分叉連接.
設(shè)備供電的交流電及機(jī)箱一定要真實接地,而且接地良好.
有很多地方表面上有三角插座,其實根本沒有接地,要小心.接地良好時,可以確保設(shè)備被雷擊 浪涌沖擊 靜電累計時 可以配合設(shè)備的防雷設(shè)計較好地釋放能量.保護(hù)485總線設(shè)備和相關(guān)芯片不受傷害.
避免和強(qiáng)電走在一起,以免強(qiáng)電對其干擾.
第三章 幾種常見的通訊故障:
通訊不上,無反應(yīng).
可以上傳數(shù)據(jù),但不可以下載數(shù)據(jù).
通訊時,系統(tǒng)提示受到干擾.或者不通訊時,通訊指示燈也不停地閃爍.
有時能通訊上,有時通訊不上.有的指令可以通,有的指令不可以通.
第四章 推薦幾個調(diào)試方法:
首先要確保設(shè)備接線正確,且嚴(yán)格合乎規(guī)范.
共地法: 用1條線或者屏蔽線將所有485設(shè)備的GND地連接起來,這樣可以避免所有設(shè)備之間存在影響通訊的電勢差.
終端電阻法: 在最后一臺485設(shè)備的485+和485-上并接 120歐姆的終端電阻來改善通訊質(zhì)量.
中間分段斷開法: 通過從中間斷開來檢查是否是 設(shè)備負(fù)載過多 通訊距離過長 某臺設(shè)備損害對整個通訊線路的影響等原因.
單獨(dú)拉線法: 單獨(dú)簡易暫時拉一條線到設(shè)備,這樣可以用來排除是否是布線引起了通訊故障.
更換轉(zhuǎn)換器法: 隨身攜帶幾個轉(zhuǎn)換器,這樣可以排除是否是轉(zhuǎn)換器質(zhì)量問題影響了通訊質(zhì)量.
筆記本調(diào)試法: 先保證自己隨身攜帶的電腦筆記本是通訊正常的設(shè)備,替換客戶電腦,來進(jìn)行通訊,如果可以,則表明客戶的電腦的串口有可能被損害或者受傷.
第五章 提出幾個建議和忠告:
建議用戶使用和購買門禁廠家提供的485轉(zhuǎn)換器或者廠家指定推薦品牌的485轉(zhuǎn)換器.
門禁廠家會對與其配套的485轉(zhuǎn)換器做大量的測試工作,并且會單獨(dú)要求485廠家安裝其固定的性能參數(shù)進(jìn)行生產(chǎn)和品質(zhì)檢測,所以和其門禁設(shè)備具備較好的兼容性.千萬不要貪圖便宜購買雜牌廠家的485轉(zhuǎn)換器.
嚴(yán)格按照485總線的施工規(guī)范進(jìn)行施工,杜絕任何僥幸心理.
對線路較長 負(fù)載較多的情況采用主動科學(xué)的有預(yù)留的解決方案.
如果通訊距離過長,建議如果超過500米就采用中繼器或者485HUB來解決問題.
如果負(fù)載數(shù)過多,建議如果一條總線上超過30臺就采用485HUB來解決問題.
現(xiàn)場調(diào)試帶齊調(diào)試設(shè)備.
現(xiàn)場調(diào)試一定要隨身攜帶幾個確保以前可以接長距離和多負(fù)載的轉(zhuǎn)換器 一臺常用的電腦筆記本 測試通路斷路的萬用表 幾個120歐姆的終端電阻.
使用全雙工RS-422就沒有這個問題。
有一些RS232到RS485的接口轉(zhuǎn)換器需要用RTS信號來控制發(fā)送和接收狀態(tài)切換,由于PC機(jī)很難像單片機(jī)那樣精確地判斷最后一位從移位寄存器發(fā)出去了(單片機(jī)對有的UART可以用中斷,或者笨笨地定時+查詢標(biāo)志等方法),所以經(jīng)常發(fā)生下位機(jī)收不好最后一個字節(jié)或者上位機(jī)收不好第一各字節(jié)的情況。有人采取上位機(jī)正常報文后面加無用字符(比如0xFF)的辦法來湊合。
雖然現(xiàn)在有RS232到RS485的收發(fā)自動切換的轉(zhuǎn)接器,但它內(nèi)部其實是用單穩(wěn)態(tài)觸發(fā)器來實現(xiàn)的,為了適應(yīng)不同波特率,切換仍然有一個延遲,波特率較高的時候下位機(jī)回答太快仍然有可能第一個字節(jié)出錯。
所說的20ms只是一個舉例,根據(jù)波特率等情況當(dāng)然可以適當(dāng)改變。但是,正規(guī)的RS485規(guī)約應(yīng)該要規(guī)定這個幀間空閑間隔的(比如IEC870-5規(guī)定是33bit)。
實際通信的實時性主要由輪詢的間隔以及超時的處理來決定,附加幾毫秒的延時并不很重要。實際使用RS485通信最常遇到倒就是收發(fā)切換的問題,要想解決好,一是上位機(jī)從發(fā)到收的切換要盡量快(盡可能使用UART硬件自動控制RTS、發(fā)送完成中斷或者精確定時),二是下位機(jī)要略位"寬容"一點(diǎn)。
一、如何布線
走線走得好,可以很大程度減少干擾的影響,提高通訊的可靠性,但我們在實踐中往往對此認(rèn)識不 足。如為了走線方便,把網(wǎng)線放在電源線的線槽里,或在天花板走線時經(jīng)過日光燈等干擾源,這樣走線是不對的。實際上干擾源對相鄰網(wǎng)線的干擾,主要是通過磁場 和電場的作用,按照電磁理論,干擾源對網(wǎng)線的感應(yīng)與距離的平方成反比,因此,網(wǎng)線離干擾源那怕遠(yuǎn)離10厘米,網(wǎng)線受到的干擾都會明顯減弱。
綜上所述,走線應(yīng)遵循兩個原則:
遠(yuǎn)離電源線,日光燈等干擾源;
當(dāng)網(wǎng)線不能與電源線等干擾源避開時網(wǎng)線應(yīng)與電源線垂直,不能平行,并采用質(zhì)量高的雙絞線走線。
二、PC 機(jī)與多臺收款機(jī)聯(lián)接方式
485卡和ECR都有兩個485接口。多機(jī)聯(lián)網(wǎng)應(yīng)遵循原則,即從PC的485卡的其中一個485接口連到第一臺ECR的其中一個485接口,然后從第一 臺ECR的另一個485接口連到第二臺ECR的其中一個485接口,然后再從第二臺ECR的另一個485接口連到第三臺ECR,如此類推。最后在PC的 485卡和最后一臺ECR的另一個485接口接上 120Ω 匹配電阻(此匹配電阻在485卡內(nèi)配有兩個)。
三、聯(lián)機(jī)的數(shù)量
由于卡上,下拉電阻出于抗干擾的考慮,減少了電阻阻抗,使75176的負(fù)載增加,導(dǎo)致聯(lián)機(jī)臺數(shù)減少,因此建議超過10臺以上收款機(jī)時,應(yīng)該考慮使用兩個網(wǎng)卡,兩個串口,聯(lián)成兩個網(wǎng)絡(luò),減輕網(wǎng)卡的負(fù)載。
四、通訊速率
通訊速率快慢在我們通訊系統(tǒng)中是以波特率的高低來衡量。龍飛收款機(jī)的通訊波特率可以在9600、19200和38400之間選擇,我們選擇的原則是:距 離短可以選擇較高的波特率,距離長則選擇較低的波特率。當(dāng)我們選擇較低的波特率時,如果發(fā)現(xiàn)比正常速度(同樣波特率相比較)慢得多,很可能線路已受到干 擾,數(shù)據(jù)校驗經(jīng)常出錯,不斷重傳,造成通訊速度孌慢,此時應(yīng)檢查網(wǎng)絡(luò)是否采取本文所提到的抗干擾措施,同時還可以采取提高通訊波特率的方法,以快速通過線 路的方式,減少干擾的影響。
五、線型的選擇
RS485是采用平衡式(差分式)線路,對同時出現(xiàn)在兩條信號線DATA+和 DATA-的干擾有較強(qiáng)的抑制能力,當(dāng)兩條線絞在一起時,對通訊各種分布參數(shù)耦合過來的干擾信號則可平均地分配到這兩條線上,因此對RS485的平衡式線 路而言,用雙絞線可獲得抗干擾能力。因此,建議采用無屏蔽的雙絞線,如果有條件可采用屏蔽雙絞線,但屏蔽線兩端要接好地,才有屏蔽效果。如果距離較短,可 采用一般的電話線。如果線中有多股雙絞線,應(yīng)采用其中一對雙絞線;如果距離較長時,網(wǎng)線的電阻不容忽視,網(wǎng)線存在的電阻會使信號衰減,降低網(wǎng)絡(luò)通訊的可靠 性。因此距離較長,應(yīng)選用銅芯較粗的絞線,理論上講一根線兩端電阻不應(yīng)超過80Ω。
六、注意接地
目前,有相當(dāng)部分PC機(jī)在使用 時,電源并沒接地。主要是電源沒有接地,或電源插座沒有地線,從而造成PC機(jī)地線與地之間往往有幾十伏以上的漏電電壓存在,這個電壓很容易就引入網(wǎng)卡或收 款機(jī)中,從而導(dǎo)致網(wǎng)卡或收款機(jī)通訊損壞。因此,我們要求PC機(jī)需要良好的接地。保證網(wǎng)卡或收款機(jī)的正常工作。
第一章 澄清幾個概念:
概念一: 485總線的通訊距離可以達(dá)到1200米.
其實只是485總線結(jié)構(gòu)理論上 在理想環(huán)境的前提下才有可能使得傳輸距離達(dá)到1200米.一般是指通訊線材優(yōu)質(zhì)達(dá)標(biāo),波特率9600,只有一臺485設(shè)備才能使得通訊距離達(dá)到1200米,而且能通訊并不代表每次通訊都正常.所以通常485總線實際的穩(wěn)定的通訊距離遠(yuǎn)遠(yuǎn)達(dá)不到1200米. 負(fù)載485設(shè)備多,線材阻抗不合乎標(biāo)準(zhǔn),線徑過細(xì),轉(zhuǎn)換器品質(zhì)不良,設(shè)備防雷保護(hù),波特率的加高等等因素都會降低通訊距離.
概念二: 485總線可以帶128臺設(shè)備進(jìn)行通訊.
其實并不是所有485轉(zhuǎn)換器都能夠帶128臺設(shè)備的.要根據(jù)485轉(zhuǎn)換器內(nèi)芯片采用的型號和485設(shè)備芯片采用的型號來判斷的.誰低就誰的.一般485芯片負(fù)載能力有三個級別 32臺 128臺 256臺. 理論上的標(biāo)稱往往實際上是達(dá)不到的.通訊距離越長,波特率越高,線徑越細(xì),線材質(zhì)量越差,轉(zhuǎn)換器品質(zhì)越差,轉(zhuǎn)換器電能供應(yīng)不足(無源轉(zhuǎn)換器),防雷保護(hù)越強(qiáng)這些都會大大降低真實負(fù)載數(shù)量.
概念三: 485總線是一種最簡單 最穩(wěn)定 最成熟的工業(yè)總線結(jié)構(gòu).
這種概念是錯誤的.應(yīng)該是: 485總線是一種用于設(shè)備聯(lián)網(wǎng)的經(jīng)濟(jì)型的傳統(tǒng)的工業(yè)總線方式. 通訊質(zhì)量是需要根據(jù)施工經(jīng)驗進(jìn)行測試和調(diào)試的. 485總線雖然簡單,但必須嚴(yán)格安裝施工規(guī)范進(jìn)行布線.
第二章 嚴(yán)格幾個施工規(guī)范:
485+和485-條數(shù)據(jù)線一定要互為雙絞.
布線一定要布多股屏蔽雙絞線,多股是為了備用,屏蔽是為了出現(xiàn)特殊情況時調(diào)試,雙絞是因為485通訊采用差模通訊原理,雙絞的抗干擾性最好.不采用雙絞線,是極端錯誤的.
485總線一定要是手牽手式的總線結(jié)構(gòu),堅決杜絕星型連接和分叉連接.
設(shè)備供電的交流電及機(jī)箱一定要真實接地,而且接地良好.
有很多地方表面上有三角插座,其實根本沒有接地,要小心.接地良好時,可以確保設(shè)備被雷擊 浪涌沖擊 靜電累計時 可以配合設(shè)備的防雷設(shè)計較好地釋放能量.保護(hù)485總線設(shè)備和相關(guān)芯片不受傷害.
避免和強(qiáng)電走在一起,以免強(qiáng)電對其干擾.
第三章 幾種常見的通訊故障:
通訊不上,無反應(yīng).
可以上傳數(shù)據(jù),但不可以下載數(shù)據(jù).
通訊時,系統(tǒng)提示受到干擾.或者不通訊時,通訊指示燈也不停地閃爍.
有時能通訊上,有時通訊不上.有的指令可以通,有的指令不可以通.
第四章 推薦幾個調(diào)試方法:
首先要確保設(shè)備接線正確,且嚴(yán)格合乎規(guī)范.
共地法: 用1條線或者屏蔽線將所有485設(shè)備的GND地連接起來,這樣可以避免所有設(shè)備之間存在影響通訊的電勢差.
終端電阻法: 在最后一臺485設(shè)備的485+和485-上并接 120歐姆的終端電阻來改善通訊質(zhì)量.
中間分段斷開法: 通過從中間斷開來檢查是否是 設(shè)備負(fù)載過多 通訊距離過長 某臺設(shè)備損害對整個通訊線路的影響等原因.
單獨(dú)拉線法: 單獨(dú)簡易暫時拉一條線到設(shè)備,這樣可以用來排除是否是布線引起了通訊故障.
更換轉(zhuǎn)換器法: 隨身攜帶幾個轉(zhuǎn)換器,這樣可以排除是否是轉(zhuǎn)換器質(zhì)量問題影響了通訊質(zhì)量.
筆記本調(diào)試法: 先保證自己隨身攜帶的電腦筆記本是通訊正常的設(shè)備,替換客戶電腦,來進(jìn)行通訊,如果可以,則表明客戶的電腦的串口有可能被損害或者受傷.
第五章 提出幾個建議和忠告:
建議用戶使用和購買門禁廠家提供的485轉(zhuǎn)換器或者廠家指定推薦品牌的485轉(zhuǎn)換器.
門禁廠家會對與其配套的485轉(zhuǎn)換器做大量的測試工作,并且會單獨(dú)要求485廠家安裝其固定的性能參數(shù)進(jìn)行生產(chǎn)和品質(zhì)檢測,所以和其門禁設(shè)備具備較好的兼容性.千萬不要貪圖便宜購買雜牌廠家的485轉(zhuǎn)換器.
嚴(yán)格按照485總線的施工規(guī)范進(jìn)行施工,杜絕任何僥幸心理.
對線路較長 負(fù)載較多的情況采用主動科學(xué)的有預(yù)留的解決方案.
如果通訊距離過長,建議如果超過500米就采用中繼器或者485HUB來解決問題.
如果負(fù)載數(shù)過多,建議如果一條總線上超過30臺就采用485HUB來解決問題.
現(xiàn)場調(diào)試帶齊調(diào)試設(shè)備.
現(xiàn)場調(diào)試一定要隨身攜帶幾個確保以前可以接長距離和多負(fù)載的轉(zhuǎn)換器 一臺常用的電腦筆記本 測試通路斷路的萬用表 幾個120歐姆的終端電阻.
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。