帶你全面了解RS485接口知識
接口標準
接線方法
有一種錯誤接法,卻是很多人經(jīng)常使用的,是星型接法,或者叫樹形接法。如果數(shù)量較少,這種接法可能也不會有問題,建議大家從一開始就按照正確的布線方法,便于后續(xù)問題排查,以免返工。
掛接設(shè)備
傳輸距離
通信協(xié)議
ModbusRTU與RS485是什么關(guān)系?
準確來說,兩者應(yīng)該是不同層級的關(guān)系,ModbusRTU是應(yīng)用層一種通信協(xié)議,RS485是物理層的一種接口標準。
我們常說的ModbusRTU通信,通常是指基于RS485,但是ModbusRTU協(xié)議也可以基于RS232/RS422,甚至可以基于以太網(wǎng)TCP/UDP。
同時,RS485也不是ModbusRTU的專屬,任何協(xié)議都可以基于RS485傳輸,至于能不能實現(xiàn)一主多從,要看協(xié)議層面有沒有設(shè)計設(shè)備地址。
一主多從的實現(xiàn)有兩個條件,*是物理層支持,第二是應(yīng)用層支持,兩者缺一不可。比如,我們物理層使用RS232,即使應(yīng)用層使用ModbusRTU協(xié)議,也無法實現(xiàn)一主多從。
通信速度
很多人提到Modbus協(xié)議,*反應(yīng)就是慢,這個是長期以來,口口相傳的結(jié)果。究竟是否如此,我們來具體分析一下。
通信速度主要受到兩個因素的影響:數(shù)據(jù)量大小和硬件層的速度。數(shù)據(jù)量大小指的是需要傳輸?shù)臄?shù)據(jù)多少,而硬件層的速度則跟通信設(shè)備和網(wǎng)絡(luò)基礎(chǔ)息息相關(guān),這兩者共同決定了通信速度的快慢。
舉個例子,大家都經(jīng)常取快遞,整個耗時時間,跟快遞數(shù)量多少、距離有多遠以及我們使用的交通工具都是有關(guān)的。
首先,Modbus是一種通信協(xié)議,是沒有速度的說法的。如果真的要論速度,Modbus報文幀簡單緊湊,表達同樣一個意思,在不考慮*性的前提下,Modbus可以用更少的報文來表達,而其他協(xié)議,可能報文要更復雜,數(shù)據(jù)量也更大。
其次,硬件層的速度,這個與波特率及通信距離都有關(guān)系,因此如果真的說慢,你只能說串口通信慢,但不能說Modbus慢。
下面這張圖,是使用ModbusTCP與各種PLC及板卡通信結(jié)果,實測結(jié)果,沒有好壞貶低。
很多人一味地追求快,但是對于上位機來說,根本不需要太快,人眼能識別的動畫是25幀/秒,即40ms,超過這個頻率,你眼睛都識別不過來。
一主多從
另外一種情況,可能很多人是因為一主多從輪詢,認為ModbusRTU通信速度慢。
Modbus協(xié)議在報文層設(shè)計了設(shè)備地址,這樣就可以配合RS485實現(xiàn)一主多從,一主多從可以簡化布線、易于管理、節(jié)約成本。
因此,在通信要求不高的情況,使用一主多從是一個非常好的方案,一主多從輪詢機制必然會帶來通信效率的降低。
既然選擇了這種方案,就需要接受它的缺點,如果接受不了這個缺點,就不要選擇它。