与OPC通信的技术文档(以综科智控的模块为例)

1 232 设备与OPC通讯

1.1 DI/DO/AI/AO 接入

ZKD-24SO-RS-232 为例,介绍综科智控 232 设备与 OPC 进行通讯的步骤设置。ZKA-4488-RS

232  24 路数字量输出DO),232通信总线。

ZKD-24SO-RS232 出厂默认通讯参数如下:

站号:01

波特率:115200

数据格式:8,N,1

与电脑连接的端口:客户查看电脑设备管理器中的COM口,选择实际使用的端口

1.1.1 添加设备

选择:新建> 驱动 [ModbusRTUClient] > 自定义设备名称,

如下图所示:

选择“确认”出现设备串口通讯参数设置,

自定义通道的名称 >  设置通讯串口参数 ,

如下图所示:

 

选择“确认”右键,出现设备串口通讯参数设置(一般默认)

如下图所示:

 

选择“确认”右键,添加标签

自定义点名数据类型 > 数据的地址

如下图所示:

就会出现添加数据,启动监控,就可以看数据了

 

 

 

1.2 读取 DI 状态

ZKA-4488-RS485为例:

  8路 DI的 寄存器为 10001~10008

 

1.3 输出/读取 DO 状态

ZKA-4488-RS485为例:

 8 DO 寄存器为 00001~00008

 

 

 

1.4 读取 AI 

ZKA-4488-RS485  AI(模拟量输入)寄存器为 30001~30008,因为ZKA模块采用的是32位AD芯片,所以每个模拟量通道占用个寄存器,共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  AO(模拟量输出)寄存器为 40001~40004,每个模拟量通道占用 1个寄存器,共1 个字节16bit)。

         

1 通道输出电流值为 10000x0.0003125=3.125mA

注意:ZKA模块AO输出寄存器是AO的原始值,客户需要在此基础上乘以一个量纲系数才能得出想要的量纲读数,例如,电流的型AO输出的量纲系数为0.0003125,如果想要输出3.125ma,则要设置AO寄存器为10000,依次类推。

 

2 以太网设备与OPC通讯

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

 

2.1 DI/DO/AI/AO 接入

ZKA-4488-ETH为例说明 DI\DO\AI\AO 如何接入组态王使用,ZKA-4488-ETH  8路数字量输入(DI)路数字量输出DO)4路模拟量输入(AI)采集以及4路模拟量输出(AO)输出控制设备,采用标准的 Modbus TCP 通讯协议,可以通过 TCP/IP 网络远程采集模拟量数据。

ZK模块 IP 为:192.168.0.106

TCP 端口为:10001

(注意:我们模块出厂时默认端口为10001,客户也可以通过ZK模块的配置文件把ZK通讯端口改成modbus-tcp的默认端口502)

工作模式为:服务器模式

 

2.1.1 添加设备

添加设备 > 选对应的驱动 > 自定义设备的名称

如下图所示:

  

选中设备ZKD-测试,右键,添加通道

设置通到的名称,IP,端口号

如下图所示:

 

选中 Channel_1 右键设置设备的属性,一般默认,确认

如下图所示:

 

选中 ZK 右键添加  标签

设置点的名称,储存器类型,数据类型,储存器的地址  确认

 如下图所示:

 

就会出现添加数据,启动监控,就可以看数据了

 

 

 

2.2 读取 DI 状态

ZKA-4488-ETH 为例:

DI寄存器地址: DI1~DI8 10001~10008

 

 

 

2.3 输出/读取 DO 状态

ZKA-4488-ETH 为例:

DO寄存器地址:DO1~DO8 00001~00008

 

 

 

2.4 读取AI值

ZKA-4488-ETH 为例:

AI寄存器地址:AI1~AI4 30001~30008

ZKA-4488-ETH  AI(模拟量输入)寄存器为 30001~30008,因为ZKA模块采用的是32位AD芯片,所以每个模拟量通道占用个寄存器,共4 个字节32bit),其中高两个字节为采集结果的高16bit,低两个字为采集结果的低16bit,模块出厂时为保证高精度,滤波后输出16bit,所以用户实际使用时只需要读取低16bit采集结果即可,,也就是读取30002,30004,30006,30008地址上的寄存器数据。

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  AO(模拟量输出)寄存器为 40001~40004,每个模拟量通道占用 1个寄存器,共1 个字节16bit)。

 

1 通道输出电流值为 10000x0.0003125=3.125mA

注意:ZKA模块AO输出寄存器是AO的原始值,客户需要在此基础上乘以一个量纲系数才能得出想要的量纲读数,例如,电流的型AO输出的量纲系数为0.0003125,如果想要输出3.125ma,则要设置AO寄存器为10000,依次类推。

 

 

posted @   zongkezhikong  阅读(290)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示