顯示具有 RS-485 標籤的文章。 顯示所有文章
顯示具有 RS-485 標籤的文章。 顯示所有文章

2026年3月11日 星期三

Modbus 設定流程指南2026/3


Modbus 設定與除錯流程指南

本篇主要針對 MODBUS 的實務設定進行說明。至於其他底層原理等基礎知識,建議可先透過 Google 搜尋,或參考其他 MODBUS 介紹文章。

快速導覽:設定六步驟

正常情況下,完成前三步即可順利通訊;若發生異常,請接續進行後續的除錯步驟:

  • 第一步:選定硬體通訊方式 (RS232 / RS485 / Ethernet)
  • 第二步:設定通訊參數 (通訊鮑率 / 位元數等)
  • 第三步:選擇要讀/寫的參數
  • 第四步:檢查錯誤碼 (除錯)
  • 第五步:用電腦來收/發資料 (除錯)
  • 第六步:用示波器來量傳輸訊號 (除錯)

詳細步驟說明

第一步:選定硬體通訊方式

依據外部裝置跟主控裝置,選定對應的硬體通訊方式。

  • RS232:通訊只能「一對一」(單站)。
  • RS485 與 Ethernet:支援「一對多」(多站)。

⚠️ 注意:通訊硬體方式一定要一致,絕對無法將 RS232 直接與 RS485 進行通訊。

裝置類型 硬體與接線腳位範例
主站 (例如:PLC) COM2 / RS485 / PIN2 (D+) / PIN3 (D-)
從站 (例如:外部裝置) RS485 / D+ / D-

第二步:設定通訊參數

設定相關通訊參數,包含:站號 (主站不需要)、通訊鮑率 (9600/19200/38400)、資料位元 (7/8 位元)、同位元檢查 (O/E/N)、停止位元 (1/1.5/2)、資料格式 (ASCII/RTU)。

⚠️ 注意:選擇 RTU 資料格式時,資料位元只能選 8 位元。

通訊參數設定範例:

參數項目 主站 (PLC) 設定 從站 (溫控器) 設定
站號 不需要 1 (站號不可重覆)
通訊鮑率 9600 9600
資料位元 8 位元 8 位元
同位元檢查 O (Odd) O (Odd)
停止位元 1 1
資料格式 RTU RTU

💡 提示:雙方通訊參數必須「完全一致」否則無法通訊。建議將上述參數記錄下來,一一核對設定。

第三步:選擇要讀 \ 寫的參數

選定我們要讀寫的參數,並在設備手冊內查詢對應的「通訊位址」。以台達溫控器為例,手冊通常會在參數旁直接標示通訊位址,並註明支援的通訊功能碼(例如:03)。

關於 Modicon Format 位址:

Modicon Format 本身已經內含了功能碼的資訊:

  • 4XXXX:代表功能碼 03(讀取保持暫存器)。將該值減去 40001 即可得到實際的十六進制通訊位址。
  • 3XXXX:代表功能碼 04(讀取輸入暫存器)。將該值減去 30001 即可得到通訊位址。(一般設備支援 03 功能碼較多,若要用 04 通常需另外設定)。

⚠️ 注意:有些參數被限制為「唯讀」或「唯寫」。如果對該參數執行錯誤的動作,設備會回報錯誤或完全沒有回應。


出問題了嗎?進階除錯步驟

一般來說,完成前三步通常就不會有問題。但如果遇到無法連線,請繼續以下步驟:

第四步:檢查錯誤碼 (Exception Code)

當通訊發生錯誤時,外部設備通常會回覆「通訊錯誤碼」。

  1. 最高位元設為 1:設備會將原本功能碼的最高位元設為 "1"。例如:如果 PLC 發出功能碼 03,設備錯誤時會回傳 83 (16進制),這就表示通訊命令被拒絕或有問題。
  2. 夾帶錯誤代碼:除了改變功能碼,後面通常會接續一組「錯誤碼」(如 01, 02, 03 等),讓使用者能在手冊中查詢具體的出錯原因(例如:位址不存在、數值越界)。

💡 提示:這裡的「通訊錯誤碼」與設備機台本身的「硬體故障碼」不同,不可搞混。

第五步:用電腦來收 / 發資料

如果 PLC 發出了 MODBUS 指令但設備沒有回傳:

  • 首先,將通訊參數全部重新確認一次。(注意:某些設備的通訊參數修改後,需要「重新開關機」才會生效)。
  • 如果確認無誤,請使用電腦搭配 USB 轉 RS485 傳輸線,開啟檢測工具程式來接收 PLC 的資料,確認 PLC 是否真的有將命令發送出來
  • 電腦除了可以監聽 PLC,也可以主動模擬 PLC 發出命令給外部裝置,測試外部裝置是否會正常回應。

如果使用電腦發出指令,外部設備依然不回應,那通常不是通訊參數設定錯了,就是硬體接線出了問題。



第六步:用示波器來量傳輸訊號

如果前面的軟體設定與 PC 模擬都顯示正常,但 PLC 與設備之間就是無法通訊,最後的殺手鐧就是使用「示波器」來測量實體波型。

MODBUS 指令的最底層,依然是利用高低電位(二進制碼 010101)在實體線路上傳送。透過示波器,您可以清楚看到:

  • 方波波型是否方正正常。
  • 訊號是否受到嚴重的外部電磁干擾 (雜訊)。
  • 電壓準位是否因為線路過長而發生衰減。



2024年10月2日 星期三

MODBUS終端電阻錯誤對D+與D-電壓的影響及可能產生的結果

在工業自動化領域,終端電阻的正確配置對於RS-485總線的穩定通訊至關重要。許多初學者可能會忽略終端電阻的重要性,導致D+與D-電壓出現異常,進而影響系統的正常運作。本文將探討終端電阻錯誤會產生什麼結果,以及對D+與D-電壓的影響。

什麼是終端電阻?

終端電阻是安裝在RS-485總線兩端的電阻,用於匹配總線的特性阻抗,通常為120歐姆。其主要作用是吸收傳輸線末端的反射信號,減少信號反射和干擾,確保數據傳輸的完整性。

終端電阻錯誤的常見情況

在實際應用中,終端電阻錯誤可能包括:

  • 未安裝終端電阻。
  • 終端電阻安裝位置不當,例如在總線中間。
  • 使用了不適當的電阻值,如過高或過低。
  • 多餘的終端電阻,導致總線阻抗不匹配。

終端電阻錯誤的影響

當終端電阻配置錯誤時,可能會導致以下問題:

  • 信號反射增強:未安裝或錯誤安裝終端電阻會導致信號在總線上反射,造成數據失真。
  • D+與D-電壓異常:信號反射和阻抗不匹配會影響差分電壓,導致電壓超出正常範圍。
  • 通訊錯誤:數據包丟失、CRC錯誤增多,甚至通訊中斷。
  • 設備損壞:長期的電壓異常可能對收發器造成損害。

D+與D-電壓的變化

在RS-485總線中,D+與D-之間的差分電壓應該保持在±1.5V至±5V之間。終端電阻錯誤會導致這個電壓範圍發生變化:

  • 未安裝終端電阻:差分電壓可能增大,信號反射嚴重,影響接收端的判斷。
  • 終端電阻過低:電流增大,差分電壓減小,信號強度不足。
  • 終端電阻過高:總線阻抗增大,信號衰減,加劇電壓不穩定。

如何正確配置終端電阻

為了避免上述問題,應該:

  1. 在總線兩端安裝適當的終端電阻:通常為120歐姆,匹配總線的特性阻抗。
  2. 避免在總線中間安裝終端電阻:只需在最遠的兩個節點安裝。
  3. 檢查電阻值:確保使用的電阻值正確,避免過高或過低。

檢測與排除方法

如果懷疑終端電阻配置錯誤,可以採取以下步驟:

  • 使用萬用表測量終端電阻:在總線兩端測量阻值,確認是否為120歐姆。
  • 使用示波器觀察D+與D-電壓:檢查差分電壓是否在正常範圍內。
  • 逐一斷開節點:排查是否有多餘的終端電阻或節點故障。

實際案例分享

某工廠在升級Modbus網絡後,出現通訊不穩定的情況。經檢查發現,新增加的設備未正確安裝終端電阻,導致D+與D-電壓異常。修正終端電阻後,通訊恢復正常。

結語

終端電阻在RS-485總線中起著關鍵作用,錯誤的配置會對D+與D-電壓產生不良影響,進而影響整個系統的穩定性。對於初學者來說,理解終端電阻的重要性並正確配置,是確保工業通訊可靠性的基礎。

資料來源

[1] 《RS-485串行總線設計指南》,德州儀器。

[2] Modbus組織官方網站:https://modbus.org

[3] 《工業通訊協議與應用》,王偉編著,電子工業出版社。

2024年10月1日 星期二

你知道Modbus的D+與D-電壓是多少嗎?

在工業自動化中,Modbus是一種廣泛使用的通訊協議。而在Modbus的硬體層面,D+與D-(或稱為A線與B線)是負責數據傳輸的關鍵。那麼,你是否知道這兩條線的電壓是多少呢?了解這一點對於系統的設計、調試和維護都至關重要。

理解Modbus與RS-485的關係

Modbus協議常常使用RS-485作為其物理層。RS-485是一種差分信號傳輸標準,利用D+和D-兩條線進行數據的傳輸。這種差分傳輸方式具有抗干擾能力強、傳輸距離遠的優點,非常適合工業環境。

D+與D-的電壓範圍

根據RS-485標準,差分信號的電壓範圍應該在±1.5V至±5V之間。這表示在傳輸數據時,D+與D-之間的電壓差應該至少為1.5V,最高不超過5V。

具體而言:

  • 當傳輸邏輯“1”時,D+的電壓高於D-,差分電壓為+1.5V至+5V。
  • 當傳輸邏輯“0”時,D-的電壓高於D+,差分電壓為-1.5V至-5V。

需要注意的是,這裡指的是差分電壓,而非對地電壓。因此,實際測量時,需要測量D+與D-之間的電壓差。

為什麼電壓範圍很重要?

了解D+與D-的電壓範圍有助於我們診斷和解決通訊問題。例如,如果電壓差低於1.5V,可能會導致信號弱,接收端無法正確識別;如果電壓差高於5V,則可能損壞設備。

此外,電壓異常還可能反映出終端電阻配置不當、線路過長、干擾過大等問題。通過測量電壓,我們可以快速定位故障點。

如何測量D+與D-的電壓

使用示波器或高精度的萬用表,可以測量D+與D-之間的電壓差。測量時,將測量儀器的正極接到D+,負極接到D-,這樣即可讀取差分電壓。

測量時的注意事項:

  • 確保設備處於工作狀態,以獲得準確的數據。
  • 注意安全,避免短路或觸電。
  • 如果使用萬用表,選擇合適的量程,提高測量精度。

常見問題與解決方法

問題1:通訊不穩定,時斷時續。

可能原因:電壓差過低,信號受到干擾。

解決方法:檢查終端電阻是否正確安裝;縮短線路長度或使用屏蔽電纜。

問題2:設備無法通訊,沒有數據傳輸。

可能原因:電壓差過高,可能損壞設備。

解決方法:檢查供電電壓是否過高;確保D+與D-沒有接反。

實際應用中的注意事項

在實際應用中,除了電壓範圍,我們還需要關注以下幾點:

  • 終端電阻:在總線的兩端安裝適當的終端電阻(通常為120歐姆),以匹配阻抗,減少反射。
  • 接地:確保所有設備的接地電位相同,避免接地迴路引起的干擾。
  • 線路佈局:盡量避免與高功率線路平行,減少電磁干擾。

結語

對於初學者來說,理解Modbus的D+與D-電壓範圍是深入學習工業通訊的基礎。正確掌握這些知識,不僅有助於設計和調試系統,還能提高故障診斷的效率。

資料來源

[1] 《RS-485串行總線設計指南》,德州儀器。

[2] Modbus協會官方文件:https://modbus.org

[3] 《工業自動化通訊技術》,李明著,機械工業出版社。