前篇 "以 Python 利用 pyModbusTCP 庫對 MODBUS TCP Server 資料進行搬移或運算" 程式範例中說明如何編寫 Python 的 Modbus TCP 搬移程式以及程式環境設定,對於不熟悉 Python 程式與法的使用者而言,仍有一定的門檻。此處將該程式改以讀取 CSV 檔案的方式進行存取暫存器的設定,使用者不需要變更程式內容,即可完成編輯工作。
下載範例位置 : https://goo.gl/QyRJjZ
說明如下:
1. 解壓縮後 modbustcpmove.py 與 pymodbustcp.csv 必須在同一路徑 執行 python modbustcpmove.py 指令
2. CVS 以 // 開頭為註解行,會被忽略
3. CVS 第一個有效行必須分別為 讀取來源 IP,讀取來源 TCP Port,寫出目標 IP,寫出目標 寫出目標 TCP Port,間隔時間(毫秒)
3. CVS 其他有效行必須分別為 來源 UID(站號),記憶體位置 (30001~39999/40001~49999),寫出 UID(站號),記憶體位置 (40001~49999),記憶體長度
4. 程式自動自 讀取來源 IP 分次自指定站號讀取指定記憶體位置及長度資料,以寫出至指定站號讀取指定記憶體位置,等待間隔時間後再讀取下一行指定資料。間隔時間應衡量網路流量,不建議低於 20 mS
5. 如需要讀取來源為 MODBUS RTU 且使用的設備為樹莓派(Raspberry PI)時,可以下載 MODBUS TCP Server to MODBUS RTU Master Gateway 免費工具程式,透過 USB 轉 RS485 界面讀取
6. 如果需要將 MODBUS 資料轉換為 BACnet 協定,且使用的設備為樹莓派(Raspberry PI)時,可以下載 BACnet/IP To MODBUS TCP Server gateway 免費工具程式,以提供 BACnet/IP 通訊介面進行整合
7. 關於 Python 環境與 pyModbusTCP 庫 安裝,請參考 "以 Python 利用 pyModbusTCP 庫對 MODBUS TCP Server 資料進行搬移或運算" 分享內容