Modbus TCP 是一種用於工業自動化的通訊協議。它允許 PLC(可程式設計邏輯控制器)、感測器、HMI(人機介面)和 SCADA 系統透過標準乙太網相互通訊。

想想工廠車間裝置、樓宇自動化和工業物聯網裝置。

工作原理

Modbus TCP 將傳統的 Modbus 協議封裝在 TCP/IP 資料包中。預設使用埠 502。

客戶端-伺服器模型:

  • 客戶端(master)請求資料
  • 伺服器(從機)響應感測器讀數、控制狀態等。

一個客戶端可以與同一網路上的多個伺服器通訊。

Modbus TCP 讀/寫什麼

工業裝置將資料公開為暫存器:

線圈 (0x): 單位元讀/寫(數字輸出、繼電器) 離散輸入 (1x): 一位只讀(感測器、開關) 輸入暫存器 (3x): 16位只讀(模擬感測器、儀表) 儲存暫存器 (4x): 16 位讀/寫(設定值、引數)

示例:溫度感測器可能會將其讀數公開為輸入暫存器 30001,返回類似 2350 (23.5°C) 的值。

常見用途

工廠自動化: PLC 控制傳送帶、機械臂、裝配線

大廈管理: HVAC 系統、照明控制、電能表

水/廢水: 泵控制、流量計、液位感測器

石油和天然氣: 管道監控、壓力感測器、閥門控制

能量: 太陽能逆變器、電池系統、電網監控

Modbus TCP 與 Modbus RTU

Modbus RTU: 序列通訊 (RS-485)。標準較舊,速度較慢,在乙太網不可用時使用。

Modbus TCP: 基於乙太網。更快、更容易與現代網路整合,距離更遠。

大多數新安裝都使用 Modbus TCP。傳統系統通常使用 RTU。

設定 Modbus TCP 裝置

網路配置:

  • 為每個裝置分配靜態IP
  • 對工業網路使用單獨的 VLAN(安全最佳實踐)
  • 埠 502 必須在防火牆上開啟

常見問題:

  • IP 衝突(始終使用靜態 IP)
  • 錯誤的暫存器定址(檢查裝置文件)
  • 防火牆攔截502埠
  • 網路交換機無法正確處理工業流量

安全問題

Modbus TCP 沒有內建安全性。沒有身份驗證,沒有加密。

最佳實踐:

  • 將工業網路與IT網路隔離
  • 使用 VLAN 和防火牆規則
  • 用於遠端訪問的 VPN
  • 切勿將 Modbus 裝置直接暴露到網際網路
  • 考慮 Modbus TCP 安全性(新增 TLS 加密)

工業網路成為目標。細分至關重要。

軟體工具

測試/故障排除:

  • ModScan(Windows Modbus 掃描器)
  • Modbus Poll/Slave(模擬和測試)
  • pyModbus(Python 庫)
  • Node-RED(帶有 Modbus 節點的視覺自動化)

SCADA 平臺:

  • 點火
  • 工廠談話
  • WinCC
  • Wonderware

底線

Modbus TCP 是工業乙太網通訊的標準協議。簡單,得到廣泛支援,但需要適當的網路分段以確保安全。

如果您透過乙太網連線 PLC、感測器或工業裝置,您可能會在埠 502 上使用 Modbus TCP。

始終使用靜態 IP,與 IT 網路隔離,並記錄您的暫存器對映。