光電通訊的葵花寶典
485 通訊超級懶人包 — 包準看完學會
每次去案場要設置監控,面對最常使用的RS485,每每都困難重重,複雜沒頭緒的障礙排除的過程,讓你感到心力交瘁嗎?不擔心,慧景科技集結超過上千案場的實戰經驗,幫大家整理出RS485通訊的葵花寶典,包準你看完就學會,輕鬆寫意如同下面照片的開心寶寶!
隨著光電產業的發展,不論是光電案場的投資商、EPC甚至是提供場域的業主等不同角色,都需要透過監控系統取得各自所需的資訊。而在光電場域中監控系統與前端需收集資料的設備大部分都仰賴於RS-485通訊搭配Modbus通訊協定做溝通,故在案場建置時就需依照此通訊環境的特性做合適的設計和配置,使案場完工後可順利透過監控系統取得各設備資訊。
重要觀念:RS-485通訊不是「通訊協定」 只是傳輸方式
首先我們需先釐清一件事,RS-485通訊常會跟通訊協定被混為一談,其實RS-485簡單來說就是一種通訊訊號的傳輸方式。舉例說明,兩個人要通話,可以透過「電話」溝通,電話就等於是RS-485通訊的角色,而電話兩端的人都是講「中文」才能溝通,而中文就是通訊協定。
以太陽能案場的應用來說皆是採用RS-485 通訊(用電話溝通,不是用對講機),各廠牌的逆變器、電表、氣象站等設備就可基於Modbus,定義自家設備的Modbus通訊協定(有些人講中文,有些人講英文)。
所以RS-485通訊方式搭配Modbus通訊協定可實現在同一場域中,監控系統可取得各家設備資料統一管理的應用,就像是各種語言(Modbus通訊協定)都可以透過電話(RS-485通訊)溝通。
RS-485通訊搭配Modbus通訊協定的特性和必要注意事項有以下幾點:
#同個迴路只能有一個「主」(Master)
Modbus通訊協定為一master/slave架構,透過RS-485通訊作為傳輸方式時,在同一串“RS-485通訊迴路當中只能有一個master,slave則是可以有多個並且用不重複的modbus ID區分”,資料的傳輸都由master發起,slave只是回應。套用在光電場域中,監控系統的資料收集器即為master,其餘透過資料收集器收取資料呈現在監控系統上的所有設備皆為slave。
#手把手接線:正接正、負接負
RS-485通訊一般以8位元二進制的資料構成,並透過兩條訊號線之電位差決定各位元的訊號為1或是0,支援RS-485通訊之設備之通訊模組皆會標示+/-兩個接線位置,故在“串接RS-485通訊線時,+/-兩條接線位置絕不可顛倒,否則無法正常讀取資料”,如果接反、或是有一條線接錯,有些做得比較完整的軟體,就會顯示CRC Error。
- [+]代表資料位元訊號為1時處於高電位
- [-] 代表資料位元訊號為1時處於低電位
#通訊參數多常用「9600,N,8,1」和「19200,n,8,1」
除了上述接線+/-必須正確串接之外,另外還需注意通訊參數的設定。通訊參數包含下列幾項:
- 通訊鮑率:1200, 2400, 9600, 19200, 115200等
- 資料位元:7,8 位元
- 同位元檢查:O,E,N
- 停止位元:1,1.5,2
通常鮑率速度越慢,容錯率越高,在太陽能光電的應用場景之下,9600 bps 會是更常使用的一個速率設定 (但台達變流器預設是19200唷),可以提供足夠的資料傳輸率和容錯率,因此在案場我們也常會發現,若是距離較遠或是線路干擾較為嚴重的場境下,可嘗試調整 baud rate 由 19200 bps 至 9600 bps 更可以確保資料傳輸的容錯性。
總之我們只需注意,在同一串RS-485通訊迴路當中的所有slave設備的通訊參數都必須要完全一致,master也使用相同通訊參數才正常讀取各設備資料。
#選擇使用隔離對絞線
一般會建議“使用隔離對絞線”串接RS-485通訊線路,以減少設備數量與串接距離造成的訊號衰減或干擾,另外串接的線路也最好“獨立管線避免與動力線走在一起”以防干擾,cat .5網路線因為無隔離層防止訊號干擾加上為單股銅線較易斷較易斷裂,所以可以的話盡量避免。
#串接手拉手 避免星狀串接
RS-485通訊線路串接設備時,建議以“手拉手方式”或稱”菊花鏈拓樸”串接,盡量避免星狀的串接方式以減少反射信號的產生降低通訊品質。
#接線線路距離限縮在300尺
串接RS-485線路時常會碰到的設備數量與距離的問題,理論上RS-485通訊傳輸通訊傳輸最大傳輸距離達1200m,但此傳輸距離的前提是使用線材在傳輸與抗干擾方面有一定品質且線路環境單純無動力線干擾,加上線路只有一台slave設備。
所以一般我們會建議“同一串RS-485通訊迴路上保守抓20~25台設備,且串接線路總距離在300m以內較為保險”。
5 大密技總結
- RS-485通訊迴路當中只能有一個master,slave則是可以有多個並且用不重複的modbus ID區分
- 串接RS-485通訊線時,+/- 兩條接線位置絕不可顛倒,否則無法正常讀取資料
- 在同一串RS-485通訊迴路當中的所有slave設備的通訊參數都必須要完全一致,master也使用相同通訊參數才正常讀取各設備資料
- 最好使用隔離對絞線且獨立管線避免與動力線走在一起,以手拉手方式或稱菊花鏈拓樸串接
- 同一串RS-485通訊迴路上保守抓20~25台設備,且串接線路總距離在300m以內較為保險
下回在做案場監控系統建置時,試著先回想看看上述重點就可處理大部分的通訊問題了!若有碰到其他光電案場監控通訊問題,也歡迎隨時留言或來信詢問討論唷~下一篇會再針對Modbus通訊協定的細節與透過網路TCP/IP的傳輸方式與大家分享。