小知識分享 - RS485接口與Modbus通信協議
文章內容來自于網絡,如果侵犯著作權,請聯系刪除。
大家知道RS485是什么東西嗎?RS485是美國電子工業協會(EIA)在1983年批準的一種用于串行通信的平衡傳輸標準。RS485作為一個電氣標準,僅定義了使用平衡多點傳輸線的驅動器和接收器的電氣特性;許多更高級別的標準將RS485規定為引用標準,其接口標準在物理層上參考了RS485,如Modbus、Profibus、DL/T645等。RS485是一種接口標準,RS232和RS422也是接口標準的一種,RS是Recommend Standard的縮寫。對于串口通信,目前工業領域使用使用RS232和RS485這兩種,RS422這個使用較少。RS485因為其抗干擾、傳輸距離遠、支持多節點的優點,使用更為廣泛。
掛接設備
一條RS485總線上可以掛載多少個RS485設備呢?
其實能掛載多少個設備是由RS485的負載能力決定的,正常來說,RS485芯片的負載能力有三個級別,這三個級別分別可以接入32臺、128臺、256臺設備。RS485標準規定單位負載為12K,最多掛載32個負載,但是也不建議在一條RS485總線上掛載太多設備,掛載設備越多,出現問題處理就會越麻煩。
通過在一個總線引腳上將輸入電壓-7V掃到12V,另一個總線引腳保持接地,然后測量輸入漏電電流,來確定單位負載參數;標準中的-7V和12V的電平范圍是為了允許驅動器輸出和接收器之間有高達±7V的地電勢差(GPD),驅動器的輸出電壓在GND和5V之間變化。因此
-7V代表接收器是通過驅動器以-7V的GPD驅動總線的低電平;
而12V代表接收器是通過驅動器以7V的GDP驅動總線的高電平;
RS485多臺設備接線方法:菊花鏈接法
從理論的角度來說,RS485在無中繼的情況下,通信距離是1200米,但是這個是在理想狀態(電纜優質、波特率9600bps、只有一個RS458設備并且允許偶爾通信終端)下。實際情況是伴隨負載設備增多,通信電纜不達標,RS485設備轉換器品質登因素影響,通信距離都會有所降低。正常來說,超過100米都需要考慮增加終端電阻,超過1000米,就要考慮增加RS485總線中繼器。
ModbusRTU與RS485是什么關系?準確來說,ModbusRTU是應用層的一種通信協議,RS485是物理層的一種接口標準。
我們常說的ModbusRTU通信是指基于RS485.也可以基于RS232/RS422,甚至可以基于以太網TCP/UDP。
同時,RS485也不是Modbus的專屬,任何協議都可以基于RS485傳輸,至于能不能實現一主多從,要看協議層面有沒有設計設備地址。一主多從的實現有兩個條件,第一是物理層支持,第二是應用層支持,兩者缺一不可。比如,我們物理層使用RS232,即使應用層使用ModbusRTU協議,也無法實現一主多從。
通信速度主要受到兩個因素的影響:數據量大小和硬件層的速度,數據量大小指的是需要傳輸的數據多少,而硬件層的速度則跟通信設備和網絡基礎息息相關,這兩者共同決定了通信速度的快慢。
Modbus是一種通信協議,是沒有速度的說法的。
其次,硬件層的速度,這個與波特率及通信距離都有關系,因此如果真的說慢,只能說是串口通信慢,但是不能說是通信協議慢。
上圖是使用modbusTCP與各種PLC及板卡的通信結果和實測結果,沒有好壞之分。
地址:廣東省深圳市光明區漢海達科技創新園1棟A區701
電話:0755-27403635
文章內容來自于網絡,如果侵犯著作權,請聯系刪除。