OPC UA协议基础

C#开发使用参考github地址:GitHub - OPCFoundation/UA-.NETStandard: OPC Unified Architecture .NET Standard

同步到gitee的地址:UA-.NETStandard: github导入:https://github.com/OPCFoundation/UA-.NETStandard

协议参考网站:OPC UA Online Reference - Released Specifications

使用opcua常用的方法和功能介绍

①连接和断开连接,当然还有断开重连

②认证,包括没有限制、需要用户名和密码、数字证书

③数据读取:先把数据读上来,然后根据数据类型转换即可。特别注意结构体读取需要特殊处理一下

④数据写入:OPC UA在数据写入时,对数据类型有严格要求,数据类型不会自动转换,会写入失败。所以写入数据时需要指定数据类型。特别注意结构体写入需要特殊处理一下

⑤订阅:数据订阅后服务器数据变化后会自动通知到客户端。相当于把压力放在了服务器。注意:服务器对与订阅资源是有限的,有的服务器必须显式的释放订阅资源,不然会造成订阅资源耗尽而订阅失败,必须重启服务端软件才能解决。

NuGet添加引用,搜索:OPCFoundation.NetStandard.Opc.Ua

术语

地址空间 AddressSpace

报警 Alarm

属性 Attribute

证书 Certificate

客户端 Client

条件 Condition

通信栈 CommunicationStack

复杂数据 Complex Data

发现 Discovery

事件 Event

事件通知者 EventNotifier

信息模型 Information Model

消息 Message

方法 Method

监视项 MonitoredItem

节点 Node

节点类 NodeClass

通知 Notification

通知消息 NotificationMessage

对象 Object

对象实例 Object Instance

对象类型 ObjectType

行规 Profile

程序 Program

引用 Reference

引用类型 ReferenceType

根节点 RootNode

服务器 Server

服务 Service

服务集 Service Set

会话 Session

订阅 Subscription

变量 Variable

视图 View

缩略语

下列缩略语适用于本文件。

A&E : 报警和事件( Alarmsand Events )

API : 应用程序接口 ( Application ProgrammingInterface )

COM : 组件对象模型( Component Object Model )

DA : 数据访问( Data Access )

DCS : 分布式控制系统( Distributed Control System )

DX : 数据交换( Data Exchange )

HDA : 历史数据访问( Historical Data Access )

HMI : 人机接口 ( Human-MachineInterface )

LDAP : 轻量目 录访问协议( Lightweight Directory Access Protocol )

MES : 制造执行系统( Manufacturing Execution System )

OPC : OPC 基金会(非赢利工业协会)[ OPC Foundation ( anon-profitindustryassociation )]

PLC : 可编程逻辑控制器( Programmable Logic Controller )

SCADA : 数据采集与监控( Supervisory Control And Data Acquisition )

SOAP : 简单对象访问协议( Simple Object Access Protocol )

TCP : 传输控制协议( Transmission Control Protocol )

UA : 统一架构( Unified Architecture )

UDDI : 通用描述、发现与集成( Universal Description , DiscoveryandIntegration )

GB / T 33863.1 — 2017 / IEC / TR62541-1 : 2010

UML : 统一建模语言( Unified Modeling Language )

WSDL : 网页服务定义语言( Web Services Definition Language )

XML : 可扩展标记语言( Extensible Mark-up Language)

CSMS : 网络安全管理系统( Cyber Security Management System )

DSA : 数字签名 算法( Digital Signature Algorithm )

PKI : 公共密钥基础设施( Public KeyInfrastructure )

RSA : 用于签名 或加密的公共密钥算法( Rivest , Shamir , Adleman )[ public keyalgorithmforsig-

ningorencryption ( Rivest , Shamir , Adleman )]

SHA1 : 安全散列算法 1 ( Secure Hash Algorithm1 )

SOAP : 简单对象访问协议( Simple Object Access Protocol )

SSL : 安全套接层( Secure Sockets Layer )

TLS : 传输层安全( Transport Layer Security )

UA : 统一架构( Unified Architecture )

URI : 统一资源标识符( Uniform ResourceIdentifier )

系统标准结构

设计目标

OPC UA 提供一致的、集成的地址空间和服务模型, 这允许一个 OPC UA 服务器将数据、报警、事 件和历史数据集成到地址空间, 并使用集成的服务集对其进行访问。 这些服务也包括集成的安全模型。

OPC UA 允许服务器向客户 端提供从地址空间访问的对象类型定义, 也允许使用信息模型描述地 址空间内容。 OPC UA 允许数据按不同格式表示, 包括二进制结构和XML文件。 数据格式可由 OPC 、其他标准组织或制造商定义。 通过地址空间, 客户端能向服务器查询描述数据格式的元数据。 在许多情况下, 没有数据格式的预编程序知识的客户端, 能实时确定数据格式并适当地使用数据。

两种传输映射:TCP;在 HTTP 上的 SOAP 网络服务。

集成服务

OPC UA 客户 端和服务器间的接口 定义为服务集。 这些服务被组织为逻辑分组, 称为服务集。 服 务集在第 7 章中讨论, 具体规定见 IEC62541-4 。

OPC UA 服务向客户端提供两种能力, 允许客户 端向 服务器发送请求, 以 及从服务器接收响应。 OPC UA 服务也允许客户 端向 服务器订阅通知( Notifications )。 服务器使用通知报告发生的情况, 如: 报警、数据值变化、事件和程序执行结构。

OPC UA 消息可编码为 XML 文本( Text )或从效率角度考虑编码为二进制格式。 可使用多个底层传 输发送消息,例如: TCP 或在 HTTP 之上的网页服务。 服务器可提供不同编码和传输,见 IEC62541-7。

AddressSpace (地址空间)节点

地址空间是客户 端使用 OPC UA 服务(接口 和方法) 可以 访问 的节点集。 地址空间 节点被用于表 示实际对象、对象定义和对象间的引 用。

地址空间组织

该模型用于按一致方式产生互联节点的地址空间。 服 务器可在所选择的地址空间内自由地组织它们的节点。 使用节点间的引 用允许服务器按层次结构、节 点的全网状结构或任何可能的混合结构, 组织地址空间。

地址空间视图

视图是地址空间的子集。视图可用于服务器限制向 客户 端公开的节点, 同时也限制了客户端发送 的服务请求的地址空间范围。缺省视图是整个的地址空间。服务器可以有选择地定义其他视图。视图 在地址空间中隐藏了一些节点或引用。通过地址空间视图是可见的, 客 端能浏览这些视图以确定它 们的结构。视图常为层次结构, 这种结构使客户端更容易以树型结构来定位和表示。

服务集

OPC UA 服务被分成若干服务集, 每个服务集定义了服务的逻辑分组, 可用于访问 服务器的特定 部分。

发现服务集

该服务集定义了用于发现系统中使用的 OPC UA 服务器的服务, 也提供客户 端读取连接服务器所要求的安全配置的方法。 发现服务由 单个服务器或专用发现服务器实现。

安全通道服务集

该服务集定义了用于打开确保与服务器间交换的所有消息的保密性和完整性的通信通道。

会话服务集

本服务集定义了在代表特定用户 的会话中, 建立应用层连接所使用的服务。

节点管理服务集

节点管理服务集允许客户 端添加、修改和删除地址空间的节点。 这些服务提供用于服务器配置的接口 。

视图服务集

视图是公开定义的由服务器建立的地址空间子集。 整个地址空间是缺省视图, 而且视图服务能在整个地址空间中操作。

查询服务集

查询服务集允许用户 在不浏览也不了解内部存储数据的逻辑结构的情况下, 访问地址空间。

查询允许客户 端基于客户端提供的过滤准则选择视图中节点的子集。通过查询语句从视图中选择的节点被称为结果集。

属性服务集

属性服务集用于读写属性值。属性是由 OPC UA 定义的节点的原始特性。属性可以不是由客户端或服务器定义。在地址空间中只有属性是唯一允许具有数据值的元素。数值属性是特殊属 性, 用于定义变量的值。

方法服务集

方法表示对象的功能调用, 定义见 IEC62541-3 。 方法被调用并在完成后无论成功与否都要返回信息。 方法的执行时间是不同的, 这取决于方法执行的功能。

监视项服务集

客户端使用监视项服务集建立和维护监视项。 监视项监视变量、 属 性和事件通知。当监视项检测到某些条件时产生通知。监视项监视变量的值或状态、值的属性是否变化, 以及是否有新产生的报警和事件报告的事件统治者。

每个监视项识别要监视的项, 并标识用于周期发布客户 端通知的订阅。

订阅服务集

客户端使用订阅服务建立和维护订阅。 订阅是为分配给它们的监视项周期地发布通知消息的实体。通知消息包含通用头和其后的通知序列。 通知格式对于监视项类型是特定的(变量、属 性和事件通知)。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值