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

数字孪生应用的代码生成方法、装置和电子设备

文献发布时间:2023-06-19 19:07:35


数字孪生应用的代码生成方法、装置和电子设备

技术领域

本申请涉及计算机软件技术领域,具体而言,涉及一种数字孪生应用的代码生成方法、装置和电子设备。

背景技术

随着数字孪生技术的发展,智能制造领域开始利用数字孪生应用来模拟工业产线的工艺流程、机械设备的运行状况、查看历史回放等。数字孪生应用是基于可执行的虚拟模型实现对物理系统的动态仿真模拟的一种计算机应用程序,以可视化的方式反映工业现场的物理对象的全生命周期过程。为了提高数字孪生应用的开发效率,业内出现了可用于在Web端开发数字孪生应用的开发平台,这些数字孪生应用的开发平台可以提供构建数字孪生应用的场景编辑和代码开发的工具。但是,这些现有的数字孪生应用的开发平台需要针对特定的应用场景开发应用代码,代码适配物理场景的周期过长,导致数字孪生应用的开发和部署效率低下,同时也无法快捷地实现复杂的数字孪生应用场景的动态模拟代码生成。

发明内容

有鉴于此,本申请提出一种数字孪生应用的代码生成方法、装置和电子设备,以快捷可配置的方式实现数字孪生应用的代码自动生成,提高数字孪生应用适配物理场景的开发和部署效率,同时能够快捷地实现复杂的数字孪生应用场景的动态模拟代码生成。

第一方面,本申请提出一种数字孪生应用的代码生成方法,包括:

基于用户在图形用户界面中对目标模型的可移动组件集的第一配置,生成所述目标模型的可移动组件集的动态调整函数库,所述动态调整函数库包括对应实现所述可移动组件集的至少一个动态属性的至少一个动态调整函数;

基于用户在图形用户界面中对所述可移动组件集中的第一部分可移动组件的第二配置,调用所述至少一个动态调整函数生成基于实时采集数据集控制所述第一部分可移动组件的至少一个动态属性的第一代码文件;

基于用户在图形用户界面中对所述可移动组件集中的第二部分可移动组件的第三配置,调用所述至少一个动态调整函数生成基于配置参数控制所述第二部分可移动组件的至少一个动态属性的第二代码文件;

合并所述第一代码文件和第二代码文件,生成可执行的数字孪生应用代码,基于所述实时采集数据集和配置参数在WEB浏览器环境下运行所述可执行的数字孪生应用代码。

在可选的实施方式中,所述基于用户在图形用户界面中对所述可移动组件集中的第一部分可移动组件的第二配置,调用所述至少一个动态调整函数生成基于实时采集数据集控制所述第一部分可移动组件的至少一个动态属性的第一代码文件,包括:

基于所述第二配置中为所述第一部分可移动组件中每个可移动组件关联的孪生体属性,获取所述孪生体属性映射的数据采集变量;

以所述数据采集变量为输入参数调用所述至少一个动态调整函数中的对应动态调整函数,来生成基于所述数据采集变量控制所述第一部分可移动组件中每个可移动组件的至少一个动态属性的第一代码文件。

在可选的实施方式中,所述至少一个动态属性包括至少一个动态调整项和与所述至少一个动态调整项对应的调整参数。

在可选的实施方式中,所述以所述数据采集变量为输入参数调用所述至少一个动态调整函数中的对应动态调整函数,来生成基于所述数据采集变量控制所述第一部分可移动组件中每个可移动组件的至少一个动态属性的第一代码文件,包括:

为所述数据采集变量绑定数据获取接口,所述数据获取接口用于在运行时环境下从大数据采集平台的消息队列中读取所述数据采集变量对应的实时采集数据。

在可选的实施方式中,所述基于用户在图形用户界面中对所述可移动组件集中的第二部分可移动组件的第三配置,调用所述至少一个动态调整函数生成基于配置参数控制所述第二部分可移动组件的至少一个动态属性的第二代码文件,包括:

以所述第三配置中的配置参数为输入参数调用所述至少一个动态调整函数中的对应动态调整函数,来生成基于所述配置参数控制所述第二部分可移动组件中每个可移动组件的至少一个动态属性的第二代码文件。

在可选的实施方式中,所述合并所述第一代码文件和第二代码文件,生成可执行的数字孪生应用代码,基于所述实时采集数据集和配置参数在WEB浏览器环境下运行所述可执行的数字孪生应用代码,包括:

基于所述数据采集变量绑定的数据获取接口,从大数据采集平台的消息队列中读取所述数据采集变量对应的实时采集数据的键值对集合;

从所述实时采集数据的键值对集合中依次获得每个数据采集变量对应的实时采集数据集;

基于所述每个数据采集变量对应的实时采集数据集运行所述至少一个动态调整函数中的对应动态调整函数,以更新所述第一部分可移动组件中的对应可移动组件的至少一个动态属性中的所述至少一个动态调整项对应的调整参数,从而驱动所述第一部分可移动组件中的对应可移动组件执行实时动态调整。

在可选的实施方式中,所述合并所述第一代码文件和第二代码文件,生成可执行的数字孪生应用代码,基于所述实时采集数据集和配置参数在WEB浏览器环境下运行所述可执行的数字孪生应用代码,还包括:

基于所述第三配置中的配置参数运行所述至少一个动态调整函数中的对应动态调整函数,以更新所述第二部分可移动组件中的对应可移动组件的至少一个动态属性中的所述至少一个动态调整项对应的调整参数,从而驱动所述第二部分可移动组件中的对应可移动组件执行虚拟动态调整。

在可选的实施方式中,所述基于用户在图形用户界面中对目标模型的可移动组件集的第一配置,生成所述目标模型的可移动组件集的动态调整函数库,包括:

基于用户在图形用户界面中对目标模型的可移动组件集中的多个关联可移动组件的组合的配置,为所述多个关联可移动组件的组合生成对应实现所述多个关联可移动组件的组合的至少一个动态属性的至少一个动态调整函数。

第二方面,本申请提出一种数字孪生应用的代码生成装置,包括:

函数生成单元,用于基于用户在图形用户界面中对目标模型的可移动组件集的第一配置,生成所述目标模型的可移动组件集的动态调整函数库,所述动态调整函数库包括对应实现所述可移动组件集的至少一个动态属性的至少一个动态调整函数;

第一代码生成单元,用于基于用户在图形用户界面中对所述可移动组件集中的第一部分可移动组件的第二配置,调用所述至少一个动态调整函数生成基于实时采集数据集控制所述第一部分可移动组件的至少一个动态属性的第一代码文件;

第二代码生成单元,用于基于用户在图形用户界面中对所述可移动组件集中的第二部分可移动组件的第三配置,调用所述至少一个动态调整函数生成基于配置参数控制所述第二部分可移动组件的至少一个动态属性的第二代码文件;

代码合并运行单元,用于合并所述第一代码文件和第二代码文件,生成可执行的数字孪生应用代码,基于所述实时采集数据集和配置参数在WEB浏览器环境下运行所述可执行的数字孪生应用代码。

第三方面,本申请提出一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器用于执行所述计算机程序以实现前述任一实施方式所述的方法。

本申请实施例至少可以达到如下有益效果:

本申请实施例通过基于用户在图形用户界面中对目标模型的可移动组件集的第一配置,生成所述目标模型的可移动组件集的动态调整函数库,并基于用户在图形用户界面中对所述可移动组件集中的第一部分可移动组件的第二配置,调用所述动态调整函数库中至少一个动态调整函数生成基于实时采集数据集控制所述第一部分可移动组件的至少一个动态属性的第一代码文件,同时基于用户在图形用户界面中对所述可移动组件集中的第二部分可移动组件的第三配置,调用所述至少一个动态调整函数生成基于配置参数控制所述第二部分可移动组件的至少一个动态属性的第二代码文件,最后合并所述第一代码文件和第二代码文件,生成可执行的数字孪生应用代码。从而,可以以快捷可配置的方式实现数字孪生应用的代码自动生成,提高数字孪生应用适配物理场景的开发和部署效率;进一步地,生成的数字孪生应用代码还可以同时实现对目标模型的实时动态调整和虚拟动态调整,快捷地实现复杂的数字孪生应用场景的动态模拟代码生成。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本申请的某些实施例,而不应被看作是对本申请范围的限制。

图1是根据本申请一实施例的数字孪生应用的代码生成方法的流程示意图;

图2是根据本申请一实施例的生成第一代码文件的部分流程示意图;

图3是根据本申请一实施例的合并运行代码文件的部分流程示意图;

图4是根据本申请一实施例的数字孪生应用的代码生成装置的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例的附图,对本申请实施例中的技术方案进行清楚、完整地描述。然而,应当理解,所描述的实施例仅仅是本申请的部分示例性实施例,而不是全部实施例,因此以下对本申请实施例的详细描述并非旨在限制本申请要求保护的范围。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书中的术语“第一”、“第二”等仅是用于区别描述类似的对象,而不是用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。

如前所述,现有的数字孪生应用的开发平台需要针对特定的应用场景开发应用代码,代码适配物理场景的周期过长,导致数字孪生应用的开发和部署效率低下,同时也无法快捷地实现复杂的数字孪生应用场景的动态模拟代码生成。为此,本申请提出一种数字孪生应用的代码生成方法,以快捷可配置的方式实现数字孪生应用的代码自动生成,提高数字孪生应用适配物理场景的开发和部署效率,快捷地实现复杂的数字孪生应用场景的动态模拟代码生成。

图1是根据本申请一实施例的数字孪生应用的代码生成方法的流程示意图。本申请实施例的数字孪生应用的代码生成方法可以适用于数字孪生开发平台,如图1所示,本申请实施例的数字孪生应用的代码生成方法,包括以下步骤:

步骤S101,基于用户在图形用户界面中对目标模型的可移动组件集的第一配置,生成所述目标模型的可移动组件集的动态调整函数库,所述动态调整函数库包括对应实现所述可移动组件集的至少一个动态属性的至少一个动态调整函数;

步骤S102,基于用户在图形用户界面中对所述可移动组件集中的第一部分可移动组件的第二配置,调用所述至少一个动态调整函数生成基于实时采集数据集控制所述第一部分可移动组件的至少一个动态属性的第一代码文件;

步骤S103,基于用户在图形用户界面中对所述可移动组件集中的第二部分可移动组件的第三配置,调用所述至少一个动态调整函数生成基于配置参数控制所述第二部分可移动组件的至少一个动态属性的第二代码文件;

步骤S104,合并所述第一代码文件和第二代码文件,生成可执行的数字孪生应用代码,基于所述实时采集数据集和配置参数在WEB浏览器环境下运行所述可执行的数字孪生应用代码。

本实施例中,数字孪生应用开发人员作为用户,可以在数字孪生开发平台的图形用户界面(GUI)中提供针对目标模型的可移动组件集的第一配置。目标模型是针对工业现场的物理设备例如智能制造领域的工业产线上的物理设备,预先构建好的虚拟数字模型。这些虚拟数字模型可以通过常用建模工具软件编辑创建。本实施例可以预先将已经创建的目标模型导入到数字孪生开发平台,数字孪生开发平台可以提供对导入的目标模型进行在线渲染、编辑和显示的功能。

本实施例中,目标模型的可移动组件集表示目标模型中的可移动组件的集合,这些可移动组件是与物理设备中的可移动部件对应的数字孪生组件。目标模型在数字孪生开发平台中经过模型的渲染,可以解析出多个可移动组件。本实施例首先基于用户在数字孪生开发平台的图形用户界面中对所述目标模型的可移动组件集的第一配置,生成所述目标模型的可移动组件集的动态调整函数库,所述动态调整函数库包括对应实现所述可移动组件集的至少一个动态属性的至少一个动态调整函数。

本实施例中,可移动组件集的至少一个动态属性用于表征目标模型中的可移动组件可执行的动态调整动作,该动态调整动作可以以至少一个动态调整项来表示,这些动态调整项可以包括沿X轴平移、沿Y轴平移、沿Z轴平移、围绕X轴旋转、围绕Y轴旋转、围绕Z轴旋转、沿X轴缩放、沿Y轴缩放、沿Z轴缩放等。每个动态调整项都有关联对应的调整参数,用于控制对可移动组件的动态调整动作幅度,如平移距离、旋转角度、缩放倍数等。本实施例中,根据用户对所述目标模型的可移动组件集中的每个可移动组件关联的至少一个动态属性的配置信息,数字孪生开发平台可以为所述目标模型的可移动组件集生成动态调整函数库,该动态调整函数库中包括了对应实现所述可移动组件集中每个可移动组件的至少一个动态属性的至少一个动态调整函数。在一个实施方式中,所述动态调整函数库可以基于WebGL或者ThreeJS的应用编程接口实现,ThreeJS是基于对WebGL的应用编程接口封装而形成的图形编程库。

在一个实施方式中,对于某些目标模型而言,当解析出多个可移动组件之后,由于部分可移动组件的坐标系中心点与旋转中心点可以会不一致,为了使得开发的数字孪生应用能够更加真实地模拟物理设备的动态场景,在基于用户在图形用户界面中对目标模型的可移动组件集的第一配置生成所述目标模型的可移动组件集的动态调整函数库时,可以进一步地基于用户在图形用户界面中对目标模型的可移动组件集中的多个关联可移动组件的组合的配置,为所述多个关联可移动组件的组合生成对应实现所述多个关联可移动组件的组合的至少一个动态属性的至少一个动态调整函数。因此,在多个关联可移动组件的组合提供至少一个动态属性的配置信息时,可以对这些关联可移动组件进行组合配置,基于对关联可移动组件的组合的配置信息来生成实现所述多个关联可移动组件的组合的至少一个动态属性的至少一个动态调整函数。

本实施例中,在生成了所述目标模型的可移动组件集的动态调整函数库之后,随后可以基于用户在数字孪生开发平台的图形用户界面中对所述可移动组件集中的第一部分可移动组件的第二配置,调用所述动态调整函数库中的至少一个动态调整函数来生成基于实时采集数据集控制所述第一部分可移动组件的至少一个动态属性的第一代码文件。在一种示例性的数字孪生应用中,目标模型的可移动组件集可以区分为第一部分可移动组件和第二部分可移动组件。其中,第一部分可移动组件是可以从工业现场的物理设备实时采集运动状态数据的至少一个可移动组件,第二部分可移动组件则是无法从工业现场的物理设备实时采集运动状态数据的其它部分可移动组件。因此,对于第一部分可移动组件,可以通过对用户在图形用户界面上对这部分可移动组件进行用以驱动其进行实时动态调整的第二配置,从而基于第二配置调用前述步骤中的所述动态调整函数库中的至少一个动态调整函数来生成基于实时采集数据集控制所述第一部分可移动组件的至少一个动态属性的第一代码文件。

进一步地,本实施例对于目标模型的第二部分可移动组件,可以通过对用户在图形用户界面上对这部分可移动组件进行用以驱动其进行虚拟动态调整的第三配置,从而基于第三配置调用前述步骤中的所述动态调整函数库中的至少一个动态调整函数来生成基于用户的配置参数控制所述第二部分可移动组件的至少一个动态属性的第二代码文件。

本实施例中,通过合并前述步骤生成的所述第一代码文件和第二代码文件,可以编译生成可执行的数字孪生应用代码,然后基于实时采集数据集和配置参数可以在WEB浏览器环境下运行所述可执行的数字孪生应用代码,从实现数字孪生应用的快捷代码生成和部署。

本申请实施例基于用户在图形用户界面中对目标模型的可移动组件集的第一配置,生成所述目标模型的可移动组件集的动态调整函数库,并基于用户在图形用户界面中对所述可移动组件集中的第一部分可移动组件的第二配置,调用所述动态调整函数库中至少一个动态调整函数生成基于实时采集数据集控制所述第一部分可移动组件的至少一个动态属性的第一代码文件,同时基于用户在图形用户界面中对所述可移动组件集中的第二部分可移动组件的第三配置,调用所述至少一个动态调整函数生成基于配置参数控制所述第二部分可移动组件的至少一个动态属性的第二代码文件,最后合并所述第一代码文件和第二代码文件,生成可执行的数字孪生应用代码。从而,本申请实施例能够以快捷可配置的方式实现数字孪生应用的代码自动生成,提高数字孪生应用适配物理场景的开发和部署效率。进一步地,生成的数字孪生应用代码还可以同时实现对目标模型的实时动态调整和虚拟动态调整,快捷地实现复杂的数字孪生应用场景的动态模拟代码生成。

在前述实施例的基础上,图2是根据本申请一实施例的生成第一代码文件的部分流程示意图。如图2所示,所述步骤S102中所述基于用户在图形用户界面中对所述可移动组件集中的第一部分可移动组件的第二配置,调用所述至少一个动态调整函数生成基于实时采集数据集控制所述第一部分可移动组件的至少一个动态属性的第一代码文件,可以包括以下步骤:

步骤S201,基于所述第二配置中为所述第一部分可移动组件中的每个可移动组件关联的至少一个孪生体属性,获取所述至少一个孪生体属性关联映射的数据采集变量;

步骤S202,以所述数据采集变量为输入参数调用所述至少一个动态调整函数中的对应动态调整函数,来生成基于所述数据采集变量控制所述第一部分可移动组件中每个可移动组件的至少一个动态属性的第一代码文件。

本实施例中,在用户在数字孪生开发平台的图形用户界面中对目标模型的第一部分可移动组件进行用以驱动其进行实时动态调整的第二配置时,可以为所述第一部分可移动组件中的每个可移动组件关联对应的孪生体属性。孪生体属性是将所述第一部分可移动组件的实时动态调整虚拟映射到物理设备的实时运行状态而定义的数据结构。每个孪生体属性具有关联映射的数据采集变量,所述数据采集变量用于表征物理设备在物理空间中的运动状态的实时采集数据。在一个实施方式中,根据物理设备在物理空间中的运动状态,所述第一部分可移动组件中的每个可移动组件可以分别绑定一个或多个孪生体属性。

在一个实施方式中,所述孪生体属性包括属性名称和属性值类型,每个属性名称对应于物理设备的运动状态的一个数据采集变量,所述属性值类型用于指定所述属性名称对应的数据采集变量的数据类型。以物理设备为工业现场的机械臂为例,机械臂孪生体可以定义多个孪生体属性来分别对应到工业现场的机械臂的运动状态的数据采集变量。示例性地,可以为该机械臂孪生体定义孪生体属性1和孪生体属性2,如下所示:

孪生体属性1:{“srPosX”,Number};

孪生体属性2:{“amRotY”,Number}。

其中,孪生体属性1和孪生体属性2可以表示为包含属性名称和属性值类型的多元组,孪生体属性1的属性名称为srPosX,属性值类型为Number类型,属性名称srPosX表示机械臂滑轨沿X轴方向移动的相对位置,对应工业现场的机械臂滑轨在X轴方向移动的相对位置的数据采集变量,因此可以将该孪生体属性1绑定到目标模型中对应于机械臂滑轨的可移动组件;孪生体属性2的属性名称为amRotY,属性值类型为Number类型,属性名称amRotY表示机械臂大臂沿Y轴旋转的相对角度,对应工业现场的机械臂大臂围绕旋转轴心沿Y轴旋转角度的数据采集变量,因此可以将该孪生体属性2绑定到目标模型中对应于机械臂大臂的可移动组件,如果机械臂的大臂与其他关联可移动组件进行组合配置,则可以将该孪生体属性2绑定到包含机械臂大臂的关联可移动组件的组合。

在一个实施方式中,所述孪生体属性还可以包括属性名称对应的坐标单位,用于将物理设备的运动状态的实时采集数据映射到目标模型的空间坐标系。

本实施例中通过用户在图形用户界面中的第二配置为所述第一部分可移动组件中的每个可移动组件关联至少一个孪生体属性,获取所述至少一个孪生体属性关联映射的数据采集变量,并以所述数据采集变量为输入参数调用所述至少一个动态调整函数中的对应动态调整函数,来生成基于所述数据采集变量控制所述第一部分可移动组件中每个可移动组件的至少一个动态属性的第一代码文件,从而可以以快捷可配置的方式实现数字孪生应用的代码自动生成,提高数字孪生应用适配物理场景的开发和部署效率。

在一个实施方式中,所述步骤S202中以所述数据采集变量为输入参数调用所述至少一个动态调整函数中的对应动态调整函数,来生成基于所述数据采集变量控制所述第一部分可移动组件中每个可移动组件的至少一个动态属性的第一代码文件,还可以包括:

为所述数据采集变量绑定数据获取接口,所述数据获取接口用于在运行时环境下从大数据采集平台的消息队列中读取所述数据采集变量对应的实时采集数据。

在一个实施方式中,所述步骤S103中基于用户在图形用户界面中对所述可移动组件集中的第二部分可移动组件的第三配置,调用所述至少一个动态调整函数生成基于配置参数控制所述第二部分可移动组件的至少一个动态属性的第二代码文件,可以包括:

以所述第三配置中的配置参数为输入参数调用所述至少一个动态调整函数中的对应动态调整函数,来生成基于所述配置参数控制所述第二部分可移动组件中每个可移动组件的至少一个动态属性的第二代码文件。

本实施例中,基于用户在图形用户界面中对所述目标模型的第二部分可移动组件进行的用以驱动其进行虚拟动态调整的的第三配置,可以进一步以所述第三配置中的配置参数为输入参数调用所述至少一个动态调整函数中的对应动态调整函数,来生成基于所述配置参数控制所述第二部分可移动组件中每个可移动组件的至少一个动态属性的第二代码文件。如前所述,第二部分可移动组件是无法从工业现场的物理设备实时采集运动状态数据的可移动组件。无法从工业现场的物理设备实时采集运动状态数据可以包括目标模型的可移动组件对应的物理设备部件的运动状态无法实时采集得到或者对目标模型的可移动组件的动态调整无法基于实时采集数据实现等多种情况。由于这部分可移动组件无法从工业现场实时采集物理设备上相应部件的运动状态,所以无法采用像第一部分可移动组件一样的方式为第二部分可移动组件绑定孪生体属性的方式来构建用以驱动其进行实时动态调整的第二配置。例如,以前述的机械臂为例,如果工业现场的机械臂的数据采集终端仅仅实现了对滑轨的平移位置和大臂的旋转角度的数据采集,那么对于其他同样发生运动的小臂或者抓手的旋转操作,可以通过对第二部分可移动组件进行用以驱动其进行虚拟动态调整的的第三配置来实现;如果当前的数字孪生应用场景中,进一步需要对小臂或者抓手的可移动组件进行缩放操作,这些操作无法基于实时采集数据实现,也可以通过对第二部分可移动组件进行用以驱动其进行虚拟动态调整的的第三配置来实现。

在一个实施方式中,用户在图形用户界面中对所述可移动组件集中的第二部分可移动组件的第三配置可以包括控制所述第二部分可移动组件中的每个可移动组件的至少一个动态属性以驱动其进行虚拟动态调整的参数配置,这些参数配置可以包括执行虚拟动态调整的起始和结束时间、对第二部分可移动组件中的对应可移动组件的动态调整项进行动态调整的调整参数等。

在一个实施方式中,如果前述实施例中基于对关联可移动组件的组合的配置信息生成了实现所述多个关联可移动组件的组合的至少一个动态属性的至少一个动态调整函数,那么还可以在此基础上针对第一部分可移动组件或者第二部分可移动组件中的关联可移动组件的组合来进行所述第二配置或者第三配置,从而分别生成基于数据采集变量控制所述关联可移动组件的组合的至少一个动态属性的第一代码文件,或者生成基于配置参数控制所述关联可移动组件的组合的至少一个动态属性的第二代码文件。

在前述实施例的基础上,图3是根据本申请一实施例的合并运行代码文件的部分流程示意图。如图3所示,所述步骤S104中合并所述第一代码文件和第二代码文件,生成可执行的数字孪生应用代码,基于所述实时采集数据集和配置参数在WEB浏览器环境下运行所述可执行的数字孪生应用代码,包括:

步骤S301,基于所述数据采集变量绑定的数据获取接口,从大数据采集平台的消息队列中读取所述数据采集变量对应的实时采集数据的键值对集合;

步骤S302,从所述实时采集数据的键值对集合中依次获得每个数据采集变量对应的实时采集数据集;

步骤S303,基于所述每个数据采集变量对应的实时采集数据集运行所述至少一个动态调整函数中的对应动态调整函数,以更新所述第一部分可移动组件中的对应可移动组件的至少一个动态属性中的所述至少一个动态调整项对应的调整参数,从而驱动所述第一部分可移动组件中的对应可移动组件执行实时动态调整。

本实施例中,可以根据所述第一部分可移动组件中的每个可移动组件关联绑定的孪生体属性中的所述属性名称获得孪生体属性映射的所述数据采集变量,并基于所述数据采集变量绑定的数据获取接口从大数据采集平台的消息队列中读取所述数据采集变量对应的实时采集数据的键值对集合。所述大数据采集平台的消息队列中写入从物理设备的数据采集终端采集的运动状态的实时采集数据。物理设备的运动状态的实时采集数据可以采用Key:Value的键值对的格式写入所述消息队列,其中可以将每个数据采集变量作为Key,将该数据采集变量对应的实时采集数据作为Value。例如,仍然以前述的机械臂为例,如果对应于机械臂滑轨的目标模型的可移动组件绑定了孪生体属性1:{“srPosX”,Number};对应于机械臂大臂的目标模型的可移动组件绑定了孪生体属性2:{“amRotY”,Number}。那么,所述大数据采集平台从所述机械臂的数据采集终端采集的表征滑轨在X轴方向的相对位置的数据采集变量可以表示为srPosX,从所述机械臂的数据采集终端采集的表征大臂沿Y轴旋转的相对角度的数据采集变量可以表示为amRotY。相应地,该两个数据采集变量所对应的实时采集数据可以依据时间戳的顺序依次表示为以下的键值对集合:

{“srPosX”:100,“amRotY”:30,“srPosX”:120,“amRotY”:40,......}。

因此,根据上述可移动组件绑定的孪生体属性1的属性名称srPosX和孪生体属性2的属性名称amRotY就可以快速地从上述数据采集变量对应的实时采集数据的键值对集合中解析出每个数据采集变量对应的实时采集数据集。

本实施例中,如前所述,由于所述第一代码文件基于以所述数据采集变量为输入参数调用所述至少一个动态调整函数中的对应动态调整函数而生成,实现基于所述数据采集变量控制所述第一部分可移动组件中每个可移动组件的至少一个动态属性。因此,在运行合并第一代码文件和第二代码文件之后形成的可执行的数字孪生应用代码时,就可以基于所述每个数据采集变量对应的实时采集数据集运行所述至少一个动态调整函数中的对应动态调整函数,来更新所述第一部分可移动组件中的对应可移动组件的至少一个动态属性中的所述至少一个动态调整项对应的调整参数,从而驱动所述第一部分可移动组件中的对应可移动组件执行实时动态调整。

在一个实施方式中,所述步骤S303基于所述每个数据采集变量对应的实时采集数据集运行所述至少一个动态调整函数中的对应动态调整函数,以更新所述第一部分可移动组件中的对应可移动组件的至少一个动态属性中的所述至少一个动态调整项对应的调整参数,从而驱动所述第一部分可移动组件中的对应可移动组件执行实时动态调整,还可以包括:

根据所述第一部分可移动组件中的对应可移动组件的孪生体属性中的坐标单位将所述数据采集变量对应的实时采集数据转换为目标模型的空间坐标系中的属性值,从而可以实现目标模型在空间坐标系中运动状态的准确映射。

在一个实施方式中,所述步骤S104中合并所述第一代码文件和第二代码文件,生成可执行的数字孪生应用代码,基于所述实时采集数据集和配置参数在WEB浏览器环境下运行所述可执行的数字孪生应用代码,还包括:

基于所述第三配置中的配置参数运行所述至少一个动态调整函数中的对应动态调整函数,以更新所述第二部分可移动组件中的对应可移动组件的至少一个动态属性中的所述至少一个动态调整项对应的调整参数,从而驱动所述第二部分可移动组件中的对应可移动组件执行虚拟动态调整。

本实施例中,由于所述第二代码文件基于第三配置中的配置参数为输入参数调用所述至少一个动态调整函数中的对应动态调整函数而生成,实现基于所述配置参数控制所述第二部分可移动组件中每个可移动组件的至少一个动态属性。因此,在运行合并第一代码文件和第二代码文件之后形成的可执行的数字孪生应用代码时,就可以基于所述配置参数运行所述至少一个动态调整函数中的对应动态调整函数,来更新所述第二部分可移动组件中的对应可移动组件的至少一个动态属性中的所述至少一个动态调整项对应的调整参数,从而驱动所述第二部分可移动组件中的对应可移动组件执行虚拟动态调整。

如前所述,所述第二部分可移动组件中每个可移动组件的第三配置包括执行虚拟动态调整的起始和结束时间、对第二部分可移动组件中的对应可移动组件的动态调整项进行动态调整的调整参数等,基于这些配置参数就可以直接控制第二部分可移动组件中的对应可移动组件执行虚拟动态调整的时间和调整参数,具体而言,可以使用所述配置参数中的调整参数更新所述第二部分可移动组件中的对应可移动组件的至少一个动态属性中的所述至少一个动态调整项对应的调整参数。

本申请实施例通过基于用户在图形用户界面中对所述可移动组件集中的第一部分可移动组件的第二配置,调用至少一个动态调整函数生成基于实时采集数据集控制所述第一部分可移动组件的至少一个动态属性的第一代码文件;基于用户在图形用户界面中对所述可移动组件集中的第二部分可移动组件的第三配置,调用至少一个动态调整函数生成基于配置参数控制所述第二部分可移动组件的至少一个动态属性的第二代码文件;合并所述第一代码文件和第二代码文件,生成可执行的数字孪生应用代码,基于所述实时采集数据集和配置参数在WEB浏览器环境下运行所述可执行的数字孪生应用代码。从而,可以以快捷可配置的方式实现数字孪生应用的代码自动生成,提高数字孪生应用适配物理场景的开发和部署效率;进一步地,生成的数字孪生应用代码还可以同时实现对目标模型的实时动态调整和虚拟动态调整,快捷地实现复杂的数字孪生应用场景的动态模拟代码生成。

本申请实施例还提出一种数字孪生应用的代码生成装置。图4是根据本申请一实施例的数字孪生应用的代码生成装置的结构示意图。如图4所示,本申请实施例的数字孪生应用的代码生成装置,包括以下单元:

函数生成单元401,用于基于用户在图形用户界面中对目标模型的可移动组件集的第一配置,生成所述目标模型的可移动组件集的动态调整函数库,所述动态调整函数库包括对应实现所述可移动组件集的至少一个动态属性的至少一个动态调整函数;

第一代码生成单元402,用于基于用户在图形用户界面中对所述可移动组件集中的第一部分可移动组件的第二配置,调用所述至少一个动态调整函数生成基于实时采集数据集控制所述第一部分可移动组件的至少一个动态属性的第一代码文件;

第二代码生成单元403,用于基于用户在图形用户界面中对所述可移动组件集中的第二部分可移动组件的第三配置,调用所述至少一个动态调整函数生成基于配置参数控制所述第二部分可移动组件的至少一个动态属性的第二代码文件;

代码合并运行单元404,用于合并所述第一代码文件和第二代码文件,生成可执行的数字孪生应用代码,基于所述实时采集数据集和配置参数在WEB浏览器环境下运行所述可执行的数字孪生应用代码。

在一个实施方式中,所述第一代码生成单元402还用于:

基于所述第二配置中为所述第一部分可移动组件中的每个可移动组件关联的至少一个孪生体属性,获取所述至少一个孪生体属性关联映射的数据采集变量;

以所述数据采集变量为输入参数调用所述至少一个动态调整函数中的对应动态调整函数,来生成基于所述数据采集变量控制所述第一部分可移动组件中每个可移动组件的至少一个动态属性的第一代码文件。

在一个实施方式中,所述第一代码生成单元402还用于:

为所述数据采集变量绑定数据获取接口,所述数据获取接口用于在运行时环境下从大数据采集平台的消息队列中读取所述数据采集变量对应的实时采集数据。

在一个实施方式中,所述第二代码生成单元403还用于:

以所述第三配置中的配置参数为输入参数调用所述至少一个动态调整函数中的对应动态调整函数,来生成基于所述配置参数控制所述第二部分可移动组件中每个可移动组件的至少一个动态属性的第二代码文件。

在一个实施方式中,所述代码合并运行单元404还用于:

基于所述数据采集变量绑定的数据获取接口,从大数据采集平台的消息队列中读取所述数据采集变量对应的实时采集数据的键值对集合;

从所述实时采集数据的键值对集合中依次获得每个数据采集变量对应的实时采集数据集;

基于所述每个数据采集变量对应的实时采集数据集运行所述至少一个动态调整函数中的对应动态调整函数,以更新所述第一部分可移动组件中的对应可移动组件的至少一个动态属性中的所述至少一个动态调整项对应的调整参数,从而驱动所述第一部分可移动组件中的对应可移动组件执行实时动态调整。

在一个实施方式中,所述代码合并运行单元404还用于:

基于所述第三配置中的配置参数运行所述至少一个动态调整函数中的对应动态调整函数,以更新所述第二部分可移动组件中的对应可移动组件的至少一个动态属性中的所述至少一个动态调整项对应的调整参数,从而驱动所述第二部分可移动组件中的对应可移动组件执行虚拟动态调整。

需要说明的是,本领域技术人员可以理解,本申请的方法实施例所描述的不同实施方式及其说明解释和所达到的技术效果,同样适用于本申请的装置实施例中,在此不再赘述。

进一步地,本申请实施例还提出一种电子设备,该电子设备可以包括:处理器和存储器。其中,存储器存储有计算机程序指令,处理器可以调用存储器中的计算机程序指令以执行本申请任一实施方式所述方法的全部或部分步骤。上述的存储器中的计算机程序指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。

进一步地,本申请还提供一种计算机程序产品,所述计算机程序产品包括存储有计算机程序的非暂态计算机可读存储介质,当该计算机可读存储介质连接至计算机设备,所述计算机程序被计算机设备的一个或多个处理器执行时,能够执行本申请任一实施方式所述方法的全部或部分步骤。

进一步地,本申请还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序可以被一个或多个处理器执行以执行本申请任一实施方式所述方法的全部或部分步骤。

通过以上的实施方式的描述,本领域技术人员可以清楚地了解到本申请的各实施方式可借助软件或者软件结合必要的通用硬件平台的方式来实现,当然也可以通过硬件功能实现。基于这样的理解,本申请的技术方案本质上或者对现有技术做出贡献的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备,例如包括但不限于个人计算机,服务器,或者网络设备等,来执行本申请任一实施方式所述方法的全部或部分步骤。前述的存储介质可以包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储计算机程序代码的介质。

以上描述了本申请示例性的实施例,应当理解,上述示例性的实施例不是限制性的,而是说明性的,本申请的保护范围不限于此。应理解,本领域技术人员在不脱离本申请的精神和范围的情况下,可以对本申请实施例进行修改和变型,这些修改和变型理应在本申请的保护范围之内。

相关技术
  • 报文预定义代码生成方法、装置、电子设备和存储介质
  • 多版本代码生成方法、设备及电子设备
  • 可弯曲电子设备、可弯曲电子设备的控制方法、装置及电子设备
  • 数字孪生城市模型的渲染方法、装置和电子设备
  • 面向数字孪生的云边端协同系统、方法、装置及电子设备
技术分类

06120115800559