应用案例 | 使用dataFEED OPC Tunnel解决基于DCOM的OPC Classic通信难题

332ab2b5-d424-417a-8f5d-bf5a9cc1dcb2

一 背景

OPC(OLE for Process Control)Classic是一种基于COM(Component Object Model)的协议,用于在工业控制系统中实现数据通信和集成。它为工业自动化提供了一种标准接口,可使不同厂商的设备和系统之间进行数据交换和互联。OPC Classic被广泛应用于工业自动化领域,可适用于各种任务,如数据采集、数据存储与管理、可视化及控制等。

传统OPC组件之间的网络通信是通过配置DCOM来实现的。由于这种方式需要配置DCOM组件,因此操作相对复杂且可能导致系统不稳定。此外,端口135的开放还可能会造成严重的安全漏洞。更为关键的是,从2023年3月14日起,微软发布的Windows安全更新KB5004442(CVE-2021-26414)终止了现有基于DCOM的OPC Classic远程通信,如果OPC Classic应用程序不支持“数据包完整性”身份验证,OPC Classic用户的数据通信将受到影响。

c66120f7-86a4-47f6-8ade-9955810e116f
(通过DCOM实现OPC Classic远程通信)

二 项目概述

某知名化工企业,现场使用的是支持FOUNDATION Fieldbus(FF)协议的仪表来进行过程测量和控制,并通过艾默生DeltaV DCS系统进行实时过程控制与资产管理,再通过DeltaV OPC Server将现场仪表数据上传到Aspen InfoPlus.21实时数据管理系统以进行数据存储、监控与分析。

该企业内部各原料工厂的DeltaV工作站与InfoPlus.21系统之间的OPC Classic通信需要通过内部网络访问。目前,客户一直通过DCOM来实现OPC Classic的远程通信,但随着Windows安全更新KB5004442的发布,并经过现场工程师测试,现有基于DCOM的OPC Classic远程通信已无法正常运作。为了解决这个问题,该企业开始寻找一种能够很好替代目前通过DCOM来实现OPC Classic通信的解决方案,并确保无需修改已配置好的OPC Item ID,同时支持数据缓存与加密功能,还能跨越防火墙通信,保障传输的稳定性和安全性。

25b96e91-e33e-4e00-954a-584b92e56de8
(该企业内部某个原料工厂控制中心的原始方案图)

三 解决方案

为了确保跨网络数据交换的高性能和可靠性,该企业选择了Softing dataFEED OPC Tunnel作为OPC Classic远程连接的解决方案。dataFEED OPC Tunnel是dataFEED OPC Suite的组件之一,可利用OPC Tunnel技术巧妙绕过DCOM通信配置,同时能够保证跨网络数据交换的高性能和可靠性。此外,dataFEED OPC Tunnel内部集成的存储转发功能,可在连接中断时缓存数据,并在重新建立连接后自动转发数据。

| 快速更换现有配置并投入使用

dataFEED OPC Tunnel支持独特的数据源命名机制——通常情况下,添加数据源需要给该连接定义唯一的名称,且该名称也会作为数据源根节点的名称,而dataFEED OPC Tunnel支持设置数据源名称为空白。如此一来,连接数据源的数据项将直接作为名称空间的根节点,从而确保了OPC Item ID与更换前是一致的。因此,用户只需修改OPC Classic服务器的连接参数,而无需修改OPC Item ID,大大缩短了改造升级所需的时间。

3abd9b82-bb65-44f2-93d3-351034ba8c25
(使用dataFEED OPC Tunnel前后OPC Item ID对比)

| 安全稳定

dataFEED OPC Tunnel需安装在OPC客户端计算机和OPC服务器计算机上,且客户端和服务器端的OPC Tunnel都是通过可选加密的TCP/IP连接来进行通信的。此外,dataFEED OPC Tunnel还支持跨越防火墙通信,符合防火墙的企业安全策略,同时可确保通过网络传输数据的安全性,还可阻止未经授权的访问。

dataFEED OPC Tunnel在数据传输过程中具有高可靠性和完整性,支持数据缓存和自动重连机制,可确保在网络中断或其他异常的情况下,不丢失数据,还可在网络恢复后,自动重连并将缓存数据继续转发出去,从而保障了数据的连续性和完整性,提高了OPC通信的整体性能和可靠性。

7fc5bd14-0fe0-4dfd-a031-f59915f60e47
(dataFEED OPC Tunnel方案架构)

| 高效数据传输

dataFEED OPC Tunnel采用了高效的通信机制,不仅使得带宽需求大大减少,而且提高了数据传输性能。下图显示了通过DCOM使用“标准OPC”(左)和使用Softing OPC Tunnel(右)时,在OPC客户端和OPC服务器之间传输的数据量(以kB为单位)。可见,与基于DCOM的数据传输相比,通过OPC Tunnel进行的通信平均仅需50%的带宽

54eb9a9c-f627-4d27-b383-23c10c7fd3b5
(带宽图带宽需求对比)

| 可扩展升级

dataFEED OPC Tunnel是dataFEED OPC Suite的组件之一,而dataFEED OPC Suite是一体化的数据集成软件,用于OPC UA通信、大数据以及物联网云连接的一体化数据集成解决方案......

请点击此处,查看剩余30%精彩内容!

| 往期回顾

▶ Softing OPC Tunnel——绕过DCOM配置实现OPC Classic广域网通信

▶ dataFEED OPC Suite V5.20轻松应对Windows DCOM安全更新 

### 将XML数据转换为OPC UA格式 #### 使用dataFEED OPC Suite进行XML到OPC UA的转换 Softing推出的dataFEED OPC Suite V5.25支持通过XML文件访问过程数据[^1]。这意味着可以通过该套件读取XML中的数据并将其映射至OPC UA服务器中,从而实现从XML到OPC UA的数据传输。 对于希望利用此特性完成特定应用开发的技术人员来说,可以考虑如下方法: - **配置dataFEED OPC Suite**:安装并设置好最新的V5.25版本之后,在其界面内指定要导入的XML文件路径及其结构描述。 - **创建对应节点**:依据XML文档的内容建立相应的对象模型于OPC UA地址空间之下;这些对象能够表示实际物理设备或是逻辑上的业务实体等。 ```python from opcua import Server, ua server = Server() uri = "http://examples.freeopcua.github.io" idx = server.register_namespace(uri) node = server.get_objects_node().add_object(idx, "MyObjectFromXml") variable = node.add_variable(idx, "VariableName", value_from_xml) ``` #### 解析XML文件以获取结点集 除了上述商业解决方案外,还有其他方式可以直接处理XML文件来构建OPC UA的信息模型。例如,在Java环境中使用Eclipse Milo库下的`NodeParser`工具可以从给定的XML输入流提取所需信息,并据此生成一系列预定义好的OPC UA节点实例[^2]。 这种方法的优势在于它允许开发者更加灵活地控制整个转换过程中涉及的各种细节参数设定,同时也适用于那些寻求成本效益更高方案的企业或个人项目。 ```xml <NodeSet xmlns="http://opcfoundation.org/UA/2011/03/UANodeSet.xsd"> <!-- XML content representing the nodes --> </NodeSet> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值