与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 的 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)。
第 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)和 8 路数字量输出(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 的 4 路 AI(模拟量输入)寄存器为 30001~30008,因为ZKA模块采用的是32位AD芯片,所以每个模拟量通道占用 2 个寄存器,共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 的 4 路 AO(模拟量输出)寄存器为 40001~40004,每个模拟量通道占用 1个寄存器,共1 个字节(16bit)。
第 1 通道输出电流值为 10000x0.0003125=3.125mA
注意:ZKA模块AO输出寄存器是AO的原始值,客户需要在此基础上乘以一个量纲系数才能得出想要的量纲读数,例如,电流的型AO输出的量纲系数为0.0003125,如果想要输出3.125ma,则要设置AO寄存器为10000,依次类推。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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)