一种基于发布/订阅模式的数字孪生虚实同步运行方法技术

技术编号:25788866 阅读:41 留言:0更新日期:2020-09-29 18:21
本发明专利技术公开了一种基于发布/订阅模式的数字孪生虚实同步运行方法,建立设备的OPC UA信息模型;生成OPC Server,并调用相应的OPC Client解析设备的传输协议与数据格式,统一为OPC UA协议与OPC Binary/XML的数据格式;然后建立设备的数字孪生模型,配置虚实设备单的协变数据结点;监听节点变化并调用相应的回调函数,将数据发布至数据中间件,由孪生模型中对应的数据结点订阅数据,实现虚实设备的同步运行。本发明专利技术基于的发布订阅模式实现,耦合性低,节省了大量的I/O操作,数据实时性强。

【技术实现步骤摘要】
一种基于发布/订阅模式的数字孪生虚实同步运行方法
本专利技术属于智能制造与数字化
,具体涉及一种基于发布/订阅模式的数字孪生虚实同步运行方法。
技术介绍
数字孪生技术是智能制造领域的一项新兴技术,主要用于实现制造物理世界与信息世界的交互与共融,在航空航天、汽车制造、仿真测试等场景有着重要的作用。数字孪生技术有以下几个方面的应用需求:(1)数字孪生体的建模;(2)物理世界与信息世界的融合;(3)物理世界与虚拟世界的同步运行;(4)基于信息物理融合的服务应用。目前大多数研究将数字孪生作为一个提供运行与仿真的平台,而实现仿真的方式主要是先验式的,即在运行前对产品进行先验仿真进行效果评估,而缺少基于实时信息的决策方式。同时,基于设备的运动仿真多为基于历史数据的仿真,而基于实时数据的仿真目前较少。其关键在于没有实现孪生模型与物理设备之间的虚实同步。而实现物理设备与孪生模型的虚实同步主要有以下方面的困难:(1)设备由于生产厂商,数据传输标准等不同,会使用不同的数据传输协议,同时定义不同的数据格式用于传输,导致传输协议的复杂化,传输数据的异构化,从而使多物理设备的数据集成愈发困难;(2)由于需要建立物理设备与孪生模型的同步运行,必须保证数据的实时性,而其中需要产生大量的IO操作,而采用传统的关系型数据库,则会降低数据的实时性;(3)缺少一个可靠的信息模型,实现孪生模型与物理设备的数据结点映射。
技术实现思路
本专利技术所要解决的技术问题在于针对上述现有技术中的不足,提供一种基于发布/订阅模式的数字孪生虚实同步运行方法,实现孪生模型与物理设备之间的数据互通与同步运行。本专利技术采用以下技术方案:一种基于发布/订阅模式的数字孪生虚实同步运行方法,包括以下步骤:S1、根据物理设备的工程参数、当前工况以及虚实结点映射关系建立OPCUA信息模型;S2、基于步骤S1中的信息模型,使用opcua-modeler将设备信息模型导出为XML文件,解析XML文件,反序列化生成结点集,生成一个OPCUA地址空间以集成数据结点;S3、启动Web应用,生成OPCClient实例,用于实现数据的读、写与发布/订阅功能;S4、定义数据协议标准化模块,实现设备传输协议到OPCUA的转换,统一数据格式,实现生产环境中的多协议解析与多源异构数据的标准化;S5、基于物理设备的运动特征与尺寸外形,建立其对应的数字孪生体,以映射物理设备的运动轨迹和内部机理;S6、基于一个数据中间件Redis,建立物理设备和孪生模型的数据联结;S7、基于步骤S5定义的孪生模型、步骤S1定义的OPCUA信息模型和步骤S6采用的Redis中间件定义物理模型与孪生模型的协变数据结点;S8、物理设备向Redis发布机器臂转轴的运动数据,基于发布/订阅模式,实现物理设备到孪生模型的数据推送,孪生模型根据接收到的订阅数据,更新运动状态,实现物理设备与孪生模型的同步运行。具体的,步骤S1中,首先分析数据结点间的关联关系,用相应的语义箭头连接;基于OPCUA的Alarm&Event功能,分析设备运行过程中可能出现的警报与突发事件,建立数据与事件间的触发机制,并用语义箭头连接事件的源头结点与导向结点,实现事件触发关系的语义化;引入面向对象思想,抽象设备数据结点的共有属性,定义相应的类型结点,实现数据结点的复用。具体的,步骤S2中,使用JAXB工具解析官方的UANodeSet.xsd,生成OPCUA的内建类型结点对应的Java文件;结合获取的Java文件,为每一种OPCUA的基本结点类型定义对应的解析程序;导入NodeSet.xml文件,解析OPCUA信息模型,获取结点点集;在OPCUA中定义一个机器人专属的地址空间类RobotNamespace,以实现设备信息模型到OPCServer的集成,地址空间包含的信息包括:设备在OPCUA中的特定URI,服务器节点信息,设备结点信息,订阅管理;定义一个证书生成器,按照X509加密算法生成Server/Client验证证书;添加OPCServer的配置信息,加密OPC的Client/Server传输信道;启动Server。具体的,步骤S3中,Web应用以SpringBoot作为后台开发环境;读取证书生成器生成的Client证书文件,Client依据证书中所支持的服务器端点,查找匹配的Server,进行数据的读写操作;每个Client单独负责一项功能;可以只生成一个OPCClient用于读写设备数据,另一个OPCClient用于实现OPCUA的发布/订阅功能;或指定多个Client,为设备的某个部件数据的采集分配对应的OPCClien。具体的,步骤S4具体为:S401、机器臂的内部传感器与微处理器形成内部系统,采集机器臂的运动节点数据,以以太网的方式向外界传输数据;S402、机器臂以TCP传输协议,由上位机发送请求与机器臂内服务器交互获取数据,数据转发的格式为JSON;S403、依据服务请求的不同类别,返回的数据格式包括实时转动角数据和6轴的转动角速度,选择获取机器臂6轴的实时转动角;S404、解析获取到的JSON数据,提取6轴的转动角生数据;S405、对生数据进行包装,OPCUA接受Variant类型的实例作为写入对象,Variant可以将基本类型转换为OPCUA的内建类型,实现异构数据到OPCBinary的转换;S406、调用负责写入的OPCClient,将采集到的数据写入OPCServer中对应的数据结点里;S407、不同结点拥有不同且唯一的NodeId,OPCClient所有的读写、发布订阅操作都是基于结点特有的NodeId实现的;S408、调用负责读取的OPCClient,调用OPCUA定义的读取服务函数,输入结点的NodeId,读取对应的结点数据,OPCUA的数据在程序中以DataValue的形式封装,调用对应方法获取其内部的基本类型数据。具体的,步骤S5中,基于SolidWorks实现机器臂的建模,将机器臂的各个转动轴、基座模型解构,并将各个部件导出为VRML格式;将导出的VRML格式的运动部件粗糙化,降低部件表面的点云结点数量。具体的,步骤S7具体为:S701、在Webots中提供一个载物平台用于承载机器臂模型;S702、将VRML格式的部件逐个导入Webots中,按照原本的设备外形进行组装,组装的过程中,各个设备的交界处设置连接的铰链节点,铰链节点将作为机器臂各转轴旋转的相对基准轴,与机器臂基座交界的铰链节点将作为绝对基准轴;S703、为每个运动轴配置相应的运动电机,以实现对于运动轴的转动角和转动速度的控制;S704、运动电机应该与机器臂的信息模型中的Axis结点对应,转动角对于其ActualPosition,转动速度对于其ActualSpeed;S705、转轴的本文档来自技高网...

【技术保护点】
1.一种基于发布/订阅模式的数字孪生虚实同步运行方法,其特征在于,包括以下步骤:/nS1、根据物理设备的工程参数、当前工况以及虚实结点映射关系建立OPC UA信息模型;/nS2、基于步骤S1中的信息模型,使用opcua-modeler将设备信息模型导出为XML文件,解析XML文件,反序列化生成结点集,生成一个OPC UA地址空间以集成数据结点;/nS3、启动Web应用,生成OPC Client实例,用于实现数据的读、写与发布/订阅功能;/nS4、定义数据协议标准化模块,实现设备传输协议到OPC UA的转换,统一数据格式,实现生产环境中的多协议解析与多源异构数据的标准化;/nS5、基于物理设备的运动特征与尺寸外形,建立其对应的数字孪生体,以映射物理设备的运动轨迹和内部机理;/nS6、基于一个数据中间件Redis,建立物理设备和孪生模型的数据联结;/nS7、基于步骤S5定义的孪生模型、步骤S1定义的OPC UA信息模型和步骤S6采用的Redis中间件定义物理模型与孪生模型的协变数据结点;/nS8、物理设备向Redis发布机器臂转轴的运动数据,基于发布/订阅模式,实现物理设备到孪生模型的数据推送,孪生模型根据接收到的订阅数据,更新运动状态,实现物理设备与孪生模型的同步运行。/n...

【技术特征摘要】
1.一种基于发布/订阅模式的数字孪生虚实同步运行方法,其特征在于,包括以下步骤:
S1、根据物理设备的工程参数、当前工况以及虚实结点映射关系建立OPCUA信息模型;
S2、基于步骤S1中的信息模型,使用opcua-modeler将设备信息模型导出为XML文件,解析XML文件,反序列化生成结点集,生成一个OPCUA地址空间以集成数据结点;
S3、启动Web应用,生成OPCClient实例,用于实现数据的读、写与发布/订阅功能;
S4、定义数据协议标准化模块,实现设备传输协议到OPCUA的转换,统一数据格式,实现生产环境中的多协议解析与多源异构数据的标准化;
S5、基于物理设备的运动特征与尺寸外形,建立其对应的数字孪生体,以映射物理设备的运动轨迹和内部机理;
S6、基于一个数据中间件Redis,建立物理设备和孪生模型的数据联结;
S7、基于步骤S5定义的孪生模型、步骤S1定义的OPCUA信息模型和步骤S6采用的Redis中间件定义物理模型与孪生模型的协变数据结点;
S8、物理设备向Redis发布机器臂转轴的运动数据,基于发布/订阅模式,实现物理设备到孪生模型的数据推送,孪生模型根据接收到的订阅数据,更新运动状态,实现物理设备与孪生模型的同步运行。


2.根据权利要求1所述的基于发布/订阅模式的数字孪生虚实同步运行方法,其特征在于,步骤S1中,首先分析数据结点间的关联关系,用相应的语义箭头连接;基于OPCUA的Alarm&Event功能,分析设备运行过程中可能出现的警报与突发事件,建立数据与事件间的触发机制,并用语义箭头连接事件的源头结点与导向结点,实现事件触发关系的语义化;引入面向对象思想,抽象设备数据结点的共有属性,定义相应的类型结点,实现数据结点的复用。


3.根据权利要求1所述的基于发布/订阅模式的数字孪生虚实同步运行方法,其特征在于,步骤S2中,使用JAXB工具解析官方的UANodeSet.xsd,生成OPCUA的内建类型结点对应的Java文件;结合获取的Java文件,为每一种OPCUA的基本结点类型定义对应的解析程序;导入NodeSet.xml文件,解析OPCUA信息模型,获取结点点集;在OPCUA中定义一个机器人专属的地址空间类RobotNamespace,以实现设备信息模型到OPCServer的集成,地址空间包含的信息包括:设备在OPCUA中的特定URI,服务器节点信息,设备结点信息,订阅管理;定义一个证书生成器,按照X509加密算法生成Server/Client验证证书;添加OPCServer的配置信息,加密OPC的Client/Server传输信道;启动Server。


4.根据权利要求1所述的基于发布/订阅模式的数字孪生虚实同步运行方法,其特征在于,步骤S3中,Web应用以SpringBoot作为后台开发环境;读取证书生成器生成的Client证书文件,Client依据证书中所支持的服务器端点,查找匹配的Server,进行数据的读写操作;每个Client单独负责一项功能;可以只生成一个OPCClient用于读写设备数据,另一个OPCClient用于实现OPCUA的发布/订阅功能;或指定多个Client,为设备的某个部件数据的采集分配对应的OPCClien。


5.根据权利要求1所述的基于发布/订阅模式的数字孪生虚实同步运行方法,其特征在于,步骤S4具体为:
S401、机器臂的内部传感器与微处理器形成内部系统,采集机器臂的运动节点数据,以以太网的方式向外界传输数据;
S402、机器臂以TCP传输协议,由上位机发送请求与机器臂内服务器交互获取数据,数据转发的格式为JSON;
S403、依据服务请求的不同类别,返回的数据格式包括实时转动角数据和6轴的转动角速度,选择获取...

【专利技术属性】
技术研发人员:周光辉李涵张超张克捷
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1