南樺 電子報 104 出刊日期 | 2007.10.22

利用豐煒 PLC (MBUS指令) 讀取 MODBUS 設備:

目的:
很多設備都是 MODBUS 通訊格式,要利用 PLC 的通訊方式讀取 MODBUS 設備蠻麻煩的,要如何透過
PLC 簡單的撰寫,而達成讀寫 MODBUS 設備資料變為重要課題。有鑑於此,豐煒 PLC 有另外設計了
MODBUS 專用的指令,透過簡單寫表的方式,再利用 MBUS指 令,簡單又快速的達成 MODBUS 設備
讀寫之功能。

注意事項:
雖然豐煒 PLC 有提供 MODBUS 的專用通訊方式,可是只限於 CP2 的通訊埠而已,所以使用時要特別
注意,要加裝 CP2 的通訊埠。


動作觀念:
1. 首先加裝 CP2 通訊埠 (RS-232/RS485),然後把 CP2 設為 MODBUS 的格式
2. 把 PLC 與設備連起來
3. 撰寫 MODBUS 表
4. 寫 MBUS 指令


實例:(以MODBUS_RTU為例)
讀取 MODBUS:站號 1、位址 2103H、長度 1WORD
寫入 MODBUS:站號 1、位址 2001H、長度 1WORD

1. 加裝 VB-485BD,設定 CP2:
在系統設定\選 CPU 擴充可之通訊埠 (COM PORT) 設定



選擇應用類型為:MODBUS
通訊速度:9600
每字元使用位元數:8
同位檢查:未使用
停止位元使用數:2
模式:RTU
PLC 站號設定:1


2. 把 PLC 與設備連起來(需用 CP2 與設備戶連)
3. 設定所要讀 / 寫的 MODBUS 資料,在工具/選通訊表編輯


填選表格:


讀取 MODBUS:站號 1、位址 2103H、長度 1 WORD

副站:設備的站號,在此設站號 1
命令:指定要讀取
長度:看一次要讀取幾個 WORD
主站資料開始位址:把讀取值存放的暫存器
副站資料開始位址:設備之位址
此例為 2103 (16進制) = 8451 (十進制)
因為為讀取及寫入:所以以4當開頭 (故位址為:48451)


寫入 MODBUS:站號 1、位址 2001H、長度 1 WORD

副站:設備的站號,在此設站號 1
命令:指定要寫入
長度:看一次要寫入幾個 WORD
主站資料開始位址:寫入值存放的暫存器
副站資料開始位址:設備之位址
此例為 2001 (16 進制) = 8193 (十進制)
因為為讀取及寫入:所以以4當開頭 (故位址為:48193)

依需求設定:
讀取 MODBUS:站號 1、位址 2103H、長度 1WORD
寫入 MODBUS:站號 1、位址 2001H、長度 1WORD


所完成之表格:表格起始位置 (放通訊資料的起始位址)
表格長度:表格所需的 WORD 數 => 以此為例佔用 D1000 ~ D1014 共 15 個 WORD


4. 寫 MBUS 指令

寫 MBUS 指令,D1000 表示表格起始位置 (放通訊資料的起始位址)
D500 ~ D503 共 3 個 WORD:執行 MBUS 指令時所需用到的運算空間。