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)在實體線路上傳送。透過示波器,您可以清楚看到:

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



沒有留言:

張貼留言