统一多个模拟模型的制作方法

文档序号:29614732发布日期:2022-04-13 11:04阅读:118来源:国知局
统一多个模拟模型的制作方法

1.本文公开的主题总体上涉及工业自动化系统,更具体地涉及对工业系统的数字模拟。


背景技术:

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


技术实现要素:

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