掌桥专利:专业的专利平台
掌桥专利
首页

基于结构化数据库的OPC UA信息模型自动构建方法

文献发布时间:2023-06-19 10:27:30


基于结构化数据库的OPC UA信息模型自动构建方法

技术领域

本发明属于工业自动化技术领域,尤其涉及OPC UA信息模型的构建方法,具体是一种基于结构化数据库的OPC UA信息模型自动构建方法,可用于工厂传统生产线的智能化改造。

背景技术

工业互联网是新一代信息通信技术与先进制造技术不断深度融合的产物。由于工业系统复杂度的日益提高和应用规模的不断扩大,产线内各仪表、PLC等设备来自于不同的生产商,采用不同的物理接口、不同的工业通信协议和数据格式,工业互联网海量异构设备间的互联互通仍然存在着大量的问题。目前OPC UA(OPC Unified Architecture)被广泛认为是解决工业互联网互联互通问题最好的技术之一,是一套安全、可靠、并且独立于制造商和平台的数据交互规范,使得不同操作系统和不同制造商的设备之间可以进行数据交互,解决了互通性和标准化问题。OPC UA可以被应用到现场层、控制层等各类信息系统层面,适用于不同的运行环境和应用需求,实现工厂各个环节数据的横向与纵向透明交互,具有广阔的发展前景。

互联互通不只是数据的通信,为了适应不同的应用需求,需要对信息进行建模。OPC UA在实现互联互通的基础上进一步促进了语义互操作性的实现,采用面向对象的技术来描述设备对象,定义设备的属性变量、操作方法以及与其他对象之间的关系,给出数据的组织结构,更有效地展示数据的语义。

目前国内对于OPC UA的研究尚处于起步阶段,能为其设备、系统提供OPC UA信息模型的供应商相对较少,当使用这些设备的工厂要应用OPC UA技术实现数据采集时,就需要了解并分析设备,确定其属性、方法以及与其他设备之间的关系,并结合工厂需求筛选出待采集的有价值数据,进而通过人工手动的方式去构建OPC UA信息模型,费时费力。并且只有对产线、设备和生产流程等非常了解时,才能通过手动的方式构建出设备的信息模型以完成产线的OPC UA通信改造,专业知识要求高。另外,针对工厂内的每一类设备,都需要进行手动构建操作,工作量大且繁琐,工作效率低。

因此,如何充分利用传统生产线的现有信息,实现OPC UA信息模型的自动化构建,降低专业门槛的同时减少人力投入,是当前亟待解决的一个重要问题。

发明内容

本发明的目的在于针对上述问题,提出一种基于结构化数据库的OPC UA信息模型自动构建方法,通过连接工厂传统生产线现有的MySQL数据库,解析包含产线设备实体及对应实体属性的数据库模式信息,并采用Apache Jena工具包将解析出的三元组数据结构按照映射规则写成OWL三元组文件;进而根据UA-ModelCompiler工具规定的输入格式,采用Java DOM工具包生成信息模型XML文件,以通过UA-ModelCompiler工具转换生成符合OPCUA Nodeset XML Schema规范的信息模型XML文件;最后采用open62541工具将信息模型XML文件转换为.c文件和.h文件,进而可实现信息模型在OPC UA服务器地址空间中的实例化,以供OPC UA客户端浏览并获取实时数据,为OPC UA在新一代工业自动化领域的应用提供技术支撑。

本发明的目的是通过以下技术方案来实现的:一种基于结构化数据库的OPC UA信息模型自动构建方法,该方法包含以下步骤:

(1)导入传统生产线现有的结构化数据库,结构化数据库格式清晰,数据规范,包含模式信息,即具体的数据库表结构信息,例如“风机”数据表包含“风机速度”、“风机加速度”等字段;

(2)解析包含产线设备实体及对应实体属性的结构化数据库模式信息,处理映射为三元组数据结构集合,即构建形如“实体1-关系-属性1”或“实体1-关系-实体2”的属性关系三元组;

(3)基于三元组信息生成OWL文件:利用Java工具箱Apache Jena,将步骤(2)中的三元组数据结构集合中的实体、关系和属性分别映射为OWL中的类、对象属性和数据属性,并写入OWL文件;

(4)映射生成信息模型XML文件:利用Java工具箱Apache Jena解析步骤(3)中的OWL文件,将OWL中的类、对象属性和数据属性分别映射为OPC UA信息模型中的对象类型、引用类型和变量,利用Java DOM工具包生成符合UA-ModelCompiler工具输入规范的信息模型XML文件;

(5)利用UA-ModelCompiler工具将步骤(4)得到的信息模型XML文件转换生成符合OPC基金会官方语法规范的信息模型XML文件,作为建立OPC UA地址空间的基础;

(6)利用open62541内置工具将步骤(5)得到的信息模型XML文件编译转换为.c文件和.h文件;

(7)利用open62541开源库建立OPC UA服务器,并基于步骤(6)中的.c文件和.h文件,通过调用文件中的构造函数,使步骤(1)-(6)构建的信息模型在OPC UA服务器的地址空间中实例化,完成OPC UA信息模型自动构建。

进一步地,步骤(1)中,对于工厂内的传统生产线,有价值的设备数据已通过RS232、RS485、以太网等通信接口和供应商特定的通信协议被采集并存储至结构化数据库中。

进一步地,经步骤(2)和步骤(3)生成的OWL文件可通过如下方式由结构化数据库映射而来,转换过程如下:

①数据库中的表(Table)映射为OWL中的类(Class);

②数据库中的列(Column)映射为OWL中的数据属性(Datatype Property);

③数据库中列的数据类型(Data Type)映射为OWL中的属性约束(PropertyRestriction);

④数据库中的外键(Foreign Key)映射为OWL中的对象属性(Object Property)。

进一步地,步骤(4)所述的信息模型XML文件可通过如下方式由OWL文件映射而来,转换过程如下:

①OWL中的类(Class)映射为OPC UA信息模型中的BaseObjectType下的对象类型(ObjectType)节点;

②OWL中的数据属性(Datatype Property)映射为OPC UA信息模型中的变量(Variable)节点,变量(Variable)通过HasProperty关系组织在对象类型(ObjectType)下,对应于设备实体的属性;

③OWL中的属性约束(Property Restriction)映射为OPC UA信息模型中的数据类型(DataType)节点;

④OWL中的对象属性(Object Property)映射为OPC UA信息模型中的引用类型(ReferenceType)节点。

进一步地,步骤(7)中实现的OPC UA信息模型和OPC UA服务器的地址空间,可供任何使用OPC UA标准的客户端程序采用统一的方式访问产线设备的数据信息,以将新的技术标准OPC UA引入产线,提高控制系统的互操作性和可扩展性。

本发明与现有技术相比具有以下优点:

(1)本发明充分利用了工厂传统生产线的现有信息,将结构化数据库的模式信息映射为OWL三元组,再进一步映射为OPC UA信息模型,实现了OPC UA信息模型的自动构建,解决了人工手动构建信息模型工作量大且耗时长的问题,从而提高了构建效率。

(2)本发明采用UA-ModelCompiler工具生成符合OPC UA Nodeset XML Schema规范的信息模型XML文件,使得对OPC UA专业领域了解不深的工程师也能轻松构建出OPC UA信息模型。

(3)本发明基于传统生产线实际生产时的数据库信息构建OPC UA信息模型,得益于建立数据库时精心的需求分析,OPC UA信息模型仅包含产线运行、管理时所需的有价值数据,以更高的质量满足工厂需求。

附图说明

图1是本发明的总体流程框图。

图2是本发明的数据库-OWL-OPC UA信息模型映射关系图。

图3是本发明一个仿真实例的MySQL结构化数据库模型示意图。

图4是本发明一个仿真实例的OPC UA信息模型示意图。

具体实施方式

以下参照附图和具体实施方式,对本发明的技术方案和效果作进一步的详细说明。

在介绍本发明提供的基于结构化数据库自动构建OPC UA信息模型的方案之前,先简要介绍OWL和OPC UA信息模型这两个概念。

OWL(Web Ontology Language)是W3C在2002年7月29日公布的本体建模语言,并以此作为语义互联网的标准建模语言。OWL中包含类Class、属性Property、属性约束PropertyRestriction等概念:每个Class有自己的标识符;Property分为两类:数据属性(DatatypeProperty)和对象属性(Object Property),Datatype Property用于描述Class与数据(各种预定义的数据类型)之间的关系,Object Property用于描述两个Class之间的关系,还可以通过指定Domain和Range来约束一个Property;Property Restriction可以是值约束,例如所有的值必须都是整型Integer;也可以是势约束,例如势上限等。

OPC UA信息模型采用面向对象的技术来描述设备对象,与传统的工业通讯只提供纯数据不同,OPC UA信息模型能够更有效地展示数据的语义。例如,可以将一个温度传感器视为具有温度、工程单元、公差等变量和启停方法的对象。OPC UA信息模型实例化在OPC UA服务器的地址空间中,其基本组成是节点(Node),节点由属性(Attribute)和引用(Reference)来描述。OPC UA节点分为八类,分别是变量(Variable)、变量类型(VariableType)、对象(Object)、对象类型(ObjectType)、数据类型(DataType)、引用类型(ReferenceType)、方法(Method)和视域(View)。

现有的手动OPC UA信息模型构建方法面临对专业知识要求高、工作量大等一系列挑战。为了解决上述挑战,本发明通过充分利用工厂传统生产线现有的结构化数据库信息,提出了一种OPC UA信息模型自动构建方法,有助于OPC UA在实际工厂产线中的应用。参照图1,本发明的实现步骤如下:

步骤一:导入传统生产线现有的结构化数据库,结构化数据库包含模式信息,即具体的数据库表结构信息。对于工厂内待改造的传统生产线,设备数据已通过RS232、RS485、以太网等通信接口和供应商特定的通信协议、数据格式被采集并存储至结构化数据库中。目前工厂内广泛使用开源MySQL结构化数据库,简单易用,并且工程师在建立数据库时就对产线运行、管理所需的数据进行了完备的分析。为方便后续描述,假设“风机”数据库中有“风机A”、“风机B”等数据表,“风机A”表内包含有“风机速度”、“风机加速度”、“环境温度”、“扇叶角度”等字段。

步骤二:解析包含产线设备实体及对应实体属性的结构化数据库模式信息,处理映射为三元组数据结构集合,即构建属性关系三元组“实体1-关系-属性1”或“实体1-关系-实体2”。例如,基于“风机A”数据表,可以构建出“风机设备-属性-风机加速度”三元组。

步骤三:基于三元组信息生成OWL文件。利用Java工具箱Apache Jena提供的OWL相关API,参照图2的映射规则,将三元组数据结构中的实体、关系和属性分别映射为OWL中的类(Class)、对象属性(Object Property)和数据属性(Datatype Property),将属性可能具有的数据类型映射为OWL中的属性约束(Property Restriction),并写入OWL文件。

其中,数据库中的表(Table)映射为OWL中的类(Class),数据库中的列(Column)映射为OWL中的数据属性(Datatype Property),数据库中列的数据类型(Data Type)映射为OWL中的属性约束(Property Restriction),数据库中的外键(Foreign Key)映射为OWL中的对象属性(Object Property)。

步骤四:映射生成信息模型XML文件。上述OWL文件可通过专业本体开发工具Protégé打开查看,并根据用户需要进行编辑修改。对于修改好的OWL文件,利用Java工具箱Apache Jena解析,同时利用Java DOM工具包,参照图2的映射规则,将OWL中的类、对象属性和数据属性分别映射为OPC UA信息模型中的对象类型、引用类型和变量,并按照规范拼装成XML(Extensible Markup Language,可扩展标记语言)格式的信息模型文件。

其中,OWL中的类(Class)映射为OPC UA信息模型中的BaseObjectType下的对象类型(ObjectType)节点;OWL中的数据属性(Datatype Property)映射为OPC UA信息模型中的变量(Variable)节点,变量(Variable)节点通过HasProperty关系组织在对象类型(ObjectType)节点下,对应于设备实体的属性;OWL中的属性约束(Property Restriction)映射为OPC UA信息模型中的数据类型(DataType)节点;OWL中的对象属性(ObjectProperty)映射为OPC UA信息模型中的引用类型(ReferenceType)节点。

该XML文件需要符合UA-ModelCompiler工具的输入规范,相较于符合OPC基金会官方语法规范,即OPC UA Nodeset XML Schema规范的XML文件来说,该格式较为简单,能够降低自动构建的难度。

步骤五:基于OPC基金会提供的UA-ModelCompiler工具,将步骤四生成的信息模型XML文件转换生成符合OPC UA Nodeset XML Schema官方语法规范的信息模型XML文件,作为构建OPC UA地址空间的基础。转换后所有变量(Variable)、对象类型(ObjectType)、数据类型(DataType)、引用类型(ReferenceType)等节点都拥有独一无二的NodeId标识,并且节点之间按照树形结构保持层次性。

步骤六:利用开源OPC UA实现库open62541内的nodeset_compiler工具,将符合OPC UA Nodeset XML Schema规范的信息模型XML文件编译转换为.c文件和.h文件。

步骤七:基于open62541开源库建立OPC UA服务器,并基于上述.c文件和.h文件,通过调用文件中的构造函数向地址空间中添加节点和引用,使得构建的信息模型在OPC UA服务器的地址空间中实例化,进而可供OPC UA客户端浏览,并可按照OPC UA规范对产线设备的数据进行读、写、订阅等操作,以实现实时数据的采集获取。

本发明一方面充分利用了工厂传统生产线现有的MySQL数据库信息,将数据库模式信息映射为OWL三元组,进一步映射为OPC UA信息模型,实现了自动构建,降低了人工手动构建的工作量;同时,得益于数据库建立时精心的需求分析,构建出的OPC UA信息模型仅包含有价值的数据,具有更高的质量。另一方面,本发明采用UA-ModelCompiler工具生成符合OPC基金会官方语法规范的信息模型XML文件,使得对OPC UA专业领域了解不深的工程师也能构建出OPC UA信息模型,降低了对专业知识的要求。

仿真实例

下面结合仿真实例对本发明所提方法的效果做进一步的描述。

图3所示为从网络上获取的一公开MySQL数据库的模式信息,内容为电影相关,此处仅以此为例说明发明效果,用户可将本发明方法无缝迁移用于自己的工业相关MySQL数据库。由图3可见,movie(电影)实体包含id、title、introduction等属性,与person(演员)实体之间存在person_to_movie外键关联。

首先将上述数据库模式信息进行映射转换,生成的部分OWL文件内容如下:

可见数据表person被映射为OWL中的Class,数据表间的外键关联person_to_movie被映射为OWL中的Object Property,数据表内的字段movie_release_date被映射为OWL中的Datatype Property。

将上述OWL文件进行映射转换,生成的部分信息模型XML文件内容如下:

SymbolicName="MOVIE:person_to_movie"Symmetric="true"/>

ValueRank="Scalar"/>

可见OWL Class被映射为OPC UA中的ObjectType,Object Property被映射为OPCUA中的ReferenceType,DatatypeProperty被映射为OPC UA中的Property。

将上述XML文件采用UA-ModelCompiler工具转换生成符合OPC UA Nodeset XMLSchema规范的OPC UA信息模型XML文件,部分转换结果如下:

ParentNodeId="ns=1;i=15004">

movie_movie_release_date

i=68

i=78

ns=1;i=15004

person

ns=1;i=15011

i=58

可见各节点都拥有独一无二的NodeId标识。

图4所示为基于上述信息模型文件创建OPC UA服务器后,通过OPC UA客户端查看到的服务器地址空间中的信息模型。

由仿真结果可以看出,本发明所提出的方法能够基于现有的结构化数据库实现OPC UA信息模型的自动构建。

综上所述,本发明主要解决了现有手动OPC UA信息模型构建技术专业知识门槛需求高、构建工作量大且效率低等方面的问题,一方面,本发明充分利用了工厂传统生产线的现有信息,实现了OPC UA信息模型的自动构建,降低了人工手动构建信息模型的工作量;同时,得益于现有数据库建立时精心的需求分析,构建出的OPC UA信息模型仅包含有价值的数据,具有更高的质量。另一方面,本发明采用UA-ModelCompiler工具生成符合OPC基金会官方语法规范的信息模型XML文件,使得对OPC UA专业领域了解不深的工程师也能构建出OPC UA信息模型,降低了对专业知识的要求,在基于OPC UA的工业自动化应用中具有广阔的应用前景。

以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

相关技术
  • 基于结构化数据库的OPC UA信息模型自动构建方法
  • 一种基于向量空间的RDF结构化查询自动构建方法
技术分类

06120112553954