深入淺出:什麼是 RS-485 與 Modbus?
在工業通訊與物聯網(IoT)領域中,RS-485 和 Modbus 是最常被搭配使用的技術組合。簡單來說,如果把這套通訊系統比喻為交通網路:「如果 RS-485 是硬體高速公路,Modbus 就是在上面流通的共通語言」。
以下將分別從「實體硬體層」與「通訊軟體層」為您詳細解析。
---一、 RS-485:抗干擾的工業硬體傳輸標準
RS-485(EIA/TIA-485-A)是一種專為克服惡劣工業環境(如充滿電磁噪音的工廠、農場或戶外)所設計的物理層(硬體層)電氣標準。
1. 核心抗干擾秘訣:差分傳輸(Differential Signaling)
RS-485 不像傳統通訊僅依靠單一線路傳輸 0 或 1,而是使用兩條反相的訊號線(A+ 與 B-)。接收端只看這兩條線之間的「電壓差」來判讀訊號,因此當外界雜訊(Noise)同時干擾兩條線時,透過相減的運算就能將雜訊抵銷。這使得 RS-485 成為工業通訊中「抗干擾的王者」。
公式判定:
A - B > 0.25 V = 邏輯 0
A - B < -0.25 V = 邏輯 1
(接收端只需測量 A+ 和 B- 的電壓差,即可還原受干擾的信號)
2. RS-485 的主要硬體特性
- 長距離與多點連接:最大傳輸距離理論值可達 1200 公尺(4000英尺),且單一條匯流排上最多可擴充連接 32 個節點設備。
- 半雙工操作:資料的發送與接收無法同時發生,必須輪流進行。
3. 佈線拓撲與終端電阻(接線眉角)
為了確保信號完整性並避免長距離傳輸時像波浪一樣產生「訊號反射」,佈線規則至關重要。最佳的接線方式是一條線走到底的「雛菊鏈(Daisy Chain)」串聯,應絕對避免星形或環形網路。此外,在匯流排的最遠兩端,必須各並接一個 120 歐姆的終端電阻。
120Ω
120Ω
(最佳佈線為一線到底,頭尾兩端安裝匹配阻抗)
二、 Modbus:工業設備的共通語言
有了穩定傳輸的 RS-485 硬體基礎後,設備之間需要有互相聽得懂的語言,這就是 Modbus。Modbus 是一種訊息結構與通訊協定(軟體層),定義了資料的格式與交換流程,讓不同廠牌的設備能彼此溝通。
1. 主從式架構(Master-Slave)
Modbus 網路運作的核心是主從式架構。網路上只會有一個主機(Master),以及多個從機(Slave,如感測器)。只有主機會主動發起「查詢(Query)」命令,從機接收到指令後,才會執行動作並回傳「回應(Response)」數據。
2. Modbus 訊息的標準藍圖(通用訊框結構)
每一個 Modbus 訊息都包含四個核心基本部分,確保通訊正確抵達與防錯:
| 1. 設備位址 (Address) | 2. 功能碼 (Function) | 3. 資料 (Data) | 4. 錯誤檢查 (Error Check) |
|---|---|---|---|
| 範圍 1-247。指定呼叫哪一台從機。 | 告知從機要做什麼(如讀取溫度、寫入狀態)。 | 包含執行動作所需的參數或回傳的數值資料。 | 驗證訊息在傳輸過程中是否出錯。 |
3. 常見傳輸模式:RTU 模式
在業界最常被使用的是 Modbus RTU 模式。它採用 16 進位制編碼,資料密度高且傳輸效率好,並搭配 CRC(循環冗餘校驗)來進行嚴格的錯誤檢查。另一種較少見的是 ASCII 模式,採用明文傳輸與 LRC 校驗。
4. 常見的功能碼應用
功能碼是 Modbus 的心臟。例如要讀取感測器的溫濕度,通常會使用讀取暫存器的功能碼,常見的有:
- 03 (0x03):Read Holding Registers(讀取保持暫存器)
- 04 (0x04):Read Input Registers(讀取輸入暫存器)
三、 總結
當我們要在物聯網(IoT)或工業自動化專案中讀取感測器時,RS-485 提供了抗噪、穩定且能長距離佈線的實體連接線路,而 Modbus RTU 則提供了設備之間精準對話的規範與檢錯機制。兩者結合,便構成了當今工業界最堅實可靠的數據傳輸基石。