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

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

Info

Publication number
CN111716353A
CN111716353A CN202010431518.6A CN202010431518A CN111716353A CN 111716353 A CN111716353 A CN 111716353A CN 202010431518 A CN202010431518 A CN 202010431518A CN 111716353 A CN111716353 A CN 111716353A
Authority
CN
China
Prior art keywords
data
opc
node
equipment
robot arm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010431518.6A
Other languages
English (en)
Other versions
CN111716353B (zh
Inventor
周光辉
李涵
张超
张克捷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CN202010431518.6A priority Critical patent/CN111716353B/zh
Publication of CN111716353A publication Critical patent/CN111716353A/zh
Application granted granted Critical
Publication of CN111716353B publication Critical patent/CN111716353B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

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

Description

一种基于发布/订阅模式的数字孪生虚实同步运行方法
技术领域
本发明属于智能制造与数字化技术领域,具体涉及一种基于发布/订阅模式的数字孪生虚实同步运行方法。
背景技术
数字孪生技术是智能制造领域的一项新兴技术,主要用于实现制造物理世界与信息世界的交互与共融,在航空航天、汽车制造、仿真测试等场景有着重要的作用。数字孪生技术有以下几个方面的应用需求:
(1)数字孪生体的建模;
(2)物理世界与信息世界的融合;
(3)物理世界与虚拟世界的同步运行;
(4)基于信息物理融合的服务应用。
目前大多数研究将数字孪生作为一个提供运行与仿真的平台,而实现仿真的方式主要是先验式的,即在运行前对产品进行先验仿真进行效果评估,而缺少基于实时信息的决策方式。同时,基于设备的运动仿真多为基于历史数据的仿真,而基于实时数据的仿真目前较少。其关键在于没有实现孪生模型与物理设备之间的虚实同步。
而实现物理设备与孪生模型的虚实同步主要有以下方面的困难:
(1)设备由于生产厂商,数据传输标准等不同,会使用不同的数据传输协议,同时定义不同的数据格式用于传输,导致传输协议的复杂化,传输数据的异构化,从而使多物理设备的数据集成愈发困难;
(2)由于需要建立物理设备与孪生模型的同步运行,必须保证数据的实时性,而其中需要产生大量的IO操作,而采用传统的关系型数据库,则会降低数据的实时性;
(3)缺少一个可靠的信息模型,实现孪生模型与物理设备的数据结点映射。
发明内容
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种基于发布/订阅模式的数字孪生虚实同步运行方法,实现孪生模型与物理设备之间的数据互通与同步运行。
本发明采用以下技术方案:
一种基于发布/订阅模式的数字孪生虚实同步运行方法,包括以下步骤:
S1、根据物理设备的工程参数、当前工况以及虚实结点映射关系建立OPC UA信息模型;
S2、基于步骤S1中的信息模型,使用opcua-modeler将设备信息模型导出为XML文件,解析XML文件,反序列化生成结点集,生成一个OPC UA地址空间以集成数据结点;
S3、启动Web应用,生成OPC Client实例,用于实现数据的读、写与发布/订阅功能;
S4、定义数据协议标准化模块,实现设备传输协议到OPC UA的转换,统一数据格式,实现生产环境中的多协议解析与多源异构数据的标准化;
S5、基于物理设备的运动特征与尺寸外形,建立其对应的数字孪生体,以映射物理设备的运动轨迹和内部机理;
S6、基于一个数据中间件Redis,建立物理设备和孪生模型的数据联结;
S7、基于步骤S5定义的孪生模型、步骤S1定义的OPC UA信息模型和步骤S6采用的Redis中间件定义物理模型与孪生模型的协变数据结点;
S8、物理设备向Redis发布机器臂转轴的运动数据,基于发布/订阅模式,实现物理设备到孪生模型的数据推送,孪生模型根据接收到的订阅数据,更新运动状态,实现物理设备与孪生模型的同步运行。
具体的,步骤S1中,首先分析数据结点间的关联关系,用相应的语义箭头连接;基于OPC UA的Alarm&Event功能,分析设备运行过程中可能出现的警报与突发事件,建立数据与事件间的触发机制,并用语义箭头连接事件的源头结点与导向结点,实现事件触发关系的语义化;引入面向对象思想,抽象设备数据结点的共有属性,定义相应的类型结点,实现数据结点的复用。
具体的,步骤S2中,使用JAXB工具解析官方的UANodeSet.xsd,生成OPC UA的内建类型结点对应的Java文件;结合获取的Java文件,为每一种OPC UA的基本结点类型定义对应的解析程序;导入NodeSet.xml文件,解析OPC UA信息模型,获取结点点集;在OPC UA中定义一个机器人专属的地址空间类RobotNamespace,以实现设备信息模型到OPC Server的集成,地址空间包含的信息包括:设备在OPC UA中的特定URI,服务器节点信息,设备结点信息,订阅管理;定义一个证书生成器,按照X509加密算法生成Server/Client验证证书;添加OPC Server的配置信息,加密OPC的Client/Server传输信道;启动Server。
具体的,步骤S3中,Web应用以Spring Boot作为后台开发环境;读取证书生成器生成的Client证书文件,Client依据证书中所支持的服务器端点,查找匹配的Server,进行数据的读写操作;每个Client单独负责一项功能;可以只生成一个OPC Client用于读写设备数据,另一个OPC Client用于实现OPC UA的发布/订阅功能;或指定多个Client,为设备的某个部件数据的采集分配对应的OPC Clien。
具体的,步骤S4具体为:
S401、机器臂的内部传感器与微处理器形成内部系统,采集机器臂的运动节点数据,以以太网的方式向外界传输数据;
S402、机器臂以TCP传输协议,由上位机发送请求与机器臂内服务器交互获取数据,数据转发的格式为JSON;
S403、依据服务请求的不同类别,返回的数据格式包括实时转动角数据和6轴的转动角速度,选择获取机器臂6轴的实时转动角;
S404、解析获取到的JSON数据,提取6轴的转动角生数据;
S405、对生数据进行包装,OPC UA接受Variant类型的实例作为写入对象,Variant可以将基本类型转换为OPC UA的内建类型,实现异构数据到OPC Binary的转换;
S406、调用负责写入的OPC Client,将采集到的数据写入OPC Server中对应的数据结点里;
S407、不同结点拥有不同且唯一的NodeId,OPC Client所有的读写、发布订阅操作都是基于结点特有的NodeId实现的;
S408、调用负责读取的OPC Client,调用OPC UA定义的读取服务函数,输入结点的NodeId,读取对应的结点数据,OPC UA的数据在程序中以DataValue的形式封装,调用对应方法获取其内部的基本类型数据。
具体的,步骤S5中,基于SolidWorks实现机器臂的建模,将机器臂的各个转动轴、基座模型解构,并将各个部件导出为VRML格式;将导出的VRML格式的运动部件粗糙化,降低部件表面的点云结点数量。
具体的,步骤S7具体为:
S701、在Webots中提供一个载物平台用于承载机器臂模型;
S702、将VRML格式的部件逐个导入Webots中,按照原本的设备外形进行组装,组装的过程中,各个设备的交界处设置连接的铰链节点,铰链节点将作为机器臂各转轴旋转的相对基准轴,与机器臂基座交界的铰链节点将作为绝对基准轴;
S703、为每个运动轴配置相应的运动电机,以实现对于运动轴的转动角和转动速度的控制;
S704、运动电机应该与机器臂的信息模型中的Axis结点对应,转动角对于其ActualPosition,转动速度对于其ActualSpeed;
S705、转轴的运动电机承担数据协变结点的责任,使数字孪生模型与物理设备实现数据交互;
S706、基于设备的技术参数,设定最大的转动范围,转动超过最大范围会引起警报,数字孪生模型建立完毕。
具体的,步骤S8中,调用负责发布/订阅功能的OPC Client,订阅每一个机器臂的转轴数据,具体步骤如下:
S801、调用Client的SubscriptionManager创建一个50ms的间隔的订阅请求,Client间隔50ms发布一次数据,将机器臂的协变数据数据结点作为发布/订阅的监听节点;
S802、当OPC Client将从机器臂中获取到数据写入OPC Server,令OPC Server内部存储的结点数据发生变化时,若数据变动的结点为监听节点,将变化的数据发布;
S803、监听的数据结点选择Axis对象的ActualPosition与ActualSpeed,Axis轴代表机器臂的各个转动轴;
S804、为每一个订阅操作分配独占的clientHandle作为订阅标识;
S805、配置监听参数;
S806、定义回调函数,回调函数接受OPC UA定义的DataValue作为参数对象,代表OPC UA所发布的数据值,解构DataValue,获取其基本类型值,将对应的值转换为字符串类型,调用Jedis库中的发布方法将字符串数据发布到Redis的对应频道中;
S807、重复步骤S801~S806,直到完成对于所有监听结点的发布/订阅配置。
进一步的,步骤S805中,配置监听参数为:采样时间为50ms,过滤规则为null,发布队列大小设置为10。
与现有技术相比,本发明至少具有以下有益效果:
本发明一种基于发布/订阅模式的数字孪生虚实同步运行方法,采用发布/订阅模式实现数据同步,避免了传统方法因产生大量I/O操作而降低了程序的运行效率,同时可以降低发布者与订阅者之间的耦合性,两者可以处于不同的生产环境;基于OPC UA协议实现协议与数据的标准化,解决了生产环境中数据集成困难,协议解析复杂等问题,使孪生模型与物理设备基于统一的传输协议和数据格式进行交互;引入Redis作为数据中间件,Redis以内存作为数据I/O的载体,相较于传统的同步策略中采用MySQL等关系型数据库作为中间件,Redis的读写速度可以达到2W次/秒,时延小,支持发布订阅功能,适合同步运行方法对于数据实时性的要求;实现了运动层面的同步,这种运动的同步是基于实时数据的运动同步,而不是传统方法基于仿真的实现,运动的实时性更好,并且避免了仿真过程所带来的大量的计算开销。
进一步的,建立了设备数据结点的语义化网络,使数据的描述得到标准化,为虚实数据的映射提供了可靠的信息模型。
进一步的,将设备的信息模型导入OPC Server中,可以通过调用对应的OPCClient实现数据的读、写订阅等操作。
进一步的,生成OPC Client实例,采集设备的数据,写入OPC Server中,或读取OPCServer中的数据。
进一步的,通过多协议解析与异构数据的标准化,有效地解决了复杂生产环境中的数据集成困难的问题,是实现同步运行的必要前提。
进一步的,建立设备的孪生模型,用于映射物理设备的运动、机理等信息,孪生模型的建立是实现数字孪生的内在要求。
进一步的,定义孪生模型的协变数据结点,订阅来自物理设备的数据,并更新自身运动状态,以实现虚实同步运行。
进一步的,基于发布/订阅模式,实现了物理设备与孪生模型的解耦,物理设备与孪生模型处于不同的生产环境,基于中间件Redis实现数据的推送。Redis的数据交互基于内存实现,数据实时性好,有效提升了虚实设备同步运行的效果。
综上所述,本发明采用发布/订阅模式实现数据同步,实现孪生模型与物理设备之间的数据互通与同步运行,运动实时性好,避免了仿真过程带来的大量计算开销。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明的流程图;
图2为本发明的整体架构图;
图3为机器人的OPC UA信息模型图;
图4为孪生模型的仿真界面图;
图5为数据的发布时间与订阅时间的时间差折线图。
具体实施方式
本发明提供了一种基于发布/订阅模式的数字孪生虚实同步运行方法,建立设备的OPC UA信息模型;生成OPC Server,并调用相应的OPC Client解析设备的传输协议与数据格式,统一为OPC UA协议与OPC Binary/XML的数据格式;然后建立设备的数字孪生模型,配置虚实设备单的协变数据结点;监听节点变化并调用相应的回调函数,将数据发布至数据中间件,由孪生模型中对应的数据结点订阅数据,实现虚实设备的同步运行。本发明基于的发布订阅模式实现,耦合性低,节省了大量的I/O操作,数据实时性强。
请参阅图1和图2,本发明一种基于发布/订阅模式的数字孪生虚实同步运行方法,包括以下步骤:
S1、根据物理设备的工程参数、当前工况以及虚实结点映射关系建立OPC UA信息模型;
首先需要分析数据结点间的关联关系,用相应的语义箭头连接。可能的关系有包含(以Organize组织,组织的结点类型为Object),类型定义(以hasTypeDefinition组织,组织的结点类型为ObjectType,VariableType等),以及结点自身属性(以hasComponent与hasProperty组织,组织的结点类型为Variable,Property);
其次,基于OPC UA的Alarm&Event功能,分析设备运行过程中可能出现的警报与突发事件,建立数据与事件间的触发机制,并用语义箭头连接事件的源头结点与导向结点,实现事件触发关系的语义化;
引入面向对象思想,抽象设备数据结点的共有属性,定义相应的类型结点(ObjectType,VariableType,ReferenceType等),实现数据结点的复用;
结合上述建模思想,以6轴机器人作为具体的研究对象,建立标准机器人信息模型如图3所示,考虑了机器人的电机设备、控制器与安全状态等;
电机设备(MotorDevice)中,主要是以轴(Axis)作为数据的协变结点,其变量包含运动轴的当前位置数据(ActualPosition)与当前速度(ActualSpeed),用以同步机器人的运动状态;
此外,机器人的控制器定义了其控制软件(Software),执行任务(Execution)以及其传输协议(Protocol)。传输协议结点内部定义了设备的连接方式(Connection)与传输数据的格式(DataFormat)。OPC UA将负责将多设备的样化传输协议与数据格式统一。
S2、基于步骤S1中的信息模型,使用opcua-modeler将设备信息模型导出为XML文件,解析XML文件,反序列化生成结点集,生成一个OPC UA地址空间以集成数据结点;
根据步骤S1得到的机器人信息模型,通过opcua-modeler建立并将信息模型导出为NodeSet.xml文件,文件中包含所有的结点类型信息,结点的NodeId,权限信息,默认值等。
使用JAXB工具解析官方的UANodeSet.xsd,生成OPC UA的内建类型结点对应的Java文件;
结合上一步中获取的Java文件,为每一种OPC UA的基本结点类型(Object,Variable,Property,Reference等)定义对应的解析程序;
结合上一步中得到的解析程序,导入NodeSet.xml文件,解析OPC UA信息模型,获取结点点集。在OPC UA中定义一个机器人专属的地址空间类RobotNamespace,以实现设备信息模型到OPC Server的集成,地址空间包含的信息包括:设备在OPC UA中的特定URI,服务器节点信息,设备结点信息,订阅管理等;
定义一个证书生成器,按照X509加密算法生成Server/Client验证证书;
添加OPC Server的配置信息,如服务器端点,Server验证证书,HTTPS通讯密钥对等,加密OPC的Client/Server传输信道,保证数据传输的安全性;
启动Server;
S3、启动Web应用,生成OPC Client实例,用于实现数据的读、写与发布/订阅功能;
其中,Web应用以Spring Boot作为后台开发环境;
首先,读取证书生成器生成的Client证书文件,Client依据证书中所支持的服务器端点,查找匹配的Server,进行数据的读写等操作;
由于每次调用Client会阻塞其对应线程,因此让每个Client单独负责一项功能,保证多线程环境下读写数据的一致性;
当需要同步的结点数据较少,可以只生成一个OPC Client用于读写设备数据,另一个OPC Client用于实现OPC UA的发布/订阅功能;
若设备结点数目过多时,也可以指定多个Client,为设备的某个部件数据的采集分配对应的OPC Clien。
S4、定义数据协议标准化模块,实现设备传输协议到OPC UA的转换,统一数据格式,实现生产环境中的多协议解析与多源异构数据的标准化;
机器臂的内部传感器与微处理器形成了一套内部系统,不断采集机器臂的运动节点数据,以以太网的方式向外界传输数据;
机器臂的传输协议为TCP协议,由上位机发送请求与机器臂内服务器交互,从而获取数据,数据转发的格式为JSON;
依据服务请求的不同类别,返回的数据格式可以包括:实时转动角数据,6轴的转动角速度等,这里我们选择获取机器臂6轴的实时转动角;
解析获取到的JSON数据,提取6轴的转动角生数据;
对生数据进行包装,OPC UA接受Variant类型的实例作为写入对象,Variant可以将基本类型转换为OPC UA的内建类型,实现异构数据到OPC Binary的转换;
调用负责写入的OPC Client,将采集到的数据写入OPC Server中对应的数据结点里,在这里结点代表的是:
Robot→MotionDevice→Axis→ActualPosition;
不同结点拥有不同且唯一的NodeId,OPC Client所有的读写、发布订阅操作都是基于结点特有的NodeId实现的;
上述步骤实现了机器臂的特有传输协议到OPC UA的转换,数据由机器臂定义的JSON数据格式统一为OPC Binary格式,由每个数据结点对应设备某个部件中的属性值;
存储在OPC Server中的数据一般不会长久保存,对于需要后期分析的数据,如机器臂转轴的受力优化分析,需要转动轴的扭矩和受力等,需要为数据结点设置其Historizng属性,开启对于历史数据的记录;
需要获取OPC Server中存储的数据,只需要调用负责读取的OPC Client,调用OPCUA定义的读取服务函数,输入结点的NodeId,即可读取对应的结点数据,OPC UA的数据在程序中以DataValue的形式封装,可以调用对应方法获取其内部的基本类型(整型、浮点型、字符串等)数据。
S5、基于物理设备的运动特征与尺寸外形,建立其对应的数字孪生体,以映射物理设备的运动轨迹,内部机理等;
基于SolidWorks实现机器臂的建模,将机器臂的各个转动轴、基座等模型解构,并将各个部件导出为VRML格式;
将导出的VRML格式的运动部件粗糙化,降低部件表面的点云结点数量,提升仿真运动的效率。
S6、基于一个数据中间件Redis,建立物理设备和孪生模型的数据联结;
打开操作系统中的Redis服务应用,设置其IP为127.0.0.1,端口为6379;
Redis提供一个数据通道,使物理设备中的数据可以发布到这条通道上,并由孪生模型订阅获取。
S7、基于步骤S5中定义的孪生模型、步骤S1中定义的OPC UA信息模型和步骤S6中采用的Redis中间件中,定义物理模型与孪生模型的协变数据结点;
首先在Webots中提供一个基本的载物平台,用于承载机器臂模型;
将VRML格式的部件逐个导入到Webots中,按照原本的设备外形进行组装,组装的过程中,注意在各个设备的交界处设置连接的铰链节点(HingeJoint),铰链节点将作为机器臂各转轴旋转的相对基准轴,与机器臂基座交界的铰链节点将作为绝对基准轴;
为每个运动轴配置相应的运动电机(Motor),以实现对于运动轴的转动角和转动速度的控制;
运动电机应该与机器臂的信息模型中的Axis结点对应,转动角对于其ActualPosition,转动速度对于其ActualSpeed;
转轴的运动电机实际承担了数据协变结点的责任,使数字孪生模型与物理设备实现数据交互;
基于设备的技术参数,设定其最大的转动范围,转动超过最大范围会引起警报;
至此,数字孪生模型建立完毕;
S8、基于发布/订阅模式,实现物理设备到孪生模型的数据推送,同时,孪生模型根据接收到的订阅数据,更新运动状态,实现物理设备与孪生模型的同步运行。
调用负责发布/订阅功能的OPC Client,订阅每一个机器臂的转轴数据,具体步骤如下:
S801、调用Client的SubscriptionManager创建一个50ms的间隔的订阅请求,Client会间隔50ms发布一次数据,将机器臂的协变数据数据结点作为发布/订阅的监听节点;
S802、当OPC Client将从机器臂中获取到数据写入OPC Server,令OPC Server内部存储的结点数据发生变化时,若数据变动的结点为监听节点,会将变化的数据进行发布;
S803、监听的数据结点选择Axis对象的ActualPosition与ActualSpeed,Axis轴代表机器臂的各个转动轴;
S804、为每一个订阅操作分配一个独占的clientHandle作为其订阅标识;
S805、配置监听参数:采样时间为50ms,过滤规则为null,发布队列大小设置为10;
S806、定义回调函数,回调函数接受OPC UA定义的DataValue作为参数对象,代表OPC UA所发布的数据值,解构DataValue,获取其基本类型值,由于Redis中非String类型的值将被序列化为二进制码,不利于调试,因此将对应的值转换为字符串类型,调用Jedis库中的发布方法将字符串数据发布到Redis的对应频道中;
S807、重复S801~S806,直到完成对于所有监听结点的发布/订阅配置。
孪生模型的控制器程序中,首先需要获取机器臂的Robot实例;
从获取的Robot的实例中提取对应的运动电机对象(Motor),通过调用电机的setPosition,setVelocity方法设置机器臂孪生模型的转动角与转速;
由于是基于Redis中间件实现,孪生模型可以与物理设备处于不同的生产环境,消息基于Redis转发,实现物理设备与孪生模型的解耦;
在孪生模型的控制器程序中创建一个线程用于订阅Redis中对应的频道,频道与OPC UA模型中的NodeId一一对应,以获取OPC UA信息模型中对应的物理设备数据结点所的运动数据;
根据频道的数量,定义合适的线程数,Webots支持最大4个线程同时运行;
启动程序,物理设备将会向Redis不断发布机器臂转轴的运动数据。孪生模型订阅这些数据,并根据订阅数据更新自身运动状态,从而实现了物理设备与孪生模型的虚实同步运行。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中的描述和所示的本发明实施例的组件可以通过各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图4,基于上述方案,建立实验如下:
(1)记录物理设备发布数据的时间t1;
(2)记录孪生模型收到订阅数据的时间t2;
(3)记录两个时间的差值(t2-t1);
请参阅图5,实验共记录2万组的数据进行对比,平均时间差为59.45ms,平均最大时间差在100ms以内,满足生产过程中数据实时性的要求,取得了较好的虚实同步效果。
综上所述,本发明一种基于发布/订阅模式的数字孪生虚实同步运行方法,虚实设备具有良好的数据同步效果;基于中间件实现数据的通信,耦合性低,可以应用于不同的生产场景;解决了生产过程中由于多协议与异构数据所导致的数据集成困难等问题。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

Claims (9)

1.一种基于发布/订阅模式的数字孪生虚实同步运行方法,其特征在于,包括以下步骤:
S1、根据物理设备的工程参数、当前工况以及虚实结点映射关系建立OPC UA信息模型;
S2、基于步骤S1中的信息模型,使用opcua-modeler将设备信息模型导出为XML文件,解析XML文件,反序列化生成结点集,生成一个OPC UA地址空间以集成数据结点;
S3、启动Web应用,生成OPC Client实例,用于实现数据的读、写与发布/订阅功能;
S4、定义数据协议标准化模块,实现设备传输协议到OPC UA的转换,统一数据格式,实现生产环境中的多协议解析与多源异构数据的标准化;
S5、基于物理设备的运动特征与尺寸外形,建立其对应的数字孪生体,以映射物理设备的运动轨迹和内部机理;
S6、基于一个数据中间件Redis,建立物理设备和孪生模型的数据联结;
S7、基于步骤S5定义的孪生模型、步骤S1定义的OPC UA信息模型和步骤S6采用的Redis中间件定义物理模型与孪生模型的协变数据结点;
S8、物理设备向Redis发布机器臂转轴的运动数据,基于发布/订阅模式,实现物理设备到孪生模型的数据推送,孪生模型根据接收到的订阅数据,更新运动状态,实现物理设备与孪生模型的同步运行。
2.根据权利要求1所述的基于发布/订阅模式的数字孪生虚实同步运行方法,其特征在于,步骤S1中,首先分析数据结点间的关联关系,用相应的语义箭头连接;基于OPC UA的Alarm&Event功能,分析设备运行过程中可能出现的警报与突发事件,建立数据与事件间的触发机制,并用语义箭头连接事件的源头结点与导向结点,实现事件触发关系的语义化;引入面向对象思想,抽象设备数据结点的共有属性,定义相应的类型结点,实现数据结点的复用。
3.根据权利要求1所述的基于发布/订阅模式的数字孪生虚实同步运行方法,其特征在于,步骤S2中,使用JAXB工具解析官方的UANodeSet.xsd,生成OPC UA的内建类型结点对应的Java文件;结合获取的Java文件,为每一种OPC UA的基本结点类型定义对应的解析程序;导入NodeSet.xml文件,解析OPC UA信息模型,获取结点点集;在OPC UA中定义一个机器人专属的地址空间类RobotNamespace,以实现设备信息模型到OPC Server的集成,地址空间包含的信息包括:设备在OPC UA中的特定URI,服务器节点信息,设备结点信息,订阅管理;定义一个证书生成器,按照X509加密算法生成Server/Client验证证书;添加OPC Server的配置信息,加密OPC的Client/Server传输信道;启动Server。
4.根据权利要求1所述的基于发布/订阅模式的数字孪生虚实同步运行方法,其特征在于,步骤S3中,Web应用以Spring Boot作为后台开发环境;读取证书生成器生成的Client证书文件,Client依据证书中所支持的服务器端点,查找匹配的Server,进行数据的读写操作;每个Client单独负责一项功能;可以只生成一个OPC Client用于读写设备数据,另一个OPC Client用于实现OPC UA的发布/订阅功能;或指定多个Client,为设备的某个部件数据的采集分配对应的OPC Clien。
5.根据权利要求1所述的基于发布/订阅模式的数字孪生虚实同步运行方法,其特征在于,步骤S4具体为:
S401、机器臂的内部传感器与微处理器形成内部系统,采集机器臂的运动节点数据,以以太网的方式向外界传输数据;
S402、机器臂以TCP传输协议,由上位机发送请求与机器臂内服务器交互获取数据,数据转发的格式为JSON;
S403、依据服务请求的不同类别,返回的数据格式包括实时转动角数据和6轴的转动角速度,选择获取机器臂6轴的实时转动角;
S404、解析获取到的JSON数据,提取6轴的转动角生数据;
S405、对生数据进行包装,OPC UA接受Variant类型的实例作为写入对象,Variant可以将基本类型转换为OPC UA的内建类型,实现异构数据到OPC Binary的转换;
S406、调用负责写入的OPC Client,将采集到的数据写入OPC Server中对应的数据结点里;
S407、不同结点拥有不同且唯一的NodeId,OPC Client所有的读写、发布订阅操作都是基于结点特有的NodeId实现的;
S408、调用负责读取的OPC Client,调用OPC UA定义的读取服务函数,输入结点的NodeId,读取对应的结点数据,OPC UA的数据在程序中以DataValue的形式封装,调用对应方法获取其内部的基本类型数据。
6.根据权利要求1所述的基于发布/订阅模式的数字孪生虚实同步运行方法,其特征在于,步骤S5中,基于SolidWorks实现机器臂的建模,将机器臂的各个转动轴、基座模型解构,并将各个部件导出为VRML格式;将导出的VRML格式的运动部件粗糙化,降低部件表面的点云结点数量。
7.根据权利要求1所述的基于发布/订阅模式的数字孪生虚实同步运行方法,其特征在于,步骤S7具体为:
S701、在Webots中提供一个载物平台用于承载机器臂模型;
S702、将VRML格式的部件逐个导入Webots中,按照原本的设备外形进行组装,组装的过程中,各个设备的交界处设置连接的铰链节点,铰链节点将作为机器臂各转轴旋转的相对基准轴,与机器臂基座交界的铰链节点将作为绝对基准轴;
S703、为每个运动轴配置相应的运动电机,以实现对于运动轴的转动角和转动速度的控制;
S704、运动电机应该与机器臂的信息模型中的Axis结点对应,转动角对于其ActualPosition,转动速度对于其ActualSpeed;
S705、转轴的运动电机承担数据协变结点的责任,使数字孪生模型与物理设备实现数据交互;
S706、基于设备的技术参数,设定最大的转动范围,转动超过最大范围会引起警报,数字孪生模型建立完毕。
8.根据权利要求1所述的基于发布/订阅模式的数字孪生虚实同步运行方法,其特征在于,步骤S8中,调用负责发布/订阅功能的OPC Client,订阅每一个机器臂的转轴数据,具体步骤如下:
S801、调用Client的SubscriptionManager创建一个50ms的间隔的订阅请求,Client间隔50ms发布一次数据,将机器臂的协变数据数据结点作为发布/订阅的监听节点;
S802、当OPC Client将从机器臂中获取到数据写入OPC Server,令OPC Server内部存储的结点数据发生变化时,若数据变动的结点为监听节点,将变化的数据发布;
S803、监听的数据结点选择Axis对象的ActualPosition与ActualSpeed,Axis轴代表机器臂的各个转动轴;
S804、为每一个订阅操作分配独占的clientHandle作为订阅标识;
S805、配置监听参数;
S806、定义回调函数,回调函数接受OPC UA定义的DataValue作为参数对象,代表OPCUA所发布的数据值,解构DataValue,获取其基本类型值,将对应的值转换为字符串类型,调用Jedis库中的发布方法将字符串数据发布到Redis的对应频道中;
S807、重复步骤S801~S806,直到完成对于所有监听结点的发布/订阅配置。
9.根据权利要求8所述的基于发布/订阅模式的数字孪生虚实同步运行方法,其特征在于,步骤S805中,配置监听参数为:采样时间为50ms,过滤规则为null,发布队列大小设置为10。
CN202010431518.6A 2020-05-20 2020-05-20 一种基于发布/订阅模式的数字孪生虚实同步运行方法 Active CN111716353B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010431518.6A CN111716353B (zh) 2020-05-20 2020-05-20 一种基于发布/订阅模式的数字孪生虚实同步运行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010431518.6A CN111716353B (zh) 2020-05-20 2020-05-20 一种基于发布/订阅模式的数字孪生虚实同步运行方法

Publications (2)

Publication Number Publication Date
CN111716353A true CN111716353A (zh) 2020-09-29
CN111716353B CN111716353B (zh) 2022-01-25

Family

ID=72564713

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010431518.6A Active CN111716353B (zh) 2020-05-20 2020-05-20 一种基于发布/订阅模式的数字孪生虚实同步运行方法

Country Status (1)

Country Link
CN (1) CN111716353B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113193985A (zh) * 2021-03-29 2021-07-30 清华大学 一种通信系统仿真平台
CN113709250A (zh) * 2021-08-31 2021-11-26 中国电子科技集团公司第二十八研究所 一种基于订阅发送模式的跨域用户数据同步方法
CN114035521A (zh) * 2021-11-09 2022-02-11 中机寰宇(江苏)智能制造认证检测有限公司 一种基于数字孪生的汽车分段建造方法
CN114221690A (zh) * 2021-12-16 2022-03-22 中国人民解放军国防科技大学 用于云边协同系统的语义模型构建方法
CN114217555A (zh) * 2021-12-09 2022-03-22 浙江大学 基于数字孪生场景的低延时远程遥控方法和系统
CN115098003A (zh) * 2022-06-13 2022-09-23 中国铁建重工集团股份有限公司 一种数字孪生虚实运动的行为同步方法
CN115484032A (zh) * 2022-09-13 2022-12-16 中国联合网络通信集团有限公司 数字孪生数据安全存储方法、装置、电子设备及存储介质
CN117033252A (zh) * 2023-10-09 2023-11-10 中核武汉核电运行技术股份有限公司 一种基于opcua的联合仿真通信系统
CN115484032B (zh) * 2022-09-13 2024-09-24 中国联合网络通信集团有限公司 数字孪生数据安全存储方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104200714A (zh) * 2014-09-10 2014-12-10 中国科学院软件研究所 一种基于数据分发服务的船舶驾驶模拟系统
CN104954469A (zh) * 2015-06-19 2015-09-30 长沙廖氏软件科技有限公司 一种异构系统信息交换方法
CN108724190A (zh) * 2018-06-27 2018-11-02 西安交通大学 一种工业机器人数字孪生系统仿真方法及装置
WO2019055576A1 (en) * 2017-09-12 2019-03-21 Arconic Inc. SYSTEMS AND METHODS FOR PERFORMING CALIBRATION IN ADDITIVE MANUFACTURE
CN109831354A (zh) * 2019-01-22 2019-05-31 浙江工业大学 基于opc ua工业通讯协议的虚拟调试系统
CN111161410A (zh) * 2019-12-30 2020-05-15 中国矿业大学(北京) 一种矿井数字孪生模型及其构建方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104200714A (zh) * 2014-09-10 2014-12-10 中国科学院软件研究所 一种基于数据分发服务的船舶驾驶模拟系统
CN104954469A (zh) * 2015-06-19 2015-09-30 长沙廖氏软件科技有限公司 一种异构系统信息交换方法
WO2019055576A1 (en) * 2017-09-12 2019-03-21 Arconic Inc. SYSTEMS AND METHODS FOR PERFORMING CALIBRATION IN ADDITIVE MANUFACTURE
CN108724190A (zh) * 2018-06-27 2018-11-02 西安交通大学 一种工业机器人数字孪生系统仿真方法及装置
CN109831354A (zh) * 2019-01-22 2019-05-31 浙江工业大学 基于opc ua工业通讯协议的虚拟调试系统
CN111161410A (zh) * 2019-12-30 2020-05-15 中国矿业大学(北京) 一种矿井数字孪生模型及其构建方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113193985A (zh) * 2021-03-29 2021-07-30 清华大学 一种通信系统仿真平台
CN113709250A (zh) * 2021-08-31 2021-11-26 中国电子科技集团公司第二十八研究所 一种基于订阅发送模式的跨域用户数据同步方法
CN113709250B (zh) * 2021-08-31 2023-09-15 中国电子科技集团公司第二十八研究所 一种基于订阅发送模式的跨域用户数据同步方法
CN114035521A (zh) * 2021-11-09 2022-02-11 中机寰宇(江苏)智能制造认证检测有限公司 一种基于数字孪生的汽车分段建造方法
CN114217555A (zh) * 2021-12-09 2022-03-22 浙江大学 基于数字孪生场景的低延时远程遥控方法和系统
CN114221690A (zh) * 2021-12-16 2022-03-22 中国人民解放军国防科技大学 用于云边协同系统的语义模型构建方法
CN115098003A (zh) * 2022-06-13 2022-09-23 中国铁建重工集团股份有限公司 一种数字孪生虚实运动的行为同步方法
CN115098003B (zh) * 2022-06-13 2024-07-23 中国铁建重工集团股份有限公司 一种数字孪生虚实运动的行为同步方法
CN115484032A (zh) * 2022-09-13 2022-12-16 中国联合网络通信集团有限公司 数字孪生数据安全存储方法、装置、电子设备及存储介质
CN115484032B (zh) * 2022-09-13 2024-09-24 中国联合网络通信集团有限公司 数字孪生数据安全存储方法、装置、电子设备及存储介质
CN117033252A (zh) * 2023-10-09 2023-11-10 中核武汉核电运行技术股份有限公司 一种基于opcua的联合仿真通信系统
CN117033252B (zh) * 2023-10-09 2024-04-12 中核武汉核电运行技术股份有限公司 一种基于opcua的联合仿真通信系统

Also Published As

Publication number Publication date
CN111716353B (zh) 2022-01-25

Similar Documents

Publication Publication Date Title
CN111716353B (zh) 一种基于发布/订阅模式的数字孪生虚实同步运行方法
CN112099948B (zh) 数字孪生制造单元协议标准化与工业大数据实时集成方法
Veichtlbauer et al. OPC UA integration for field devices
CN111756626A (zh) 一种基于opc ua的产线边缘设备纵向集成网关及其实现方法
CN108718345A (zh) 一种数字化车间工业数据网络化传输系统
Virta et al. SOA-Based integration for batch process management with OPC UA and ISA-88/95
CN109672668B (zh) 一种gda接口与opc ua服务的映射方法
Willner et al. Semantic communication between components for smart factories based on oneM2M
CN115189997B (zh) 基于云、雾、边缘协同的云机器人实时监测与控制方法
CN106446256A (zh) 一种基于上下文计算的工业实时生产信息感知系统
Yu et al. Research on CNC machine tool monitoring system based on OPC UA
Liu et al. A configuration tool for MQTT based OPC UA PubSub
Wang et al. A low-latency and interoperable industrial Internet of Things architecture for manufacturing systems
CN111600923A (zh) 一种基于.NET Core的OPC UA协议服务器系统
Liu et al. OPC UA PubSub implementation and configuration
Koprov Streaming machine generated data via the MQTT sparkplug B protocol for smart factory operations
Ho et al. Implementation of dds cloud platform for real-time data acquisition of sensors
CN114077633A (zh) 一种基于opc ua的多源异构数控系统监控服务器
CN113615147A (zh) 选择性地址空间聚集
Schneeman Implementing a standards-based distributed measurement and control application on the internet
Weskamp et al. Architecture for knowledge exploration of industrial data for integration into digital services
CN112769624B (zh) 一种基于点表的工业物联网网关设计方法
CN113965608A (zh) 一种数控设备数据收集及指令下发系统
He et al. Research on data transfer scheme of virtual-real interactive in five-dimensional digital twin system
Lee et al. RPC-Based OPC-UA Agent for Legacy PLCs

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant