首页 理论教育 优化OPCUA信息模型的标题

优化OPCUA信息模型的标题

时间:2023-06-27 理论教育 版权反馈
【摘要】:OPC UA已作为IEC 62541标准发布。用于IEC 61131-3的OPC UA信息模型是为标准编程语言的应用而开发的OPC统一体系结构。OPC UA信息模型除了采用伴随规范设备的模块、设备和参数外,还采用表1-90所示的OPC UA的术语。控制变量在OPCUA信息模型中,通常用控制作为前缀,例如控制变量、控制配置等。与OPC DA相反,它没有类似读数据对指定信息的显式请求,客户端可通过设置过滤规则限制事件的数量。

优化OPCUA信息模型的标题

OPC UA(Unified Architecture)是OPC(OLE for Process Control)基金会开发的OPC统一体系结构,它是不依赖任何平台的标准。通过确认客户端和服务器的身份和自动抵御攻击实现稳定安全的通信。OPC UA定义一系列服务器所能提供的服务,特定的服务器需向客户端详细说明它们所支持的服务。信息通过使用标准和宿主程序定义的数据类型进行表达。服务器定义客户端可识别的对象模型,提供查看实时数据和历史数据的接口,通过报警和事件通知客户端的重要变量或事件变化。OPC UA已作为IEC 62541标准发布。

用于IEC 61131-3的OPC UA信息模型是为标准编程语言的应用而开发的OPC统一体系结构。它就是软件模型的OPC信息表达。表1-89是OPC UA信息模型的组成。

1-89 OPC UA信息模型

978-7-111-59695-0-Chapter01-273.jpg

OPC UA结合现有标准,采用面向服务的体系结构(Service-Oriented Architecture,SOA),独立于平台的技术允许部署OPC UA超出当前的OPC应用程序只能用于Window的平台,例如,也可运行在基于Linux/Unix的企业系统。

代表它潜在制造商的OPC UA服务器规定类似的控制器,用基于IEC 61131-3的方式为客户端提供类似的服务,例如,可视化和MES。因此,用于IEC 61131-3的OPC UA信息模型可为PLC的供应商降低成本来发展OPC UA的服务器。

1.公用元素

OPC UA信息模型用于描述服务器地址空间的标准化节点。因此,信息模型定义一个空的OPC UA服务器的地址空间。但是,它不是对所有预期的服务器提供所有这些节点。

OPC UA信息模型除了采用伴随规范设备的模块、设备和参数外,还采用表1-90所示的OPC UA的术语。

1-90 用于IEC 61131-3OPC UA信息模型中的术语

978-7-111-59695-0-Chapter01-274.jpg

(1)数据类型

它是信息模型的常用元素。数据类型定义所使用参数的数据类型,防止出现如日期除整数等错误的发生。常用数据类型有布尔、整数、实数、字节和字,也包括日期(Date)、一天中的时间和字符串;可定义衍生数据类型,例如,定义一个模拟通道作为数据类型,并重复使用它。

(2)控制变量

在OPCUA信息模型中,通常用控制作为前缀,例如控制变量、控制配置等。控制变量是在控制配置、控制资源或控制程序中仅分配其显式硬件地址的变量。控制变量的应用范围限于被声明的组织单元。例如就地的控制变量。这表示它的名称可用于其他地方而不会发生错误。如果控制变量是全局范围有效的,则应在全局变量声明段声明。控制变量可在声明段设置用户的初始值,用于冷启动和启动时作为初始值。

(3)控制配置、控制资源和控制任务

与标准中的定义类似,这些元素在软件模型中被定义。

控制配置是在控制系统的特定类型定义的,它包括硬件的配置,即处理的资源、用于I/O通道的存储器地址和系统的功能等。在控制配置中可定义一个或多个控制资源,控制资源是处理设施,能够执行控制程序。一个控制资源中可定义一个或多个控制任务,控制任务用于控制一组控制程序和/或一组控制功能块的执行。控制任务可以周期执行,也可以由事件触发执行。

控制程序由定义的编程语言的不同软件元素编写的。通常,一个控制程序由控制函数和控制功能块的网络组成。它能够交换数据。控制函数和控制功能块是基本的模块,它包含数据结构和一个算法

(4)控制程序组织单元

在IEC 61131-3标准中,控制函数、控制功能块和控制程序称为控制程序组织单元。

控制函数有标准的控制函数和用户定义的控制函数。标准控制函数是ADD、ABS等。用户一旦定义了控制函数和控制功能块,就可以重复使用。

控制功能块用于表示一个专门的控制功能,像集成电路一样,与控制函数不同,它包含数据算法,有一个良好定义的接口和隐含的内部功能,像一个黑箱。例如,PID控制功能块一旦被定义,它就可用于不同项目的不同控制程序,即它是高度可复用的。用户定义的控制功能块是基于已定义的标准控制功能块、控制函数等。

控制函数和控制功能块的接口用同样方法描述。

控制程序是控制函数、控制功能块的网络。一个控制程序可用任何已定义的可编程语言编写。

标准顺序功能表图(SFC)被定义作为一个结构工具。

(5)编程语言

标准的四种编程语言被定义,它们是指令表(IL)、结构化文本(ST)、梯形图(LD)和功能块图(FBD)编程语言。

2.OPC UA模型

OPC采用客户端/服务器(C/S)方式进行信息交换。OPC服务器封装过程信息来源(如设备),使信息可通过它的接口访问。OPC客户端连接到OPC服务器后,可访问和使用它所提供的数据。

根据工业应用不同需求,OPC制定了三个OPC规范,即数据访问(DA)、报警和事件(A&E)和历史数据访问(HAD)。

(1)OPC数据访问

OPC DA接口可读写和监测包含当前过程的变量,将PLC、DCS和其他控制设备的实时数据迁移到HMI和其他显示客户端。它是OPC最重要的接口。

OPC DA客户端明确选择需要从服务器读、写或监测的变量。通过创建一个OPCServer对象建立一个服务器的连接。该服务器提供方法通过浏览地址空间分层寻找项目和它们的属性。

(2)OPC报警和事件

OPC A&E接口可接收事件通知和报警通知。事件通知是单条地告诉客户端的一个事件的发生。报警通知告诉客户端过程状态的变化超过了规定的要求,报警需要被确认。

OPC A&E客户端连接服务器,订阅通知,接收在服务器触发的所有根据指定的过滤规则过的通知。与OPC DA相反,它没有类似读数据对指定信息的显式请求,客户端可通过设置过滤规则限制事件的数量。

(3)OPC历史数据访问

OPC历史数据访问提供对已存储数据的访问,从简单的串行数据记录系统,到复杂的SCADA,历史数据记录以统一方式被检索。(www.xing528.com)

OPC HAD客户端通过HAD服务器中创建一个OPCHDAServer对象,进行连接,该对象提供读取和更新历史数据的所有接口和方法。而OPCHDABrowser浏览器对象浏览HAD服务器的地址空间。对历史数据提供三种读取方式:从指定时间范围内读取所有原始数据;读取指定变量在指定时间范围内的数据;读取历史数据库中指定变量在指定时间范围内的数据计算聚合值。

(4)OPC统一体系架构

OPC UA为应用程序之间提供互操作的、平台独立的、高性能的、可扩展的、安全和可靠的通信。它允许OPC UA应用程序运行在智能设备和控制器上,同时也运行在DCS和SCADA系统上,或运行在MES和ERP上,从而大大扩展了使用范围。

OPC UA通过在同一地址空间公开当前数据、事件通知及其历史,使不同的经典OPC规范功能得到统一。它采用面向对象的概念,提供了丰富的可扩展的信息模型,允许其他组织定义使用OPC UA通信基础设施的标准信息模型,使提供的信息简单,而用一个类型系统来丰富该信息。

OPC UA的对象是由其他对象、变量和方法组成的。在OPC UA服务器中,对象和相关的信息被称为地址空间。OPC UA对象模型的元素在地址空间用属性描述的节点和引用来内部连接表示。

OPC UA定义八种节点类,用于表示地址空间的组成。它们包括对象、变量、方法、变量类型、对象类型、数据类型、引用类型和视图等。用于IEC 61131-3的OPC UA信息模型使用对象和变量节点类型。

对象用于表示IEC 61131-3软件模型的组成,例如,控制程序、控制任务、控制资源和控制功能块等。一个对象与对应的对象类型一起定义该对象。

变量用于表示数值,定义了两类变量:属性和数据变量。

属性(Property)是服务器定义的对象、数据变量和其他节点的性能。属性不允许对它们定义其性能。例如,对象属性是控制任务的优先级性能。

数据变量(Data Variable)表示对象的内容。数据变量可以有组成的数据变量,它被用于服务器来暴露数组和结构数据的单一元素。信息模型用数据变量来表示在控制功能块和控制程序中包含的控制变量等数据。

OPC UA采用表1-91所示的图形符号表示节点类和引用。

1-91 OPC UA的图形符号

978-7-111-59695-0-Chapter01-275.jpg

3.系统架构和配置文件

(1)系统架构

图1-55显示一种可能的基于OPC UA规范的系统配置

978-7-111-59695-0-Chapter01-276.jpg

图1-55 基于OPC UA规范的系统配置

1)嵌入式OPC UA服务器。直接集成到一个控制器,用于提供控制程序和控制功能块对象。这种服务器允许直接从客户端经OPC UA协议在线访问信息。其他嵌入式应用程序,例如HMI,作为OPCUA客户端从控制器而不需要PC就可直接访问信息。

2)基于PC的OPC UA服务器。运行在PC平台的OPC UA服务器提供多控制器的访问功能。它们为控制资源、控制程序和控制功能块对象提供完整的类型信息。与控制器的通信使用OPC UA或专用协议。

3)具有工程功能的基于PC的OPC UA服务器。该类服务器在基于PC的OPC UA服务器上添加工程功能。允许访问控制器的工程系统,访问所使用工程和服务的组态等功能。

(2)一致性单位和配置文件

配置文件用一致性单位的分组命名。配置文件与其他配置文件结合,用于定义OPC UA服务器或客户端的完整的功能。在OPC UA的伴随规范设备(DI)中定义了基本设备服务器的配置文件、嵌入式UA服务器配置文件和标准的服务器配置文件。表1-92是控制器配置文件。

1-92 控制器配置文件

978-7-111-59695-0-Chapter01-277.jpg

注:控制器配置文件需要UADI定义的BaseDevice_Server_Facet配置文件的支持。

(3)示例

下面示例说明对象类型是控制功能块类型的一个整数加计数器功能块。

在OPCUA信息模型中,需要一个控制功能块类型CTU_INT的声明。它有三个控制变量输入,即计数输入CU、复位R和设定PV。一个就地控制变量PVmax用于设置最大计数值;有两个控制变量输出,即计数值到Q和当前计数值CV。采用结构化文本编程语言编写控制功能块类型CTU_INT程序如下:

978-7-111-59695-0-Chapter01-278.jpg

可用OPC UA表示该控制功能块。对象类型CTU_INT是对象类型控制功能块类型的子类型,它的组件由实例声明,并使用引用HasInputVar、HasLocalVar和HasOutputVar。图1-56显示它在OPCUA中的结构。

图中,对象Object是对象类型CTU_INT的实例,它由HasTypeDefinition引用。对象类型CTU_INT从对象类型的控制功能块衍生,它由HasSubType引用。图中还显示了控制功能块CTU_INT的两个实例MyCounter和MyCounter2。它们被用于控制程序MyTestProgram,即:

978-7-111-59695-0-Chapter01-279.jpg

978-7-111-59695-0-Chapter01-280.jpg

978-7-111-59695-0-Chapter01-281.jpg

图1-56 OPC UA表示的CTU_INT和它的两个实例

图中没有表示控制程序MyTestProgram。计数信号分别是Signal和Signal2,计数设定分别是24和19。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈