====== OPCUA协议简介 ====== OPC UA的全名是OPC Unified Architecture(OPC统一架构)。是OPC基金会应用在自动化技术的机器对机器网络传输协议。 有以下的特点: \\ 着重在资料收集以及控制为目的的通讯,用在工业设备以及系统中 \\ 开源标准:标准可以免费取得,实作设备不需授权费,也没有其他限制 \\ 跨平台:不限制操作系统或是编程语言 \\ 面向服务的架构(SOA) \\ 强健的信息安全特性 \\ 整合的信息模型,是资讯整合中,基础设施的基础,制造商以及组织可以将其复杂的资料在OPC UA命名空间上建模,利用OPC UA面向服务的架构的优点。 \\ ---- ===== OPCUA概述 ===== 2008年发布的OPC统一架构(UA)将各个OPC Classic规范的所有功能集成到一个可扩展的框架中,独立于平台并且面向服务。 这种多层方法实现了最初设计UA规范时的目标: 功能对等性:所有COM OPC Classic规范都映射到UA 平台独立性:从嵌入式微控制器到基于云的基础设施 安全性:信息加密、身份验证和审核 可扩展性:添加新功能而不影响现有应用程序的能力 综合信息建模:用于定义复杂信息 ==== 功能对等性 ==== 基于OPC Classic的成功,OPC基金会推出了新的技术标准OPC UA。 OPC UA实现了所有OPC Classic的功能,并有以下的增强和超越: 发现:在本地PC和/或网络上查找可用的OPC服务器 地址空间:所有数据都是分层表示的(例如文件和文件夹),允许OPC客户端发现、利用简单和复杂的数据结构 按需:基于访问权限读取和写入数据/信息 订阅:监视数据/信息,并且当值变化超出客户端的设定时报告异常 事件:基于客户端的设定通知重要信息 方法:客户端可以基于在服务器上定义的方法来执行程序等 OPC UA产品和OPC Classic产品之间的集成可以通过COM/Proxy Wrappers轻松实现。 ==== 平台独立性 ==== 鉴于市场上有各种各样的硬件平台和操作系统,平台独立性就显得至关重要。OPC UA包含但不限于以下平台及系统: 硬件平台:传统PC硬件、云服务器、PLC、微控制器(ARM等) 操作系统:Microsoft Windows、Apple OSX、Android或任何Linux发行版本等 OPC UA为企业之间的互操作性提供必要的M2M、M2E及两者之间的基础架构。 ==== 安全性 ==== 企业在选择技术标准时最重要的考虑之一是安全性。OPC UA在通过防火墙时通过提供一套控制方案来解决安全问题: 传输:定义了许多协议,提供了诸如超快OPC二进制传输或更通用的SOAP-HTTPS等选项 会话加密:信息以128位或256位加密级别安全地传输 信息签名:信息接收时的签名与发送时必须完全相同 测序数据包:通过排序消除了已发现的信息重放攻击 认证:每个UA的客户端和服务器都要通过OpenSSL证书标识,提供控制应用程序和系统彼此连接的功能 用户控制:应用程序可以要求用户进行身份验证(登录凭据,证书等),并且可以进一步限制或增强用户访问权限和地址空间“视图”的能力 审计:记录用户和/或系统的活动,提供访问审计跟踪 ==== 可扩展性 ==== OPC UA的多层架构提供了一个“面向未来”的框架。诸如新的传输协议、安全算法、编码标准或应用服务等创新技术和方法可以并入OPC UA,同时保持现有产品的兼容性。 今天的UA产品能够与未来的UA产品互联互通。 ==== 综合信息建模 ==== OPC UA信息建模框架将数据转换为信息。通过完全面向对象的功能,即使是最复杂的多级结构也可以建模和扩展。数据类型和结构在配置文件中定义。 例如,现有的OPC Classic规范被建模为UA配置文件,也可以由其他组织扩展: ===== IEC 62541 ===== IEC 62541是OPC UA的标准 {{:opcua:pasted:20190926-160317.png}} ===== OPC协议和OPC UA协议的区别 ===== 使用的TCP层不一样,如下: OPC是基于DOM/COM上,应用层最顶层;OPC UA是基于TCP IP scoket 传输层. {{:opcua:pasted:20190926-160111.png}} OPC虽然通过配置COM/DOM来提供数据加密和签名功能,配置防火墙,用户权限来让数据访问变得更加安全,但是会增加额外的工作量,尤其是对非IT的工程师来说; \\ 对于OPC UA,数据加密和签名,防火墙等都是默认的功能。 \\ 比如基于DOM的OPC使用的动态端口分配,端口不固定,让防火墙难以确定,而OPC UA的端口都是唯一的,比如SINUMERIK 840D是PORT 4840,SIMATIC S7是PORT 4845。 \\ DOM/COM也可以生成不同级别的事件日志,但日志内容不够详细,只会提供“谁连接上服务器”这种,而对于OPC UA来说都是默认的功能,生成的日志内容更全面。 \\