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

流体流动的工业自动化过程模拟的制作方法

2022-03-26 02:42:02 来源:中国专利 TAG:


1.本文中公开的主题总体上涉及工业自动化系统,更特别地,涉及与设计自动化系统有关的机械工程工作流程和控制工程工作流程。


背景技术:

2.在高级别处,设计新的工业自动化系统通常涉及两个单独但相互关联的工程工作,以在一方面开发机械方面并且在另一方面开发控制方面。机械工程可以涉及:选择或设计将组成新系统的机器(例如,工业机器人、加工站、传送机、操作者工作站、运动设备、马达、气动致动器等);确定这些机器的合适位置和取向;选择和定位将用于将状态和操作数据馈送至控制设备的传感器等。基于该机械设计,控制工程师设计用于电力连接和数据连接两者的电气系统,开发要由一个或更多个工业控制器执行以控制自动化系统的行为的控制代码(例如,梯形逻辑、顺序功能图、功能框图、结构化文本等),设置设备配置(例如,马达驱动器参数设置),并且开发用于可视化机器状态和警报的人机接口(hmi)。作为开发过程的一部分,控制工程师还可以执行数字模拟,所述数字模拟针对机械系统的虚拟化(例如,数字孪生)来测试控制编程。
3.鉴于这两个工程线程,用于设计、编程和测试工业自动化系统的常规工程工作流程通常需要使用用于机械工程和控制工程的单独的设计工具。由于机械设计平台与控制设计平台之间通常不存在直接链接,因此必须将cad侧上对机械设计所做的改变传送给控制工程师,使得在必要时可以相应地更新控制设计。因此,如果两个工程团队并行工作并修改他们各自的设计,则可能难以保持机械设计与控制设计之间的同步。


技术实现要素:

4.以下给出了简化的概述,以提供对本文中描述的一些方面的基本理解。该概述既不是广泛的综述,也不旨在标识关键/重要的要素或者描绘本文中描述的各方面的范围。该概述的唯一目的是以简化的形式给出一些概念作为稍后给出的更详细描述的序言。
5.在一个或更多个实施方式中,提供了一种用于开发自动化系统模型的系统,所述系统包括:用户接口组件,其被配置成接收流体建模输入数据,该流体建模输入数据从流体模型库中选择流体模型并且将流体模型与工业自动化系统的数字模型的所选元件相关联,其中,流体模型定义由所述流体模型表示的流体的流体模拟属性;以及方面元数据组件,其被配置成基于流体模型与元件的关联来将逻辑地表示由流体模型定义的流体的流体对象添加至数字模型,其中,将流体对象添加至数字模型产生工业自动化系统的数字孪生,所述工业自动化系统的数字孪生能够在模拟工业自动化系统的操作的模拟平台内根据流体模拟属性来模拟流体的行为和属性。
6.此外,一个或更多个实施方式提供了一种用于进行以下操作的方法:由包括处理器的计算机辅助设计(cad)系统接收从流体模型库对流体模型的选择,其中,流体模型定义由所述流体模型表示的流体的流体模拟属性;由cad系统基于流体建模输入数据将流体模
型分配给工业自动化系统的数字模型的所选元件;以及响应于所述分配,由cad系统创建逻辑地表示流体的流体对象作为数字模型的一部分,其中,创建流体对象将数字模型转换成工业自动化系统的数字孪生,所述工业自动化系统的数字孪生能够在模拟工业自动化系统的操作的模拟平台内根据流体模拟属性来模拟流体的行为和属性。
7.此外,根据一个或更多个实施方式,提供了一种非暂态计算机可读介质,所述非暂态计算机可读介质上存储有指令,所述指令响应于执行而使计算机辅助设计(cad)系统执行操作,所述操作包括:接收从流体模型库对流体模型的选择,其中,流体模型定义由所述流体模型表示的流体的流体模拟属性;基于流体建模输入数据将流体模型分配给工业自动化系统的数字模型的所选元件;响应于所述分配,创建逻辑地表示流体的流体对象;以及基于流体对象和数字模型来生成工业自动化系统的数字孪生,所述工业自动化系统的数字孪生能够在模拟工业自动化系统的操作的模拟平台内根据流体模拟属性来模拟流体的行为和属性。
8.为了实现上述目的和相关目的,在本文中结合以下描述和附图对某些说明性方面进行了描述。这些方面指示可以实践的各种方式,所有这些方式均旨在被涵盖在本文中。当结合附图考虑时,其他优点和新颖特征可以根据以下详细描述而变得明显。
附图说明
9.图1是示出用于与设计工业自动化系统有关的机械工程和控制工程的单独的设计平台的使用的图。
10.图2是支持利用控制方面对3d机械cad模型进行标记以促进动态数字孪生的创建的示例cad系统的框图。
11.图3是也支持利用控制方面对自动化系统的3d模型进行标记的示例控制设计和测试系统的框图。
12.图4是示出使用cad系统创建工业自动化系统的机械模型的图。
13.图5是示出将方面元数据添加至机械模型以产生自动化系统的增强数字模型的图。
14.图6是可以由cad系统呈现并且用于将方面元数据分配给机械cad模型的示例接口显示。
15.图7是示出基于向机械模型分配方面元数据来创建自动化系统项目的主i/o列表的图。
16.图8是已经利用方面元数据标示的示例cad文件的图示。
17.图9是示出作为虚拟调试过程的一部分的将增强数字模型导出至控制设计和测试平台的图。
18.图10是示出在使用增强数字模型以在控制程序的控制下虚拟地模仿物理自动化系统的行为的控制设计和测试平台内模拟组合的机械设计和控制设计的图。
19.图11是示出将控制设计更新提交给控制设计和测试平台的图。
20.图12是示出将更新的数字模型从控制设计和测试平台导入cad系统中的图。
21.图13是示出将流体定义添加至机械模型以增强具有流体模拟能力的数字模型的图。
22.图14是示出通过模拟组件进行的流体模拟的图。
23.图15是示出将多个流体对象聚合到聚合流体对象中的图。
24.图16a是用于开发工业自动化系统的机械cad模型并且将该模型配置成用作动态数字孪生以在模拟平台内执行的示例方法的第一部分的流程图。
25.图16b是用于开发工业自动化系统的机械cad模型并且将该模型配置成用作动态数字孪生以在模拟平台内执行的示例方法的第二部分的流程图。
26.图17是示例计算环境。
27.图18是示例联网环境。
具体实施方式
28.现在参照附图来描述本主题公开内容,其中,贯穿全文使用相同的附图标记来指代相同的要素。在以下描述中,出于说明的目的,阐述了许多特定细节以提供对本主题公开内容的透彻理解。然而,可能明显的是,可以在没有这些具体细节的情况下实践本主题公开内容。在其他实例中,以框图形式示出公知的结构和设备以促进对本主题公开内容的描述。
29.如在本技术中使用的术语“组件”、“系统”、“平台”、“层”、“控制器”、“终端”、“站”、“节点”、“接口”旨在指代计算机相关实体、或者与具有一个或更多个特定功能的操作装置相关的或作为该操作装置的一部分的实体,其中,这样的实体可以是硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是但不限于:在处理器上运行的进程、处理器、硬盘驱动器、包括附接(例如,螺丝拧紧或螺栓固定)或可移除附接的固态存储驱动器的(光存储介质或磁存储介质的)多个存储驱动器;对象;可执行体;执行的线程;计算机可执行程序和/或计算机。通过说明的方式,在服务器上运行的应用和服务器两者都可以是组件。一个或更多个组件可以驻留在进程和/或执行的线程内,并且组件可以位于一个计算机上以及/或者分布在两个或更多个计算机之间。此外,如本文中描述的组件可以从其上存储有各种数据结构的各种计算机可读存储介质来执行。组件可以经由本地和/或远程处理例如根据具有一个或更多个数据包的信号(例如,来自经由信号与本地系统、分布式系统中的另一组件和/或跨网络例如因特网与其他系统交互的一个组件的数据)进行通信。作为另一示例,组件可以是具有由电气或电子电路系统操作的机械部件提供的特定功能的装置,该电气或电子电路系统由处理器执行的软件或固件应用来操作,其中,处理器可以在装置内部或外部并且执行软件或固件应用的至少一部分。作为又一示例,组件可以是通过电子组件而无需机械部件提供特定功能的装置,电子组件可以在其中包括处理器以执行至少部分地提供电子组件的功能的软件或固件。作为再一示例,接口可以包括输入/输出(i/o)组件以及相关联的处理器、应用或应用程序接口(api)组件。虽然前述示例针对组件的各方面,但是举例说明的方面或特征也适用于系统、平台、接口、层、控制器、终端等。
30.如本文中所使用的,术语“推断(infer)”和“推断(inference)”通常是指根据经由事件和/或数据捕获的一组观察结果来推理或推断系统、环境和/或用户的状态的处理。例如,可以采用推断来识别特定的情境或动作,或者可以生成关于状态的概率分布。推断可以是概率性的,即,基于对数据和事件的考虑来计算关于感兴趣的状态的概率分布。推断还可以指代用于根据一组事件和/或数据构成较高级别的事件的技术。这样的推断导致从一组观察到的事件和/或所存储的事件数据构造出新事件或动作,而不管事件在时间接近度上
是否紧密相关,也不管事件和数据是否来自一个或若干个事件和数据源。
31.另外,术语“或”旨在表示包含性的“或”而不是排他性的“或”。也就是说,除非另外指明或者根据上下文是清楚的,否则短语“x采用a或b”旨在表示任何自然的包括性排列。也就是说,以下实例中的任何实例满足短语“x采用a或b”:x采用a;x采用b;或x采用a和b两者。另外,除非另外指明或者从上下文中清楚地得知该冠词涉及单数形式,否则在本技术和所附权利要求中所使用的冠词“一(a)”和“一个(an)”通常应当被解释为意指“一个或更多个”。
32.此外,本文中采用的术语“集合”排除空集,例如其中没有元素的集合。因此,在本主题公开内容中的“集合”包括一个或更多个元素或实体。作为说明,控制器的集合包括一个或更多个控制器;数据资源的集合包括一个或更多个数据资源等;同样,本文中所使用的术语“组”是指一个或更多个实体的集合;例如,一组节点是指一个或更多个节点。
33.将根据可以包括许多设备、组件、模块等的系统来呈现各个方面或特征。应当理解并且意识到,各种系统可以包括附加的设备、组件、模块等,以及/或者各种系统可以不包括结合附图所讨论的全部设备、组件、模块等。也可以使用这些方法的组合。
34.在高级别处,设计新的工业自动化系统通常涉及两个单独但相互关联的工程工作,以在一方面开发机械方面并且在另一方面开发控制方面。机械工程可以涉及:选择或设计将组成新系统的机器(例如,工业机器人、加工站、传送机、操作者工作站、运动设备、马达、气动致动器等);确定这些机器的合适位置和取向;选择和定位将用于将状态和操作数据馈送至控制设备的传感器等。基于该机械设计,控制工程师设计用于电力连接和数据连接两者的电气系统,开发要由一个或更多个工业控制器执行以控制自动化系统的行为的控制代码(例如,梯形逻辑、顺序功能图、功能框图、结构化文本等),设置设备配置(例如,马达驱动器参数设置),并且开发用于可视化机器状态和警报的人机接口(hmi)。作为开发过程的一部分,控制工程师还可以执行数字模拟,所述数字模拟针对机械系统的虚拟化(例如,数字孪生)来测试控制编程。
35.鉴于这两个工程线程,用于设计、编程和测试工业自动化系统的常规工程工作流程通常需要使用用于机械工程和控制工程的单独的设计工具。图1是示出用于与设计工业自动化系统有关的机械工程和控制工程的单独的设计平台的使用的图。机械工程师可以在计算机辅助设计(cad)平台104中开发如数字三维(3d)机械模型102的机械设计。基于该机械模型102和期望的操作序列的知识,控制工程师可以在一个或更多个控制设计平台106中设计控制系统——包括电气设计、i/o定义和控制编程,所述一个或更多个控制设计平台106可以包括工业控制器编程应用、电气绘图应用、设备配置应用、hmi开发应用或其他这样平台。例如,控制工程师可以参考与以下有关的机械设计:基于系统中存在的马达、驱动器、致动器、安全设备或其他工业资产来确定控制新的自动化系统所需的i/o点的列表;以及将工业控制器标签映射到这些i/o点并生成用于执行期望的自动化序列的控制编程。
36.控制设计平台106还可以包括数字模拟平台,该数字模拟平台针对自动化系统的虚拟模型来仿真控制程序的执行,以测试控制编程和机械设计,即,被称为虚拟调试的处理。这样的模拟平台可以响应于控制程序在仿真的工业控制器上的执行而模仿自动化系统的机械资产的行为,从而使得可以验证正确的操作。在物理系统的调试期间,已完成的控制代码、设备配置和hmi应用被下载到自动化系统的适当现场设备108。
37.由于机械设计平台与控制设计平台之间通常不存在直接链接,因此必须将cad侧上对机械设计所做的改变传送给控制工程师,使得在必要时可以相应地更新控制设计。因此,如果两个工程团队并行工作并修改他们各自的设计,则可能难以保持机械设计与控制设计之间的同步。此外,由于在cad平台104上开发的机械模型102不是能够模拟的并且因而不能被用于虚拟调试,因此如果要经由模拟来测试系统设计,则必须与机械cad模型102分开地开发自动化系统的能够虚拟模拟的模型(例如,数字孪生),以在调试之前在虚拟域中测试控制编程。
38.为了解决这些问题和其他问题,本公开内容的一个或更多个实施方式提供了工业cad系统或其附加组件,其通过以下操作来简化自动化系统开发工作流程:将机械和控制域集成到cad平台中,使得cad成为用于机械方面以及电气和控制接口信息二者的公共信息源。根据一个或更多个实施方式,cad系统可以结合一组特征,该组特征允许用户在cad环境内使用“方面”来标示或标记机械cad图的所选元件。这些方面标记符号将所选的机械元件标记为特定类型的工业资产或控制元件。例如,用户可以将机械cad模型的所选元件或组件标记为某种类型的动态或运动学关节(例如,滑动关节、机器人关节、旋转关节、棱柱形关节、螺旋形关节、圆柱形关节、平面关节、球形关节等)、传送机、马达、夹持器(例如,机械夹持器、吸力夹持器等)、机械负载、传感器、致动器或另一类型的工业资产。这些方面还可以定义机械设计的所选元件的属性或物理几何形状。
39.当利用这些方面来标记机械cad模型的所选元件时,cad平台基于用来标记每个元件的方面的类型,将模拟元数据与所选元件相关联。该模拟元数据在虚拟模拟的环境内定义所选元件的行为——例如运动的范围、方向和/或轴、运动约束、速度、力等,从而将机械cad模型转换成能够模拟的数字模型(例如,动态数字孪生),该能够模拟的数字模型可以被导出至模拟和测试平台。在模拟和测试平台内,可以将所得到的增强模型连接至仿真的工业控制器,以测试控制逻辑并监测自动化系统的模拟操作。以这种方式,可以通过cad平台来添加机械标记符号和模拟标记符号两者,以产生自动化系统的可用仿真和模拟模型。
40.此外,模拟和测试的一些实施方式可以支持通过工业过程对流体力学的模拟。在这点上,cad系统可以包括定义不同类型流体的物理属性的流体模型库,并且可以允许用户将这些流体模型导入工业过程的数字模型中,以通过建模的工业过程(例如,批处理)来表示流体动力学。模拟和测试系统可以包括物理引擎,该物理引擎利用在这些流体模型中定义的物理属性来模拟流过工业过程的流体的移动、行为和属性。模拟和测试系统可以基于流体模型以及确定建模的流体的行为的模拟温度、压力或其他属性来确定估计的流体动力学。物理引擎还可以基于流体模型的聚合来模拟具有不同属性的不同流体的混合,从而模拟由工业过程导致的流体混合物的动力学。
41.图2是根据本公开内容的一个或更多个实施方式的支持利用控制方面对3d机械cad模型进行标记以促进动态数字孪生的创建的示例cad系统202的框图。本公开内容中说明的系统、装置或过程的各方面可以构成机器可执行组件,该机器可执行组件包含在机器内,例如包含在与一个或更多个机器相关联的一个或更多个计算机可读介质(或介质)中。这样的组件在由一个或更多个机器——例如计算机、计算设备、自动化设备、虚拟机等——执行时,可以使机器执行描述的操作。
42.cad系统202可以包括用户接口组件204、机械建模组件206、方面元数据组件208、
模型导出组件210、模型导入组件212、一个或更多个处理器218和存储器220。在各种实施方式中,用户接口组件204、机械建模组件206、方面元数据组件208、模型导出组件210、模型导入组件212、一个或更多个处理器318和存储器320中的一个或更多个可以彼此电耦接和/或通信地耦接,以执行cad系统202的功能中的一个或更多个。在一些实施方式中,组件204、206、208、210和212可以包括存储在存储器220上并且由处理器218执行的软件指令。cad系统202还可以与图2中未描绘的其他硬件组件和/或软件组件进行交互。例如,处理器218可以与诸如键盘、鼠标、显示监测器、触摸屏的一个或更多个外部用户接口设备或其他这样的接口设备进行交互。
43.用户接口组件204可以被配置成接收用户输入并以任何合适的格式(例如,视觉、音频、触觉等)将输出呈现给用户。在一些实施方式中,用户接口组件204可以在显示设备(例如,与桌上型计算机、膝上型计算机、平板计算机、智能电话等相关联的显示设备)上呈现交互式显示屏幕,其中,显示屏幕用作3d机械设计平台的接口。用户接口组件204可以呈现可选的设计工具,并且经由与工具的交互来接收与设计工业自动化系统或机器的机械方面有关的设计输入。用户接口组件204还可以根据设计输入来呈现自动化系统的3d图形表示。如将在本文中更详细地描述的,由用户接口组件204可用的设计工具包括一组自动化方面,该组自动化方面可以与被设计的自动化系统的机械元件或组件选择性地相关联。可供选择的方面基于在存储器220上保持的方面定义222,所述方面定义222定义了可用方面以及相应方面的相关联的模拟数据,其可以由模拟平台用于模拟工业模拟环境内的各方面的操作或行为。
44.机械建模组件206可以被配置成基于由用户经由用户接口组件204提供的设计输入来生成自动化系统或机器的三维机械模型。方面元数据组件208可以被配置成根据从用户接收到的设计输入将方面元数据分配给机械模型的所选元件。如将在本文中更详细描述的,方面元数据将所选元件标记为特定类型的工业组件或机器(例如,特定类型的关节、马达、传感器、传送机等)或者将所选元件标记为具有特定的物理几何形状或行为。分配给给定元件的方面元数据是从方面定义222中的一个或更多个方面定义得出的,所述方面定义222中的一个或更多个方面定义对应于分配给该元件的相应的一个或更多个方面。也可以将表示将由自动化系统处理或将以其他方式流过自动化系统的流体(液体或气体)的方面元数据添加至机械模型。可以从定义各个不同类型的流体(油、水、润滑剂、化学品、饮料等)的物理属性的流体模型224的库中得出该流体建模输入。将这些各种类型的方面元数据添加至机械模型可以产生自动化系统的增强的机械模型(例如,动态数字孪生),该增强的机械模型可以在模拟平台内被执行,以在工业控制程序的控制下模仿自动化系统的行为。
45.模型导出组件210可以被配置成将增强的机械模型导出至外部系统,例如控制设计平台或模拟平台。模型导入组件212可以被配置成从这样的外部系统导入增强的机械模型。在一些场景中,增强的机械模型或其相关联的方面元数据可能已经被外部系统修改。利用模型保持这些修改,并且从而利用模型将这些修改导入回到cad系统202中,从而保持机械工程与控制工程之间的同步。
46.一个或更多个处理器218可以执行本文中参考所公开的系统和/或方法所描述的功能中的一个或更多个。存储器220可以是存储用于执行本文中参考所公开的系统和/或方法描述的功能的计算机可执行指令和/或信息的计算机可读存储介质。
47.图3是也支持利用控制方面对自动化系统的3d模型进行标记的示例控制设计和测试系统302的框图。控制设计和测试系统302可以包括用户接口组件304、模拟组件306、控制器仿真组件308、方面元数据组件310、模型导入组件312、一个或更多个处理器318和存储器320。在各种实施方式中,用户接口组件304、模拟组件306、控制器仿真组件308、方面元数据组件310、模型导入组件312、一个或更多个处理器318和存储器320中的一个或更多个可以彼此电耦接和/或通信地耦接,以执行控制设计和测试系统302的功能中的一个或更多个。在一些实施方式中,组件304、306、308、310和312可以包括存储在存储器320上并由处理器318执行的软件指令。控制设计和测试系统302还可以与图3中未描绘的其他硬件组件和/或软件组件进行交互。例如,处理器318可以与诸如键盘、鼠标、显示监视器、触摸屏的一个或更多个外部用户接口设备或其他这样的接口设备进行交互。
48.用户接口组件304可以被配置成接收用户输入并以任何合适的格式(例如,视觉、音频、触觉等)将输出呈现给用户。在一些实施方式中,用户接口组件304可以在显示设备(例如,与桌上型计算机、膝上型计算机、平板计算机、智能电话等相关联的显示设备)上呈现交互式显示屏幕,其中,显示屏幕用作控制设计和/或模拟平台的接口。用户接口组件304可以显示正在对仿真的工业控制程序进行测试的自动化系统的虚拟3d模拟,基于该模拟以及其他这样的信息来呈现表示自动化系统的预期性能的操作统计信息。在一些实施方式中,用户接口组件304还可以呈现可选的设计工具,并且经由与工具的交互来接收与配置工业自动化的方面(例如,虚拟系统的设备与工业控制器之间的i/o连接)有关的设计输入。与上述cad系统202相似,由用户接口组件304可用的设计工具可以包括一组自动化方面,该组自动化方面可以与被设计的自动化系统的机械元件或组件选择性地相关联。可供选择的方面基于在存储器320上保持的方面定义322和流体模型324,所述方面定义322和流体模型324定义了可用方面以及相应方面的相关联的模拟数据,其可以由模拟平台用于模拟工业模拟的环境内的各方面的操作或行为。
49.模拟组件306可以被配置成:在工业控制程序的控制下模拟工业自动化系统的虚拟化模型的操作。控制器仿真组件308可以被配置成仿真在虚拟化的(或仿真的)工业控制器上正被测试的工业控制程序的执行。
50.方面元数据组件310可以被配置成根据从用户接收到的设计输入来将方面元数据分配给自动化系统的数字模型的所选元件(类似于cad系统202的方面元数据组件208)。模型导入组件212可以被配置成导入自动化系统的机械cad模型或系统的另一类型的数字模型。
51.一个或更多个处理器318可以执行本文中参考所公开的系统和/或方法描述的功能中的一个或更多个。存储器320可以是存储用于执行本文中参考所公开的系统和/或方法描述的功能的计算机可执行指令和/或信息的计算机可读存储介质。
52.图4是示出使用cad系统202创建工业自动化系统的机械模型的图。在一些实施方式中,cad系统202可以在诸如桌上型计算机、膝上型计算机、平板计算机、移动设备、可穿戴ar/vr器具等的客户端设备上执行。在其他实施方式中,cad系统202可以在云平台或具有访问系统202的授权的多个用户可访问的另一高级别平台上执行。在这样的实施方式中,客户端设备可以远程地访问cad系统的设计工具,并且利用这些工具来开发正在被设计的自动化系统的机械模型。
53.用户接口组件204可以经由客户端设备的显示硬件来呈现图形接口显示。通过与这些接口显示的交互,用户可以提交指定正在被设计的自动化系统的机械方面的机械设计输入404。例如,机械设计输入404可以指定表示要包括在机械设计中的机械结构或设备的三维形状。这些形状可以以图形形式表示这样的工业资产例如工业机器人、传送机、加工机器、马达、马达驱动器、传感器、管道、管路、平台、安全门和栅栏、控制柜或其他这样的资产。机械设计输入404还可以指定这些图形表示相对于彼此的位置和取向、机械元件之间的物理连接或其他这样的机械属性和关系。机械建模组件206根据由机械设计输入404定义的图形表示及其关系来生成自动化系统(例如,机器装配、生产线等)的3d机械模型402。
54.根据各种实施方式,可以经由用户接口组件204以任何合适的格式提交机械设计输入404。例如,由用户接口组件204呈现的图形接口显示可以包括:在其上呈现机械模型402的工作空间或画布;以及相关联的工具栏,用户可以从所述相关联的工具栏中选择2d或3d绘图工具或预定义的形状或组件以包含在模型402中。在一些实施方式中,可以将表示机械组件的形状从工具栏拖动到主工作空间中,或者可以以其他方式将表示机械组件的形状添加至工作空间,以在模型402中进行放置和定向。工作空间中的形状或形状的集合可以经由与图形接口的交互被操纵。例如,设计者可以与选择的形状、形状的集合或整个模型402进行交互,以在虚拟三维空间内旋转、链接或重新定位形状。机械模型402的添加或修改被存储在表示模型402的cad文件(例如,零件或部件文件)内。
55.所得到的机械模型402对正在被设计的自动化系统的机械布局进行编码。然而,在这一阶段,机械模型402实质上仅仅是适合于用作构建和安装自动化系统的指南的三维技术制图。负责设计自动化系统的电气和控制系统的控制工程师也可以参考该模型402,以配合开发监测和控制新系统所需的控制器i/o的列表、设计用于向该系统提供电力的配电线路以及生成控制编程。常规地,如果控制工程师希望通过在仿真系统的环境内在程序的控制下模拟自动化系统的操作来测试控制编程,则自动化系统的能够模拟的数字模型(例如,数字孪生)必须被单独开发并且被链接至执行控制程序的仿真控制器。
56.为了简化该工作流程并且更快地生成自动化系统的数字孪生,cad系统202的实施方式允许用户利用方面元数据来增强完成的机械模型402,该方面元数据将机械模型402转换成可以在模拟平台内被执行以模仿系统的操作的自动化系统的能够模拟的数字模型。图5是示出将方面元数据508添加至机械模型402以产生自动化系统的增强数字模型502的图。在一个或更多个实施方式中,由用户接口组件204呈现的图形接口显示可以包括一个或更多个工具栏,所述一个或更多个工具栏用于将方面元数据添加至机械模型402的所选元件或组件。可用于选择的方面基于存储在cad系统202上(例如,存储在存储器220上)的方面定义222。
57.每个方面定义222定义一组物理、运动学或机电属性,其指示该方面在模拟环境中如何表现。由方面定义222定义的属性实质上反映了真实世界中的对应物理方面的物理行为和特性。cad系统202根据针对其定义物理属性的机械元件、控制元件或设备的类型对方面定义222进行分类。由用户接口组件204呈现的方面工具栏根据这些分类列出可用方面以供用户选择。可以被选择并被应用于机械模型402的示例方面包括但不限于:各种类型的动态或运动学关节(例如,滑动关节、旋转关节、机器人臂关节、铰链等)、诸如传送机的移动表面、马达、夹持器(例如,吸力夹持器、机械夹持器等)、传感器、气动或液压致动器(例如,推
动器臂、止动器等)、辊或机械系统的其他这样的元件。
58.方面定义222的目录还可以包括各种类型的机器人端部执行器(例如,机械夹持器、吸力夹持器等)。端部执行器方面定义222可以为其对应的夹持器类型定义物理属性(例如,3d物理约束),可以在控制模拟侧上使用这些物理属性来更准确地模仿低抽象级处的机器人零件处理行为的操作。例如,应用于机械模型402中定义的机器人的表示的吸力夹持器方面可以向模拟平台指示该机器人的端部执行器要被建模为吸力夹持器,从而吸力夹持器附近的产品可被假设为已被机器人(经由吸力)夹持,并且随后可以与机器人臂协同移动以模拟由机器人引起的零件的移动。相比之下,机械夹持器方面可能隐含着与由夹持器引起的零件移动有关的更复杂的物理过程。在机械夹持器方面的情况下,可以使用物理引擎的约束来在允许零件协同机器人的移动而移动(由于夹持器臂与产品表面之间的摩擦)之前,确定夹持器的侧是否以适当的位置和角度接触产品的相应侧。
59.一些方面定义222还可以定义可以与机械模型402的所选元件相关联的物理几何形状或属性。各方面还可以将在机械模型402内定义的所选机器指定为负载创建者,所述负载创建者将具有指定形状和物理行为(例如,碰撞物理性质)的产品引入到自动化系统中;例如,经由向系统供料的传送机。
60.将方面元数据508添加至机械模型402的处理涉及将由机械模型402表示的所选机械组件或设备标记为可用控制方面之一(由方面定义222之一表示)。可以通过经由与由用户接口组件204呈现的图形接口显示的交互提交方面规范输入504来执行标记工作流程的该方面。例如,用户可以从方面工具栏中选择机器人关节的类型作为方面,并且随后选择机械模型402中的要被标记为该类型关节的元件。响应于这些选择,方面元数据组件208将用于所选类型的机器人关节的方面元数据508与机械模型402的所指示的组件相关联,从而将关节的静态机械表示转换成活动的虚拟控制元件,该活动的虚拟控制元件的行为可以在模拟平台内被虚拟地模拟。从与指示类型的方面对应的方面定义222得出被分配给所选机械组件的方面元数据508。
61.方面元数据508可以基本上定义可以被模拟平台识别和利用的任何类型的信息,以响应于控制输入或模拟的力而对对应机械组件的运行时移动或行为准确地进行建模。根据方面,方面元数据508可以包括可全局地应用于该方面的所有实例的默认固定值或属性以及可以由用户定制成符合用户系统的特性的用户定义的元数据。图6是可以由用户接口组件204呈现并且用于将方面元数据508分配给机械cad模型402的示例接口显示602。在该示例中,接口显示602包括主工作空间606,在该主工作空间606上呈现正在被设计的自动化系统的机械模型402的3d cad表示608。接口显示602可以响应于对控制方面选项卡630的选择而在主工作空间606上方呈现方面工具栏604。方面工具栏604显示表示控制方面或方面的类别的许多可选选项,这些可选选项可以经由与cad表示608的交互而被选择并被添加至模型(例如,控制面板、传送机、动态关节、端部执行器、运动学关节、负载、马达、物理性质、物理几何形状、物理组、传感器等)。
62.在图6中描绘的示例中,表示传送机612的cad表示608的一部分要被标记为具有“直传送机”方面,将机械模型402的该组件标识为传送机并且将模拟元数据与传送机612的表示相关联,该传送机612的表示可以由单独的模拟平台用来准确地模拟传送机612的行为。为了分配该方面,用户可以与接口显示602进行交互以从方面工具栏604中的传送机的
下拉选择632中选择“直传送机”选项,然后选择cad表示608中的传送机612的表示(机械模型402的可视化)。响应于这些选择,方面元数据面板被呈现在主工作空间606的左侧,该方面元数据面板列出用于输入用户可定义元数据值的许多字段614至628。这些用户可定义元数据值是除了与“直传送机”方面相关联的固定的全局方面元数据值之外的值,其也与传送机612相关联。
63.通常,由用户接口组件204呈现的可用的用户可定义方面元数据值的列表基于所选的特定方面。以这种方式,当用户将方面分配给机械模型402的组件时,用户接口组件204提示用户输入可以用于该选择的方面的任何用户定义的元数据字段的值。在示出的示例中,用于传送机的用户可定义方面元数据508可以包括用于传送机612的前边缘614和后边缘616的定义——其可以由方面元数据组件208基于被分配传送机方面的机械传送机表示的形状自动地标识,或者可以由用户明确地标识(例如,通过选择前边缘和后边缘以指示它们的位置)。此外,用户接口组件204可以提示用户输入这样的用户可定义的传送机方面元数据值,例如,传送机的运行速度618、加速度620或减速度622。还可以提示用户指定用于沿传送机传送产品的带的材料624,这可以影响基于材料的摩擦系数或其他物理属性对沿传送机的产品的模拟遍历。还可以请求用于传送机612的控制模式626(例如,开关控制、变速控制等)。
64.与图6示出的工作流程和图形接口相似的工作流程和图形接口可以用于将选择的方面元数据分配给其他类型的自动化系统组件。根据另一示例,用于气动推动器臂的方面元数据508可以定义推动器臂在机械模型402的三维坐标系内的线性移动的方向、开始位置和移动范围。用户接口组件204还可以提示用户在启动时为推动器的移动速度提供用户定义的元数据值。
65.一些方面定义222(以及从这些定义222得出的对应的方面元数据508)也可以定义选择的机械组件的物理特性或约束,并且这些特性和约束可以随后由模拟平台参考以准确地模拟组件的移动和行为。这些特性可以包括但不限于:齿轮直径、齿轮比、摩擦系数、惯性、运动约束(例如,特定类型的机器人的已知运动轴和它们的对应的运动约束)或其他这样的数据。根据方面的类型,这些方面元数据值中的一些可以是用户定义的,而其他方面元数据值可以是预期适用于该方面的所有实例的固定全局特性。一些方面定义222还可以定义可执行脚本,该可执行脚本可以由单独的模拟平台执行并且被应用于机械模型402的关联元件(例如,由用户利用对应的方面标记的元件),从而使该元件模仿模拟环境内其对应物理组件的行为。
66.一些方面定义222还可以为它们对应的资产指定控制i/o对接。例如,将传感器(例如,光眼、接近开关等)的方面元数据508分配给表示传感器的机械模型402的所选元件可以将所选元件指定为数字输入设备,该数字输入设备响应于在传感器的检测范围内检测到对象而向工业控制器提供数字输入值。在该场景中,检测范围可以是用户定义的方面元数据值。在另一示例中,用于推动器臂的类型的方面元数据508可以指定:臂需要数字控制器输出以控制推动器臂的前进状态和缩回状态(例如,前进为on,缩回为off)以及需要两个数字输入以读取推动器臂的行进的最端处的相应的两个接近开关的状态,从而检测臂何时处于完全前进或完全缩回状态。通常,具有与工业控制器对接的已知或期望的i/o的系统组件的方面定义222可以定义监测和/或控制这些系统组件所需的输入和/或输出(模拟和数字)。
当准备好在模拟和测试平台内模拟模型502时,该i/o信息可以促进增强数字模型502与仿真的控制器之间的连接。
67.此外,在一些实施方式中,当将具有相关联的i/o定义的方面被添加至机械模型402时,方面元数据组件208可以利用由对应的方面定义222定义的i/o点来自动填充系统i/o的聚合列表。图7是示出基于向机械模型402分配方面元数据508来创建自动化系统项目的主i/o列表702的图。当如上所述将方面选择性地分配给机械模型402的元件时,方面元数据组件208确定与该方面对应的方面定义222是否定义了该方面的输入或输出。除了将方面元数据508分配给机械模型402之外,在方面定义222中定义的任何方面i/o 706均被添加至自动化系统的主i/o列表702。该主i/o列表702可以以人类可读的格式被呈现并且由控制工程师在设计控制系统和相关联的控制逻辑时进行参考。例如,主i/o列表702可以在模拟平台内填充标签浏览器,该标签浏览器允许用户将虚拟机i/o与相应控制器i/o点选择性地相关联。
68.在一些实施方式中,主i/o列表702可以与自动化系统的增强数字模型502集成或以其他方式与自动化系统的增强数字模型502存储在一起,使得i/o列表702与模型502一起传送。因此,增强数字模型502不仅包括新系统的3d布局,而且包括整个系统的i/o映射。该主i/o列表702可以根据指定的方面元数据508在控制系统的设计开始之前被生成,从而为控制工程师提供有用的设计约束(即,操作自动化系统所需的i/o)。
69.一些方面元数据508还可以将机械模型402的组件指定为负载源,所述负载源将产品的离散项目(例如,箱、行李、制造的零件、流体材料或其他这样的产品)引入到系统中。当将负载源方面标记应用于机械模型402的元件时,用户接口组件204可以提示用户为指定的负载源提供用户定义的操作参数,例如将产品引入系统的速率、产品的形状(例如,具有指定尺寸的箱或圆柱体、由柔性材料制成并具有随机可变形状的项目等)、与产品相关联的碰撞物理性质或者其他这样的特性。当随后将增强数字模型502导入模拟平台中时,模拟平台根据负载源方面元数据508、通过标记的负载源来模拟产品项目的释放。
70.在一些实施方式中,如上所述的用于利用方面元数据508标记3d机械模型402的功能可以作为插件或附加组件被添加至现有的cad应用。在这样的实施方式中,方面元数据附加组件的安装使新的方面工具栏或功能区(ribbon)——例如,图6中示出的方面工具栏604被添加至cad应用的现有开发接口,并且将方面定义222加载到cad应用中。新的工具栏列出了可以用于标记使用cad应用的本地绘图和开发工具开发的机械模型402的方面。以这种方式,经由方面标记将机械cad模型转换成动态数字孪生的处理可以容易地被集成到已经在cad平台上被执行的现有设计工作流程中。此外,尽管上述示例假设机械模型402在同一cad系统202中被创建,在该同一cad系统202中,用方面元数据508标记模型402,但是一些实施方式可以导入在单独的cad平台中开发的机械模型,并且允许用户利用方面元数据508标示这些导入的机械模型,以促进动态数字孪生的创建。
71.此外,一些实施方式可以允许用户(例如,资产拥有者、原始设备制造商、系统集成商等)利用用户定义的方面定义222来扩展可以应用于cad模型的可用方面。因此,除了由附加组件支持的可用方面标记符号(如由方面定义222定义的)的目录之外,用户还可以开发和添加其自己的方面——包括相关联的模拟属性——并且将其自己的方面添加至方面工具栏,其中,用户定义的方面可以被选择并被添加至机械cad模型402作为方面元数据508。
以这种方式,cad系统202除了支持特定于行业的控制组件的定义之外,还可以支持特定于公司的控制组件的定义。
72.当利用如上所述的方面标记机械cad模型402的元件时,由该方面定义的方面元数据406与选择的元件的cad实体标识符相关联。图8是已经利用方面元数据508标示的示例cad文件802的图示。通常,机械cad绘图或模型的每个元件具有相关联的唯一cad实体标识符(id)804,该元件的属性808(例如,大小、颜色、取向、位置等)与该cad实体标识符804相关联。还针对每个实体id 804定义元件的类型806(例如,球体、立方体、线等)。这些实体id 804通常是cad平台的现有cad框架固有的,并且给定cad模型402的cad文件802包括组成模型402的元件的实体id 804。
73.当用户利用如上所述的方面来标记机械模型402的所选组件时,将所选方面的方面元数据508与所选组件的实体id 804相关联地添加至模型的cad文件802中。由于方面元数据508与cad文件的本地实体id 804相联系,因此方面元数据508被保留在cad文件802本身内而不是单独的文件内,并且因此与cad文件802一起传送。以这种方式,模型的cad文件802可以被导入基本上任何模拟平台中作为自动化系统的能够模拟的增强数字模型502,并且每个实体id 804的方面元数据508使模型402的对应的元件被模拟平台识别为控制元件或激活元件。
74.如上所述,利用方面元数据508标示机械模型402产生正在被设计的自动化系统的增强数字模型502,该增强数字模型502可以被导出至单独的模拟平台以进行虚拟调试。图9是示出作为虚拟调试过程的一部分的将增强数字模型502导出至控制设计和测试系统302的图。一旦已经利用方面元数据508标记了机械模型402,则可以使用cad系统的模型导出组件210将得到的增强数字模型502导出至单独的控制设计和测试系统302。在示例实施方式中,cad系统的图形接口可以包括可选的导出功能,该可选的导出功能在被选择时使模型导出组件210将数字模型——包括其嵌入的方面元数据和主i/o列表702——导出至设计和测试系统302。作为将模型502直接导出至测试系统302的替代,模型导出组件210可以将数字模型502导出至具有随后可以被导入至测试系统302(例如,通过测试系统的模型导入组件312)的格式的文件。
75.在本示例中,控制设计和测试系统302包括控制器仿真组件308和模拟组件306,该控制器仿真组件308仿真在虚拟化(或仿真)的工业控制器上正在被测试的工业控制程序的执行,该模拟组件306在工业控制程序的控制下模拟工业自动化系统的虚拟化模型的操作。在控制设计和测试系统302内,可以将自动化系统的增强数字模型502(包括利用方面元数据508和主i/o列表702增强的机械模型402)与控制编程(例如,梯形逻辑)对接,这允许机械设计和控制设计二者在最终确定总体设计并且进行到构建和安装阶段之前被虚拟地模拟和测试,其中,针对自动化系统来开发所述控制编程以产生虚拟测试环境。图10是示出在使用增强数字模型502以在控制程序1008的控制下虚拟地模仿物理自动化系统的行为的控制设计和测试系统302内模拟组合的机械设计和控制设计的图。如上所述应用于机械模型402的所选元件的方面元数据508使这些元件由测试平台的模拟组件306识别为控制元件或激活元件,并且指示模拟组件306有关每个元件在模拟环境内如何响应于控制和物理刺激而表现。
76.由于增强数字模型502对自动化系统的机械特性以及组成该模型的组件的行为属
性进行建模(借助于方面元数据508),因此增强数字模型502可以被用于在仿真的控制程序1008的控制下模拟自动化系统的预期操作和行为。这可以包括查看和验证模拟的系统对在移动、速度、流量、温度、填充水平、产品通过系统的移动等方面的控制输入的响应。在图10中描绘的示例中,测试系统302的控制器仿真组件308充当工业控制器仿真器以执行控制程序1008,针对cad系统202内创建的自动化系统的虚拟模型502来开发和测试该控制程序1008。
77.模拟组件306可以利用被编码在增强数字模型502中的机械特性和相关联方面元数据508来模拟要由控制程序1008监测和调节的自动化系统的操作方面。为了实现这一点,用户(例如,控制工程师)可以将控制程序1008与增强数字模型502虚拟地对接,以促进模拟的i/o数据在程序1008与数字模型502之间的交换,从而模拟自动化系统的真实世界控制和操作。为此,开发者可以使用测试平台的配置工具(例如,标签浏览器)将由控制程序1008定义的控制器i/o选择性地映射至增强数字模型502的活动控制元件的i/o(即,利用方面元数据508标记的控制元件将这些元件指定为具有可用于与工业控制器的i/o对接的相关联的输入和输出,如由主i/o列表702所记录的)。在示例场景中,控制工程师可以定义plc标签和i/o地址——其驱动机械模型402中定义的马达、致动器或其他组件,并且将标签和相关联的i/o地址选择性地链接至针对建模的组件定义的i/o点。控制程序1008与数字模型502之间的这种i/o映射——其是整个自动化系统设计的一部分——可以作为plc连接数据1006被存储在适当格式化的文件(例如,电子表格或另一类型的文件)中,并且与数字模型502集成。因此,除了机械设计方面之外,数字模型502还保持控制设计的这一方面。
78.控制程序1008可以包括用于处理读入到控制器中的输入信号并且控制来自控制器的输出信号的任何可想到类型的代码——包括但不限于梯形逻辑、顺序功能图、功能框图或结构化文本——并且被设计成调节通过数字模型502建模的自动化系统。在模拟期间,模拟组件306基于由数字模型502表示的物理系统的静态特性和动态特性来生成数字和模拟i/o值,这些数字和模拟i/o值表示例如传感器输出、计量输出或与预期由物理系统生成的数据类似的其他工厂数据。该模拟输出数据1004被提供给执行控制程序1008的仿真组件308,仿真组件308接收该数据1004作为一个或更多个虚拟物理输入。控制程序1008根据用户定义的算法处理这些输入,并且基于该处理生成数字和/或模拟控制器输出数据1002。该输出数据1002表示将由执行控制程序1008的控制器生成并且被发送至包括自动化系统的硬连线现场设备的物理输出(例如,pid环路控制输出、螺线管激励输出、马达控制输出、致动器控制输出、机器人控制输出等)。根据用户定义的i/o映射,将控制器输出数据1002提供给数字模型502的适当输入点。
79.除了生成模拟输出数据1004之外,模拟组件306还基于对已建模自动化系统响应于模拟控制器输出数据1002的预期行为以及模拟数据交换的分析来生成系统响应数据1018。模拟组件306基于由与机械模型402的相应控制元件相关联的方面元数据508定义的约束以及行为和物理属性来估计和模拟虚拟自动化系统对仿真的控制器输出(以及这些输出的定时)的响应。例如,基于如由方面元数据508表示的由增强数字模型502建模的工业组件(例如,传送机、工业机器人、机器、模拟的产品等)的机械和行为特性,模拟组件306可以预测响应于控制器输出数据1002,建模的工业组件的预期行为以及由组件制造、处理或操纵的产品的行为,并且将该预测的行为作为系统响应数据1018进行传送。由系统响应数据
1018表示的示例行为可以包括但不限于工业机器人的移动和轨迹、产品通过模拟的自动化系统的移动(包括速度、加速度、位置、滞后、碰撞、夹持器故障等)、流体通过系统的流动速率、系统的预期能量消耗、系统的机械组件的预期退化率(部分基于增强数字模型502中定义的摩擦系数信息)、操作期间施加至系统的各个组件的预期力或其他这样的行为。
80.在具有用于夹持和移动产品的项目(例如,用于堆叠或堆放产品项目,将项目从一个传送机移动至另一传送机等)的端部执行器的工业机器人的情况下,这些机器人与产品之间的模拟交互可以部分地取决于与机器人的端部执行器相关联的夹持器方面元数据508的类型。例如,如上所述,吸力夹持器方面元数据508可以向模拟组件306指示:可以假设吸力夹持器附近的产品已经被机器人夹持住,只要吸力执行器在零件上方适当地对准即可,并且可以随后随机器人臂移动以模拟由机器人对零件的移动,直到零件被释放。替选地,机械夹持器方面元数据508可以定义在可以假设零件已经被机器人牢固地夹持住之前要由模拟组件306考虑的更多涉及的物理性质。这可以包括:当执行器处于夹持位置时,在允许产品协同机器人移动之前,确定夹持器的两个臂是否接触产品的相应侧并且处于适当的角度或取向。由于机械夹持器对产品的牢固夹持取决于产品在进入拾取站(机器人从该拾取站夹持零件)时的适当对准以及产品与机器人的夹持器在拾取时的相对对准,因此模拟组件306可以在模拟期间评估这些因素以确定产品是否已经被适当地夹持,或者替选地确定是否可能由于未对准而发生误夹持。关于如何适当地评估该夹持行为的指令可以由分配给机器人的机械夹持器方面元数据508提供。
81.如上所述,可以利用将这些组件指定为负载源的方面元数据508来标记机械模型402的一个或更多个组件。基于该负载源方面元数据,模拟组件306可以将模型的这些组件识别为如下负载源,所述负载源将产品(例如,制造的零件、盒、瓶、流体材料等)引入所测试的自动化系统中并且使这些组件动画化以根据元数据来模拟产品的释放。分配给这些组件的默认和用户定义的元数据参数可以定义产品被释放的频率、产品类型(例如,离散的固体项目或液体材料)、产品的形状(例如,具有指定尺寸的盒、球形对象、由于制成项目的柔性材料而具有随机无定形形状的项目等)、产品遍历系统的速度等。这些产品通过模拟自动化系统的移动也可以根据与产品在其上移动的传送机表示相关联的传送机方面元数据(例如,传送机的速度、用于传送产品的带的材料等)。模拟组件306还可以模拟产品项目之间或产品与机器之间的预测碰撞(例如,由于不合时机的控制序列而与推动器臂或机器人臂碰撞)。可以基于部分由方面元数据508建模的物理规则和几何形状来预测和模拟这些碰撞的影响。模拟组件306还可以利用由方面元数据508定义的物理规则来确定机械夹持器是否已经适当地夹持住产品项目或者可能由于不适当的夹持而使产品的一些或全部项目掉下。
82.与测试系统302相关联的用户接口组件304可以生成可视化1014,该可视化1014将模拟的结果呈现在客户端设备上。可视化1014可以基于增强数字模型502来呈现自动化系统的图形表示,并且基于系统响应数据1018和/或与模拟会话有关的其他计算的统计信息来使该图形表示动画化,从而产生操作中的自动化系统的三维视觉演示。一些模拟数据也可以在可视化1014上被呈现为字母数字叠加。该模拟技术可以用于在不将现场装备和机器置于危险中的情况下来测试和调试控制程序,以测试对机器操作的修改并且估计这样的修改如何影响某些关键性能指标或财务度量,或者执行其他类型的分析。
83.在一些实施方式中,用户可以以高粒度程度来控制模拟的速度。例如,用户可以选
择实时地执行模拟,这样的模拟描绘自动化系统的操作,如同它将实时发生的那样。替选地,用户可以根据用户指定的时基来选择性地选择比实时更快地执行模拟的控制序列或处理的一些或全部阶段。这使模拟及其相关联的分析在压缩的时间范围内发生。
84.在示出的示例中,控制设计和测试系统302可以允许用户添加或修改控制设计的各方面。这可以包括基于模拟的观察结果来实施和测试对控制程序1008的修改。经由控制设计和测试系统302提交的一些控制设计修改也可以针对增强数字模型502。图11是示出将控制设计更新提交给控制设计和测试系统302的图。在测试和调试的过程期间,控制工程师可以经由测试平台的用户接口组件304来提交控制设计输入1106。该控制设计输入1106可以包括:对针对增强数字模型502测试的控制程序1008的添加或修改、对模型502与控制程序1008之间的i/o映射的修改、对主i/o列表702的更新以添加新的i/o点或移除不必要的i/o点或者其他这样的修改,其中的一些修改可能会影响增强数字模型502或其相关联的元数据508。
85.在一些实施方式中,控制设计和测试系统302还可以包括方面元数据组件310(参见图3),该方面元数据组件310以类似于cad侧方面元数据组件310的方式支持对方面元数据508的添加或修改。用于向控制设计和测试系统302中的模型502添加或修改方面元数据508的工作流程可以类似于在cad侧上用于添加或修改方面元数据508的工作流程。也就是说,由用户接口组件340呈现的接口显示(例如,可视化1014)可以包括类似于图6中示出的工具栏604的方面工具栏,该方面工具栏可以用于向模型502添加新的方面元数据。用于给定机械元件的用户定义的方面元数据值也可以通过以下操作被修改:选择模型502的图形表示上的机械元件以调用该元件的用户定义的方面元数据字段,从而允许用户修改任何可用的用户定义的值(包括可能在cad系统202中已经添加和设置的值)。
86.为了促进机械工程工作与控制工程工作之间的同步,cad系统202以及控制设计和测试系统302的一些实施方式可以支持工程数据在两个系统之间的双向传递(round-tripping)。根据该双向传递方法,如以上讨论的,可以在cad系统202上标记机械设计信息和相关联的控制方面,并且可以将得到的能够模拟的模型502导出至控制设计和测试系统302。在该控制设计和测试系统302内,可以使用正在被测试的控制程序1008来模拟增强数字模型502——利用方面元数据508增强并且进一步利用plc连接数据1006和主i/o列表702增强的机械模型402。在测试和调试期间,控制工程师可以提交控制设计输入1106,该控制设计输入1106需要对增强数字模型502、其相关联的方面元数据508、plc连接数据1006或主i/o列表702的修改1102,其最初在cad系统202上被开发。
87.如图12所示,在控制测试侧实现这些修改之后,可以由cad系统的模型导入组件212将更新的模型502——包括对方面元数据508、plc连接数据1006或主i/o列表702进行的任何修改——导入回到cad系统202中。在一个或更多个实施方式中,cad系统202的用户可以通过由用户接口组件204选择在cad系统的接口显示上可用的导入工具来导入更新的模型502。在已经导入经修改的模型502之后,cad系统202检测由控制工程师在控制设计和测试系统302上进行的改变或添加,包括plc连接数据1106、对方面元数据508的更新以及对主i/o列表702的更新。因此,由机械工程师和控制工程师经由其各自的开发平台提交的设计输入很容易在两个工程组之间共享。这种设计信息的双向传递确保了机械和控制设计数据保持同步,从而允许机器设计和控制这些机械方面的控制系统设计的连续迭代。该改进的
设计工作流程促进在模拟/控制侧上完成的工程工作与在cad/机械侧上完成的工程工作之间的双向同步,而cad是两个工程线程的焦点。
88.在一些实施方式中,对模型502做出的改变可以由cad系统202进行版本控制。例如,cad系统202可以包括记录对模型402所做的改变以及做出改变的原因(如由用户提交)的工具。类似的版本控制特征也可以由控制设计和测试系统302来支持。
89.cad系统202或测试系统302的一些实施方式还可以被配置成支持由数字模型502表示的建模的工业过程内的流体动力学的建模和模拟。这可以包括对由建模的系统混合和产生的液体或气体产品(例如,饮料、溶剂、液体清洁产品等)、用作最终产品的成分的流体材料(例如,化学品、添加剂、熔融塑料、水等)、或作为其操作的一部分而被馈送至工业机械的流体(例如,油、润滑剂、冷却剂、液压流体等)的建模。可以使用与上述用于将方面元数据508添加至机械模型402的过程类似的过程来对系统中存在的流体进行建模。图13是示出将流体模型224添加至机械模型402以进一步增强具有流体模拟能力的所得到的数字模型502的图。类似于用于添加方面元数据508的工作流程,由用户接口组件204呈现的图形接口显示可以包括用于将流体定义1304添加至机械模型402的一个或更多个工具栏,其表示正在被建模的工业系统内存在的流体。
90.可用于选择并包括在模型402中的流体或流体类型基于存储在cad系统202上(例如,存储器220上)的流体模型224。每个流体模型224定义其对应的流体或流体类型的流体动力学或物理属性。由流体模型224定义的流体属性可以由测试系统302的模拟组件306用来在增强数字模型502的环境内模拟流体的属性和行为(例如,温度、速度、流动速率、压力、粘度等)。可以由流体模型224建模的物理属性可以包括但不限于粘度、密度、比重(specific gravity)、比容、比重量(specific weight)、可燃性、导电性或其他这样的属性。
91.对于具有作为施加至流体的环境参数(例如,施加至流体的温度、压力或速度;流体的量等)的函数的属性或行为的流体,流体模型224可以将这些属性定义为影响属性的条件因素的数学函数。例如,一些流体的粘度可以是施加至流体的温度以及其他因素的函数。因此,用于这些流体的流体模型224可以将粘度定义为影响流体的粘度的外部因素(例如,温度、压力等)的数学函数。
92.如将在本文中更详细地描述的,如自动化系统模拟所指示的,来自流体模型224的信息可以在模拟期间被组合以产生表示两种或更多种流体的混合物的聚合流体模型。模拟组件306将基于由单独的流体模型224建模的相应属性和行为的聚合来计算聚合流体的新属性。
93.cad系统202可以根据任何合适的分类层级对流体模型进行分类,并且由用户接口组件204呈现的方面工具栏可以根据这些分类来列出可用的流体以供用户选择。例如,流体可以在最高级别处被分类为液体或气体。在这些高级别的分类之下,可以根据饮料、润滑剂、冷却剂、化合物、粘合剂、促进剂、废气、进气或其他这样的分类对流体进一步分类。
94.用于将流体模型224添加至机械模型402的工作流程可以类似于以上针对添加方面元数据508所描述的工作流程。例如,用户可以经由与由用户接口组件204呈现的图形接口显示的交互来提交流体建模输入1302,以选择与要添加至模型402的流体对应的流体模型224,并且选择该选择的流体在模型402内的源或位置。为了允许用户选择流体模型224,
用户接口组件204可以在接口显示上呈现根据以上讨论的分类来组织可用流体的可浏览流体层级,并且用户可以浏览该层级以选择期望的流体。在一些实施方式中,图6中示出的方面工具栏604可以包括列出可以由用户选择的可用流体的下拉选择(类似于下拉选择632)。
95.一旦流体模型224已经被选择,用户就可以选择流体要与其关联的机械模型402的元件,并且方面元数据组件208将流体模型224与选择的元件相关联。例如,选择的元件可以是流体的源,例如贮槽、泵、混合器或其他这样的流体源。此外,基于连接至选择的源的管道、容器或其他流体通道以及沿这些通道的任何装备(例如,泵、阀、分流器、混合器、干燥器等),方面元数据组件208可以确定该流体在操作期间将沿其行进的路线,并且将选择的流体自动关联至包括推断的路线的模型402的任何其他元件。
96.在另一示例场景中,用户可以将选择的流体模型224链接至流体将沿其行进的路线的中间元件(例如,管道、混合器、桶等),并且方面元数据组件208可以基于选择的中间元件来推断流体的源和目的地以及沿着流体将通过其前进的路线的任何其他中间元件。基于这些推断,方面元数据组件208将选择的流体模型224与推断的路线的这些元件中的所有元件相关联。与方面元数据508的添加一样,流体模型224的添加将机械模型402的所选元件转换成活动的虚拟元件,该活动的虚拟元件的流体行为可以在模拟平台内被虚拟地模拟。
97.与方面元数据508一样,一些流体模型224可以包括许多用户可定义属性或行为,这些用户可定义属性或行为可以由用户定制以符合被添加至模型402的特定流体。这些用户可定义流体属性可以被呈现在类似于图6中描绘的方面元数据面板的面板中,该面板可以列出用于输入用户可定义流体属性的值的许多字段(类似于字段614至628)。在示例场景中,由用户选择的流体模型224可以对应于特定类型的流体(例如,啤酒)。由于取决于在工厂设施处实现的配方,不同的啤酒可能具有相应不同的流体属性(例如,比重、密度等),因此系统202可以允许用户定制这些属性的值以符合其自己的产品的已知属性。
98.通常,由用户接口组件204呈现的可用的用户可定义方面元数据值的列表基于选择的特定流体。以这种方式,当用户将流体模型224分配给机械模型402的组件时,用户接口组件204提示用户输入可以用于该所选流体的任何用户定义的元数据字段的值。对于具有已知固定属性的一些流体(例如,纯水、氢气等),流体模型244可能不允许由用户对流体属性中的任何流体属性进行修改。对于具有可能根据那些流体的构成而变化的属性的其他类型的流体(例如,各种类型的饮料、冷却剂等),用户接口组件可以呈现可变属性中的每一个的字段,其允许用户输入属性或根据需要修改属性。
99.如以上结合图9所讨论的,一旦将所有期望的流体模型224(连同以上讨论的方面元数据508一起)添加至机械模型402以产生增强数字模型502,就可以使用cad系统的模型导出组件210将模型502导出至设计和测试系统302,并且如以上结合图10所讨论的,模型502可以被模拟以在控制程序1008的控制下虚拟地模仿物理自动化系统的行为。在该示例中,由于流体模型224已经被添加至数字模型502,因此模拟组件306不仅模拟组成工业过程的装备的物理操作,而且还基于流体模型224和任何用户定义的流体属性来模拟模型502中表示的流体的移动、属性和行为。图14是示出通过模拟组件306进行的流体模拟的图。由测试平台的模拟组件306将已经被添加至增强数字模型502的流体模型224连同其相关联的用户定义的流体属性一起识别为流体对象1404,并且这些流体对象1404指示模拟组件306关于以下:响应于由模拟工业系统施加至流体的环境场景,其各自的流体在模拟环境中应当
如何表现。模拟组件306可以使用流体物理引擎1402来预测在建模的工业系统的各个部分处以及在不同的操作环境下的流体行为,该流体物理引擎1402将由虚拟化的自动化系统的相关部分生成的模拟温度、压力或其他环境值施加至流体对象1404。模拟组件306与整个数字模型502的模拟同步地生成这些预测的流体行为,模拟系统中各个位置处以及在模拟的环境条件下的各个流体的行为和属性。
100.认识到不同流体的属性和行为随着流体流过管道、分流器、混合器、罐、分离器、蒸发器、干燥器或其他这样的装备或传送通道而变化,由于在自动化系统的各个不同区域处将模拟的环境参数施加至流体,因此流体物理引擎1402利用由各个流体对象1404定义的流体属性来模拟流体动力学。流体对象1404及其相关联的用户定义的参数将流体表示为模拟的逻辑组件,该模拟的逻辑组件可以与虚拟化系统的其他建模的组件进行交互并由虚拟化系统的其他建模的组件作用。在示例实施方式中,流体物理引擎1402可以接收从流体对象1404获得的给定流体的属性以及基于模型502的模拟而确定的当前被应用于流体的当前模拟的环境(例如,当前温度、压力等)作为输入。流体物理引擎1402还可以考虑流体当前所驻留的外壳(例如,罐、管道、混合器、桶、干燥器等)的物理性质。基于这些输入,流体物理引擎1402确定流体的当前模拟行为(例如,在流体的流速、膨胀率或收缩率等方面)以及流体的环境特定属性(例如,压力、温度、粘度、密度等)的当前状态。
101.由其流体对象1404定义的每种流体的物理属性影响模拟流体流动的方式,使得模拟准确地反映流体的动态行为和属性——因为它将在工业自动化环境中被处理,并且预测在遍历系统期间在将不同的环境场景(例如,温度、压力等)施加至流体时流体的行为和属性如何改变。此外,在模拟期间,通过建模的系统的每种流体的移动由给其分配了流体对象1404的流体路径确定和约束(例如,如以上所讨论的,由方面元数据组件208在对应的流体模型224被添加时确定)。
102.当模拟流体行为时,模拟组件306还将两种或更多种不同流体被混合的场景考虑为建模的工业过程的一部分,并且准确地模拟该所得到的流体混合物的行为和属性。为此,响应于由模拟组件306确定已经通过模拟的工业过程对两种模拟的流体进行了组合(例如,作为组合和处理多种流体以产生最终产品的批处理的一部分),流体物理引擎1402可以对组分流体的流体对象1404进行组合以产生聚合流体对象1406,该聚合流体对象1406定义所得到的混合物的属性和行为。
103.图15是示出将多个流体对象1404聚合成聚合流体对象1406的图。当模型502的模拟预测到在虚拟化工业系统的给定位置处将出现由各个流体对象1404表示的两种或更多种流体的混合物时,模拟组件306的流体物理引擎1402将基于与混合的流体对应的流体对象1404来创建聚合流体对象1406。在这点上,流体物理引擎1402可以基于被组合的单独的流体对象1404的属性以及产生组合的流体的各个流体的比例或比率来确定聚合流体对象1406的复合流体属性。由模拟组件306使用所得到的聚合流体对象1406——其可以具有与单独的流体对象1404的格式类似的格式——来表示流体混合物,并且在混合物继续通过建模的工业过程时对混合物的移动、行为和属性进行建模。
104.在一些实施方式中,流体物理引擎1402可以部分地基于关于由流体对象1404表示的流体在被混合时将如何反应的编码的化学专业知识以及在流体对象1404本身中编码的流体属性来确定混合物的聚合属性(例如,粘度、密度、比重、比容、比重量、可燃性、导电性
等)。可以在流体物理引擎1402或流体对象1404中的一个或两个中编码该化学专业知识。对于流体的某些组合,可能已知所得到的混合物产生均质流体混合物,该均质流体混合物的属性和行为在整个混合物中是一致的。对于其他流体混合物,可能已知所得到的混合物是分层的——例如由于各个组分流体的流体密度不同,因此流体混合物的属性和行为根据流体的深度而不同。物理引擎1402可以利用在流体对象中编码的流体属性信息以及编码的化学专业知识来确定两种或更多种流体的混合物将导致均质混合物还是分层混合物,并且相应地创建聚合流体对象1406。对于表示分层流体的聚合流体对象1406,可以将所得到的混合物的流体属性定义为流体的深度的函数,并且随后可以由模拟组件306利用该信息来对所得到的流体混合物的行为和属性准确地进行建模。
105.如以上结合图10所述,模拟组件306基于对模型502与仿真控制程序1008之间的模拟数据交换的分析来在模型502的模拟期间生成系统响应数据1018,并且该系统响应数据经由可视化1014被呈现。该系统响应数据1018包括建模的工业装备的预期行为以及由工业系统在仿真控制程序1008的控制下制造或处理的任何产品的预期行为。在包括流体对象1404的数字模型502的情况下,该系统响应数据1018还包括关于模型502中包括的流体的移动、行为或属性的基于视觉或基于文本的信息。该信息可以包括例如流动速率、压力、温度、粘度、体积或其他这样的流体行为和属性。
106.由于施加至流体的环境条件(例如,施加的热、泵驱动的压力、容器体积或管道直径的增大或减小等)根据流体在系统内的位置而变化,因此由模拟组件306生成的模拟流体信息可以特定于建模的工业系统内的流体的特定位置。因此,在模拟期间,用户接口组件304可以在可视化1014中呈现建模的自动化系统的特定区域的流体信息。在示例场景中,用户可以经由与可视化1014的交互来选择数字模型502的管道、混合器、桶或另一包含流体的元件。响应于该选择,用户接口组件304可以呈现(例如,在叠加的信息窗口上)该位置处的流体的模拟统计信息。这些流体统计信息可以包括但不限于:流体的身份;流体的温度、压力或速度;在该位置处组成复合流体的不同流体的比例;流体的重量;流体的粘度;或其他这样的属性和行为。
107.用户接口组件304也可以在模拟可视化1014上以其他格式呈现模拟的流体信息的一些部分,例如,如可视化1014上的热图或其他颜色编码的呈现。这些呈现的颜色可以表示诸如流体的温度、压力、流量的这样的属性或其他属性。
108.通过集成将方面元数据添加至cad系统自身内的机械模型的能力,本公开内容的实施方式可以为工程师提供工具,以快速且容易地生成正在被设计的自动化系统的动态数字孪生,而无需从头开始单独开发模拟就绪(simulation-ready)模型。由于可以使用相同的工具将流体模型添加至表示由自动化系统移动通过和处理的流体的数字孪生,因此也可以容易地构造和实现流体行为的模拟。此外,由于在一些实施方式中,方面元数据和流体模型工具可以作为模块化附加组件被添加至现有的cad系统中,因此可以将利用方面元数据和流体对象来标记机械模型以产生数字孪生的过程直观地集成到现有的机械设计工作流程中。此外,通过支持设计数据在机械工程平台与控制工程平台之间的双向传递,本公开内容的实施方式可以促进两个工程线程之间的同步,其中增强的cad模型用作跨两个工程学科的最新设计信息的公共源。
109.图16a至图16b示出了根据本主题申请的一个或更多个实施方式的方法。尽管出于
简化说明的目的,本文中示出的方法被示出和描述为一系列动作,但是应当理解和认识到,本发明不限于动作的顺序,原因是根据本发明,一些动作可以以与本文示出和描述的顺序不同的顺序发生以及/或者与其他动作同时发生。例如,本领域技术人员将理解和认识到,方法可以替选地被表示为一系列相互关联的状态或事件,例如以状态图被表示。此外,可能并不需要所有示出的动作来实现根据本创新的方法。此外,当不同实体执行方法的不同部分时,交互图可以表示根据本主题公开内容的方法或方式。进一步地,可以彼此组合地实现所公开的示例方法中的两个或更多个,以实现本文中描述的一个或更多个特征或优点。
110.图16a示出了用于开发工业自动化系统的机械cad模型并且将该模型配置成用作动态数字孪生以在模拟平台内执行的示例方法1600a的第一部分。最初,在1602处,由cad平台接收机械设计输入。在示例实现中,经由与cad平台的图形开发接口的交互而提交的机械设计输入根据表示要被包括在机械设计中的机械结构、机器或设备的三维形状来指定自动化系统的机械属性。总体地,机械设计输入可以将自动化系统定义为机械部件,该机械部件包括诸如工业机器人、传送机、加工机器、马达、马达驱动器、传感器、管道、管路、平台、安全门和栅栏、控制柜的这样的工业资产或其他这样的资产。机械设计输入还定义这些资产之间的相对位置、取向和物理关系。在1604处,由cad平台基于在步骤1602处接收的机械设计输入来生成工业自动化系统的三维机械模型。
111.在1606处,由cad平台经由与cad平台的图形开发接口的交互来接收方面规范输入数据。方面规范输入数据将控制方面分配给在步骤1604处生成的机械模型的所选元件。可以从在cad平台的图形开发接口的工具栏或功能区中呈现的可用方面的列表中选择控制方面。可以根据与这些方面有关的机械元件、控制元件或工业设备的类型对这些方面定义进行分类。每个方面针对其相关联类型的机械元件或控制元件来定义一组模拟属性,例如物理或运动学属性或行为、物理几何形状、运动约束等,这些模拟属性可以由模拟平台识别和利用以确定该元件在模拟环境内如何移动或表现。可以被选择并且被应用于机械模型的示例方面包括但不限于:各种类型的动态或运动学关节(例如,滑动关节、旋转关节、机器人臂关节、铰链等)、诸如传送机的运动表面、马达、夹持器(例如,吸力夹持器、机械夹持器等)、传感器、气动或液压致动器(例如,推动器臂、止动器等)、辊或机械系统的其他这样的元件。
112.在1608处,将与在步骤1606处选择的控制方面对应的控制方面元数据分配给机械模型的所选元件(也在步骤1606处被选择)。在1610处,确定是否完成了给机械模型的所选元件分配方面。如果要将附加方面分配给模型(在步骤1610处为“否”),则该方法返回到步骤1606,并且步骤1606和1608被重复,使得利用所选择的方面来标记机械模型的另一元件。替选地,如果完成了给机械模型分配方面(在步骤1610处为“是”),则该方法进行到图16b中示出的第二部分1600b。
113.在1612处,由cad系统经由与cad平台的图形开发接口的交互来接收流体建模输入数据。流体建模输入数据选择与将流过正在被建模的自动化系统的流体或流体类型对应的流体模型,并且将流体模型分配给机械模型的所选元件(例如,桶、管道、料斗、混合器、流体源等)。可以从在cad平台的图形开发接口的工具栏或功能区中呈现的可用流体模型的列表中选择流体模型。每个流体模型针对其相关联的流体或流体类型来定义流体的物理属性——例如粘度、密度、比重、比容、比重量、可燃性、导电性等,所述物理属性可以由模拟平台识别和利用以确定该流体在模拟环境内如何表现。对于一些类型的流体模型,cad系统可
以允许用户输入或修改流体模型的参数,以准确地表示要在物理自动化系统中使用的流体。
114.在1614处,可以将与在步骤1612处选择的流体模型对应的流体对象分配给也在步骤1612处选择的机械模型的元件。流体对象逻辑地表示虚拟自动化系统的环境内的流体,并且能够在工业自动化系统的模拟的环境内模拟流体的动力学(例如,行为和属性)。在一些实施方式中,当流体对象被分配给所选元件时,cad系统基于由机械模型定义的流体通道连接来标识流体将行进通过的其他元件。例如,如果将流体对象分配给用作流体的源的罐,则cad系统标识连接至罐的出口管道、经由管道将流体从罐驱动至其他装备的泵、或流体将通过其行进的其他这样的元件。然后将流体对象应用于这些其他元件,使得由对象定义的流体属性信息可以由模拟系统用来模拟流体通过这些元件的移动。
115.在1616处,确定是否完成了流体建模。如果要将附加流体模型分配给该模型(在步骤1616处为“否”),则该方法返回到步骤1612,并且步骤1612和步骤1614被重复,使得另一流体对象被添加至该模型。替选地,如果完成了流体模型的分配(在步骤1616处为“是”),则该方法进行到步骤1618,在步骤1618处,确定cad系统是否接收到导出命令。如果接收到导出命令(在步骤1618处为“是”),则该方法进行到步骤1620,在步骤1620处,将利用通过步骤1606、1608、1612和1614的迭代而应用的方面元数据和流体模型增强的机械模型导出至控制模拟平台以模拟作为自动化系统的动态数字孪生。由cad系统应用的方面元数据和流体对象向模拟平台指示关于以下:机械模型的各种组件或元件以及流过系统的流体在模拟环境内响应于由正在被测试的控制程序进行的仿真控制而如何表现。流体的模拟可以涉及:在虚拟化系统内的适当位置和时间处,对表示流体的流体对象进行组合,这些流体对象在模拟的工业过程期间被组合以产生表示混合的流体的聚合流体对象,该聚合流体对象可以由模拟平台用来模拟所得到的复合流体的动力学。
116.本文中描述的实施方式、系统和组件以及在其中可以执行本主题说明书中阐述的各个方面的控制系统和自动化环境可以包括计算机或网络组件,例如能够跨网络进行交互的服务器、客户端、可编程逻辑控制器(plc)、自动化控制器、通信模块、移动计算机、用于移动车辆的车载计算机、无线组件、控制组件等。计算机和服务器包括被配置成执行存储在介质中的指令的一个或更多个处理器,所述处理器是采用电信号执行逻辑操作的电子集成电路,所述介质例如是随机存取存储器(ram)、只读存储器(rom)、硬盘驱动器以及可移除存储设备,所述可移除存储设备可以包括记忆棒、存储卡、闪存驱动器、外部硬盘驱动器等。
117.类似地,如本文中使用的术语plc或自动化控制器可以包括可以跨多个组件、系统和/或网络被共享的功能。作为示例,一个或更多个plc或自动化控制器可以跨网络与各种网络设备进行通信和协作。这基本上可以包括经由网络进行通信的任何类型的控件、通信模块、计算机、输入/输出(i/o)设备、传感器、致动器以及人机接口(hmi),所述网络包括控制网络、自动化网络和/或公共网络。plc或自动化控制器还可以与各种其他设备进行通信并且控制各种其他设备,所述各种其他设备例如是包括模拟、数字、经编程/智能i/o模块的标准或安全等级的i/o模块、其他可编程控制器、通信模块、传感器、致动器、输出设备等。
118.网络可以包括:诸如因特网的公共网络;内联网;诸如控制和信息协议(cip)网络的自动化网络;安全网络;以及以太网/ip,自动化网络包括设备网(devicenet)、控制网(controlnet)。其他网络包括以太网、数据高速公路和数据高速公路加(dh/dh )、远程i/o、
现场总线、通信协议(modbus)、过程现场总线(profibus)、can、无线网络、串行协议等。此外,网络设备可以包括各种可能性(硬件和/或软件组件)。这些包括例如以下组件:具有虚拟局域网(vlan)能力的交换机、lan、wan、代理、网关、路由器、防火墙、虚拟专用网(vpn)设备、服务器、客户端、计算机、配置工具、监测工具和/或其他设备。
119.为了提供所公开的主题的各个方面的环境,图17和图18以及以下讨论旨在提供对在其中可以实现所公开的主题的各个方面的合适环境的简要概括描述。尽管以上在可以在一个或更多个计算机上运行的计算机可执行指令的一般情境中描述了实施方式,但是本领域技术人员将认识到,也可以结合其他程序模块来实现实施方式以及/或者实施方式也可以被实现为软件和硬件的组合。
120.通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构等。此外,本领域技术人员将认识到,可以利用其他计算机系统配置来实践本发明的方法,所述其他计算机系统配置包括单处理器或多处理器计算机系统、小型计算机、大型计算机、物联网(iot)设备、分布式计算系统以及个人计算机、手持计算设备、基于微处理器或可编程的消费性电子产品等,上述中的每一个均可以可操作地耦接至一个或更多个相关联的设备。
121.也可以在分布式计算环境中实践本文中示出的实施方式,在所述分布式计算环境中,某些任务由通过通信网络链接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于本地存储器存储设备或远程存储器存储设备二者中。
122.计算设备通常包括各种介质,所述各种介质可以包括计算机可读存储介质、机器可读存储介质和/或通信介质,计算机可读存储介质和机器可读存储介质这两个术语在本文中如下彼此不同地被使用。计算机可读存储介质或机器可读存储介质可以是能够由计算机访问的任何可用存储介质,并且包括易失性介质和非易失性介质二者、可移除介质和不可移除介质二者。作为示例而非限制,可以结合用于存储诸如计算机可读指令或机器可读指令、程序模块、结构化数据或非结构化数据的信息的任何方法或技术来实现计算机可读存储介质或机器可读存储介质。
123.计算机可读存储介质可以包括但不限于:可以用于存储所需信息的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存或其他存储器技术、光盘只读存储器(cd-rom)、数字多功能盘(dvd)、蓝光盘(bd)或其他光盘存储设备、磁带盒、磁带、磁盘存储设备或其他磁性存储设备、固态驱动器或其他固态存储设备、或其他有形和/或非暂态介质。在这点上,应当将本文中应用于存储设备、存储器或计算机可读介质的术语“有形”或“非暂态”理解成作为修饰语仅排除传播暂态信号本身,并且不放弃不是仅传播暂态信号本身的所有标准存储设备、存储器或计算机可读介质的权利。
124.针对关于由介质存储的信息的各种操作,可以由一个或更多个本地或远程计算设备——例如,经由访问请求、查询或其他数据检索协议——来访问计算机可读存储介质。
125.通信介质通常在诸如经调制的数据信号例如载波或其他传输机制的数据信号中包含计算机可读指令、数据结构、程序模块或其他结构化或非结构化的数据,并且包括任何信息传送或传输介质。术语“经调制的数据信号”或信号是指以将信息编码在一个或更多个信号中的方式设置或改变其特性中的一个或更多个特性的信号。作为示例而非进行限制,通信介质包括诸如有线网络或直接有线连接的有线介质以及诸如声学、rf、红外的无线介
质以及其他无线介质。
126.再次参照图17,用于实现本文描述的各方面的各种实施方式的示例环境1700包括计算机1702,计算机1702包括处理单元1704、系统存储器1706和系统总线1708。系统总线1708将系统组件(包括但不限于系统存储器1706)耦接至处理单元1704。处理单元1704可以是各种市售处理器中的任何处理器。双微处理器架构以及其他多处理器架构也可以被用作处理单元1704。
127.系统总线1708可以是:还可以与存储器总线(具有或不具有存储器控制器)互连的若干类型的总线结构中的任何总线结构;外围总线;以及使用各种各样的市售总线架构中的任何总线架构的本地总线。系统存储器1706包括rom 1710和ram 1712。基本输入/输出系统(bios)可以被存储在诸如rom、可擦除可编程只读存储器(eprom)、eeprom的非易失性存储器中,其中,bios包含有助于在例如启动期间在计算机1702内的元件之间传输信息的基本例程。ram 1712还可以包括诸如用于缓存数据的静态ram的高速ram。
128.计算机1702还包括内部硬盘驱动器(hdd)1714(例如,eide、sata)、一个或更多个外部存储设备1716(例如,磁软盘驱动器(fdd)1716、存储棒或闪存驱动器读取器、存储卡读取器等)以及光盘驱动器1720(例如,其可以从cd-rom盘、dvd、bd等读取或向cd-rom盘、dvd、bd等写入)。虽然内部hdd 1714被示出为位于计算机1702内,但是内部hdd 1714也可以被配置成在合适的机箱(未示出)中供外部使用。此外,虽然在环境1700中未示出,但是除了hdd 1714之外还可以使用固态驱动器(ssd),或者可以使用固态驱动器(ssd)来代替hdd 1714。hdd 1714、外部存储设备1716以及光盘驱动器1720可以通过hdd接口1724、外部存储接口1726和光盘驱动器接口1728分别连接至系统总线1708。用于外部驱动器实现的接口1724可以包括通用串行总线(usb)和电气与电子工程师协会(ieee)1394接口技术中的至少一个或两个。其他外部驱动器连接技术在本文中描述的实施方式的构思之内。
129.驱动器及其关联的计算机可读存储介质提供数据、数据结构、计算机可执行指令等的非易失性存储。对于计算机1702,驱动器和存储介质提供以合适的数字格式存储任何数据。尽管上面对计算机可读存储介质的描述是指各种类型的存储设备,但是本领域技术人员应当认识到,计算机可读的其他类型的存储介质——无论是当前存在的还是将来要开发的——也可以在示例操作环境中被使用,此外,任何这样的存储介质可以包含用于执行本文中描述的方法的计算机可执行指令。
130.在驱动器和ram 1712中可以存储多个程序模块,包括操作系统1730、一个或更多个应用程序1732、其他程序模块1734以及程序数据1736。操作系统、应用、模块和/或数据的全部或部分也可以被缓存在ram 1712中。可以利用各种市售的操作系统或操作系统的组合来实现本文中描述的系统和方法。
131.计算机1702可以可选地包括仿真技术。例如,管理程序(未示出)或其他中间物可以对用于操作系统1730的硬件环境进行仿真,并且所仿真的硬件可以可选地不同于图17中示出的硬件。在这样的实施方式中,操作系统1730可以包括在计算机1702上托管的多个虚拟机(vm)中的一个虚拟机。此外,操作系统1730可以为应用程序1732提供诸如java运行时环境或.net框架的运行时环境。运行时环境是一致的执行环境,其允许应用程序1732在包括运行时环境的任何操作系统上运行。类似地,操作系统1730可以支持容器,应用程序1732可以呈容器的形式,容器是轻量的、独立的、可执行的软件包,所述软件包包括例如代码、运
行时间、系统工具、系统库和对应用的设置。
132.此外,可以利用诸如可信处理模块(tpm)的安全模块来启用计算机1702。例如,利用tpm,引导组件在时间上散列(hash)接下来的引导组件,并且在加载接下来的引导组件之前等待结果与安全值的匹配。该过程可以发生在计算机1702的代码执行栈中的任何层处,例如被应用在应用执行级或操作系统(os)内核级处,从而使实现在代码执行的任何级处的安全性。
133.用户可以通过一个或更多个有线/无线输入设备例如键盘1738、触摸屏1740和诸如鼠标1742的定点设备将命令和信息输入至计算机1702中。其他输入设备(未示出)可以包括麦克风、红外(ir)遥控器、射频(rf)遥控器或其他遥控器、操纵杆、虚拟现实控制器和/或虚拟现实耳机、游戏手柄、触控笔、诸如摄像装置的图像输入设备、手势传感器输入设备、视觉运动传感器输入设备、情绪或面部检测设备、诸如指纹或虹膜扫描仪的生物特征输入设备等。这些以及其他输入设备通常通过可以耦接至系统总线1708的输入设备接口1744而连接至处理单元1704,但是也可以通过其他接口例如并行端口、ieee 1394串行端口、游戏端口、usb端口、ir接口、接口等进行连接。
134.监视器1744或其他类型的显示设备也可以经由诸如视频适配器1748的接口连接至系统总线1708。除了监视器1744之外,计算机通常还包括其他外围输出设备(未示出),例如扬声器、打印机等。
135.计算机1702可以使用经由至诸如远程计算机1748的一个或更多个远程计算机的有线和/或无线通信的逻辑连接在联网环境中进行操作。远程计算机1748可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐器具、对等设备或其他通用网络节点,并且通常包括关于计算机1702所描述的许多或所有元件,但是为了简明起见,仅示出了存储器/存储设备1750。所描述的逻辑连接包括与局域网(lan)1752和/或更大的网络例如广域网(wan)1754的有线/无线连接。这样的lan和wan联网环境在办公室和公司中很常见,并且促进诸如内部网的企业范围的计算机网络,所有这些都可以连接至全球通信网络,例如因特网。
136.当在lan联网环境中被使用时,计算机1702可以通过有线和/或无线通信网络接口或适配器1756连接至本地网络1752。适配器1756可以促进与lan 1752的有线或无线通信,lan 1752还可以包括布置在其上用于以无线模式与适配器1756进行通信的无线接入点(ap)。
137.当在wan联网环境中被使用时,计算机1702可以包括调制解调器1758或者可以经由用于通过wan 1754建立通信的其他手段例如借助于因特网连接至wan 1754上的通信服务器。可以是内部设备或外部设备以及有线设备或无线设备的调制解调器1758可以经由输入设备接口1742连接至系统总线1708。在联网环境中,关于计算机1702描述的程序模块或程序模块的部分可以被存储在远程存储器/存储设备1750中。应当认识到,示出的网络连接是示例,并且可以使用在计算机之间建立通信链路的其他手段。
138.当在lan或wan联网环境中被使用时,除了如上所述的外部存储设备1716之外,计算机1702还可以访问云存储系统或其他基于网络的存储系统;或者代替如上所述的外部存储设备1716,计算机1702可以访问云存储系统或其他基于网络的存储系统。通常,可以例如分别通过适配器1756或调制解调器1758来通过lan 1752或wan 1754建立计算机1702与云
存储系统之间的连接。在将计算机1702连接至相关联的云存储系统时,外部存储接口1726可以在适配器1756和/或调制解调器1758的帮助下像管理其他类型的外部存储一样管理由云存储系统提供的存储。例如,外部存储接口1726可以被配置成提供对云存储源的访问,就好像这些源被物理地连接至计算机1702一样。
139.计算机1702可以可操作成与操作上以无线通信布置的任何无线设备或实体进行通信,所述任何无线设备或实体是例如打印机、扫描仪、台式计算机和/或便携式计算机、便携式数据助理、通信卫星、与无线可检测的标签关联的任何装备或位置(例如,信息亭、报摊、商店货架等)以及电话。这可以包括无线保真(wi-fi)和无线技术。因此,通信可以是与常规网络一样的预定义结构或者仅是至少两个设备之间的自组织通信。
140.图18是所公开的主题可以与其进行交互的样本计算环境1800的示意性框图。样本计算环境1800包括一个或更多个客户端1802。客户端1802可以是硬件和/或软件(例如,线程、进程、计算设备)。样本计算环境1800还包括一个或更多个服务器1804。服务器1804也可以是硬件和/或软件(例如,线程、进程、计算设备)。例如,服务器1804可以容纳线程以通过采用如本文中描述的一个或更多个实施方式来执行转换。客户端1802与服务器1804之间的一种可能的通信可以是适于在两个或更多个计算机进程之间传输的数据包的形式。样本计算环境1800包括可以用于促进客户端1802与服务器1804之间的通信的通信框架1806。客户端1802可操作地连接至可以用于存储客户端1802本地的信息的一个或更多个客户端数据存储装置1808。类似地,服务器1804可操作地连接至可用于存储服务器1804本地的信息的一个或更多个服务器数据存储装置1810。
141.以上所描述的内容包括本主题创新的示例。当然,不可能为了描述所公开的主题的目的而描述组件或方法的每个可想到的组合,但是本领域普通技术人员可以认识到,本主题创新的许多另外的组合和排列也是可能的。因此,所公开的主题旨在涵盖落入所附权利要求的精神和范围内的所有这样的更改、修改和变化。
142.特别地,关于由上述组件、设备、电路、系统等执行的各种功能,除非另有说明,否则用于描述这些组件的术语(包括对“手段”的引用)旨在对应于执行所描述的组件的指定功能的任何组件(例如,功能等同物),即使该组件结构上不等同于执行所公开的主题的在本文中示出的示例性方面的功能的所公开的结构也如此。在这点上,还应当认识到,所公开的主题包括具有用于执行所公开的主题的各种方法的动作和/或事件的计算机可执行指令的计算机可读介质和系统。
143.此外,尽管可能已经针对若干实现中的仅一个实现公开了所公开主题的特定特征,但是这样的特征可以与其他实现中的对于任何给定或特定应用来说可能是期望且有利的一个或更多个其他特征进行组合。此外,就在具体实施方式或权利要求书中使用术语“包括(includes)”和“包括(including)”及其变型而言,这些术语旨在以与术语“包括(comprising)”类似的方式是包括性的。
144.在本技术中,使用词语“示例性”来表示用作示例、实例或说明。在本文中被描述为“示例性”的任何方面或设计不必被解释为比其他方面或设计优选或有利。相反,词语“示例性”的使用旨在以具体方式来呈现构思。
145.可以使用标准编程和/或工程技术将本文中描述的各个方面或特征实现为方法、
装置或制品。如本文中所使用的术语“制品”旨在包括能够从任何计算机可读设备、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于:磁存储设备(例如,硬盘、软盘、磁条
……
)、光盘[例如,致密盘(cd)、数字多功能盘(dvd)
……
]、智能卡和闪存设备(例如,卡、棒、密钥驱动器
……
)。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献