OPC DA 到 OPC UA

OPCUA作为一种先进的工业通信标准,不仅涵盖了OPCDA、OPCHDA与OPCAE的功能,还引入了网络发现、地址空间优化、互访认证、数据订阅及方案执行等新特性。它突破了COM/DCOM的限制,实现了跨平台兼容,增强了安全性,并支持复杂信息建模。

转载自品略图书馆 http://www.pinlue.com/article/2020/04/2610/1010242394029.html

 

OPC实时数据访问规范(OPC DA)定义了包括数据值,更新时间与数据品质信息的相关标准。

OPC历史数据访问规范(OPC HDA)定义了查询、分析历史数据和含有时标的数据的方法。

OPC报警事件访问规范(OPC AE)定义了报警与时间类型的消息类信息,以及状态变化管理等相关标准。

【为什么要开发 OPC UA】

基于COM/DCOM的技术有着不可根除的缺点,因此随着技术的进步,以及数据交换各方面需求的提高,OPC基金会在2008年发布了新的规范:OPC UA。

【OPC UA 的技术特性】

OPC UA规范不再是基于COM/DCOM技术,因此OPC UA不仅能在Windows平台上实现,更可以在Linux,以及其他的嵌入式平台中实现。与传统OPC规范相同,OPC UA 同样有着相同的设计目标:1. 功能等价:所有的基于COM的OPC规范中的功能,都映射到了OPC UA中。2. 多平台支持:支持从嵌入式的微控制器到基于云的分散式控制架构。3. 安全:信息加密,互访认证以及安全监听功能。4. 扩展性:不影响现有应用程序的情况下,就可以添加新的功能。5. 丰富的信息建模:可定义复杂的信息,而不再是单一的数据。

【OPC UA相对于传统OPC的变化】

一、功能方面,OPC UA不仅支持传统OPC的所有功能,更支持更多新的功能:1. 网络发现:自动查询本PC机中与当前网络中可用的OPC Server。2. 地址空间优化:所有的数据都可以分级结构定义,使得OPC Client不仅能够读取并利用简单数据,也能访问复杂的结构体。3. 互访认证:所有的读写数据/消息行为,都必须有访问许可。4. 数据订阅:针对OPCClient不同的配置与标准,提供数据/消息的监控,以及数值变化时的变化报告。5. 方案(Methods)功能:OPC UA中定义了通过在OPCServer中定义方案(Methods),来让OPC client执行特定的程序。

二、平台支持方面,由于不再基于COM/DCOM技术,OPC UA标准提供的更多的可支持的硬件或软件平台。硬件平台诸如传统的PC机、基于云的服务器、PLC、ARM等其他微处理器;而软件平台可支持微软的Windows、苹果公司的OSX、安卓,以及其他的基于Linux的分布式操作系统。

三、安全性方面,最大的变化是OPC UA可以通过任何单一端口(经管理员开放后)进行通信,这使得OPC通信不再会由于防火墙受到大量的限制。

【OPC UA 的技术细节概述】

1、OPC UA在传输中可通过XML格式或者二进制格式来传输,并且可选择并兼容更多通用的IT通信协议,比如HTTPS。同时,在加密时,也能达到128或者256位的加密深度。在客户端与服务器的通信许可方面,OPC UA使用了OpenSSL许可证来规定哪些应用程序或系统可以使用OPC与另一端相连接。2、在建模方面,OPC UA将建模的架构由“数据建模”扩展为了“信息建模”。OPC UA规范中不仅仅提供了完整的面向对象的数据建模,同时也可定义复杂的多级结构体。数据类型或结构体都在配置文件(profiles)中定义,不仅可以定义已存在的传统OPC规范中的类型,还可以扩展加入其他的供应商或组织定义的新类型。

### 实现OPC DAOPC UA桥接服务的解决方案 为了实现从OPC DA (OLE for Process Control, Data Access) 到 OPC UA (Unified Architecture) 的桥接服务,可以采用多种工具和技术来完成这一目标。这些方法主要依赖于现有的中间件或开发框架,它们能够处理不同版本之间的协议换和数据映射。 #### 工具与技术概述 一些常见的用于构建此类桥接服务的工具有: - **Kepware KEPServerEX**: 这是一款广泛使用的工业通信平台,它提供了内置的支持以连接各种类型的设备和服务,其中包括将传统的 OPC DA 数据源无缝迁移到现代 OPC UA 客户端的能力[^1]。 - **MatrikonOPC Server Suite**: 提供了一个强大的迁移路径,允许开发者轻松创建兼容性的网关应用,在保持现有投资的同时升级至更安全可靠的统一架构环境。 #### 开发自定义桥接器的方法 如果选择自行开发,则需考虑以下几个方面: ##### 协议解析层 由于两者间存在显著差异(例如地址空间模型的不同),因此需要设计专门的功能模块来进行必要的适配工作。这通常涉及编写特定逻辑代码片段如下所示: ```csharp public class OpcDaToUaBridge { public void TranslateData(OpcDaItem daItem){ var uaNode = new UANode(); // Mapping logic here... // Example of setting node id based on item path. string[] parts = daItem.ItemPath.Split('/'); uint namespaceIndex = Convert.ToUInt32(parts[0]); ushort identifierType = GetIdentifierTypeFromPart(parts[1]); uaNode.NodeId = new NodeId(namespaceIndex ,identifierType); } } ``` 上述示例展示了如何通过简单的字符串操作提取所需信息,并将其化为适合UA节点结构的形式. ##### 性能优化策略 考虑到实时性和吞吐量的要求较高,建议采取多线程机制或者异步编程模式提高效率;另外还可以利用缓存减少重复查询次数从而降低延迟影响用户体验质量等问题发生几率. 最后值得注意的是虽然理论上任何具备相应技能的人都可以尝试自己动手制作这样的桥梁程序但是鉴于其复杂程度以及潜在风险因素除非绝对必要否则推荐优先选用成熟商业化产品作为首选方案之一因为这样不仅可以节省大量时间成本而且还能获得持续的技术支持保障整个系统的稳定性可靠性等方面表现更加优异出色.
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值