OPC UA Specification 基础之四 :系统概念

6 系统概念
6.1 overview

 OPC UA系统架构将OPC UA客户端(Clients)和OPC UA服务器(Servers)设计为交互伙伴。每个系统都可以包含多个客户端(Clients)和服务器(Servers),每个客户端(Clients)可以并发地与一个或多个服务器(Servers)交互,每个服务器(Servers)也可以并发地与一个或多个客户端(Clients)交互。一个应用可以将客户端(Clients)和服务器(Servers)集成为一体并与其它客户端(Clients)和服务器(Servers)交互。图表 2 OPC UA系统架构展示了混合了客户端(Clients)和服务器(Servers)的系统架构。

图表 2 OPC UA系统架构

6.2 OPC UA客户端

 OPC UA客户端(Client)架构设计了客户端/服务器交互关系中的客户端(Client)端点(endpoint)。图表 3 OPC UA 客户端架构展示了典型的OPC UA客户端(Client)的主要组成元素以及相互之间的关系。

图表 3 OPC UA 客户端架构

 客户端应用(Client Application)是实现了客户端(Client)功能的代码,它利用OPC UA客户端(Client) API发送并接收OPC UA服务(Service)请求并向OPC UA 服务器(Server)做出反馈。服务(Service)请求在6.4节做介绍,并在Part 4做详细说明。
 OPC UA客户端(Client)API是用于将OPC UA 客户端(Client)代码与OPC UA 通信栈做隔离的内部接口。OPC 客户端(Client)通信栈将OPC UA客户端(Client)API的调用转化为消息(Messages),并根据客户端(Client)的请求,通过底层通信网络发送给服务器(Server)。OPC UA 通信栈同时也会从底层通信网络接收反馈和通知消息(NotificationMessages),然后通过OPC UA客户端(Client)API发送给OPC UA客户端(Client)应用。

6.3 OPC UA服务器
6.3.1 General

 OPC UA服务器架构设计了客户端/服务器交互关系中服务器(Server)端点(endpoint)。图表 4 OPC UA 服务器架构展示了典型的OPC UA服务器(Server)的主要组成元素以及相互之间的关系。

图表 4 OPC UA 服务器架构

6.3.2真实对象

 真实对象是那些可以被OPC UA服务器(Server)应用访问到的或者是内部管理的物理或软件对象。例如物理设备以及诊断计数器等。

6.3.3 OPC UA 服务器应用

 OPC UA服务器(Server)应用是实现了服务器功能的代码。它使用OPC UA服务器(Server)API向OPC UA 客户端(Client)发送和接收OPC UA 消息(Message)。OPC UA服务器(Server)API是用于将OPC UA服务器(Server)应用代码与OPC UA通信栈做隔离的内部接口.

6.3.4 OPC UA地址空间
6.3.4.1 地址空间的节点

 地址空间(AddressSpace)被设计成为能被客户端(Client)通过OPC UA 服务(Services)(接口(Interface)和方法(Methods))而访问到的节点(Nodes)集合。地址空间(AddressSpace)中的节点(Nodes)被用于表示真实对象,包括这些对象的定义及相互引用(References).

6.3.4.2地址空间的组织

 Part 3包含了元模型(meta model)“构造块(building blocks)”的细节内容。这些元模型(meta model)被用于以一致性的方式构造地址空间(AddressSpace)。服务器(Server)可以自由的组织地址空间(AddressSpace)的节点(Nodes),节点(nodes)之间的引用(references)的使用,允许服务器将地址空间(AddressSpace)构造成有层次的结构、全网格状的节点(nodes)网络结构,或其它任何可能的混合状态的结构。

 Part 5定义了节点(Nodes),引用(References)以及在地址空间(AddressSpace)中可能的组织方式。一些配置文件(Profiles)并不要求所有的OPC UA节点(Nodes)都实现。

6.3.4.3地址空间视图

 视图(Views)是地址空间的子集。服务器(Servers)使用视图(Views)功能限制展示给客户端(Clients)的节点(Nodes)。也就限制了客户端(Clients)提交的服务(Service)请求所对应的地址空间(AddressSpace)的大小。默认的视图(Views)是完整的地址空间(AddressSpace),服务器(Servers)可选则的定义其它视图(Views)。视图(Views)隐藏了地址空间(AddressSpace)的一部分节点(Nodes)以及引用(References)。通过地址空间(AddresSpace)可以访问视图(Views),客户端(Clients)可以观察视图(Views)以确定其结构。视图(Views)通常是层次结构的,便于客户端(Clients)在视图(Views)内部以树的方式进行描述及导航。

6.3.4.4对信息模型的支持

 OPC UA地址空间(AddressSpace)通过以下方式实现对信息模型的支持。

  • 节点(Nodes)之间的引用(References)。允许地址空间(AddressSpace)中的对象(Objects)相互关联;
  • 对象类型节点(ObjectType Nodes)提供真实对象的语义上的信息(类型定义);
  • 对象类型节点(ObjectType Nodes)支持对象类型定义(Type Defination)的子类化;
  • 地址空间中(AddressSpace)的数据类型定义,允许工业特有的数据类型的使用;
  • OPC UA伙伴标准的使用,允许工业组织定义如何在OPC UA地址空间(AddressSpace)中表示特殊标准的信息模型。

6.3.5发布/订阅实体
6.3.5.1监控项目MointeredItems

 监控项目(MoniteredItems)是由客户端(Client)在服务器(Server)中创建的,用于监控地址空间节点(AdressSpace Nodes)以及节点(Nodes)相关的现实世界的实体(Entities)。当监控项目(MoniteredItems)检测到数据变化或事件/报警发生后,监控项目(MoniteredItems)会产生反馈通知(Notification),并以订阅(Subscription)的方式传送给客户端(Client)。

6.3.5.2订阅
 订阅(Subscription)是服务器(Server)中的端点(endpoint),用于向客户端(Client)发送通知(Notification)。客户端(Client)通过发送发布消息控制发布的频率。

6.3.6 OPC UA服务接口
6.3.6.1 General

 OPC UA中定义的服务(Service)在6.4节中定义,并在Part 4中详细说明。

6.3.6.2 请求/响应服务

 请求/响应服务(Service)是由客户端(Client)经过OPC UA服务接口唤起的服务(Service),用以针对地址空间(AddressSpace)中的节点(Nodes)执行特定的任务,并返回一个响应。

6.3.6.3 发布服务

 发布服务(Service)经由OPC UA服务(Service)接口唤起,用以向客户端(Clients)周期性地发送通知(Notification)。通知(Notification)包括事件(Events)、报警(Alarms)、数据变化以及程序输出。

6.3.7 服务器之间的交互

 服务器(Server)到服务器(Server)的交互,即一个服务器(Server)作为客户端(Client)与另外一个服务器(Server)交互。服务器(Server)的交互可以用于服务器(servers)的开发过程:

  • 基于点对点的交换信息。包括冗余服务器和用于管理系统范围的类型定义的远程服务器;
  • 在具有层次结构的服务器(Servers)之间链接信息,用于提供:
  • 底层服务器(Servers)的信息的聚合;
  • 为客户端(Clients)构建高层次的数据;
  • 为给客户端(Clients)提供的用于访问多个底层服务器的单一的汇聚接口。

 图表 5服务器间点对点的交互示例了服务器(Server)之间的交互。

图表 5服务器间点对点的交互

 图表 6链式服务器例子示例了如何链接服务器,并在企业中实现垂直访问。

图表 6链式服务器例子

6.4 冗余

 OPC UA提供的数据结构和服务(Services)使冗余功能可以标准化的方式实现。冗余用于高可靠性、容错以及负载平衡。Part 4对客户端(Clients)、服务器(Servers)以及网络冗余做详细规范。只有部分的配置文件(Profiles)需要冗余支持,而不是基础配置文件(Profiles)。

 客户端(Clients)和服务器(Servers)所需采取的处置措施分为两种截然不同的服务器冗余(Server Redundancy)模式:透明的和非透明的。Part 4中定义了客户端(Clients)和服务器(Servers)在两种冗余模式下的职责。

 支持不透明冗余的服务器(Servers)也可以支持客户端控制的负载平衡。包括对服务请求(Request)反馈能力在内的服务器(Servers)的健康状态,被定义为服务级别(ServiceLevel)。Part 5详细说明了服务级别(ServiceLevel)。Part 4详细说明了四个不同的服务级别(ServiceLevel)的子范围以及如何使用的例子。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

steventian72

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值