组态王modbus通信方法莫迪康通信配置步骤
目录
第 1 章 485 设备与组态王通讯
1.1 DI/DO/AI/AO 接入
1.1.1 添加设备
1.1.2 测试设备
1.2 读取 DI 状态
1.3 输出/读取 DO 状态
1.4 读取 AI 值
1.5 输出/读取AO的值
第 2 章 以太网设备与组态王通讯
2.1 DI/DO/AI/AO 接入
2.1.1 添加设备
2.1.2 测试设备
2.2 读取 DI 状态
2.3 输出/读取 DO 状态
2.4 读取AI值
2.5 输出/读取AO值
第 1章 485 设备与组态王通讯
1.1 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口,选择实际使用的端口
1.1.1 添加设备
选择:[PLC] > [莫迪康]> [ModbusRTU] > [COM]如下图所示:
选择“下一步”出现名称设置:
为设备取一个名称,在此输入 TEST,单击“下一步”,弹出“设备配置向导”, 如下图所示。
为设备选择连接串口,选择 COM4,根据实际对应 COM 进行选择,单击“下一步”,弹出“设备配置向导”,如下图所示。
填写设备地址,设置为 1,单击“下一步”,弹出“设备配置向导”,如下图所
示。
1.1.2 测试设备
选择[COM4] > [TEST]>[测试 逻辑设备],如下图所示:
将弹出“串口设置”设置项:
选择“通讯参数”选项,将通讯参数设置为“115200、N、8、1”。通讯超时和采集频率选择默认即可。选择“设备测试”项,界面如下图所示:
1.2 读取 DI 状态
ZKA-4488-RS485的 8路 DI 寄存器为 10001~10008:
如上图所示,寄存器 10001 变量值为打开,表示此时第1 个输入通道闭合。
1.3 输出/读取 DO 状态
ZKA-4488-RS485 的 8路 DO 寄存器为 00001~00008:
双击寄存器 00001,输入数据写 1,点击确定后,Y1 指示灯亮,输出成功。变量值从关闭变成打开,如下图
输入数据中填入0 后单击确定,此时Y1寄存器变量值变为 0,并且可以看到 ZKA-4088-RS485上面的 Y1指示灯由亮变暗。
1.4 读取 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。
1.5 输出/读取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 版本,请联系组态王厂家技术人员更新驱动。
2.1 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)
工作模式为:服务器模式
2.1.1 添加设备
选择工程浏览器左侧大纲项“设备\COM1”,在工程浏览器右侧用鼠标左键双击“新建”图标,运行“设备配置向导”,选择:[PLC]> [莫迪康] > [ModbusTCP] > [TCP]如下图所示:
选择“下一步”出现名称设置:
为设备取一个名称,在此输入 TEST,单击“下一步”,弹出“设备配置向导”, 如下图所示。
为设备选择连接串口,选择 COM1,单击“下一步”,弹出“设备配置向导”,如下图 所示。填写设备地址,地址格式如下: 地址格式,模块IP[:模块Port] 模块Address
设置通信故障恢复参数(一般情况下使用系统默认设置即可),单击“下一步”,弹出“设备配置向导”,如下图所示。
请检查各项设置是否正确,确认无误后,单击“完成”。
设备定义完成后,可以在工程浏览器的右侧看到新建的外部设备“TEST”。
2.1.2 测试设备
2.2 读取 DI 状态
ZKA-4488-ETH 的DI寄存器地址: DI1~DI8 10001~10008
>>>设备测试>>>添加寄存器>>>读取
如上图所示,寄存器 10001 变量值为打开,表示此时第1 个输入通道X1闭合。
2.3 输出/读取 DO 状态
ZKA-4488-ETH 的DO寄存器地址:DO1~DO8 00001~00008
>>>设备测试>>>添加寄存器>>>读取
双击寄存器 00001,输入数据写 1,点击确定后,Y1 指示灯亮,输出成功。变量值从关闭变成打开,如下图
输入数据中填入 0 后单击确定,此时Y1寄存器变量值变为 0,并且可以看到 ZKA-4088-RS485上面的 Y1指示灯由亮变暗。
2.4 读取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。
2.5 输出/读取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,依次类推。