一 简介
本位将我前段时间所作分享PPT改成博文,文字数量会比较少,参考内容见文末。
因为对工业互联网领域不熟,所以有任何疑问或者问题欢迎指出。
- OPC UA是由 OPC基金会提出的一套工业标准。
- OPC是OLE for Process Control的缩写。
- OLE(Object Linking and Embedding)。
- 该标准分为三大部分,13份文档,如图所示。
常用缩写术语:
-
A&E:Alert and Events
-
COM: 组件对象模型(Component Object Model) 是微软基于Windows 平台的一套组件对象接口标准.
-
API: Application Programming Interface
-
DA: Data Access
-
DCS: Distributed Control System
-
HDA: Historical Data Access
-
HMI: Human-Machine Interface
-
PLC: Programmable Logic Controller
-
LDAP: Lightweight Directory Access Protocol
-
MES: Manufacturing Execution System.
MES系统是一套面向制造企业车间执行层的生产信息化管理系统。MES可以为企业提供包括制造数据管理、计划排程管理、生产调度管理、库存管理、质量管理、人力资源管理、工作中心/设备管理、工具工装管理、采购管理、成本管理、项目看板管理、生产过程控制、底层数据集成分析、上层数据集成分解等管理模块,为企业打造一个扎实、可靠、全面、可行的制造协同管理平台。 -
SCADA: Supervisory Control And Data Acquisition
SCADA(Supervisory Control And Data Acquisition)系统,即数据采集与监视控制系统。SCADA系统是以计算机为基础的DCS与电力自动化监控系统;它应用领域很广,可以应用于电力、冶金、石油、化工、燃气、铁路等领域的数据采集与监视控制以及过程控制等诸多领域。 -
WebService:
Webservice是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。 -
SOA:
面向服务的架构,是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。 -
SOAP: Simple Object Access protocol
-
UDDI: Universal Description ,Discovery and Integration 统一描述、发现和接入配置。
-
WSDL: Web Services Definition Language
-
XML: Extensible Markup Language
历史
OPC UA标准的讨论和概念形成于2003-2006年,当时基于微软windows操作系统DCOM组件技术的OPC Classic技术被大量工业设备和通讯系统采用。最早的OPC标准发布于1996年,当时主要是为了解决抽象化PLC的通讯协议(Modbus,Profibus…), 为上游的HMI/Scada系统提供一个统一的中间件,能够实现PLC到上游系统以及上游系统到PLC的数据读写操作。OPC技术基于的OLE组件通常仅仅在Windows系统能够得到支持。这在协议的通用性上逐渐就成为一个制约因素,同时随着信息技术的发展,对于数据传输和通讯的要求越来越高;同时对于信息安全的要求也是与日俱增。于是,OPC Foundation开始制定新的通用的,面向未来IT+OT一体化的标准。
2006-2008 OPC UA标准额验证和实施工作开始开展,2009年发布了第一个最终标准,在2010年-2012年,OPC
UA成为了IEC 62541标准。2017年7月,《OPC统一架构》正式成为国家标准GB/T 33863.1~.8-2017。
特征
- 访问统一性:包含OPC DA
- 平台独立性:嵌入式、微控制器、云
- 安全:加密、身份验证和审计
- 可扩展:在不影响现有应用的情况下添加新功能的能力 综合信息建模:用于定义复杂信息
1、一致性
OPC UA提供了一致、完整的地址空间和服务模型,解决了过去同一系统的信息不能以统一方式被访问的问题。
发现、地址空间、订阅、事件、方法等等。
2、平台独立性
基于Internet的WebService服务架构 (SOA) 和非常灵活的数据交换系统,
其使用与操作系统和硬件平台无关。
3、安全
传输、会话加密、消息签名、排序数据包
身份验证、用户控制、审计
4、可扩展
多层架构拥有更好的扩展性
5、OPC UA规范提供了基于OPC UA规范定义信息模型的可能性。
OPC UA 使用了对象作为过程系统表示数据和活动的基础。
整个信息模型部分实现了以信息为中心的分层架构。
最底层是传输协议和基本的数据模型定义,上一层是DA(Data Access),AC(Alarm & Condition),HA(Historic Data Access)和Prog,这些数据模型定义了通用的数据类型的格式,当然这些格式是可以进行扩展的。
信息模型
1、OPC UA 信息建模框架将数据转化为信息。
2、OPC UA 还定义了信息模型的必要访问机制。
- 查找机制(浏览)以查找实例及其语义
- 当前数据和历史数据的读写操作
- 方法执行
- 数据和事件通知以及审计功能
地址空间与节点网络
OPC UA 信息模型是节点的网络(Network of Node,),或者称为结构化图,该图由节点和引用组成,又被称之为OPC UA 的地址空间。
OPC UA 的信息由地址空间向外展示,地址空间被定义为“在客户端能显示 OPC UA服务器收集的信息”,OPC UA 客户端通过地址空间来访问服务器提供的数据和信息。
节点之间的关系用引用来表示,地址空间是由引用连接起来的节点网,通过它来表示数据交换的各种信息。引用不能直接访问,只那个间接地通过浏览节点访问,引用并没有表示为节点,不能包含任何属性和特性。
结点属性
节点(nodes) : 对象,对象类型,变量,变量类型,视图,方法,引用,数据类型
引用(reference) :结点之间通过引用连接在一起。
与编程概念不同。编程中,对象是一个实例,拥有变量和方法。而在地址空间中,对象是一个结点,事件是一个结点,方法是一个结点,各个结点通过引用连接在一起。
为避免混淆(不熟悉C++的可以不阅读这一段。)
在C++中,类是存储在代码段中,通过拷贝(实现)实例化成为对象,对象存储在堆中。
在OPC UA的概念下,类型和对象都是结点,通过引用的方式实现实例化,某种意义上,地址空间是一个摊平的网络。
对象通常有以下几种基本类型:
- ObjectTypes
- VariableTypes
- DataTypes
- EventTypes
- ReferenceTypes
ObjectTypes
1、General
2、BaseObjectType
- ObjectTypes for the Server Object
- ObjectTypes used as Event Object
ServerObject的定义包括服务器相关配置、Session会话诊断、地址空间、操作和传输冗余
Event Object的定义包括审计事件、安全、会话、系统事件等等的结点类别定义
VariableTypes
1、General
2、BaseVariableType
- Property Type
- Base Data Variable Type
变量类型自然是定义各种类型的变量的,这里我们可以认为是为了表示对象的某种属性定义的结构体,当然它也可以直接是一些简单的变量类型。
DataTypes
EventTypes
ReferenceTypes
Meta Model
我们可以看到在底层通讯协议的上面是OPC UA Meta Model,这个是定义了最基本的Node需要的信息。
CNC基本信息模型
上图是对CNC类型设备Information Model的定义,对于不同类型的设备或者总线连接。OPC Foundation的合作伙伴和合作组织定义了一系列的参考Model定义.
具体可以在官方网站上查看:通用Information Model定义
Robotics 信息模型
参考目录
https://www.rockysky.tech/myarticles/88/2021/01/17/
https://zhuanlan.zhihu.com/p/139837742
https://open62541.org/