一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数字孪生的数据绑定方法及系统与流程

2022-11-19 08:49:29 来源:中国专利 TAG:


1.本发明涉及数字孪生技术领域,特别涉及,一种数字孪生的数据绑定方法及系统。


背景技术:

2.现有数字孪生应用的开发技术通常需要先在代码中定义某一个模型类的属性和方法,并通过事件和逻辑来驱动控制模型对象的动态变化,而如果产生新的设备/实体,则需要重新定义该实体对应的模型类属性及方法,这种做法的缺点有:应用开发效率低、容易造成代码的冗余、代码维护难度增大、存在较高的技术门槛等。而与此同时,随着数字孪生技术的不断普及,市场对于降低数字孪生应用开发技术门槛以及简化和加快应用开发过程的需求不断增长。
3.针对上述问题,急需提供一种方法及系统,解决现有技术存在的应用开发效率低、容易造成代码的冗余、代码维护难度增大、存在较高的技术门槛、不能满足市场需求的问题。


技术实现要素:

4.针对上述缺陷,本发明解决的技术问题在于,提供一种数字孪生的数据绑定方法及系统,以解决现在技术所存在的应用开发效率低、容易造成代码的冗余、代码维护难度增大、存在较高的技术门槛、不能满足市场需求的问题。
5.本发明提供了一种数字孪生的数据绑定方法,包括:
6.步骤1、定义物模型,将物模型关联对应的仿真模型;
7.步骤2、设置仿真模型与物模型属性的映射关系,设置用于处理模型数据转换规则的自定义函数;
8.步骤3、建立后台与边缘设备的数据通道,采集或接收边缘设备的数据,更新物模型的动态属性并发布至孪生体主题;
9.步骤4、调用仿真模型操作api实例化孪生体对象并渲染仿真模型;
10.步骤5、订阅并监听孪生体主题消息,根据监听信息更新物模型或/和仿真模型。
11.优选地,所述步骤1的具体步骤包括:
12.步骤1.1、定义物模型的静态属性和动态属性,其中,静态属性包括孪生体的固定参数,动态属性包括从边缘端收集的实时数据,动态属性支持用户自定义;
13.步骤1.2、建立若干个仿真模型,根据需要将一个物模型与一个或多个仿真模型进行关联,并将每个仿真模型设置一个状态代码。
14.优选地,所述步骤2的具体步骤包括:
15.步骤2.1、将仿真模型的某个属性与所述属性需要关联的一个或多个物模型参数进行绑定,得到所述属性对应的转换组合,根据仿真模型的多个属性,得到多组转换组合;
16.步骤2.2、对每组转换组合设置用于处理模型数据转换规则的自定义函数。
17.优选地,所述步骤3的具体步骤包括:
18.步骤3.1、建立后台孪生体与边缘设备的数据传输通道,后台通过主动采集和被动接收两种方式来收集边缘端的数据并更新相应的物模型动态属性;
19.步骤3.2、基于mqtt协议发布孪生体消息主题,在mqtt协议中,当发布者向某一个主题发送消息时,后台会将消息分发给客户端。
20.优选地,所述步骤5的具体步骤包括:
21.步骤5.1、订阅孪生体主题消息;
22.步骤5.2、监听消息并解析报文中的属性及属性值,更新物模型相应的属性值;
23.步骤5.3、根据监听到的仿真模型属性值变化情况,调用自定义函数更新仿真模型。
24.优选地,所述步骤3.1的具体步骤包括:
25.步骤3.1.1、在创建孪生体实例时,根据需要选择填写孪生体的通讯协议及协议参数;
26.步骤3.1.2、后台自动根据选择的协议及参数创建数据通道并收集数据;
27.步骤3.1.3、后台将收集到的数据解析并存储为对应的孪生体动态属性值。
28.优选地,所述步骤3.2的具体步骤包括:在创建一个孪生体的同时,后台会自动创建2个关联的mqtt主题,其中一个主题用于接收通过mqtt协议发送的边缘设备数据,另一个主题则是用来发布变化的动态属性供客户端订阅;当后台监听到孪生体的属性值发生变化时,会将变化的属性及属性值通过mqtt协议发布至供客户端订阅的主题中,客户端会收到消息通知。
29.优选地,所述步骤5.3的具体步骤包括:当监听到物模型属性发生变更时,客户端自动判断变更的物模型属性是否存在关联的仿真模型属性,若存在则调用自定义函数计算转换出新的仿真模型属性值并赋值,当仿真模型的属性值发生变化时,客户端自动调用仿真模型操作api来修改仿真模型。
30.本发明还提供了一种数字孪生的数据绑定系统,应用上述任一项所述的一种数字孪生的数据绑定方法得到的,包括:
31.孪生体定义模块,包括物模型定义单元、仿真模型关联单元,所述物模型定义单元用于定义物模型,所述仿真模型关联单元用于将物模型关联对应的仿真模型;
32.数据绑定模块,用于建立物模型属性与仿真模型属性的映射关系和转换规则;
33.数据传输模块,用于采集或接收边缘设备的数据,更新物模型的动态属性并发布至孪生体主题;
34.孪生体渲染模块,用于实例化孪生体并渲染仿真模型,订阅孪生体主题,监听消息并更新物模型属性值,调用自定义函数更新仿真模型。
35.优选地,所述孪生体渲染模块包括:
36.消息订阅单元,用于实现订阅mqtt主题从而监听孪生体动态属性变化的功能;
37.对象更新单元,用于修改指定孪生体object对象的属性值;
38.函数调用单元,用于在孪生体的属性值发生变更,并且变更属性关联了某个仿真模型属性时,调用自定义函数计算属性值并给对应的仿真模型属性赋值;
39.仿真模型渲染单元,用于渲染仿真模型;
40.仿真模型操作api,用于实现创建、删除以及修改仿真模型的位置、大小、颜色、材
质、透明度、切换模型状态的功能。
41.由上述方案可知,本发明提供的一种数字孪生的数据绑定方法支持孪生体物模型与仿真模型之间的数据绑定,将数字孪生仿真模型的属性与后端服务系统中的数据进行绑定并实现动态更新,可大幅度减少数字孪生应用的代码开发工作量,极大提高开发效率。本发明还提供了一种数字孪生的数据绑定系统通过提供可重用的孪生体定义模块、数据绑定模块、数据传输模块、孪生体渲染模块,应用开发者只需掌握少量的javascript语言来定义物模型数据与仿真模型数据的转换规则,其余过程皆则可通过选择、配置的交互方式来实现,可有效解决数字孪生应用的开发效率低、代码冗余且维护难度大、技术门槛高的问题。本发明作用效果显著,适于广泛推广。
附图说明
42.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
43.图1为本发明实施例提供的一种数字孪生的数据绑定方法的过程框图;
44.图2为本发明实施例提供的一种数字孪生的数据绑定系统中孪生体的结构示意框图;
45.图3为本发明实施例提供的一种数字孪生的数据绑定方法中物模型与仿真模型之间的对应转换关系示意框图;
46.图4为本发明实施例提供的一种数字孪生的数据绑定方法中边缘端与输出主题之间的对应转换关系示意框图;
47.图5为本发明实施例提供的一种数字孪生的数据绑定方法中主题的传输过程示意框图。
具体实施方式
48.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
49.数字孪生,是利用建模、仿真、物联网等技术,在虚拟空间中完成物理实体到虚拟实体之间映射和仿真的过程,可生动反映对应实体的实时状态及全生命周期,被广泛应用于交通、环保、水利、水务、气象、农业、能源等行业的环境及设备及控制领域等。
50.建模,是为了理解事物而对事物做出的一种抽象。凡是用模型描述系统的因果关系或相互关系的过程都属于建模。而数字孪生的目的或本质是通过数字化和模型化,用信息换能量,以更少的能量消除各种物理实体、特别是复杂系统的不确定性。所以建立物理实体的数字化模型或信息建模技术是创建数字孪生、实现数字孪生的源头和核心技术,也是“数化”阶段的核心。
51.仿真,是指利用模型复现实际系统中发生的本质过程。这里所指的模型包括物理
的和数学的,静态的和动态的,连续的和离散的各种模型。所指的系统也很广泛,包括电气、机械、化工、水力、热力等系统。只要模型正确,并拥有了完整的输入信息和环境数据,就可以基本正确地反映物理世界的特性和参数。从技术角度看,建模和仿真是一对伴生体:如果说建模是模型化人类对物理世界或问题的理解,那么仿真就是验证和确认这种理解的正确性和有效性。所以,数字化模型的仿真技术是创建和运行数字孪生、保证数字孪生与对应物理实体实现有效闭环的核心技术。
52.物联网(internet ofthings,简称iot),是指通过信息传感设备,按照约定的协议,把任何物品与互联网连接起米,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的一种网络。物联网是数字孪生的载体,数字孪生是物联网的底层逻辑。数字孪生和物联网是相互成就的关系。一方面,物联网为数字孪生的数据流和信息流提供参考架构。同时,数字孪生是物联网发展应用的新阶段。
53.请一并参阅图1至图5,现对本发明提供的一种数字孪生的数据绑定方法的一种具体实施方式进行说明。该种数字孪生的数据绑定方法的具体步骤包括:
54.s1、定义物模型,将物模型关联对应的仿真模型;
55.孪生体由物模型和仿真模型组成,孪生体的定义分为:定义物模型和关联仿真模型两个步骤。
56.s1的具体步骤包括:
57.s1.1、定义物模型:定义物模型的静态属性和动态属性,其中,静态属性包括了孪生体的固定参数,用于描述实体的规格、位置、通讯协议参数、属性的映射关系及自定义函数、业务属性等,例如高度、宽度、ip、坐标、名称等,动态属性包括了能够从边缘端收集的实时数据,是边缘端采集上传的参数,例如状态、液位、浓度等,动态属性支持用户自定义;
58.物模型是物理空间中的实体(如传感器、设备等)在后台的数字化表示。
59.s1.2、关联仿真模型:建立若干个仿真模型,根据需要将一个物模型与一个或多个仿真模型进行关联,并将每个仿真模型设置一个状态代码。
60.仿真模型即通过建模工具创建的模型文件,一个物模型可关联一个或多个模型用来表示实体在不同状态下的特征,每个仿真模型支持设置一个状态代码,实现区分孪生体在不同状态下的展示形态。
61.s2、设置仿真模型与物模型属性的映射关系,设置用于处理模型数据转换规则的自定义函数;
62.孪生体的仿真模型属性可设置一个或多个关联的物模型动态属性,实现建立属性的映射关系。支持基于javascript语言创建自定义的代码块,实现计算和转换仿真模型的属性值。
63.s2的具体步骤包括:
64.s2.1、将仿真模型的某个属性与属性需要关联的一个或多个物模型参数进行绑定,得到属性对应的转换组合,根据仿真模型的多个属性,得到多组转换组合;
65.s2.2、对每组转换组合设置用于处理模型数据转换规则的自定义函数。
66.自定义函数的代码格式为:function(model){《代码部分》},输入参数为model,不可修改,其特征为一个object对象,代表孪生体实体本身,包括了孪生体物模型的静态、动态属性及属性值、仿真模型属性及属性值,仿真模型属性关联的物模型属性及字符串形式
的转换函数、孪生体的方法等,代码部分可编辑,应用开发人员可使用javascript语言根据逻辑编写输入参数到输出参数的转换规则,用return结束函数调用并返回仿真模型的属性值。
67.孪生体的方法指的是孪生体object对象具有的方法(内置函数),例如:修改孪生体的物模型属性值、以及仿真模型的大小、颜色、透明度等样式属性等。
68.示例性的,选择某个仿真模型的属性:水体的高度(仿真模型属性),选择其需要关联的一个或多个物模型参数:液位(物模型动态属性),将水体仿真模型的高度属性绑定孪生体物模型的液位属性;首先定义变量level=液位属性值;返回液位高度乘以100作为仿真模型的高度属性值。
69.具体代码可以表示为:
70.function(model){
71.varlevel=model.a.waterlevel
72.return level*100
73.}
74.该示例可实现根据液位传感器采集到的液位值转换为水体仿真模型的高度值。
75.s3、建立后台与边缘设备的数据通道,采集或接收边缘设备的数据,更新物模型的动态属性并发布孪生体mqtt主题;
76.s3的具体步骤包括:
77.s3.1、建立后台孪生体与边缘设备的数据传输通道,后台通过主动采集和被动接收两种方式来收集边缘端的数据并更新相应的物模型动态属性;
78.其中,主动采集协议包括:modbus tcp、s7、opc ua、http等;被动接收的协议包括:http、mqtt等。
79.s3.1的具体步骤包括:
80.s3.1.1、在创建孪生体实例时,可根据需要选择填写孪生体的通讯协议及协议参数;
81.s3.1.2、后台自动根据选择的协议及参数创建数据通道并收集数据;
82.通过mqtt或http采集的数据报文必须符合约定的格式要求,以便后台对数据进行解析。
83.s3.1.3、后台将收集到的数据解析并存储为对应的孪生体动态属性值。
84.s3.2、基于mqtt协议发布孪生体消息主题,mqtt是一个基于客户端-服务器的消息发布/订阅传输协议,在mqtt协议中,当发布者向某一个主题发送消息时,代理(后台)会将消息分发给客户端。
85.s3.2的具体步骤包括:在创建一个孪生体的同时,后台会自动创建2个关联的mqtt主题,其中主题1用于接收通过mqtt协议发送的边缘设备数据,主题2则是用来发布变化的动态属性供客户端订阅;当后台监听到孪生体的属性值发生变化时,会将变化的属性及属性值通过mqtt协议发布至供客户端订阅的主题2中,订阅者(客户端)会收到消息通知。
86.s4、调用仿真模型操作api实例化孪生体对象并渲染仿真模型;
87.渲染在电脑绘图中是指用软件从模型生成图像的过程,渲染的目的是为了让仿真模型呈现于用户界面中,本发明中仿真模型渲染部分可以基于开源的webgl技术实现。
88.s5、订阅并监听孪生体主题消息,根据监听信息更新物模型或/和仿真模型。
89.s5的具体步骤包括:
90.s5.1、订阅孪生体主题消息;
91.s5.2、监听消息并解析报文中的属性及属性值,更新物模型相应的属性值;
92.当监听到新的主题消息,客户端会解析报文并将变更的属性及属性值动态赋值给物模型。
93.s5.3、根据监听到的物模型属性的变化情况,调用自定义函数更新仿真模型。
94.s5.3的具体步骤包括:当监听到物模型属性发生变更时,客户端会自动判断变更的物模型属性是否存在关联的仿真模型属性,若存在则调用自定义函数计算转换出新的仿真模型属性值并赋值,当仿真模型的属性值发生变化时,即仿真模型属性值赋值后,客户端会自动调用仿真模型操作api来修改仿真模型。
95.与现有技术相比,该种数字孪生的数据绑定方法支持孪生体物模型与仿真模型之间的数据绑定,将数字孪生仿真模型的属性与后端服务系统中的数据进行绑定并实现动态更新,可大幅度减少数字孪生应用的代码开发工作量,极大提高开发效率。该方法解决现在技术所存在的应用开发效率低、容易造成代码的冗余、代码维护难度增大、存在较高的技术门槛、不能满足市场需求的问题。
96.请一并参阅图1至图5,现对本发明提供的一种数字孪生的数据绑定系统的一种具体实施方式进行说明。该种数字孪生的数据绑定系统,应用上述任一项所述的一种数字孪生的数据绑定方法得到的,包括孪生体定义模块、数据绑定模块、数据传输模块、孪生体渲染模块,其中孪生体定义模块包括物模型定义单元、仿真模型关联单元,物模型定义单元用于定义物模型,仿真模型关联单元用于将物模型关联对应的仿真模型;数据绑定模块用于建立物模型属性与仿真模型属性的映射关系和转换规则;数据传输模块用于采集或接收边缘设备的数据,更新物模型的动态属性并发布至孪生体主题;孪生体渲染模块用于实例化孪生体并渲染仿真模型,订阅孪生体主题,监听消息并更新物模型属性值,调用自定义函数更新仿真模型。
97.数据传输模块的数据支持后台主动采集或通过边缘端上报两种数据收集方式,支持多种通讯协议。采用mqtt消息中间件,实现包括边缘设备数据的采集、将物模型属性值变更作为主题发布供客户端订阅。
98.在本实施例中,孪生体渲染模块包括消息订阅单元、对象更新单元、函数调用单元、仿真模型渲染单元、仿真模型操作api,其中,消息订阅单元基于mqtt.js实现订阅的mqtt主题2,从而监听孪生体动态属性变化的功能,mqtt.js是一个mqtt协议的客户端库,使用javascript编写,主要用于node.js和浏览器环境中;对象更新单元用于支持修改指定孪生体object对象的属性值;函数调用单元用于在孪生体的属性值发生变更,并且变更属性关联了某个仿真模型属性时,调用自定义函数计算属性值并给对应的仿真模型属性赋值;仿真模型渲染单元基于webgl技术渲染仿真模型;仿真模型操作api基于three.js进一步封装实现创建、删除以及修改仿真模型的位置、大小、颜色、材质、透明度、切换模型状态等的功能。
99.启动消息订阅组件,订阅孪生体的主题消息;当监听到新的消息,解析报文中的属性及属性值并对孪生体对象相应的属性进行赋值;当监听到仿真模型属性值发生变更,判
断变更属性是否关联了任一仿真模型属性,若是则函数调用单元调用自定义函数计算转换出新的仿真模型属性值并通过对象更新单元进行赋值,赋值后自动调用仿真模型操作api来修改仿真模型。
100.与现有技术相比,该种数字孪生的数据绑定系统通过提供可重用的孪生体定义模块、数据绑定模块、数据传输模块、孪生体渲染模块,应用开发者只需掌握少量的javascript语言来定义物模型数据与仿真模型数据的转换规则,其余过程皆则可通过选择、配置的交互方式来实现,可有效解决数字孪生应用的开发效率低、代码冗余且维护难度大、技术门槛高的问题。
101.示例性的,一台应急照明灯具有发光(状态代码:on)、不发光(状态代码:off)两种状态,分别对应一个仿真模型;为了根据plc采集到的灯具开关状态信号实现仿真模型状态的切换,可通过如下方法实现:
102.s1、将孪生体仿真模型的状态属性(决定了渲染哪个状态对应的仿真模型文件)绑定至灯具的开关状态属性(布尔值,true:开启;false:关闭)
103.s2、设置以下自定义函数:
[0104][0105]
s5、当监听孪生体mqtt主题中,灯具状态变化的报文时,将新的状态值赋值为物模型中照明灯具状态属性的属性值。
[0106]
s5.2、当监听到物模型属性值发生变化,识别到变更属性(灯具状态属性)关联了仿真模型的状态属性,自动调用示例中的自定义函数返回一个状态代码并赋值为仿真模型的状态属性值。
[0107]
s5.3、当监听到仿真模型的状态属性值发生变化时,自动调用仿真模型操作api先销毁已渲染的仿真模型,随后调用仿真模型操作api根据状态代码找到对应的模型文件并重新渲染。
[0108]
本发明将原来需要通过代码开发数字孪生应用中的许多步骤(主要是仿真模型属性和物模型属性的数据绑定部分)进行抽象和封装,形成可重用的服务(模块)及组件,从而实现非技术人员在搭建数字孪生应用时无需关注技术实现,只需结合业务配置映射及转换关系即可。
[0109]
相较于现有技术通过代码定义事件并通过事件驱动仿真模型的动态变化,本发明
的特征在于将一个孪生体划分为物模型和仿真模型,并提供无需重复开发的自定义功能和服务来简化开发步骤,其中支持自定义包括:1)物模型属性、2)物模型与仿真模型的关联关系、3)仿真模型的状态代码、4)物模型属性与仿真模型属性的映射关系、5)物模型属性值与仿真模型属性值之间的转换函数。除此以外,提供服务包括:
[0110]
1)数据采集与传输服务,基于mqtt协议和mqtt.js实现服务端与客户端之间的消息的发布订阅功能,进一步地,实现将服务端采集到的物联网数据解析为物模型数据并发布至mqtt主题消息,从而客户端可以接收到数据;
[0111]
2)模型渲染及操作服务,通过提供一套标准的api接口基于webgl实现仿真模型的增删改查等操作;
[0112]
3)孪生体动态更新服务,通过监听客户端传输的物模型数据并通过转换函数将转换后的值赋值给具有映射关系的仿真模型属性,进一步地,通过模型渲染及操作服务实现仿真模型的渲染更新。
[0113]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。本发明实施例中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
[0114]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献