OpcDaMaster
OPCDA驱动注意使用OPCDA插件时,需安装OPC核心库
提示可以通过调试页面,导出/导入 OPC 节点到网关
概述
OpcDaMaster 作为主站,主动采集 OPC DA 协议的设备数据。该插件支持远程 OPC DA 连接,但需要配置 DCOM。
主要特性
- 协议支持:完全符合 OPC DA 2.05 和 3.0 规范
- 远程连接:支持远程 OPC DA 服务器连接(需要配置 DCOM)
- 订阅模式:支持 OPC 订阅方式和轮询方式
- 高性能:基于异步架构,提供高性能的数据访问
- 易用性:提供简洁的配置界面,易于集成和使用
适用场景
- 工业自动化设备数据采集
- PLC 设备通信
- 智能制造系统集成
- 设备状态监控
DCOM 配置说明
OPC DA 基于 COM/DCOM 技术,远程访问需要配置 DCOM 权限:
-
启用 DCOM
- 打开"组件服务"(dcomcnfg)
- 展开"组件服务" → "计算机" → "我的电脑"
- 右键"我的电脑" → "属性" → "默认属性"
- 勾选"在此计算机上启用分布式 COM"
-
配置 OPC 服务器
- 展开"组件服务" → "计算机" → "我的电脑" → "DCOM 配置"
- 找到 OPC 服务器(如 Kepware.KEPServerEX.V6)
- 右键"属性" → "安全性"
- 配置"启动和激活权限"、"访问权限"、"配置权限"
-
配置防火墙
- 允许 OPC 服务器端口(默认 135)通过防火墙
- 允许 RPC 动态端口通过防火墙
插件属性配置项
基本配置
| 属性 | 说明 | 备注 |
|---|---|---|
| IP | 连接 IP | localhost |
| Opc 名称 | OPC 名称,可识别 ProgID 或 CLSID | Kepware.KEPServerEX.V6 |
| 服务端时间戳 | 变量更新时间可选择为 OpcServerTime | true |
| 订阅 | 是否采用 OPC 订阅方式读取变量 | True |
| 心跳间隔(min) | 每隔设定时间获取一次服务器状态,并尝试重新连接(min) | 10 |
| 死区 | OPC 死区 | 0 |
| 最大组大小 | 每隔设定大小分一个 OPC Group | 500 |
| 订阅推送间隔 | 订阅更新频率或者连读频率(ms) | 1000 |
| 失败重试次数 | 读取失败时,重试 n 次后判定变量为离线,只适用于非订阅模式 | 3 |
变量地址配置项
基本地址格式
变量地址即为 OPC ItemID:
| 地址格式 | 说明 | 示例 |
|---|---|---|
| Channel.Device.Tag | 通道.设备.标签 | Channel1.Device1.Tag1 |
| [Channel]Device.Tag | [通道]设备.标签 | [Channel1]Device1.Tag1 |
| Device.Tag | 设备.标签 | Device1.Tag1 |
ItemID 类型说明
完整路径
使用完整的 ItemID 路径:
Channel1.Device1.Tag1
常见问题
Q1: 连接服务器失败怎么办?
A: 检查以下 几点:
- 确认 OPC DA 服务器是否正在运行
- 检查 DCOM 配置是否正确
- 确认防火墙设置
- 检查网络连接是否正常
- 确认 OPC 名称配置正确
Q2: 读取数据超时怎么办?
A: 检查以下几点:
- 增加超时时间设置
- 检查服务器负载
- 优化订阅参数
- 减少变量数量
Q3: 如何配置 DCOM?
A: 配置步骤如下:
- 打开"组件服务"(dcomcnfg)
- 展开"组件服务" → "计算机" → "我的电脑"
- 右键"我的电脑" → "属性" → "默认属性"
- 勾选"在此计算机上启用分布式 COM"
- 展开"组件服务" → "计算机" → "我的电脑" → "DCOM 配置"
- 找到 OPC 服务器,右键"属性" → "安全性"
- 配置"启动和激活权限"、"访问权限"、"配置权限"
具体请自行查阅资料
Q5: 如何提高读取性能?
A: 采用以下方法:
- 使用订阅方式,避免频繁轮询
- 合理设置推送间隔和死区
- 优化分组大小
- 减少变量数量
Q6: 订阅方式和轮询方式有什么区别?
A: 主要区别如下:
| 特性 | 订阅方式 | 轮询方式 |
|---|---|---|
| 数据推送 | 服务器主动推送 | 客户端主动请求 |
| 性能 | 高 | 低 |
| 实时性 | 高 | 低 |
| 网络负载 | 低 | 高 |
| 适用场景 | 数据变化频繁 | 数据变化不频繁 |
Q7: 如何选择订阅方式?
A: 根据数据变化频率选择:
- 数据变化频繁:使用订阅方式
- 数据变化不频繁:使用轮询方式