设备接入-OPCDA驱动设备接入
-
平台驱动配置说明
驱动配置决定驱动如何连接 OPCDA 服务器,数据点配置决定驱动从 OPCDA 服务器上读取哪些数据。
如何测试
- 1.安装驱动,安装完成后在选择设备驱动时可以看到 opcda。没有驱动授权时也可以添加少量数据点做测试。
- 2.创建一个模型,设备驱动选择 opcda。创建一个属于该模型的资产。
- 3.参考驱动配置一节,配置模型中的驱动配置。
- 4.参考数据点配置一节,在模型中添加一个状态正常的数据点。
- 5.保存配置,点击重启驱动。
- 6.在模型的数据点的下拉框中选择第 2 步创建的资产,查看是否有数据。
一、驱动配置
1、前提:DCOM 配置
opc 经典协议基于 windows 的 COM/DCOM 技术,所以需要对此进行配置。可以参考:- OPC和DCOM配置
- kepware: Quick Start Guide Remote OPC DA (DCOM)
2、打开设备表管理,切换到设备配置,选择OPCDA驱动程序。
参数说明- IP: OPCDA 服务器所在计算机的 IP 地址
- 计算机名(Domain): OPCDA 服务器所在计算机的计算机名
- progId: opc 程序名
- clsid:组件id,不填时自动获取(非必填)
- 用户名: 拥有 DCOM 权限的 windows 用户的用户名(DCOM 配置时需要给一个用户 DCOM 权限)
- 密码: 上述用户的密码
- 采集周期参数决定了驱动将数据上传到平台的频率,默认为5s。
OPCDA 驱动使用 IOPCSyncIO 接口读取数据,每个资产下的数据点属于同一个 Group
获取计算机名
方法一:控制面板 -> 系统和安全 -> 系统 -> 设备名称
方法二:命令行 -> hostname命令
方法三:文件管理器 -> 此电脑 -> 属性 -> 设备名称获取 progId
progId 一般是由几段字符串(有字母或数字)通过“.”拼接而成, 一般可以在 OPCDA 服务器界面看到。如果没法找到则需要通过第三方客户端找。第三方客户端都需要通过 OPCEnum 服务获取当前计算机上运行的 opc 服务器,需要确保 OPCEnum 服务运行。 任务管理器 -> 服务 -> OPCEnum
获取 clsid
clsid 至于 progId 有关(同一款 opcda 服务器装在不同的电脑上,clsid 应该是一样的)。不配置 clsid 时,驱动会使用 windows 的服务根据 progId 获取 clsid,配置时使用配置 clsid。- 通过注册表获取
在运行 OPCDA 服务器的机器上打开注册表,在 HKEY_CLASSES_ROOT 子目录下找到 progId 对应的条目(与 progId 完全一致)。点击 CLSID 目录,双击属性即可复制,注意不要复制两侧的括号。
Matrikon.OPC.Simulation.1 -> F8582CF2-88FB-11D0-B850-00C0F0104305 Kepware.KEPServerEX.V6 -> 7BC0CC8E-482C-47CA-ABDC-0FE7F9C6E729
- 通过第三方客户端获取
部分第三方 OPC 客户端(比如 Matrikon explorer)在连接后可以在服务器属性中看到 clsid。
示例
二、数据点配置
OPCDA的itemId在OPC server中是唯一不重复的。 通过驱动扫点方式快速添加OPCDA数据点。
三、指令配置
配置指令时必填 ItemId,注意此时必须填写全部 ItemId(Item 前缀无效)。
每个资产有一个公共 group 用来写入(且与读数时的 group 不同),因此不用配置 group。
常见问题
启动问题需要通过容器日志查看,由于 opcda 造成的问题一般会有一个错误码
opcda 错误码: 0x80010111
windows 版本过新造成的问题。- windows + R
- winver
- 查看版本号,大于等于2004(个人电脑2020-05-27发布,服务器2020-06-26发布)则属于版本过新
配置文件
配置文件修改后必须重启容器或者进程才能生效。
驱动是多个 OPCDA 客户端的集合。驱动的配置文件作用于驱动连接的所有服务器,不限制于某个设备表。
- client.checkInterval: 检查重连的间隔(以秒记),默认 60