1.OPC UA规范组成
OPC统一体系架构规范由十一部分组成。各部分规范概要介绍如下:
第一部分——概念
这部分规范描述了关于OPC UA 服务器和客户端的基本概念。
第二部分——安全模型
这部分规范描述了用于OPC UA客户端和OPC UA服务器之间安全交互的模型。
第三部分——地址空间模型
这部分规范描述了服务器地址空间的内容和结构。
第四部分——服务
这部分规范指定了OPC UA服务器提供的所有服务。
第五部分——信息模型
详细说明了为OPC UA服务器定义的标准数据类型和它们之间的关系。
第六部分——映射
这部分规范详细说明了OPC UA支持的传输映射和数据编码机制。
第七部分——协议
这部分规范详细说明了可用于OPC客户端和服务器的协议。这些协议提供了可用于一致性标准的服务和功能。服务器和客户端可依靠这些协议来进行测试。
第八部分——数据访问
详细说明了如何使用OPC UA进行数据访问。
第九部分——报警与事件
详细说明了使用OPC UA对报警与条件通道的支持。基本的系统包括对简单事件的支持;这部分规范拓展了对报警与事件的支持。
第十部分——程序
详细说明了OPC UA对程序访问的支持。
第十一部分——历史数据访问
详细说明了使用OPC UA对历史信息的访问。访问包括对历史数据和历史事件的访问。
2.OPC UA规范总貌
2.1 介绍
OPC统一体系结构是一个不依赖任何平台的标准,借助此标准各种各样的系统和设备能在不同的网络中以C/S的模式进行通信。OPC统一体系结构通过确认客户端和服务器的身份和自动抵御攻击来支持稳定的、安全的通信。OPC UA定义了一系列服务器所能提供的服务,特定的服务器需要向客户端详细说明它们所支持的服务。信息通过使用标准的和宿主程序定义的数据类型进行表达。服务器定义客户端可识别的对象模型。服务器可以提供查看实时数据和历史数据的接口,并且由报警和事件组件来通知客户端重要的变量或事件变化。OPC U
A可以被映射到一种通信协议上并且数据可以以不同的形式进行编码来达到传输便捷和高效的目的。
2.2 设计目标
OPC UA提供了一个一致的、完整的地址空间和服务模型。这就允许一个单一的OPC UA服务器把数据,报警与事件和历史信息统一到它的地址空间里,并且可以用一套统一的服务为它们向外提供接口。这些服务也包括一个统一的安全模型。
对于地址空间中要被访问的对象,OPC UA也允许服务器给客户端提供类型定义。这使得标准信息模型可以被用来描述地址空间的内容。OPC UA允许数据以不同的格式暴露出来,包括二进制结构和XML文档。数据格式可能被OPC或其他标准组织和厂商定义。通过地址空间,客户端能向服务器查询描述了数据格式的元数据。在许多情况下,没有数据格式编程知识的客户也能够在运行时刻决定数据格式并能恰当的使用数据。
OPC UA扩充了对节点间关联的支持而不是把节点限制在单一的层面上。这样就使得,一个OPC UA服务器能从不同的层面提供数据,来满足客户端有选择性查看数据的要求。这种
灵活性,不仅融合了对类型定义的支持,而且使得OPC UA适用于更宽泛的领域。所以,OPC UA不仅致力于现场遥测的服务层面,而且在上层管理功能上也提供了更好的互用性。
OPC UA的目标是源源不断地提供已公布的数据。所有OPC服务器的一个主要特就是发布数据和事件通知。OPC UA为客户端提供的机制可以使其快速检测到传输过程中的错误,并从中恢复过来,而不用等到底层协议所设定的超时时间结束。
OPC UA目标也要支持更广泛的服务器,从底层的PLC到企业服务器。从容量,性能,执行平台和功能上区分这些服务器。因此,OPC UA定义了一系列功能,不同的服务器可能只实现所有功能中的某些功能。为了推动互操作性,OPC UA定义了标准子集,与协议相关,以保证不同服务器的一致性。客户随后可以得到一个服务器的协议,然后依靠协议来和服务器进行交互。规范的第七部分详细说明了协议。
把OPC UA规范划分成不同的部分是为了把核心设计从底层的运算处理和网络传输分离出来。这使得OPC UA在不改变基础设计的情况下,被运用到未来技术上称为可能。映射和数据编码被定义在规范的第六部分。这里也定义了两种数据编码形式:
可扩展标记语言/文本形式
tcp ip协议 opc ua UA 二进制形式
另外,这部分规范给出了两种传输协议:
TCP(传输控制协议)
运用于HTTP(超文本传输协议)之上的网络服务简单对象访问协议
由于客户端和服务器支持多种传输形式和编码形式,这使得最终用户可以在实施阶段来确定性能和网络服务兼容性之间的平衡点,而不是由OPC厂商在生产定义阶段确定其平衡点。
OPC UA的设计对于基于微软COM技术的OPC客户端和服务器来说,是可移植的。可移植性在设计OPC UA的时候已经给予了考虑,以至于由OPC COM服务器(数据访问,历史数据访问和事件报警)暴露出来的数据可以通过OPC UA进行映射和暴露出来。生产厂商既可以直接遵循OPC UA标准移植他们的产品,也可以对先前的产品进行外部封装来达到从OPC COM到OPC UA的过渡。先前每种OPC规范都是定义自己的地址空间和相应服务。OPC UA用一套服务把先前的各种模型统一到一个单一的地址空间里。
2.3 统一的模型和服务
2.3.1 安全模型
2.3.1.1 概要
OPC UA安全性主要考虑:客户端和服务器的合法性,用户的合法性,客户端和服务器之间通信的一致性和机密性,功能发布的真实性。OPC UA安全性不指定包含了多种必需安全机制的环境。安全模型规范是非常重要的,但是它可能在特定条件下由系统的设计者来制定,也可能由其他标准来指定。
另外,OPC UA提供了一个安全模型,规范的第二部分给予了定义,安全方法可以针对给定设备进行选择和配置来满足其安全性需要。安全模型包括标准安全机制和参数。在某些情况下,用于交换安全参数的机制需要定义,但是运用这些参数的方法不用定义。框架也定义了所有UA服务器必须支持的最少安全功能子集,即使这个功能子集中的功能没有被用在所有设备中。规范的第七部分定义了安全性协议。
2.3.1.2 建立会话
应用程序级的安全性依靠一个安全的通信通道,这个通信通道在应用程序会话过程中始终
有效,并且保证所有被交换信息的完整性。这也就意味着用户在应用程序会话建立时进行一次认证就可以了,不需要第二次认证。规范的第四部分和第六部分定义了建立安全通道和应用程序会话的机制。
当一个会话建立时,客户端和服务器应用程序协商构造一个安全通信通道并且交换表明客户端和服务器身份的软件认证书还要交换各自所能提供功能的信息。OPC基金会发布的软件认证书显示了OPC UA中应用程序需要实现的基本要求,而且OPC UA认证标准贯彻到了每个协议中。规范的第七部分详细说明了每个协议和认证书的细节。由其他组织发行的认证也可能在会话建立期间进行交换。
会话建立之后,服务器会对用户身份进行鉴别,随后批准用户对服务器中对象访问的请求。诸如访问控制列表这样的授权机制,OPC UA规范没有给予详细说明。这些机制与特定的应用程序或系统有关。
2.3.1.3 审核
在客户端和服务器审查日志可查的条件下,用户级安全性为安全审查记录提供支持。如果
在服务器端检测到一个安全连接问题,与之关联的客户端将在其审查日志中添加相应条目。OPC UA也为服务器提供了产生审查事件通知的功能,审查事件通知可以向有能力处理和记录审查事件的客户端报告审查性的事件。OPC UA定义了标准审查参数,审查日志和审查事件通知都可以包含这些参数。规范的第五部分定义了这些参数的数据类型。并不是所有的服务器和客户端都提供所有的审查特性。规范第七部分的协议显示了所要支持的审查特性。
2.3.1.4 传输安全性
OPC UA安全性弥补了大部分网络服务可选平台上底层结构安全性的不足。传输级别上的安全性可以用来加密并标记消息。加密和标记技术防止了信息的泄露,保证了消息的完整性。用于在OPC UA应用程序之间传递消息的底层通信技术提供了加密功能。规范的第七部分定义了用于给定协议上的加密和标记方法。
2.3.2 统一的地址空间模型
OPC UA服务器为客户端提供的对象和相关信息都是与服务器的地址空间有关的。OPC UA地址空间是以一组用引用形式连接起来的节点来描绘它的内容的。
OPC定义的属性描述了节点的原始特性。属性仅仅是一个服务器中拥有数值的元素。用来定义属性值的数据类型既可以是简单数据类型也可以是高级数据类型。
依照地址空间中节点的用途和含义,把它们进行分类。节点类为OPC UA的地址空间定义了元数据。规范的第三部分定义了OPC UA节点类。
节点基类定义了所有节点的公共属性。包括认证,分类和命名。每个节点类继承这些属性并可以另外定义自己的属性。
为了提高客户端和服务器的互操作性,在对所有服务器进行最高级标准化的条件下,对OPC UA的地址空间进行分层组织。尽管地址空间中的节点经过分层后,是相对独立唯一的,但是节点之间可能存在引用关系。这就使得地址空间可以描绘出一个相关联的节点网络。规范的第三部分定义了地址空间模型。
OPC UA服务器把地址空间以视点的形式划分成不同的子集,以此向客户端扩充自己的访问通道。3.3.3.3展示了地址空间视点的更多细节。
2.3.3 统一的对象模型
OPC UA对象模型提供了一套一致的、完整的节点类来描述地址空间中的对象。模型中根据对象包含的变量,事件,方法以及和其他对象的关系来描绘对象。规范的第三部分详细介绍了对象模型。
OPC UA对象模型允许服务器为对象提供类型定义和对象组件。类型定义可以被继承,也可以标准化或是由系统指定。对象类型可以由OPC基金会,其他权威组织,生产商或最终用户来定义。
统一对象模型允许把数据访问,事件报警,和历史数据访问功能集成到一个单一的OPC UA服务器中。例如,OPC UA服务器可以把一个温度传感器描述成一个对象,它由温度值,报警参数和相应的报警上下限组成。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论