集成 · 网关
把 OPC UA 接入 KEPServerEX / Kepware
| 产品 | KEPServerEX / Kepware |
|---|---|
| 类别 | 网关 |
| OPC UA 角色 | 网关 |
在 PLC 没有可用 OPC UA 服务器时,KEPServerEX 是默认答案:原生驱动南向使用厂商协议,北向发布 OPC UA 端点,通常在端口 49320。它的一切都按驱动和客户端数量授权,因此在围绕它做设计之前,请向 PTC 确认商务形态。
开始之前
- 一份覆盖你所需每个驱动、以及你打算运行的客户端数和连接数的许可证。驱动许可是最常让项目意外的部分;在确定设计之前请向 PTC 确认。
- 一台 Windows 主机,其资源足以扫描你导入的每一个标签,外加一个关于它是否为虚拟机、以及该机器是否纳入 OT 补丁范围的决定。
- 从主机到每台控制器的工业协议网络通路,以及从你的客户端到它的 OPC UA 端点的通路。
- 经过审核的、从控制器项目导出的标签清单,这样导入的标签集是有意选定的,而不是浏览返回什么就要什么。
配置方法
- 有意识地构建 channel、device、tag 层次一个 channel 承载一个驱动及其通信设置,一个 device 是该 channel 上的一台控制器,tag 挂在 device 之下。这个三层结构会成为你的 OPC UA 浏览路径和 NodeId 标识符,所以要按工厂来命名,而不是按调试顺序命名。
- 导入标签而不是手工输入,然后做精简使用驱动的自动标签生成,或从控制器导出文件导入,然后删除不需要的部分。每保留一个标签都是扫描负载,也是一个潜在的 MonitoredItem,导入过多是网关主机负载过高的常见原因。
- 按设备和标签组设置扫描速率设备扫描速率是下游一切数据的真实分辨率。把计数器和状态字放进快速组,模拟量放进慢速组。任何 OPC UA 采样间隔都不可能细于为它供数的扫描。
- 在配置管理器中配置 OPC UA 端点OPC UA 端点、其安全策略和客户端信任列表是在独立的配置管理器中配置的,而不是在主项目树中。注意端点和证书的变更通常需要重新初始化或重启运行时服务后才会生效。
- 显式信任客户端证书先从客户端连接一次,让它失败,然后在配置管理器的客户端信任列表中批准该客户端证书,并在客户端侧信任服务器的证书。这个双向步骤是大多数第一天集成卡住的地方。
- 验证控制器离线时会发生什么断开控制器连接,观察 OPC UA 侧。你希望受影响的项报告 Bad 状态,而不是把陈旧值当作正常值保持,因为下游每一项停机计算都依赖于能够区分这两者。
- 记录命名空间 URI 和标识符格式读取 NamespaceArray 并记下标签命名空间的 URI。标识符遵循通道、设备和标签路径,因此应在配置中保存命名空间 URI 加标识符字符串,并在连接时解析索引。
地址空间是什么样子
地址空间镜像工程树:一个命名空间包含若干节点,其字符串标识符是以点分隔的通道、设备和标签路径,因此一个标签会以类似 ns=2;s=Channel1.Device1.MachineState 的形式出现。它是一份带文件夹的标签列表,不是信息模型。其中没有设备标识、没有标准状态机、没有标准计数器,也没有伴随规范的内容,而且也不可能有,因为驱动只能看到工业协议所暴露的内容。因此,你对通道、设备和标签施加的命名规范,就是消费者能得到的全部语义,这也是为什么值得把工程树当作一个有变更流程的已发布接口,而不是内部配置。
陷阱
- 驱动和连接授权是工期风险。一个在调试中途才发现第二个控制器系列还需要另一份驱动许可的项目,损失的是采购时间而不是工程时间。请提前与 PTC 确定许可范围。
- 时间戳产生于网关的扫描,而不是控制器中。SourceTimestamp 实际上就是轮询时刻,因此事件计时被量化到扫描周期。如果你需要精确的跳变时刻,请在 PLC 中打时间戳并把它作为一个值发布。
- 重命名通道、设备或标签会改变 NodeId 标识符,并使所有保存了它的客户端失效,对看似仍然存在的节点返回 BadNodeIdUnknown。整理配置时的重命名是真正的停机原因。
- 证书信任是实际部署中最大的障碍,而它位于一个独立的配置管理器中,初次接触该产品的工程师根本不知道它的存在。
- 端点和安全设置的变更往往需要重启运行时,这会同时断开所有已连接的客户端。请提前排期。
- 配置了不合适数据类型的标签能读却写不好,会返回 BadTypeMismatch 或静默截断。请把标签配置的类型与控制器的实际类型核对,而不要相信自动生成。
- 网关现在是一个生产依赖项,需要像其他服务器一样备份、对其项目文件做版本控制、打补丁和监控。
从中获取 OEE 数据
网关给你计数、状态信号和原因代码,仅此而已。由扫描得到的运行位推导的可用率会漏掉短于扫描周期的停机,其余停机的时间点也不精确,因此准确的做法是在控制器中维护状态、计数器和原因代码,让网关以数值方式承载它们。溢出和复位的处理属于下游,且必须显式化。网关地址空间中没有任何东西是标准化的,所以从标签名到 OEE 含义的映射因控制器程序而异,必须作为项目资料记录下来,下一台设备还得重做一遍。计划生产时间、班次日历、订单上下文和标准节拍时间在这里无论花多少配置工夫都拿不到。
在依赖它之前请先核实:驱动许可、客户端与连接数、套件与分级构成、支持的操作系统以及默认的 OPC UA 端点端口,全都由厂商决定,并在历次版本发布和产品更名中发生过变化。在采购或设计之前,请针对你确切的版本向 PTC 确认所需每个驱动的许可范围、支持的主机平台以及当前的端点默认值,不要把本页中的任何端口号、分级名称或数量当作商务输入。
相关集成
相关状态码
最后核对日期 2026 年 9 月 7 日,对照 OPC UA 1.05.07。OPC UA Connect 是教育资源,与 OPC Foundation 无隶属关系。