本文公开的主题一般地涉及工业自动化系统,并且更具体地涉及工业可视化系统。
技术实现要素:
下面介绍简化的概要,以提供对本文中所描述的一些方面的基本理解。该概述既不是广泛的综述,也不旨在标识关键/重要的元件或描绘本文中描述的各方面的范围。该概述的唯一目的是以简化的形式呈现一些概念作为稍后呈现的更详细描述的序言。
在一个或更多个实施方式中,提供了一种用于在虚拟现实环境中仿真增强现实人机接口的系统,该系统包括:模拟部件,其被配置成在仿真的工业控制程序的控制下,基于自动化系统的数字模型来执行自动化系统的模拟;用户接口部件,其被配置成渲染包括自动化系统的工业环境的虚拟现实演示(presentation),其中,虚拟现实演示根据模拟来使自动化系统的三维虚拟演示动画化;以及增强现实人机接口(hmi)部件,其被配置成执行增强现实hmi应用,并且根据增强现实hmi应用的执行,基于经由与虚拟现实演示的用户交互生成的用户位置和取向数据,将增强现实数据覆盖到虚拟现实演示上,其中,用户位置和取向数据指示工业环境的虚拟现实演示内的模拟的用户位置和取向。
此外,一个或更多个实施方式提供了一种用于测试增强现实人机接口的方法,该方法包括:通过包括处理器的系统,在仿真的工业控制程序的控制下,基于工业自动化系统的数字模型来模拟工业自动化系统;通过系统渲染在其中工业自动化系统进行操作的工业设施的虚拟现实可视化,其中,虚拟现实可视化根据所述模拟使工业自动化系统的三维虚拟表示动画化;通过系统执行增强现实人机接口(hmi)应用;通过系统接收表示在工业设施的虚拟现实可视化中的模拟的用户位置和取向的位置和取向数据;以及通过系统基于用户位置和取向数据以及增强现实hmi应用的执行,将增强现实数据分层堆放到虚拟现实可视化上。
此外,根据一个或更多个实施方式,提供一种存储有指令的非暂态计算机可读介质,所述指令响应于执行而使系统执行操作,所述操作包括:在仿真的工业控制程序的控制下,基于工业自动化系统的数字模型来执行对工业自动化系统的模拟;基于模拟,渲染工业自动化系统在其中操作的工业环境的虚拟现实演示,其中,虚拟现实演示使工业自动化系统的三维虚拟表示动画化;执行增强现实人机接口(hmi)应用;以及根据增强现实hmi应用以及基于表示工业环境的虚拟现实演示内的模拟的用户位置和取向的用户位置和取向数据,将增强现实数据分层堆放到虚拟现实演示上。
为了实现上述和相关目的,在本文中结合以下描述和附图对某些说明性方面进行了描述。这些方面指示可以实践的各种方式,所有这些方式均旨在被涵盖在本文中。当结合附图考虑时,其他优点和新颖特征可以根据以下详细描述变得明显。
附图说明
图1是示例性工业控制环境的框图。
图2是包括渲染工业设施的增强现实演示的工业增强现实演示系统的一般性示例架构的框图。
图3是示出由示例性增强现实演示系统利用以生成工业ar演示的数据输入的图。
图4是支持自动化系统或工业环境的虚拟现实表示内的增强现实hmi的测试的示例性工业控制设计和测试系统的框图。
图5是示出使用控制设计和测试系统来创建工业自动化系统的机械模型的图。
图6是示出将方面(aspect)元数据添加到自动化系统模型的图。
图7是可以由用户接口部件渲染并且用于将方面元数据分配给自动化系统模型的示例接口显示。
图8是示出基于方面元数据向自动化系统模型的分配来创建自动化系统项目的主i/o列表的图。
图9是示出使用增强数字模型以在控制程序的控制下虚拟地模仿物理自动化系统的行为的控制设计和测试系统内的组合的机械和控制设计的模拟的图。
图10是示出控制设计和测试系统包括用于在现场部署之前虚拟地调试增强现实hmi应用的集成的增强现实hmi仿真部件的示例配置的图。
图11是示出用于创建包括仿真的增强现实数据覆盖的增强工业虚拟现实演示的示例数据流的图。
图12是在其上分层有增强现实演示的工业环境的示例虚拟3d演示的快照。
图13是用于在虚拟现实工业环境内执行增强现实hmi应用的示例方法的流程图。
图14是示例计算环境。
图15是示例联网环境。
具体实施方式
现在参照附图描述本公开内容,其中,贯穿全文使用相似的附图标记指代相似的元件。在以下描述中,出于说明的目的,阐述了许多具体细节以提供对其的透彻理解。然而,明显的是,可以在没有这些特定细节的情况下实践本公开内容。在其他实例中,以框图的形式示出了公知的结构和设备以利于对其进行描述。
如在本申请中使用的,术语“部件”、“系统”、“平台”、“层”、“控制器”、“终端”、“站”、“节点”、“接口”旨在指代计算机相关实体,或者与具有一个或更多个特定功能的操作装置相关的或作为该操作装置的一部分的实体,其中,这样的实体可以是硬件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于:在处理器上运行的进程、处理器、硬盘驱动器、包括附接的(例如,螺钉连接或螺栓连接)或可移除的附接的固态存储驱动器的(光存储介质或磁存储介质的)多个存储驱动器;对象;可执行体;执行线程;计算机可执行程序和/或计算机。作为说明,服务器上运行的应用以及服务器两者均可以是部件。一个或更多个部件可以驻留在进程和/或执行的线程内,并且部件可以位于一个计算机上和/或分布在两个或更多个计算机之间。此外,本文所描述的部件可以从存储有各种数据结构的各种计算机可读存储介质来执行。部件可以经由本地和/或远程进程例如根据具有一个或更多个数据分组的信号(例如,来自经由该信号与本地系统、分布式系统中的另一部件和/或跨诸如因特网的网络与其他系统交互的一个部件的数据)进行通信。作为另一示例,部件可以是具有由下述电气或电子电路操作的机械零件提供的特定功能的装置,所述电气或电子电路通过由处理器执行的软件或固件应用来操作,其中,处理器可以在该装置的内部或外部并且执行软件或固件应用的至少一部分。作为又一示例,部件可以是(在没有机械零件的情况下)通过电子部件提供特定功能的装置,该电子部件可以在其中包括处理器以执行至少部分提供电子部件的功能的软件或固件。作为又一示例,(一个或更多个)接口可以包括输入/输出(i/o)部件以及相关联的处理器、应用或应用程序接口(api)部件。虽然前述示例涉及部件的各方面,但是所例示的方面或特征也适用于系统、平台、接口、层、控制器、终端等。
如本文中所使用的,术语“推断(toinfer)”和“推测(inference)”通常涉及根据经由事件和/或数据捕获的观察结果的集合来推理或推断系统、环境和/或用户的状态的处理。例如,可以采用推测来识别特定的上下文或动作,或者可以生成关于状态的概率分布。推断可以是概率性的,也就是说,基于对事件和数据的考虑来计算关于所关注状态的概率分布。推断还可以涉及用于从事件和/或数据的集合构成较高级别的事件的技术。这样的推断导致从观察到的事件和/或所存储的事件数据的集合构造出新事件或动作,无论这些事件是否以紧密的时间接近度相关,以及事件和数据是否来自一个或若干个事件和数据源。
此外,术语“或”旨在意指包含性的“或”而不是排他性的“或”。即,除非另外指明或者根据上下文是清楚的,否则短语“x采用a或b”旨在表示任何自然的包含性组合。即,以下实例中的任何实例满足短语“x采用a或b”:x采用a;x采用b;或x采用a和b两者。此外,除非另外指明或者根据上下文清楚地指向单数形式,否则本申请和所附权利要求中所使用的冠词“一(a)”和“一个(an)”通常应当被解释为是指“一个或更多个”。
此外,本文中使用的术语“集合”排除空集,例如其中没有元件的集合。因此,在本公开内容中的“集合”包括一个或更多个元件或实体。作为说明,控制器的集合包括一个或更多个控制器;数据资源的集合包括一个或更多个数据资源等。同样,本文所用的术语“组”是指一个或更多个实体的集合;例如,一组节点是指一个或更多个节点。
将根据可以包括许多设备、部件、模块等的系统来介绍呈现各个方面或特征。要理解和领会的是,各个系统可以包括另外的设备、部件、模块等,以及/或者各个系统可以不包括结合附图所讨论的全部设备、部件、模块等。还可以使用这些手段的组合。
工业控制器、其相关联的i/o设备、马达驱动器和其他这样的工业设备对现代自动化系统的操作很重要。工业控制器与工厂车间的现场设备进行交互,以控制与诸如产品制造、材料处理、批处理、监督控制和其他这样的应用的目的相关的自动化处理。工业控制器存储和执行用户定义的控制程序,以影响与受控处理有关的决策。这样的程序可以包括但不限于:梯形逻辑、顺序功能图、功能框图、结构化文本或其他这样的平台。
图1是示例工业控制环境100的框图。在该示例中,多个工业控制器118被部署在整个工业工厂环境中,以监视和控制与产品制造、加工、运动控制、批处理、材料处理或其他这样的工业功能相关的相应工业系统或处理。工业控制器118通常执行相应的控制程序以利于对组成受控工业资产或系统(例如,工业机器)的工业设备120进行监视和控制。一个或更多个工业控制器118还可以包括在个人计算机或其他硬件平台上或者在云平台上执行的软件控制器。一些混合设备还可以将控制器功能与其他功能(例如,可视化)进行组合。由工业控制器118执行的控制程序可以包括用于处理从工业设备120读取的输入信号以及控制由工业控制器生成的输出信号的任何可想到的类型的码,包括但不限于梯形逻辑、顺序功能图、功能框图或结构化文本。
工业设备120可以包括输入设备和输出设备,其中,该输入设备向工业控制器118提供与受控工业系统相关的数据,该输出设备响应于由工业控制器118生成的控制信号以控制工业系统的各方面。示例输入设备可以包括遥测设备(例如,温度传感器、流量计、物位传感器、压力传感器等)、手动操作者控制设备(例如,按钮、选择器开关等)、安全监视设备(例如,安全垫、安全拉绳、光幕等)以及其他这样的设备。输出设备可以包括马达驱动器、气动致动器、信号设备、机器人控制输入、阀等。诸如工业设备120m的一些工业设备可以在不受工业控制器118的控制的情况下在工厂网络116上自主地操作。
工业控制器118可以通过硬连线连接或联网连接与工业设备120在通信上连接。例如,工业控制器118可以配备有与工业设备120进行通信以影响对设备的控制的本地硬连线输入和输出。本地控制器i/o可以包括向现场设备发送离散电压信号以及从现场设备接收离散电压信号的数字i/o、或者向设备发送模拟电压或电流信号以及从设备接收模拟电压或电流信号的模拟i/o。控制器i/o可以通过背板与控制器的处理器进行通信,使得数字信号和模拟信号可以被读入控制程序并受控制程序控制。工业控制器118还可以使用例如通信模块或集成联网端口通过工厂网络116与工业设备120通信。示例网络可以包括因特网、内联网、以太网、设备网、控制网、数据高速公路和数据高速公路加(dh/dh+)、远程i/o、现场总线、modbus、过程现场总线、无线网络、串行协议等。工业控制器118还可以存储可以由控制程序引用并且用于控制决策的持久数据值,其包括但不限于:表示受控机器或处理的操作状态的测量或计算的值(例如,罐水平、位置、警报等),或者在自动化系统的操作期间收集的捕获的时间序列数据(例如,多个时间点的状态信息、诊断发生等)。类似地,一些智能设备——包括但不限于马达驱动器、仪器或状态监视模块——可以存储用于控制操作状态和/或使操作状态可视化的数据值。这样的设备还可以捕获记录上的时间序列数据或事件以用于后续检索和查看。
工业自动化系统通常包括一个或更多个人机接口(hmi)114,其允许工厂人员查看与自动化系统相关联的遥测数据和状态数据,并且控制系统操作的一些方面。hmi114可以通过工厂网络116与工业控制器118中的一个或更多个进行通信,并且与工业控制器交换数据,以便于在一个或更多个预开发的操作者接口屏幕上对与受控工业处理相关的信息进行可视化。hmi114还可以被配置成允许操作者将数据提交至工业控制器118的存储器地址或指定的数据标签,从而为操作者提供向受控系统发出命令(例如,循环启动命令、设备致动命令等)、修改设定点值等的手段。hmi114可以生成一个或更多个显示画面,操作者通过一个或更多个显示画面与工业控制器118交互并且从而与受控过程和/或系统交互。示例显示画面可以使用处理的图形表示来使工业系统或其相关联设备的当前状态可视化:所述处理的图形表示显示计量或计算的值、采用基于状态的颜色或位置动画、渲染警报通知或者采用用于向操作者演示相关数据的其他这样的技术。以该方式演示的数据由hmi114从工业控制器118读取,并且根据由hmi开发者选择的显示格式被演示在显示画面中的一个或更多个上。hmi可以包括固定位置设备或移动设备,其具有用户安装或预先安装的操作系统以及用户安装或预先安装的图形应用软件。
一些工业环境还可以包括与受控工业系统的特定方面有关的其他系统或设备。这些系统或设备可以包括例如一个或更多个数据历史库(datahistorian)110,该数据历史库110聚合和存储从工业控制器118和其他工业设备收集的生产信息。
工业设备120、工业控制器118、hmi114、相关联的受控工业资产、以及其他工厂车间系统例如数据历史库110、视觉系统以及其他这样的系统在工业环境的操作技术(ot)级上操作。更高级别的分析和报告系统可以在信息技术(it)域中的工业环境的更高企业级处(例如,在办公网络108上或在云平台122上)操作。这样的更高级别的系统可以包括例如企业资源计划(erp)系统104,所述erp系统104集成并总体地管理高级业务操作,例如财务、销售、订单管理、营销、人力资源或其他这样的业务功能。鉴于更高级别的业务考虑,制造执行系统(mes)102可以监视和管理控制级上的控制操作。报告系统106可以从工厂车间的工业设备收集操作数据,并且生成总结受控工业资产的操作统计的每日或轮班报告。
尽管hmi114可以使关于工业机器的操作和工业设施内执行的处理的有用状态和操作信息可视化,但用户必须位于hmi114附近以查看该信息,并且必须了解如何导航hmis114上显示的图形屏幕,以找到期望的信息。此外,操作员有时可能难以将hmi上显示的数据项与工业机器(例如,特定机器、子系统、部件或设备)的对应方面相关联。作为用于演示操作和状态信息的该方法的替选方法,工业增强现实(ar)系统可以用于经由可穿戴计算机或其他类型的客户端设备向用户生成增强现实演示。这样的系统可以执行arhmi应用,当用户穿越工业环境时,该arhmi应用经由可穿戴设备向用户传送ar演示。这些ar演示可以包括叠加在用户对他或她的周围环境的视野上的图形信息覆盖图,其中演示给用户的信息以及信息在用户视野内的位置是用户当前位置和取向的函数,从该函数推断出用户的当前视野。在用户的视野已知的情况下,这样的arhmi可以标识在该视野内的机器或其他工业资产,并且将这些资产的数据演示传送给可穿戴设备。ar系统可以根据用户在工厂设施内的变化的位置和取向,连续地更新被选择用于显示为ar演示的一部分的数据项以及这些数据项在穿戴者的视野内的位置。
图2是包括工业ar演示系统232的一般性示例架构的框图,该工业ar演示系统232渲染工业设施的增强现实演示。图2中描绘的示例工业环境包括一个或更多个工业控制器204、hmi206、马达驱动器218、工业安全系统220、数据库208(例如,数据历史库、雇员数据库、库存数据库等)以及设备文档存储库210。示例工业环境还可以包括图2中未描绘的其他工业数据源,包括但不限于质量系统(例如,视觉系统或其他资格验证系统)、遥测设备、存在传感器(例如,光电探测器、光学扫描仪、接近开关等)、视频摄像机以及其他设备或子系统。在示例环境中,这些工业设备和系统可以驻留在工厂(操作技术)网络116上。在一些情况下,工业设备可以分布在工厂设施内的多个工厂网络116上。工业环境还可以包括驻留在办公(信息技术)网络108上的设备和系统,包括但不限于制造执行系统(mes)226、企业资源计划(erp)系统228、商业智能系统、商业级分析系统或其他这样的资产。办公网络108或工厂网络116中的一个或两个也可以访问外部网络214,例如因特网(例如,经由防火墙设备516)。
驻留在图2描绘的示例架构中的工厂网络116上,但也可以驻留在办公网络108上、在外部网络上、在web服务器上或在作为基于云的服务提供商的云平台上的ar演示系统232经由网络116从不同的工业设备集合收集数据。在一些配置中,ar演示系统232还可以从办公网络108上的一个或更多个设备或系统中收集工厂数据的选定项,包括不限于mes系统526、erp系统528、商业智能系统或其他这样的资产。ar演示系统232格式化数据以供演示,并且将所收集和格式化的工业数据的选定子集叠加在增强现实演示上,叠加在与数据有关的工业资产(例如,机器、控制柜、工业控制器等)的图形表示上或附近。由演示系统232执行的arhmi应用222定义要由ar演示系统232收集的数据项的选择、那些数据项的格式以及该数据项在用户的视野内(经由可穿戴设备230)相对于相关工业资产的渲染位置。
在一些实施方式中,增强现实演示还可以根据如在针对系统的每个用户定义的用户简档中指定的设备230的穿戴者的定义角色来定制。可以确定如何向用户演示ar数据的示例用户角色可以包括但不限于生产线操作员、维护人员、工厂管理者、工厂工程师或其他角色。
演示系统232可以将这些演示传送给由用户在工厂设施处穿戴的可穿戴设备230。在一些实施方式中,演示系统232可以被实现在web服务器上,从而允许可穿戴设备230经由因特网连接来调用ar演示。演示系统232也可以在可由可穿戴设备230经由无线网络连接访问的联网本地服务器上实现。在又一场景下,可以在云平台上实现演示系统232,其中演示系统232作为基于云的服务执行。此外,在一些实施方式中,ar演示系统232和相关联的arhmi应用222可以在可穿戴设备230本身上执行,而不是在与可穿戴设备230分离的设备或平台上实现。
在一些实施方式中,可以由arhmi应用222根据数据标签名称、要收集的数据文件(例如,工作订单数据文件、设备文档文件、库存文件等)的名称和位置信息、或其他这样的数据标识符来定义要由ar演示系统232收集以传送给可穿戴设备230的数据项,该数据标签名称标识工业控制器、hmi、数据历史库或其他工业设备。收集的数据项可以包括与设备或其关联的工业自动化系统的操作有关的遥测和状态信息以及工业设备的配置信息(例如,马达驱动器参数、工业控制器通信设置、安装在每个工业控制器上的i/o模块等),其中任何一个都可以作为覆盖的增强现实信息被渲染在可穿戴设备230上。从办公网络108或外部网络214收集的数据可以包括但不限于工作管理信息、生产线调度信息、操作员工作调度信息、产品或材料库存信息等。
可穿戴设备230可以经由有线或无线网络接口、近场通信接口或适合于其上实现vr系统232的特定平台的其他这样的设备接口与ar演示系统232进行对接。在一些实施方式中,ar演示系统232可以包括安全部件,该安全部件被配置成在允许ar演示被传送至可穿戴设备230之前验证可穿戴设备230访问演示系统232的授权。例如,演示系统232可以通过以下来认证可穿戴设备230或其所有者:使用密码验证、生物特征(biometric)识别(例如,由可穿戴设备230从用户收集并提交至系统232的视网膜扫描信息),将可穿戴设备230的标识符与已知的授权设备的集合相互对照,或其他这样的验证技术。
可以基于由ar演示系统232根据arhmi应用222接收和处理的不同信息的组合来生成工业ar演示。图3是示出由示例ar演示系统232利用的数据输入以生成工业ar演示的图。如上所述,演示系统232从跨工厂环境的工业设备或系统302收集工厂数据310。ar演示系统232还可以从可穿戴设备230接收指示该设备在工厂内的当前位置和取向的位置和取向数据306。在示例架构中,可穿戴设备230的位置和取向部件可以被配置成确定设备230的当前地理位置。在一些实施方式中,可穿戴设备230可以利用全球定位系统(gps)技术来确定穿戴者的绝对位置,或者可以被配置成与位于工厂设施内的定位传感器交换数据,以确定用户在工厂内的相对位置。可穿戴设备230还可以包括取向感测部件,该取向感测部件根据设备的视线方向、设备相对于水平面的角度等来测量可穿戴设备的当前取向。可以由用于确定穿戴者的当前位置和取向的可穿戴设备230的实施方式支持其他类型的传感器或算法,包括但不限于惯性测量单元(imu)或视觉惯性里程表(vio)。然后,可穿戴设备可以将所获得的位置和取向信息作为位置和取向数据306报告给ar演示系统232。
基于指示设备的当前位置和视线的位置和取向数据306以及与用户的视野对应的工厂数据310的选定子集(基于位置和取向数据306推断的),ar演示系统232生成增强现实演示数据304并且将其传送至可穿戴设备230。当由可穿戴设备230接收并执行时,演示数据304在适合用户的当前视野的可穿戴设备的显示器上渲染增强现实信息演示。在示例场景中,当用户通过可穿戴设备230查看自动化系统、机器或工业设备(或作为在可穿戴设备230或其他类型的客户端设备上渲染的基本上实时的视频图像)时,ar演示系统232可以监视位置和取向数据306以确定用户相对于自动化系统的位置、用户的当前视线或视野和/或指示用户与自动化系统的关系的其他上下文信息。在一些实施方式中,ar演示系统232可以通过将当前位置和取向数据306与定义工厂环境内的工业资产的身份、位置和物理属性的工厂模型进行相互对照来确定哪些工业资产在用户的当前视野内。该工厂模型可以作为arhmi应用222的一部分或作为由arhmi应用222参考的单独部件存储在演示系统232上,以确定哪些工业资产当前在用户的视线内。
基于所确定的由用户当前正在查看的自动化系统的身份,ar演示系统232可以标识工厂数据310的子集,该工厂数据310的子集表示组成自动化系统的设备和/或机器的当前状态信息,或由自动化系统执行的处理的当前状态信息。然后,系统232可以生成增强现实演示数据304,并且将该演示数据304传送给可穿戴设备230,例如,作为覆盖在用户的视野上的图形或基于文本的指示符,使得每个指示符都被定位在该指示符所属的机器或设备附近。演示系统232可以将工厂数据310的子集、计算的生产或机器统计信息或字母数字消息作为ar演示的一部分渲染为放置在信息所涉及的对应工业资产(例如,控制柜、机器、控制设备、马达驱动器、阀门、罐等)的用户视图上或附近的覆盖信息。例如,如果用户的当前视图包括马达驱动的传送机和控制马达的马达驱动器,则演示系统232可以将马达驱动器的当前操作状态(例如,当前速度、故障状况、操作模式等)叠加在由用户所感知到的马达驱动器的视图附近。如果用户当前正在查看压铸炉,则演示系统232可以将当前炉温度叠加在炉的视图附近。叠加在用户视野上的信息可以包括工厂数据310的相关项或通过处理工厂数据310的选定项而获得的计算值。
在一些实施方式中,作为ar演示的一部分演示的信息的内容或格式也可以取决于设备230的穿戴者(例如,操作员、维护人员、工厂管理者、工程师等)的角色。因此,在一些实施方式中,可穿戴设备230还可以向ar演示系统232提供用户身份或角色数据308,该ar演示系统232相应地设置用户的ar演示数据304的内容和格式。以这种方式,ar演示系统232可以传送特定于角色的演示,其渲染已知与接收者的角色相关的选定信息。例如,如果用户身份或角色数据308指示操作员角色,则演示系统232可以演示由该操作员当前正在查看的机器的机器级操作统计信息(例如,操作模式、警报状况等),而省略较低水平的工程或维护数据。类似地,如果用户身份或角色数据308指示维护角色,则系统232可以演示设备级信息(例如,选定马达驱动器配置或状态信息、断路器状态、电压等),该设备级信息可以对于性能问题的故障排除是有用的。
可以通过arhmi应用222来定义选择哪些数据项叠加到给定工业资产的用户视图上,以及这些数据项相对于资产在用户视野内的位置的位置。通常,arhmi应用222根据用户的视觉角度来定义覆盖的ar信息的内容、格式和放置。arhmi应用222还可以定义各种用户角色以及要与每个所定义的角色相关联的(就内容和格式而言的)用户演示。
当正在为工厂设施内的最终调试而设计和建立新的自动化系统时,系统设计和开发处理包括对将用于向操作员和维护人员可视化系统信息的hmi应用(例如hmi114)的开发。由于这些hmi定义了到工业控制器118或其他工业设备上可用的选定数据项的链接或引用,因此不可能或不实际的是,测试和调试临时hmi应用直到物理自动化系统已经被安装在工厂设施处,或者另外地已经被建立并且被供电(例如,在原始设备制造商的工厂处)。与常规hmi相比,测试和调试增强现实hmi应用222可能更加复杂且耗时,因为设计者不仅必须验证工厂数据310的正确项(或通过处理工厂数据310的选定项而获得的计算值)链接至演示,而且还必须验证这些数据项与用户当前的视野正确地匹配,并且被定位在视野内的不妨碍用户对物理世界的关键元素的视图的位置处。
将arhmi应用222的测试推迟直到物理自动化系统被调试之后的必要性可能会给系统启动增加相当大的延迟,因为增强现实hmi应用222的潜在漫长测试和调试仅能在物理系统的安装完成之后开始,并且因此可能延迟新的自动化系统投入使用的时间。
为了解决上述和其他问题,本文描述的一个或更多个实施方式提供了工业虚拟现实(vr)系统,其支持在工厂环境的虚拟表示内对arhmi应用的测试和调试。该方法可以产生可交互的arhmi,其在vr环境中模拟ar设备的穿戴者在穿越物理工厂时将看到的内容。以这种方式,可以在调试物理系统之前验证arhmi的正常操作(例如,与物理系统的设计或安装并行地)。这种测试和调试可以包括:确保图形与正确的数据点相联系;确认图形在用户视野内的正确且非突兀的位置;等。
图4是根据本公开内容的一个或更多个实施方式的支持在自动化系统或工业环境的虚拟现实表示内对arhmi的测试的示例工业控制设计和测试系统402的框图。尽管本文在用于在虚拟化环境内设计、模拟和测试自动化系统的特定控制设计和测试系统402的上下文中描述了arhmi的虚拟测试,但是本文所描述的用于执行arhmi的虚拟化测试和调试的方法不限于在这样的设计和测试系统中使用,而是可以在不脱离一个或更多个实施方式的范围的情况下,在其他类型的工业vr系统中实现。在本公开内容中说明的系统、装置或处理的各方面可以构成实施在(一个或更多个)机器内例如实施在与一个或更多个机器相关联的一个或更多个计算机可读介质(或介质)中的机器可执行部件。这样的部件在由一个或更多个机器(例如(一个或更多个)计算机、(一个或更多个)计算设备、(一个或更多个)自动化设备、(一个或更多个)虚拟机等)执行时可以使(一个或更多个)机器执行描述的操作。
控制设计和测试系统402可以包括用户接口部件404、模拟部件406、控制器仿真部件408、arhmi仿真部件410、机械建模部件412、方面元数据部件414、一个或更多个处理器418和存储器420。在各种实施方式中,用户接口部件404、模拟部件406、控制器仿真部件408、arhmi仿真部件410、机械建模部件414、方面元数据部件414、一个或更多个处理器418以及存储器420中的一个或更多个可以彼此电耦接和/或通信地耦接,以执行控制设计和测试系统402的功能中的一个或更多个功能。在一些实施方式中,部件404、406、408、410、412和414可以包括存储在存储器420上并由(一个或更多个)处理器418执行的软件指令。控制设计和测试系统402还可以与图4中未描绘的其他硬件和/或软件部件交互。例如,(一个或更多个)处理器418可以与一个或更多个外部用户接口设备例如键盘、鼠标、显示监视器、触摸屏或其他这样的接口设备交互。
用户接口部件404可以被配置成以任何合适的形式(例如,视觉、音频、触觉等)接收用户输入并向用户渲染输出。在一些实施方式中,用户接口部件404可以在显示设备(例如,与台式计算机、膝上型计算机、平板计算机、智能电话等相关联的显示设备)上渲染交互式显示屏幕,其中,显示屏幕用作控制设计和/或模拟平台的接口。用户接口可以显示正在用仿真的工业控制程序进行测试的自动化系统的虚拟现实三维(3d)模拟,渲染基于该模拟的表示自动化系统的预期性能的操作统计信息以及其他这样的信息。用户接口部件404还可以被配置成根据仿真的arhmi应用对模拟的工厂环境进行测试,将增强现实数据覆盖或分层堆放到3dvr模拟环境上。在一些实施方式中,用户接口部件404还可以渲染可选择的设计工具,并且经由与工具的交互接收与配置工业自动化系统的各方面(例如,虚拟系统的设备与工业控制器之间的i/o连接)有关的设计输入。用户接口部件404可用的设计工具可以包括自动化方面的集合,这些自动化方面可以与正被设计的自动化系统的机械元件或部件选择性地相关联。可供选择的方面基于在存储器420上保持的方面定义422,方面定义422定义了可用方面以及相应方面的相关联模拟数据,其可以由模拟平台使用来在工业模拟的上下文内模拟各方面的操作或行为。
模拟部件406可以被配置成在工业控制程序的控制下模拟工业自动化系统的虚拟化模型的操作。控制器仿真部件408可以被配置成对正在虚拟化的(或仿真的)工业控制器上测试的工业控制程序的执行进行仿真。arhmi仿真部件410可以被配置成结合自动化系统的虚拟化模型的模拟来仿真增强现实hmi应用的执行。
机械建模部件412可以被配置成基于由用户经由用户接口部件404提供的设计输入来生成自动化系统或机器的三维机械模型。方面元数据部件414可以被配置成根据从用户接收到的设计输入将方面元数据分配给机械模型的选定元件。如将在本文中更详细描述的,方面元数据将选定元件标记为特定类型的工业部件或机器(例如,特定类型的关节、马达、传感器、传送机等)或标记为具有特定的物理几何形状或行为。分配给给定元件的方面元数据是从方面定义422中的一个或更多个方面定义获得的,方面定义422对应于分配给该元件的相应的一个或更多个方面。将该方面元数据添加到机械模型中可以产生自动化系统的增强的机械模型(例如,动态数字孪生),该增强的机械模型可以在模拟平台内执行,以在工业控制程序的控制下模仿自动化系统的行为。
一个或更多个处理器418可以执行本文中参照所公开的系统和/或方法描述的功能中的一个或更多个。存储器420可以是计算机可读存储介质,该计算机可读存储介质存储用于参照所公开的系统和/或方法执行本文描述的功能的计算机可执行指令和/或信息。
如上所述,用于仿真工业环境的虚拟现实表示内的arhmi以测试和调试hmi或训练工厂人员的系统和方法可以结合到能够执行自动化系统或工业环境的虚拟3d模拟的基本上任何类型的工业模拟或vr系统中。以下描述和相关联附图描述了可以集成有arhmi仿真功能的示例控制设计和测试系统402。然而,应当理解,arhmi仿真部件410的功能不限于在本文所述的特定控制设计和测试系统402内使用,而是还可以在不脱离本公开内容的一个或更多个实施方式的范围的情况下结合到其他类型的工业3d模拟系统中。
图5是示出使用控制设计和测试系统402创建工业自动化系统的机械模型的图。在一些实施方式中,控制设计和测试系统402可以在客户端设备上执行,该客户端设备例如台式计算机、膝上型计算机、平板计算机、移动设备、可穿戴ar/vr设备等。在其他实施方式中,控制设计和测试系统202可以在云平台或具有访问系统402的授权的多个用户可访问的另一高级平台上执行。在这样的实施方式中,客户端设备可以远程访问控制设计和测试系统的设计工具,并且利用这些工具来开发所设计的自动化系统的能够模拟的机械模型。
用户接口部件404可以经由客户端设备的显示硬件来渲染图形接口显示。通过与这些接口显示的交互,用户可以提交指定所设计的自动化系统的机械方面的机械设计输入504。例如,机械设计输入504可以指定表示要包括在机械设计中的机械结构或设备的三维形状。这些形状可以以图形形式来表示工业资产例如工业机器人、传送机、工具机器、马达、马达驱动器、传感器、管路、管道、平台、安全门和栅栏、控制柜或其他这样的资产。机械设计输入504还可以指定这些图形表示相对于彼此的位置和取向、机械元件之间的物理连接或其他这样的机械属性和关系。机械建模部件412根据由机械设计输入504定义的图形表示及其关系,生成表示自动化系统(例如,机器装配、生产线等)的3d自动化系统模型502。
根据各种实施方式,可以经由用户接口部件404以任何合适的格式提交机械设计输入504。例如,由用户接口部件404渲染的图形接口显示可以包括:在其上渲染自动化系统模型502的工作空间或画布;以及用户可以从工具栏中选择2d或3d绘图工具或预定义的形状或部件以包含在模型502中的相关联的工具栏。在一些实施方式中,可以将表示机械部件的形状从工具栏拖动到主工作空间中,或者以其他方式添加到工作空间,以在模型502中进行放置和定向。工作空间中的形状或形状集合可以经由与图形接口的交互来操纵。例如,设计者可以与选定的形状、形状的集合或整个模型502交互,以在虚拟三维空间内旋转、链接或重定位形状。在一些实施方式中,对自动化系统模型502的添加或修改被存储在表示模型502的cad文件(例如,零件或装配文件)内。
机械设计输入504还可以包括在单独的cad平台中开发并且表示要包括在自动化系统中的一个或更多个机械结构或设备的计算机辅助设计(cad)模型。就此而言,可以将表示正在设计的自动化系统的各个不同子集的一个或更多个cad模型导入到控制设计和测试系统402中,以包括在较大的自动化系统模型502中。这样的cad模型可以包括诸如工业机器人、传送机、加工机器、马达、马达驱动器、传感器、管路、管道、平台、安全门和围栏、控制柜的工业资产或其他这样的资产的三维图形表示。如果cad模型表示部件的装配,则该模型还可以指定这些图形表示相对于彼此的位置和取向、机械元件之间的物理连接或其他这样的机械属性和关系。一旦导入,设计者可以将cad模型合并到较大自动化系统模型502中。
典型地,机械cad模型基本上仅是适于用作构建和安装自动化系统的指导的三维技术图,但是没有模拟能力。在一些实施方式中,控制设计和测试系统402可以包括方面元数据部件414,该方面元数据部件414允许用户能够利用方面元数据来增强自动化系统模型502(包括任何集成的cad模型),该方面元数据将自动化系统模型502变换成自动化系统(或其部件)的能够模拟的数字模型,该数字模型可以在模拟平台内执行以模仿系统的操作。图6是示出将方面元数据608添加到自动化系统模型502的图。在一个或更多个实施方式中,由用户接口部件404渲染的图形接口显示可以包括一个或更多个工具栏,其用于将方面元数据添加到自动化系统的模型502的选定元件或部件。可供选择的方面基于存储在系统402上(例如,存储器420上)的方面定义422。
每个方面定义422定义物理属性、运动属性或机电属性的集合,其规定了该方面在模拟环境内如何表现。由方面定义422定义的属性基本上反映现实世界中对应物理方面的物理行为和特性。控制设计和测试系统402根据机械元件、控制元件或为其定义物理属性的设备的类型对方面定义422进行分类。由用户接口部件404渲染的方面工具栏根据这些分类列出了可用方面以供用户选择。可以被选择并且应用于自动化系统模型502的示例方面包括但不限于各种类型的动态或运动学关节(例如,滑动关节、旋转关节、机器人臂关节、铰链等)、诸如传送机的运动表面、马达、夹持器(例如,吸力夹持器、机械夹持器等)、传感器、气动或液压致动器(例如,推动器臂、止动器等)、辊或机械系统的其他这样的元件。
方面定义422的目录还可以包括各种类型的机器人端部执行器(例如,机械夹持器、吸力夹持器等)。端部执行器方面定义422可以为其对应的夹持器类型定义物理属性(例如,3d物理约束),可以在控制模拟侧使用这些物理属性来更准确地模仿低抽象级别处的机器人零件处理行为的操作。例如,应用于模型502中定义的机器人的表示的吸力夹持器方面可以向模拟平台指示该机器人的端部执行器将被建模为吸力夹持器,从而吸力夹持器附近的产品可被假设为已被机器人(经由吸力)夹持,并且随后可以与机器人臂协同移动以模拟由机器人引起的零件的移动。相比之下,机械夹持器方面可能暗示与夹持器对零件的移动有关的更复杂的物理性质。在机械夹持器方面的情况下,物理引擎的约束可以用于在允许零件与机器人的移动协作移动(由于夹持器臂和产品表面之间的摩擦)之前确定夹持器的侧面是否以适当的位置和角度接触产品的相应侧面。
一些方面定义422还可以定义可以与自动化系统模型502的选定元件相关联的物理几何形状或属性。各方面还可以将在模型502内定义的选定机器指定为负载创建者,该负载创建者将具有指定形状和物理行为(例如,碰撞物理性质)的产品引入到自动化系统中;例如,经由向系统供料的传送机。
将方面元数据608添加到自动化系统模型502的处理涉及将由机械模型502表示的选定机械部件或设备标记为可用控制方面之一(由方面定义422之一表示)。该方面标记工作流可以通过经由与由用户接口部件404渲染的图形接口显示的交互提交方面说明输入604来执行。例如,用户可以从方面工具栏中选择机器人关节的类型作为方面,并且随后选择要被标记为这种类型的关节的自动化系统模型502的元件。响应于这些选择,方面元数据部件414将用于选定类型的机器人关节的方面元数据608与自动化系统模型502的所指示的部件相关联,从而将关节的静态机械表示转换成活动的虚拟控制元件,该活动的虚拟控制元件的行为可以在模拟平台内被虚拟模拟。从对应于所指示的方面类型的方面定义422中提取分配给选定的机械部件的方面元数据608。
方面元数据608可以基本上定义可以被模拟平台识别和利用的任何类型的信息,以响应于控制输入或模拟力而准确地对对应机械部件的运行时移动或行为进行建模。取决于该方面,方面元数据608可以包括可全局地应用于该方面的所有实例的默认固定值或属性,以及可以由用户定制以符合用户系统的细节的用户定义的元数据。图7是示例接口显示702,其可以由用户接口部件404渲染并且用于将方面元数据608分配给自动化系统模型502。在该示例中,接口显示702包括主工作空间706,在该主工作空间706上渲染所设计的自动化系统的自动化系统模型502的3dcad表示708。接口显示702可以响应于对控制方面选项卡730的选择而在主工作空间706上方渲染方面工具栏704。方面工具栏704显示表示控制方面或方面的类别的多个可选选项,这些可选选项可以经由与cad表示708的交互被选择并添加到模型(例如,控制面板、传送机、动态关节、端部执行器、运动学关节、负载、马达、物理性质、物理几何形状、物理分组、传感器等)。
在图7所描绘的示例中,表示传送机712的cad表示708的一部分将被标记为“直传送机”方面,将模型502的该部件标识为传送机并且将模拟元数据与传送机712的表示相关联,该传送机712的表示可以由单独的模拟平台利用来准确地模拟传送机712的行为。为了分配该方面,用户可以与接口显示702交互以从方面工具栏704中的传送机的下拉选择732选择“直传送机”选项,然后选择cad表示708中的传送机712的表示(自动化系统模型502的可视化)。响应于这些选择,在主工作空间706的左侧渲染方面元数据面板,方面元数据面板列出了用于输入用户可定义元数据值的多个字段714至1128。这些用户可定义元数据值是除了与“直传送机”方面相关联的固定的全局方面元数据值之外的,其也与传送机712相关联。
通常,由用户接口部件404渲染的可用的用户可定义方面元数据值的列表基于选定的特定方面。以这种方式,当用户将方面分配给模型502的部件时,用户接口部件404提示用户输入可用于该选定方面的任何用户定义的元数据字段的值。在所示示例中,用于传送机的用户可定义方面元数据608可以包括针对传送机712的前边缘714和后边缘716的定义,前边缘1114和后边缘1116可以由方面元数据部件414基于向其分配传送机方面的机械传送机表示的形状来自动地识别,或者可以由用户明确地识别(例如,通过选择前边缘和后边缘以指示它们的位置)。此外,用户接口部件404可以提示用户输入这样的用户可定义传送机方面元数据值,如传送机的运行速度718、加速度720、或减速度722。还可以提示用户指定用于沿传送机传送产品的带的材料724,这可以基于材料的摩擦系数或其他物理属性来影响模拟的产品沿传送机的穿过。也可以请求用于传送机712的控制模式726(例如,开-关控制、变速控制等)。
类似于图7所示的工作流和图形接口的工作流和图形接口可以用于将选定方面元数据分配给其他类型的自动化系统部件。根据另一示例,气动推动臂的方面元数据608可以定义推动臂在自动化系统模型502的三维坐标系内的线性移动的方向、开始位置以及移动范围。用户接口部件404还可以提示用户针对推动器在被致动时的移动速度提供用户定义的元数据值。
一些方面定义422(以及从这些定义422得出的对应方面元数据608)也可以定义选定机械部件的物理特性或约束,并且这些特性和约束可以随后由模拟平台参考以准确地模拟部件的移动和行为。这些特性可以包括但不限于:齿轮直径、齿轮比、摩擦系数、惯性、运动约束(例如,特定类型的机器人的已知运动轴及其对应的运动约束)或其他这样的数据。取决于方面的类型,这些方面元数据值中的一些可以是用户定义的,而其他方面元数据值可以是预期适用于该方面的所有实例的固定全局特性。一些方面定义422还可以定义可执行脚本,该可执行脚本可以由单独的模拟平台执行并且应用于模型502的关联元件(例如,由用户利用对应方面标记的元件),从而使该元件模仿模拟环境内其对应物理部件的行为。
一些方面定义422还可以指定用于其对应资产的控制i/o接口。例如,将传感器(例如,光电眼、接近开关等)的方面元数据608分配给自动化系统模型502的表示传感器的选定元件可以将选定元件指定为数字输入设备,该数字输入设备响应于在传感器的检测范围内检测到对象而向工业控制器提供数字输入值。在这种场景下,检测范围可以是用户定义的方面元数据值。在另一示例中,一种类型的推动臂的方面元数据608可以指定:臂需要数字控制器输出以控制推动臂的前进状态和缩回状态(例如,前进为开(on),并且缩回为关(off)),以及两个数字输入以读取推动臂的行进的最末端处的相应两个接近开关的状态,从而检测臂何时处于完全前进或完全缩回状态。通常,具有与工业控制器的已知或预期i/o接口的系统部件的方面定义422可以定义监视和/或控制这些系统部件所需的(模拟的和数字的)输入和/或输出。当准备好在模拟和测试平台内模拟模型602时,该i/o信息可以促进增强数字模型602与仿真的控制器之间的连接。
此外,在一些实施方式中,当具有相关联的i/o定义的方面被添加到自动化系统模型502时,方面元数据部件414可以自动地用由对应的方面定义422定义的i/o点来填充系统i/o的聚合列表。图8是示出基于方面元数据608向自动化系统模型502的分配来创建自动化系统项目的主i/o列表802的图。当如以上所描述的将方面选择性地分配给模型502的元件时,方面元数据部件414确定对应于该方面的方面定义422是否定义了针对该方面的输入或输出。除了将方面元数据608分配给模型502之外,在方面定义422中定义的任何方面i/o806被添加到自动化系统的主i/o列表802。该主i/o列表802可以以人类可读的格式渲染并且由控制工程师在设计控制系统和相关联的控制逻辑时进行参考。例如,主i/o列表802可以在模拟平台内填充标签浏览器,该标签浏览器允许用户选择性地将虚拟机i/o与相应控制器i/o点相关联。
在一些实施方式中,主i/o列表802可以与自动化系统的增强数字模型602集成或以其他方式与自动化系统的增强数字模型602存储在一起,使得i/o列表802与模型602一起传送。因此,增强数字模型602不仅包括新系统的3d布局,而且包括整个系统的i/o映射。该主i/o列表802可以根据指定的方面元数据608在控制系统的设计开始之前生成,从而为控制工程师提供有用的设计约束(即,操作自动化系统所需的i/o)。
一些方面元数据608还可以将自动化系统模型502的部件指定为负载源,其将产品的离散项目(例如,盒、行李、制造的零件、流体材料或其他这样的产品)引入到系统中。当负载源方面标签被应用于模型502的元件时,用户接口部件404可以提示用户针对指定的负载源提供用户定义的操作参数,例如产品被引入到系统中的速率、产品的形状(例如,具有指定尺寸的盒或圆柱体、由柔性材料制成并具有随机可变形状的项目等)、与产品相关联的碰撞物理性质、或其他这样的特性。当随后将增强数字模型602导入模拟平台时,该模拟平台根据负载源方面元数据608,通过标记的负载源来模拟产品项目的释放。
如上所述,用方面元数据608标示自动化系统模型502产生所设计的自动化系统的增强数字模型602,该增强数字模型602可以在3d模拟平台中执行以进行虚拟调试。在本示例中,控制设计和测试系统402包括控制器仿真部件408和模拟部件406,该控制器模拟部件408仿真在虚拟化(或仿真)的工业控制器上正在测试的工业控制程序的执行,该模拟部件406在工业控制程序的控制下模拟工业自动化系统的虚拟化模型的操作。在控制设计和测试系统402内,可以将自动化系统的增强数字模型602(包括利用方面元数据608和主i/o列表802增强的自动化系统模型502)与控制编程(例如,梯形逻辑)交互,这允许在最终确定总体设计并且进行到建立和安装阶段之前能够对机械设计和控制设计两者进行虚拟模拟和测试,其中,该控制编程针对自动化系统被开发,以产生虚拟测试环境。图9是示出了使用增强数字模型602以在控制程序908的控制下虚拟地模仿物理自动化系统的行为的控制设计和测试系统402内的组合的机械和控制设计的模拟的图。如上所述应用于自动化系统模型502的选定元件的方面元数据608使这些元件由测试平台的模拟部件406识别为控制或激活元件,并且指示模拟部件406关于每个元件在模拟上下文内如何响应于控制和物理刺激而表现。
由于增强数字模型602(借助于方面元数据608)对自动化系统的机械特性以及组成该模型的部件的行为属性进行建模,因此增强数字模型602可以用于在仿真控制程序908的控制下模拟自动化系统的预期操作以及行为。这可以包括查看和验证模拟系统对在移动、速度、流量、温度、填充水平、产品通过系统的移动等方面的控制输入的响应。在图9描绘的示例中,测试系统402的控制器仿真部件408充当工业控制器仿真器以执行控制程序908,该控制程序908是针对自动化系统的虚拟模型602开发和测试的。尽管图9仅描绘了针对自动化系统的虚拟3d模型602仿真的单个控制程序908,但是模拟平台也可以用于模拟整个工业设施的虚拟模型602,这可能涉及仿真多个控制程序908在整个设施中执行。
模拟部件406可以利用被编码在增强数字模型602中的机械特性和相关联方面元数据608来模拟要由控制程序908监视和调节的自动化系统的操作方面。为了实现这一点,用户(例如,控制工程师)可以虚拟地将控制程序908与数字模型602对接,以促进模拟的i/o数据在程序908与数字模型602之间的交换,从而模拟自动化系统的真实世界控制和操作。为此,开发者可以使用测试平台的配置工具(例如,标签浏览器)将由控制程序908定义的控制器i/o选择性地映射至增强数字模型602的活动控制元件的i/o(即,用方面元数据608标记控制元件,将这些元件指定为具有能够与工业控制器的i/o对接的相关联输入和输出,如由主i/o列表802所记录的)。在示例场景中,控制工程师可以定义plc标签和i/o地址——其驱动自动化系统模型502中定义的马达、致动器或其他部件,并且选择性地将标签和相关联的i/o地址链接至为建模的部件定义的i/o点。作为整个自动化系统设计的一部分的控制程序908与数字模型602之间的这种i/o映射可以作为plc连接数据906被存储在适当格式化的文件(例如,电子表格或另一类型的文件)中,并且与数字模型602集成。因此,除了机械设计方面之外,数字模型602还保持控制设计的该方面。
控制程序908可以包括用于处理读入控制器中的输入信号以及控制来自控制器的输出信号的任何可想到类型的代码(任何可想到类型的代码包括但不限于梯形逻辑、顺序功能图、功能框图或结构化文本),并且被设计成调节正由数字模型602建模的自动化系统。在模拟期间,模拟部件406基于由数字模型602表示的物理系统的静态和动态特性来生成数字和模拟i/o值,这些数字和模拟i/o值表示例如传感器输出、计量输出或与预期要由物理系统生成的数据类似的其他工厂数据。该模拟的输出数据904被提供给执行控制程序908的控制器仿真部件408,该控制器仿真部件408接收该数据904作为一个或更多个虚拟物理输入。控制程序908根据用户定义的算法处理这些输入,并且基于该处理生成数字和/或模拟控制器输出数据902。该输出数据902表示将由执行控制程序908的控制器生成并且被发送至包括自动化系统的硬连线现场设备的物理输出(例如,pid环路控制输出、螺线管激励输出、马达控制输出、致动器控制输出、机器人控制输出等)。根据用户定义的i/o映射,控制器输出数据902被提供给数字模型602的适当输入点。
除了生成模拟的输出数据904之外,模拟部件406还响应于模拟控制器输出数据902基于对建模的自动化系统的预期行为以及模拟数据交换的分析来生成系统响应数据918。模拟部件406基于由与自动化系统模型502的相应控制元件相关联的方面元数据608定义的约束以及行为和物理属性来估计和模拟虚拟自动化系统对仿真的控制器输出(以及这些输出的定时)的响应。例如,基于如由方面元数据608表示的由增强数字模型602建模的工业部件(例如,传送机、工业机器人、机器、模拟产品等)的机械和行为特性,模拟部件406可以响应于控制器输出数据902来预测建模的工业部件的预期行为以及由部件制造、处理或操纵的产品的行为,并且将该预测的行为作为系统响应数据918来传送。由系统响应数据918表示的示例行为可以包括但不限于工业机器人的移动和轨迹、产品通过模拟的自动化系统的移动(包括速度、加速度、位置、滞后、碰撞、夹持器故障等)、流体通过系统的流动速率、系统的预期能量消耗、系统的机械部件的预期退化率(部分基于增强数字模型602中定义的摩擦系数信息)、操作期间施加至系统的各个部件的预期力或其他这样的行为。
在具有用于夹持和移动产品的项目(例如,用于堆叠或堆放产品项目,将项目从一个传送机移动制另一个传送机等)的端部执行器的工业机器人的情况下,这些机器人与产品之间的模拟交互可以部分地取决于与机器人的端部执行器相关联的夹持器方面元数据608的类型。例如,如上所述,吸力夹持器方面元数据608可以向模拟部件406指示,可以假设吸力夹持器附近的产品已被机器人夹持住,只要吸力执行器在零件上方适当地对准即可,并且可以随后随机器人臂移动,以模拟由机器人对零件的移动,直到零件被释放。替选地,机械夹持器方面元数据608可以定义在可以假设零件已被机器人牢固地夹持住之前将由模拟部件406考虑的更多涉及的物理性质。这可以包括:当执行器处于夹持位置时,在允许产品协同机器人移动之前,确定夹持器的两个臂是否接触产品的相应侧面,并且处于适当的角度或取向。由于机械夹持器对产品的牢固夹持取决于产品在进入拾取站(机器人从该拾取站夹持零件)时的正确对准以及在拾取时产品与机器人的夹持器之间的相对对准,因此模拟部件406可以在模拟期间评估这些因素以确定产品是否已被适当地夹持,或者替选地确定是否可能由于未对准而发生误夹持。关于如何正确地评估该夹持行为的指令可以由分配给机器人的机械夹持器方面元数据608提供。
如上所述,自动化系统模型502的一个或更多个部件可以用将这些部件指定为负载源的方面元数据608来标记。基于该负载源方面元数据,模拟部件406可以将模型的这些部件识别为负载源,该负载源将产品(例如,制造的零件、盒、瓶、流体材料等)引入所测试的自动化系统中并且使这些部件动画化以根据元数据模拟产品的释放。分配给这些部件的默认和用户定义的元数据参数可以定义产品被释放的频率、产品类型(例如,离散的固体项目或液体材料)、产品的形状(例如,具有指定尺寸的盒、球形物体、由于制成项目的柔性材料而具有随机无定形形状的项目等)、产品穿过系统的速度等。这些产品通过模拟的自动化系统的移动也可以根据与产品在其上移动的传送机表示相关联的传送机方面元数据(例如,传送机的速度、用于传送产品的带的材料等)。模拟部件406还可以模拟产品项目之间或产品与机器之间的预测碰撞(例如,由于不合时的控制序列而与推动器臂或机器人臂的碰撞)。可以基于部分由方面元数据608建模的物理规则和几何形状来预测和模拟这些碰撞的影响。模拟部件406还可以利用由方面元数据608定义的物理规则来确定机械夹持器是否适当地夹持住产品项目,或者可能由于不适当的夹持而使产品的一些或全部项目掉下。
用户接口部件404可以生成在客户端设备上渲染模拟结果的可视化914。可视化914可以基于增强数字模型602来渲染自动化系统的3d图形表示,并且基于系统响应数据918和/或与模拟会话有关的其他计算的统计信息来使该图形表示动画化,从而产生操作中的自动化系统的三维视觉演示。该仿真技术可以用于在不将现场设备和机械置于风险的情况下测试和调试控制程序,以测试对机器操作的修改,并且估计这样的修改如何影响某些关键性能指标或财务度量,以促进在工厂环境的交互式虚拟现实表示的上下文中对新工厂人员的培训,或以执行其他这样的功能。
在由工厂人员将使用增强现实hmi来经由可穿戴设备渲染工业资产的操作、状态和/或统计数据的场景中(如以上结合图2和图3所描述的),有必要在部署之前测试和调试arhmi应用,以确保在适当的情况下(根据穿戴者的位置和取向数据306,以及如果适用,用户身份或角色数据308)工厂数据的正确的项被链接至ar演示,并且确保数据覆盖层位于穿戴者视野内的适当位置处;例如,使得数据项充分地位于用户对对应工业资产的视图附近,并且不会遮挡用户对关键系统部件的视图,或者以不安全的方式另外地妨碍用户的可见性。
为了促进在调试物理自动化系统之前对arhmi应用进行测试和调试(或者在无需在工业设施处物理地存在的情况下以其他方式测试arhmi应用),arhmi仿真部件410可以被集成为工业虚拟现实平台例如控制设计和测试系统402或其他合适的工业vr平台的一部分。图10是示出示例配置的示图,其中控制设计和测试系统402包括集成的arhmi仿真部件410,其用于在现场部署之前虚拟地调试arhmi应用1004。arhmi仿真部件410可以被配置成针对物理工业系统或工厂环境的vr模拟执行要测试的arhmi应用1004。在该示例实施方式中,由用户接口部件404生成的可视化914是3d虚拟现实演示,其可以根据由用户经由渲染有vr可视化的客户端设备输入的导航输入来进行导航。基于工业系统或工厂环境的能够模拟的数字模型602以及表示穿过虚拟化工厂环境的用户导航输入来生成vr可视化914并且使vr可视化914动画化,该数字模型602由仿真的控制程序908(或在包括多个独立控制的机器或处理的工厂环境的虚拟化的情况下的多个仿真的控制程序908)来控制。
此外,用户可以结合工业vr模拟来安装要由arhmi仿真部件410仿真的arhmi应用1004。arhmi应用1004可以是随后将在现场(例如,在ar演示系统232或类似的ar可视化系统上)执行以用于创建ar演示并且将其传送给物理工厂设施内的可穿戴设备230的相同应用。一旦安装,arhmi仿真部件410可以与由模拟部件406对自动化系统的虚拟模拟同步地执行应用1004,并且根据应用1004生成arhmi数据1006。用户接口部件404可以将该arhmi数据1006与由模拟部件406生成的vr模拟数据(例如,系统响应数据918)以产生聚合可视化914合并,该聚合可视化914包括覆盖有ar数据项1002的物理工业环境的3d虚拟现实渲染。这些覆盖的ar数据项对应于由arhmi应用1004定义的、将经由可穿戴设备230覆盖在用户视野上的数据项。这些覆盖的数据项在虚拟化演示中的位置也由arhmi应用1004定义并且与可穿戴设备230的穿戴者在现场时将看到这些项的位置相对应。
图11是示出根据一个或更多个实施方式的用于创建包括仿真的ar数据覆盖的增强工业vr演示的示例数据流的图。在该示例中,模拟部件406和控制器仿真部件408如上所述的那样进行交互,以促进对由通过控制程序908的执行控制的数字模型602建模的自动化系统(或组成较大工厂环境的系统集合)的模拟。控制程序908可以是在调试物理自动化系统之前在虚拟仿真中测试和调试的新程序,或者可以是已经投入使用并用于控制对应物理自动化系统的控制程序的副本。基于自动化系统的数字模型602、控制器输出数据902和模拟的输出数据904在模拟部件406与控制器模拟部件408之间的交换以及由用户经由用户接口部件404提交的模拟的位置和取向数据306,模拟部件406将vr演示数据1104提供给用户接口部件404,该用户接口部件404以图形方式表示虚拟化的工业环境中的模拟的自动化系统的状态以及当前模拟的用户视角。用户接口部件404将该vr演示数据1104转变成vr可视化914,该vr可视化914被传送至客户端设备。
用户接口部件404允许用户通过提交更新的位置和取向数据306来更新vr可视化914的当前用户视角,该更新的位置和取向数据306改变用户在虚拟工业环境中的模拟的位置或模拟的取向中的一个或两者,从而使模拟部件406相应地更新3d可视化914的视角。这些交互模拟用户穿过物理工厂环境。在各种实施方式中,用户可以经由与可视化914的任何合适的交互来更新位置和取向数据306,包括但不限于基于鼠标的导航、基于操纵杆的导航、使用控制板的导航或其他这样的手段。在通过工业环境的该模拟穿过期间,模拟部件406根据数字模型602的机械属性、方面元数据608以及(一个或更多个)控制程序908的仿真的执行,继续模拟由数字模型602建模的工业资产的操作。
在该模拟期间,arhmi仿真部件410在虚拟工业环境的上下文中执行要测试的arhmi应用1004。为此,在执行模拟期间,控制器仿真部件408将仿真的控制器数据1102提供给arhmi仿真部件410。该仿真的控制器数据1102表示来自工业系统自动化的虚拟化输入,该虚拟化输入类似于来自物理自动化系统的将被提供给在现场的实际arhmi系统的数字和模拟输入。仿真的控制器数据1102可以包括例如由控制程序908设置的虚拟控制器标签的值、虚拟化的遥测数据(例如,压力、温度、流量等)、虚拟警报或可以由arhmi应用1004结合生成增强现实演示而使用的其他这样的数据。
基于该仿真的控制器数据1102和表示用户在模拟的3d环境内的虚拟位置和取向的虚拟位置和取向数据306,arhmi仿真部件410生成arhmi数据1006,该arhmi数据1006被用户接口部件404分层堆放到可视化914上,作为ar数据项1002。在vr环境中分层ar信息的所得到的复合可视化通过与arhmi应用1004对接的可穿戴设备230仿真用户对工厂环境的视图。就此而言,用户接口部件404可以执行虚拟化的可穿戴ar设备1106,该虚拟可穿戴ar设备1106以类似于由实际可穿戴ar设备230进行的处理的方式来处理hmi数据1006,但是转变ar演示以显示在3dvr可视化914上(与现实世界ar场景相比,3dvr可视化914可以渲染在接收客户端设备的平面2d屏幕上),而不是显示在物理可穿戴设备230上。虚拟ar设备1106将hmi数据1006转变或转换为覆盖在由可视化914描绘的虚拟工业环境的当前用户视角上的ar数据项1002,使得对哪些数据项1002的选择被渲染以及这些数据项1002在虚拟视场内的位置准确地仿真在给定类似的用户位置和取向的情况下用户将通过实际可穿戴设备230在物理环境中看到的ar数据的布置。当用户与虚拟3d可视化914进行交互时,用户接口部件404实时更新这些数据覆盖1002(例如,通过调整位置和取向数据306以模拟穿过环境)。
图12是工业环境的示例虚拟3d可视化914的快照,在该示例虚拟3d可视化914上,ar演示已由arhmi仿真部件410和用户接口部件404分层。在该示例中,自动化系统包括两个工业机器人1202a和1202b。模拟部件406可以模拟两个机器人1202a、1202b和视野内的其他工业资产的行为,并且可视化914可以渲染这些资产的反映模拟的行为的对应动画。虚拟环境的当前视角是用户在模拟环境中的当前虚拟位置和取向的函数,如位置和取向数据306所反映的。
在模拟期间,arhmi仿真部件410使用仿真的控制器数据1102作为来自虚拟化自动化系统的模拟的输入,执行所测试的arhmi应用1004。基于用户的当前模拟的位置/取向以及仿真的控制器数据1102,arhmi仿真部件410生成arhmi数据1006,该arhmi数据1006由虚拟ar设备1106转变并且作为覆盖数据项1002a至1002b被用户接口部件404渲染到vr可视化914上。由arhmi应用1004定义在给定时间处渲染的特定数据项1002a至1002b以及它们在模拟视野中相对于其对应的工业资产的位置。使用该方法,用户可以在视觉上确认针对自动化系统的给定视图演示正确的ar信息,并且该信息的位置是令人满意的(例如,给定数据项充分地位于其对应的工业资产或机器附近,并且该数据项不会遮挡用户对关键系统部件的视图或者以不安全的方式损害用户的可见性)。如果必要的话,用户可以对arhmi应用1004实施连续修改,以校正ar演示中的感知到的问题,直到ar演示如期望的那样表现。因此,arhmi可以在虚拟环境内被彻底地测试和调试,而不需要物理地存在于物理自动化系统处(例如,在自动化系统被调试之前),并且不需要实际的可穿戴ar设备。一旦被调试,arhmi应用1004可以被部署在现场(例如,在增强现实演示系统232或类似的可视化系统上执行),以将工业ar演示传送至可穿戴设备230。
除了测试和调试之外,该系统还可以用作培训新工厂人员的培训平台。就此而言,受训者可以与虚拟化工厂环境进行交互,以在虚拟化环境中获得关于自动化系统的初步经验。使用将在现场执行的同一arhmi应用将增强现实信息覆盖到该虚拟化环境上,可以准确地仿真在与自动化系统的真实世界交互期间将演示给用户的视角,从而产生高保真培训环境。
除了以上讨论的特征之外,模拟部件406的一些实施方式可以被配置成将人类化身并入vr训练环境中以模拟可能需要操作机器、自动化系统或由模型602表示的生产线的人员的存在。在示例场景中,数字模型602可以定义预期需要人员以适当地监视和操作自动化系统的位置作为其自动化系统定义的一部分。在一些实施方式中,这些人类位置可以由设计者指定并在模型602中定义。替选地,模拟部件406可以被配置成基于对模型602的分析来推断用于自动化系统的可靠和安全操作的操作员的合适数量和位置。在这些人类化身被包括作为模拟的一部分的情况下,与如上所述的vr训练环境交互的用户可以与这些其他化身进行通信、交互和交换物品。在培训和测试的上下文中,这些化身还可以帮助系统设计者确定临时操作员的位置是否可能引起操作或安全问题。例如,vr模拟的用户可以判断特定站点处的操作员是否会妨碍另一操作员的到重要的机器信息(例如标题(stacklight)或其他通知设备)的视线。
图13示出了根据本主题申请的一个或更多个实施方式的方法。虽然,为了简化说明,本文中示出的方法被示出和描述为一系列动作,但是应理解和明白,本主题创新并不受限于动作的顺序,因为根据该顺序的一些动作可以按照不同的顺序进行以及/或者与本文中示出和描述的其他动作同时进行。例如,本领域技术人员将理解和认识到,方法可以替选地例如以状态图被表示为一系列相关的状态或事件。此外,可能并非需要示出的所有动作来实现根据本创新的方法。此外,当不同实体执行方法的不同部分时,交互图可以表示根据本主题公开内容的方法论或方法。进一步地,可以彼此组合地实现所公开的示例方法中的两个或更多个,以实现本文中描述的一个或更多个特征或优点。
图13示出了用于在虚拟现实工业环境内执行增强现实hmi应用的示例方法1300。首先,在1302处,在仿真的工业控制器的控制下执行工业自动化系统的模拟。在一些实施方式中,可以基于自动化系统的数字模型或数字孪生来执行模拟,该数字模型或数字孪生对组成自动化系统的各种部件的机械、物理和行为属性进行建模。在1304处,基于由自动化系统的模拟和数字模型生成的信息,生成包括工业自动化系统的工业环境的三维虚拟现实演示。虚拟现实演示可以被渲染在客户端设备上,并且可以包括例如可以通过与客户端设备的显示进行的交互来在三个维度上导航的交互式虚拟环境。可以根据模拟使演示动画化,从而以图形的方式传送虚拟化的自动化系统的操作、移动和状态。
在1306处,在工业模拟平台内仿真增强现实hmi应用的执行。增强现实hmi应用被配置成结合所模拟的物理自动化系统的操作来传送增强现实演示。尽管hmi应用被配置成在现场在arhmi系统上执行,以将增强现实数据传送至可穿戴式ar设备,但工业模拟平台支持这样的arhmi应用的执行,以在虚拟现实演示上渲染基本等效的增强现实演示。
在1308处,根据增强现实hmi应用,将增强现实覆盖渲染到虚拟现实演示上。ar数据覆盖是基于来自模拟的仿真输入以及与用户当前对虚拟现实环境的视角对应的模拟用户位置和取向数据生成的。
本文中描述的实施方式、系统和部件以及其中可以执行本说明书中阐述的各个方面的控制系统和自动化环境可以包括能够跨网络进行交互的计算机或网络部件,例如服务器、客户端、可编程逻辑控制器(plc)、自动化控制器、通信模块、移动计算机、用于移动车辆的车载计算机、无线部件、控制部件等。计算机和服务器包括被配置成执行存储在介质中的指令的一个或更多个处理器,一个或更多个处理器为采用电信号执行逻辑操作的电子集成电路,该介质例如为随机存取存储器(ram)、只读存储器(rom)、硬驱动以及可移除存储器设备,其可以包括记忆棒、存储卡、闪存驱动、外部硬驱动等。
类似地,如本文使用的术语plc或自动化控制器可以包括可以跨多个部件、系统和/或网络共享的功能。作为示例,一个或更多个plc或自动化控制器可以跨网络与各种网络设备进行通信和协作。这基本上可以包括经由网络进行通信的任何类型的控件、通信模块、计算机、输入/输出(i/o)设备、传感器、致动器和人机接口(hmi),所述网络包括控制网络、自动化网络和/或公共网络。plc或自动化控制器还可以与各种其他设备进行通信并且控制各种其他设备,所述其他设备例如标准或安全额定i/o模块,包括模拟、数字、编程/智能i/o模块、其他可编程控制器、通信模块、传感器、致动器、输出设备等。
网络可以包括公共网络,例如因特网、内联网以及自动化网络,例如控制和信息协议(cip)网络,包括设备网(devicenet)、控制网(controlnet)、安全网络以及以太网/ip。其他网络包括以太网、数据高速公路和数据高速公路加(dh/dh+)、远程i/o、现场总线、通讯总线(modbus)、过程现场总线(profibus)、can、无线网络、串行协议等。此外,网络设备可以包括各种可能性(硬件和/或软件部件)。这些包括以下部件:诸如具有虚拟局域网(vlan)能力的交换机、lan、wan、代理、网关、路由器、防火墙、虚拟专用网(vpn)设备、服务器、客户端、计算机、配置工具、监视工具和/或其他设备。
为了提供所公开主题的各个方面的情境,图14和图15以及以下讨论旨在提供对可以实现所公开主题的各方面的适当环境的简要的一般性描述。尽管以上已经在可以在一个或更多个计算机上运行的计算机可执行指令的一般上下文中描述了实施方式,但是本领域技术人员将认识到,也可以结合其他程序模块和/或作为硬件和软件的组合来实现实施方式。
通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、部件、数据结构等。此外,本领域技术人员将理解,可以利用其他计算机系统配置来实践本发明的方法,其他计算机系统配置包括单处理器或多处理器计算机系统、小型计算机、大型计算机、物联网(iot)设备、分布式计算系统、以及个人计算机、手持计算设备、基于微处理器的或可编程的消费性电子产品等,上述中的每个均可以可操作地耦接至一个或更多个相关联的设备。
本文中示出的实施方式也可以在分布式计算环境中实践,其中某些任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备两者中。
计算设备通常包括各种介质,各种介质可以包括计算机可读存储介质、机器可读存储介质和/或通信介质,这两个术语在本文中如下彼此不同地使用。计算机可读存储介质或者机器可读存储介质可以是能够由计算机访问的任何可用存储介质,并且包括易失性介质和非易失性介质、可移除介质和不可移除介质。作为示例而非限制,可以结合用于存储诸如计算机可读指令或机器可读指令、程序模块、结构化数据或非结构化数据的信息的任何方法或技术来实现计算机可读存储介质或机器可读存储介质。
计算机可读存储介质可以包括但不限于:随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存或其他存储技术、光盘只读存储器(cd-rom)、数字多功能磁盘(dvd)、蓝光光盘(bd)或其他光盘存储设备、磁带盒、磁带、磁盘存储设备或其他磁性存储设备、固态驱动器或其他固态存储设备、或其他可用于存储所需信息的有形和/或非暂态介质。在这点上,应当将本文中应用于存储设备、存储器或计算机可读介质的术语“有形”或“非暂态”理解为作为修饰语仅排除传播暂态信号本身,并且不放弃不是仅传播暂态信号本身的所有标准存储设备、存储器或计算机可读介质的权利。
可以通过一个或更多个本地或远程计算设备(例如,针对关于由介质存储的信息的多种操作,经由访问请求、查询或其他数据检索协议)来访问计算机可读存储介质。
通信介质通常在诸如调制数据信号例如载波或其他传输机制的数据信号中实施计算机可读指令、数据结构、程序模块或其他结构化或非结构化数据,并且包括任何信息传送或传输介质。术语“调制数据信号”或信号是指以将信息编码在一个或更多个信号中的方式设置或改变其特性中的一个或更多个特性的信号。作为示例而非进行限制,通信介质包括有线介质例如有线网络或直接有线连接,以及无线介质例如声学、rf、红外以及其他无线介质。
参照图14,用于实现本文描述的各方面的各种实施方式的示例环境1400包括计算机1402,计算机1402包括:处理单元1404、系统存储器1406以及系统总线1408。系统总线1408将系统部件耦接至处理单元1404,该系统部件包括但不限于系统存储器1406。处理单元1404可以是各种市场上可买到的处理器中的任一种。双微处理器和其他多处理器架构也可以用作处理单元1404。
系统总线1408可以是以下若干类型总线结构中的任一种:其还可以使用多种商业可用总线架构中的任一种互连至存储器总线(具有或不具有存储器控制器)、外围总线以及本地总线。系统存储器1406包括rom1410和ram1412。基本输入/输出系统(bios)可以存储在非易失性存储器,例如rom、可擦除可编程只读存储器(eprom)、eeprom中,其中,bios包含例如在启动期间帮助在计算机1402内的元件之间传输信息的基本例程。ram1412还可以包括诸如用于缓存数据的静态ram的高速ram。
计算机1402还包括:内部硬盘驱动器(hdd)1414(例如,eide、sata)、一个或更多个外部存储设备1416(例如,磁性软盘驱动器(fdd)1416、记忆棒或闪存驱动器读取器、存储卡读取器等)以及光驱动器1420(例如,可以从cd-rom盘、dvd、bd等读取或写入)。虽然内部hdd1414被示为位于计算机1402内,但是内部hdd1414也可以被配置成在合适的架构(未示出)中供外部使用。附加地,虽然在环境1400中未示出,但是除了hdd1414之外可以使用固态驱动器(ssd),或者可以使用固态驱动器(ssd)代替hdd。hdd1414、(一个或更多个)外部存储设备1416以及光盘驱动器1420可以通过hdd接口1424、外部存储接口1426和光盘驱动器接口1428分别连接至系统总线1408。用于外部驱动实现方式的接口1424可以包括通用串行总线(usb)和电气与电子工程师协会(ieee)1394接口技术中的至少之一或两者。其他外部驱动连接技术在本文中描述的实施方式的构思之内。
驱动器及其关联的计算机可读存储介质提供数据、数据结构、计算机可执行指令等的非易失性存储。对于计算机1402,驱动和存储介质以适当的数字格式适应任何数据的存储。尽管上面对计算机可读存储介质的描述是指各类型的存储设备,但是本领域技术人员应当理解,计算机可读的其他类型的存储介质,无论是当前存在的还是将来开发的,也可以在示例操作环境中使用,并且此外,任何这样的存储介质可以包含用于执行本文中描述的方法的计算机可执行指令。
驱动器和ram1412中可以存储多个程序模块,包括操作系统1430、一个或更多个应用程序1432、其他程序模块1434以及程序数据1436。操作系统、应用、模块和/或数据中的全部或部分也可以缓存在ram1412中。可以利用各种市场上可买到的操作系统或操作系统的组合来实现本文描述的系统和方法。
计算机1402可以可选地包括仿真技术。例如,管理程序(未示出)或其他中间物可以对用于操作系统1430的硬件环境进行仿真,并且所仿真的硬件可以可选地不同于图14中所示的硬件。在这样的实施方式中,操作系统1430可以包括在计算机1402上托管的多个虚拟机(vm)中的一个vm。此外,操作系统1430可以为应用程序1432提供诸如java运行时间环境或.net框架的运行时间环境。运行时环境是一致的执行环境,其允许应用程序1432在包括运行时环境的任何操作系统上运行。类似地,操作系统1430可以支持容器,并且应用程序1432可以具有容器的形式,容器是轻量、独立、可执行的软件包,软件包包括例如代码、运行时间、系统工具、系统库以及应用的设置。
此外,可以利用诸如可信处理模块(tpm)的安全模块来启用计算机1402。例如,利用tpm,引导部件在时间上散列(hash)接下来的引导部件,并且在加载接下来的引导部件之前等待结果与安全值的匹配。该过程可以在计算机1402的代码执行栈中的任何层处发生,例如在应用执行级或在操作系统(os)内核级处应用,从而在代码执行的任何级处实现安全性。
用户可以通过一个或更多个有线/无线输入设备将命令和信息输入至计算机1402中,输入设备例如键盘1438、触摸屏1440以及诸如鼠标1442的定点设备。其他输入设备(未示出)可以包括麦克风、红外(ir)遥控器、射频(rf)遥控器或其他遥控器、操纵杆、虚拟现实控制器和/或虚拟现实耳机、游戏手柄、触控笔、诸如摄像装置的图像输入设备、姿势传感器输入设备、视觉运动传感器输入设备、情绪或面部检测设备、诸如指纹或虹膜扫描仪的生物特征输入设备等。这些输入设备和其他输入设备通常通过可以耦接至系统总线1408的输入设备接口1444连接至处理单元1404,但也可以通过其他接口进行连接,其他接口例如并行端口、ieee1394串行端口、游戏端口、usb端口、ir接口、
监视器1444或其他类型的显示装置也可以经由诸如视频适配器1448的接口连接到系统总线1408。除了监视器1444之外,计算机通常还包括其他外围输出设备(未示出),例如扬声器、打印机等。
计算机1402可以使用逻辑连接经由与一个或更多个远程计算机例如远程计算机1448的有线和/或无线通信在联网环境中操作。远程计算机1448可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或其他常见的网络节点,并且通常包括关于计算机1402描述的许多或所有元件,但是为了简洁起见,仅示出了存储器/存储设备1450。所描绘的逻辑连接包括与局域网(lan)1452和/或较大网络例如广域网(wan)1454的有线/无线连接。这样的lan和wan联网环境在办公室以及公司中很常见,并且促进诸如内部网的企业范围的计算机网络,所有这些都可以连接至全球通信网络,例如因特网。
当在lan联网环境中使用时,计算机1402可以通过有线和/或无线通信网络接口或适配器1456连接至局部网络1452。适配器1456可以便于与lan1452的有线或无线通信,lan1452还可以包括布置在其上用于以无线模式与适配器1456进行通信的无线接入点(ap)。
当在wan联网环境中使用时,计算机1402可以包括调制解调器1458,或者可以经由用于通过wan1454建立通信的其他装置(例如通过因特网)连接至wan1454上的通信服务器。调制解调器1458可以经由输入设备接口1442连接至系统总线1408,调制解调器1458可以在内部或外部并且可以是有线或无线设备。在联网环境中,关于计算机1402或其部分描绘的程序模块可以被存储在远程存储器/存储设备1450中。将理解的是,所示的网络连接是示例,并且可以使用在计算机之间建立通信链接的其他手段。
当在lan或wan联网环境中使用时,计算机1402可以访问云存储系统或者除了上述外部存储设备1416之外的其他基于网络的存储系统或代替上述外部存储设备1416的其他基于网络的存储系统。通常,可以例如分别通过适配器1456或调制解调器1458来通过lan1452或wan1454建立计算机1402与云存储系统之间的连接。在将计算机1402连接至相关联的云存储系统时,外部存储接口1426可以在适配器1456和/或调制解调器1458的帮助下如在其他类型的外部存储的情况下一样管理由云存储系统提供的存储。例如,外部存储接口1426可以被配置成提供对云存储源的访问,就好像这些源物理地连接到计算机1402一样。
计算机1402可以可操作的与在操作上以无线通信布置的任何无线设备或实体进行通信,所述无线设备或实体例如打印机、扫描仪、台式计算机和/或便携式计算机、便携式数据助理、通信卫星、与无线可检测标签相关联的任何装备或位置(例如,信息亭、报摊、商品陈列架等)、以及电话。这可以包括无线保真(wi-fi)和
图15是所公开的主题可以与之进行交互的样本计算环境1500的示意性框图。样本计算环境1500包括客户端1502。客户端1502可以是硬件和/或软件(例如线程、进程、计算设备)。样本计算环境1500还包括服务器1504。服务器1504也可以是硬件和/或软件(例如线程、进程、计算设备)。服务器1504可以容纳线程以通过采用例如本文描述的一个或更多个实施方式来执行变换。客户端1502与服务器1504之间的一种可能的通信可以是适于在两个或更多个计算机进程之间传送的数据包的形式。样本计算环境1500包括通信框架1506,其可以用于促进客户端1502与服务器1504之间的通信。客户端1502可操作地连接至可以用来存储客户端1502本地的信息的一个或更多个客户端数据存储1508。类似地,服务器1504可操作地连接至可以用来存储服务器1504本地的信息的一个或更多个服务器数据存储1510。
以上所描述的内容包括本主题创新的示例。当然,不可能为了描述所公开的主题的目的而描述部件或方法的每个可想到的组合,但是本领域普通技术人员可以认识到本主题发明的许多进一步的组合和排列是可能的。因此,所公开的主题旨在涵盖落入所附权利要求的精神和范围内的所有这样的更改、修改和变化。
特别地,关于由上述部件、设备、电路、系统等执行的各种功能,除非另外指出,否则用于描述这样的部件的术语(包括对“手段”的引用)旨在对应于执行描述的部件的指定功能的任何部件(例如,功能等同物),即使该部件结构上不等效于执行所公开的主题的本文中示出的示例性方面的功能的所公开的结构也如此。在这点上,还将认识到,所公开的主题包括具有用于执行所公开的主题的各种方法的动作和/或事件的计算机可执行指令的计算机可读介质以及系统。
另外,尽管可能已经针对若干实现中的仅一个实现公开了所公开主题的特定特征,但是这样的特征可以与其他实现中的对于任何给定或特定应用来说可能是期望和有利的一个或更多个其他特征进行组合。此外,在具体实施方式或权利要求书中使用术语“包括(includes)”和“包括(including)”及其变型的程度,这些术语旨在以与术语“包含(comprising)”类似的方式为包含性的。
在本文中被描述为“示例性”的任何方面或设计不必然被解释为比其他方面或设计优选或有利。在本文中被描述为“示例性”的任何方面或设计不必然被解释为比其他方面或设计优选或有利。更确切地,使用词语“示例性”旨在以具体的方式来介绍概念。
本文中描述的各个方面或特征可以使用标准编程和/或工程技术实现为方法、装置或制品。如本文中所使用的术语“制品”旨在包括能够从任何计算机可读设备、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于:磁存储设备(例如,硬盘、软盘、磁条…)、光盘(例如,致密盘(cd)、数字通用盘(dvd)…)、智能卡以及闪存设备(例如,卡、棒、键驱动器…)。