组态王modbus通信方法莫迪康通信配置步骤-实战案例小分享 点击:141 | 回复:0



跟着综科学智控

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:12帖 | 8回
  • 年度积分:0
  • 历史总积分:73
  • 注册:2022年7月25日
发表于:2022-08-03 08:53:39
楼主

串口设备与组态王通讯

以 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,依次类推。

以太网设备与组态王通讯

本章介绍本系列下以太网设备与组态王通讯的设置方法,该方法适用于本系列下所有以太网设备。

组态王 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,依次类推。




楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师