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

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

選擇“下一步”出現(xiàn)名稱設(shè)置:

為設(shè)備取一個(gè)名稱,在此輸入 TEST,單擊“下一步”,彈出“設(shè)備配置向?qū)А保?如下圖所示。

為設(shè)備選擇連接串口,選擇 COM4,根據(jù)實(shí)際對應(yīng) COM 進(jìn)行選擇,單擊“下一步”,彈出“設(shè)備配置向?qū)А保缦聢D 所示。

填寫設(shè)備地址,設(shè)置為 1,單擊“下一步”,彈出“設(shè)備配置向?qū)А保缦聢D所
示。


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

將彈出“串口設(shè)置”設(shè)置項(xiàng):

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

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

雙擊寄存器 00001,輸入數(shù)據(jù)寫 1,點(diǎn)擊確定后,Y1 指示燈亮,輸出成功。變量值從關(guān)閉變成打開,如下圖

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

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

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

添加設(shè)備
選擇工程瀏覽器左側(cè)大綱項(xiàng)“設(shè)備\COM1”,在工程瀏覽器右側(cè)用鼠標(biāo)左鍵雙擊“新建”圖標(biāo),運(yùn)行“設(shè)備配置向?qū)А保x擇:[PLC] > [莫迪康] > [ModbusTCP] > [TCP]如下圖所示:

選擇“下一步”出現(xiàn)名稱設(shè)置:

為設(shè)備取一個(gè)名稱,在此輸入 TEST,單擊“下一步”,彈出“設(shè)備配置向?qū)А保?如下圖所示。

為設(shè)備選擇連接串口,選擇 COM1,單擊“下一步”,彈出“設(shè)備配置向?qū)А保缦聢D 所示。填寫設(shè)備地址,地址格式如下: 地址格式,模塊IP[:模塊Port] 模塊Address


設(shè)置通信故障恢復(fù)參數(shù)(一般情況下使用系統(tǒng)默認(rèn)設(shè)置即可),單擊“下一步”,彈出“設(shè)備配置向?qū)А保缦聢D所示。

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

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

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

雙擊寄存器 00001,輸入數(shù)據(jù)寫 1,點(diǎn)擊確定后,Y1 指示燈亮,輸出成功。變量值從關(guān)閉變成打開,如下圖

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

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

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