本文結合綜科智控品牌的io模塊詳細講解組態王modbus通信用法教程modbus-rtu、modbus-tcp莫迪康通信配置步驟,見附件下載:
目 錄
目錄
第 1 章 485 設備與組態王通訊
DI/DO/AI/AO 接入
以 ZKA-4488-RS485 為例,介紹綜科智控 485 設備與組態王進行通訊的步驟設置。ZKA-4488-RS485 是 8 路數字量輸入(DI),8 路數字量輸出(DO),4 路模擬量輸入(AI,0/4-20mA),4 路模擬量輸出設備(AO,0/4-20mA),485 通信總線。

以 ZKA-4488-RS485 出廠默認通訊參數如下:
站號:01
波特率:115200
數據格式:8,N,1
與電腦連接的端口:客戶查看電腦設備管理器中的COM口,選擇實際使用的端口
添加設備
選擇:[PLC] > [莫迪康] > [ModbusRTU] > [COM]如下圖所示:

選擇“下一步”出現名稱設置:

為設備取一個名稱,在此輸入 TEST,單擊“下一步”,彈出“設備配置向導”, 如下圖所示。

為設備選擇連接串口,選擇 COM4,根據實際對應 COM 進行選擇,單擊“下一步”,彈出“設備配置向導”,如下圖 所示。

填寫設備地址,設置為 1,單擊“下一步”,彈出“設備配置向導”,如下圖所
示。


測試設備
選擇[COM4] > [TEST]>[測試 邏輯設備],如下圖所示:

將彈出“串口設置”設置項:

選擇“通訊參數”選項,將通訊參數設置為“115200、N、8、1”。通訊超時和采集頻率選擇默認即可。選擇“設備測試”項,界面如下圖所示:
讀取 DI 狀態
ZKA-4488-RS485的 8路 DI 寄存器為 10001~10008:

如上圖所示,寄存器 10001 變量值為打開,表示此時第 1 個輸入通道閉合。
輸出/讀取 DO 狀態
ZKA-4488-RS485 的 8路 DO 寄存器為 00001~00008:

雙擊寄存器 00001,輸入數據寫 1,點擊確定后,Y1 指示燈亮,輸出成功。變量值從關閉變成打開,如下圖

輸入數據中填入 0 后單擊確定,此時 Y1寄存器變量值變為 0,并且可以看到 ZKA-4088-RS485上面的 Y1指示燈由亮變暗。
讀取 AI 值
ZKA-4488-RS485 的 4 路 AI(模擬量輸入)寄存器為 30001~30008,因為ZKA模塊采用的是32位AD芯片,所以每個模擬量通道占用 2 個寄存器,共4 個字節(32bit),其中高兩個字節為采集結果的高16bit,低兩個字為采集結果的低16bit,模塊出廠時為保證高精度,濾波后輸出16bit,所以用戶實際使用時只需要讀取低16bit采集結果即可,也就是讀取30002,30004,30006,30008地址上的寄存器數據,數據類型為 無符號UShort。

第 1 通道電流值為 10000x0.0003125=3.125mA
注意:ZKA模塊采集輸出的是模擬量輸入通道的原始AD讀數,客戶需要在此基礎上乘以一個量綱系數才能得出想要的量綱讀數,例如,0.0003125ma/讀數這個是ZKA模塊在16bit采集模式下和對應的AI輸入電流ma數之間的量綱系數,假如采集到的讀數是10000,那么此時可以算出,該AI通道上當前輸入的電流值為:10000讀數 x 0.0003125ma/讀數=3.125ma。
輸出/讀取AO的值
ZKA-4488-RS485 的 4 路 AO(模擬量輸出)寄存器為 40001~40004,每個模擬量通道占用 1個寄存器,共1 個字節(16bit),數據類型為 無符號UShort。

第 1 通道輸出電流值為 10000x0.0003125=3.125mA
注意:ZKA模塊AO輸出寄存器是AO的原始值,客戶需要在此基礎上乘以一個量綱系數才能得出想要的量綱讀數,例如,電流的型AO輸出的量綱系數為0.0003125,如果想要輸出3.125ma,則要設置AO寄存器為10000,依次類推。
第 2 章 以太網設備與組態王通訊
本章介紹本系列下以太網設備與組態王通訊的設置方法,該方法適用于本系列下所有以太網設備。
組態王 6.5x 版本的 Modbus TCP 驅動有 BUG,無法通訊。如果您使用的組態王軟件版本是 6.5x 版本,請聯系組態王廠家技術人員更新驅動。
DI/DO/AI/AO 接入
以 ZKA-4488-ETH為例說明 DI\DO\AI\AO 如何接入組態王使用,ZKA-4488-ETH 為 8路數字量輸入(DI)和 8 路數字量輸出(DO)和4路模擬量輸入(AI)采集以及4路模擬量輸出(AO)輸出控制設備,采用標準的 Modbus TCP 通訊協議,可以通過 TCP/IP 網絡遠程采集模擬量數據。
ZK模塊 IP 為:192.168.0.105
TCP 端口為:10001
(注意:我們模塊出廠時默認端口為10001,客戶也可以通過ZK模塊的配置文件把ZK通訊端口改成modbus-tcp的默認端口502)
工作模式為:服務器模式

添加設備
選擇工程瀏覽器左側大綱項“設備\COM1”,在工程瀏覽器右側用鼠標左鍵雙擊“新建”圖標,運行“設備配置向導”,選擇:[PLC] > [莫迪康] > [ModbusTCP] > [TCP]如下圖所示:

選擇“下一步”出現名稱設置:

為設備取一個名稱,在此輸入 TEST,單擊“下一步”,彈出“設備配置向導”, 如下圖所示。

為設備選擇連接串口,選擇 COM1,單擊“下一步”,彈出“設備配置向導”,如下圖 所示。填寫設備地址,地址格式如下: 地址格式,模塊IP[:模塊Port] 模塊Address


設置通信故障恢復參數(一般情況下使用系統默認設置即可),單擊“下一步”,彈出“設備配置向導”,如下圖所示。

請檢查各項設置是否正確,確認無誤后,單擊“完成”。
設備定義完成后,可以在工程瀏覽器的右側看到新建的外部設備“TEST”。
測試設備

讀取 DI 狀態
ZKA-4488-ETH 的DI寄存器地址: DI1~DI8 10001~10008
>>>設備測試>>>添加寄存器>>>讀取

如上圖所示,寄存器 10001 變量值為打開,表示此時第 1 個輸入通道X1閉合。
輸出/讀取 DO 狀態
ZKA-4488-ETH 的DO寄存器地址:DO1~DO8 00001~00008
>>>設備測試>>>添加寄存器>>>讀取

雙擊寄存器 00001,輸入數據寫 1,點擊確定后,Y1 指示燈亮,輸出成功。變量值從關閉變成打開,如下圖

輸入數據中填入 0 后單擊確定,此時 Y1寄存器變量值變為 0,并且可以看到 ZKA-4088-RS485上面的 Y1指示燈由亮變暗。
讀取AI值
ZKA-4488-ETH 的AI寄存器地址:AI1~AI4 30001~30008
>>>設備測試>>>添加寄存器>>>讀取
ZKA-4488-ETH 的 4 路 AI(模擬量輸入)寄存器為 30001~30008,因為ZKA模塊采用的是32位AD芯片,所以每個模擬量通道占用 2 個寄存器,共4 個字節(32bit),其中高兩個字節為采集結果的高16bit,低兩個字為采集結果的低16bit,模塊出廠時為保證高精度,濾波后輸出16bit,所以用戶實際使用時只需要讀取低16bit采集結果即可,,也就是讀取30002,30004,30006,30008地址上的寄存器數據,數據類型為 無符號UShort。

第 1 通道電流值為 10000讀數 x 0.0003125ma/讀數=3.125ma
注意:ZKA模塊采集輸出的是模擬量輸入通道的原始AD讀數,客戶需要在此基礎上乘以一個量綱系數才能得出想要的量綱讀數,例如,0.0003125ma/讀數這個是ZKA模塊在16bit采集模式下和對應的AI輸入電流ma數之間的量綱系數,假如采集到的讀數是10000,那么此時可以算出,該AI通道上當前輸入的電流值為:
10000讀數 x 0.0003125ma/讀數=3.125ma。
輸出/讀取AO值
ZKA-4488-ETH 的AO寄存器地址:AIO~AO4 40001~40004
>>>設備測試>>>添加寄存器>>>讀取
ZKA-4488-RS485 的 4 路 AO(模擬量輸出)寄存器為 40001~40004,每個模擬量通道占用 1個寄存器,共1 個字節(16bit),數據類型為 無符號UShort。

第 1 通道輸出電流值為 10000x0.0003125=3.125mA
注意:ZKA模塊AO輸出寄存器是AO的原始值,客戶需要在此基礎上乘以一個量綱系數才能得出想要的量綱讀數,例如,電流的型AO輸出的量綱系數為0.0003125,如果想要輸出3.125ma,則要設置AO寄存器為10000,依次類推。