工廠 AI 化
進階
工廠 AI 化

用 Python 讀舊機器的 Modbus

用一支幾百元的轉接器,把電表、溫控器、變頻器的資料讀進電腦。
1 小時
7 步
USB 轉 RS-485 約 200–2,500 元
編
AI 有解編輯部
最後更新 2026 年 11 月 5 日・CC BY 4.0
用到的工具
Python
pymodbus
工廠裡很多舊設備都會講 Modbus。學會這一招,就能拿到原本鎖在機器裡的資料。這篇只做讀取,不寫入設備。
你需要準備
•
支援 Modbus RTU 的設備與手冊
•
USB 轉 RS-485,建議隔離款
•
已安裝 Python 的電腦
進度 0/7
1

確認不會干擾現場

看匯流排上有沒有 PLC 或其他主站。同一條 RS-485 只能有一個主站。如果已有主站,先用離線設備練習,或請設備商協助。
2

查手冊

從手冊找出:站號、鮑率、資料位元、停止位元、同位元,以及要讀的暫存器位址與倍率。
3

接線

A 接 A、B 接 B,線路頭尾加 120Ω 終端電阻。讀不到值時,可以對調 A、B 再試。
4

安裝

終端機
pip install pymodbus pyserial
5

讀第一個值

建立 read.py,把 COM3 改成你的序列埠:
Python
from pymodbus.client import ModbusSerialClient client = ModbusSerialClient( port="COM3", baudrate=9600, parity="N", stopbits=1, bytesize=8, timeout=1, ) if not client.connect(): raise SystemExit("連不上序列埠,請檢查 COM 編號") result = client.read_holding_registers(address=0, count=2, device_id=1) if result.isError(): print("讀取失敗:", result) else: print("暫存器:", result.registers) client.close()
6

換算成真實數值

讀到的是整數,要依手冊換算。例如溫度 253 代表 25.3 度。32 位元資料由兩個暫存器組成,要注意高低位元組順序。
7

定時存檔

先寫進 CSV,確認資料穩定後再送到 MQTT 或資料庫。
你照著做成功了嗎?
成為第一個回報的人。你的回報會決定攻略排序與作者分潤。
下一步
•
把資料送上雲,看〈舊設備資料上雲〉。
收錄在學習路線
廣告版位
想讓正在用 AI 的人看到你的產品?了解廣告合作
問與答
卡住的地方、補充的做法都可以留在這裡
還沒有人留言。
更多「工廠 AI 化」攻略