首页> 中国专利> 用于仿真工业自动化中的机器的信号传送间隔的时间同步

用于仿真工业自动化中的机器的信号传送间隔的时间同步

摘要

本文中公开了用于仿真工业自动化中的机器的信号传送间隔的时间同步,公开了用于利于仿真在工业自动化中使用的机器的系统、方法和软件。在至少一个实现方式中,利用API来建立在仿真应用中创建的仿真模型与在该仿真模型外部的工业控制器系统之间的至少通信链路,其中,该仿真模型包括用于对在工业自动化环境中使用的机器的至少一部分的虚拟表示的定义。然后,通过通信链路在工业控制器系统与仿真模型之间交换数据。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-06-08

    授权

    授权

  • 2017-12-08

    著录事项变更 IPC(主分类):G05B17/02 变更前: 变更后: 申请日:20141110

    著录事项变更

  • 2015-07-01

    实质审查的生效 IPC(主分类):G05B17/02 申请日:20141110

    实质审查的生效

  • 2015-06-03

    公开

    公开

说明书

相关申请

本申请特此要求于2013年11月8日提交的题目为“INTEGRATING  CONTROLLERS WITH SIMULATIONS”的美国临时专利申请第 61/901,956号的权益和优先权,该美国临时专利申请的全部内容出于所有 目的通过引用合并在本文中。

技术领域

本申请总体上涉及工业自动化,并且具体地涉及用于利于仿真在工业 自动化中使用的机器的系统和方法。

背景技术

在设计、原型开发并且展示对工程师、客户和其他相关方的不同设计 选项中,工业装备的仿真会是必不可少的。可以利用这样的仿真来模拟其 对应的物理装置随时间推移的虚拟化操作,并且可以进一步将这样的仿真 用在提供对各种仿真装置的视觉表示中。在一些示例中,可以使用仿真和 建模应用来定义针对仿真机械部件的参数。这些参数确保了模拟的装备在 仿真期间以与针对真实世界的相对部分可预期的相同方式进行。

除了提供机械功能来执行各种工业操作的物理工业装备以外,控制器 系统也是工业自动化环境的必要部件。通常利用工业控制器系统来向物理 机器提供控制指示以完成工业工厂中的各种任务,比如产品制造、材料处 理、批处理、监管控制和其他的工业功能。结果,通过将工业机械与适当 的控制器组合,可以创建能够执行各种操作的工业系统。

发明内容

本文中公开了用于利于仿真在工业自动化中使用的机器的系统、方法 和软件。在至少一个实现方式中,利用API来将时间戳施加至在仿真应 用中创建的仿真模型与在仿真模型外部的工业控制器系统之间交换的数 据。然后,处理时间戳以使仿真模型和工业控制器系统同步。

提供本“发明内容”部分以介绍简化形式的以下在技术公开内容中进 一步描述的构思的选择。应理解,本“发明内容”部分不意在标识所要求 保护的主题的关键特征或必要特征,也不意在用于限制所要求保护的主题 的范围。

附图说明

可以参照下面的附图更好地理解本公开内容的许多方面。虽然结合这 些附图描述了若干实现方式,但是本公开内容不限于本文中所公开的实现 方式。相反,意图是覆盖所有的替代、改变和等同物。

图1A是示出了使多个控制器与仿真工业装置同步的概况的框图。

图1B是示出了可以用于利于仿真在工业自动化中所使用的机器的计 算系统的框图。

图2是示出了在示例性实现方式中的计算系统的操作的流程图。

图3是示出了实现控制器与仿真工业装置的概况的框图。

图4是示出了在示例性实现方式中的涉及计算系统的操作场景的框 图。

图5是示出了在示例性实现方式中的用于使控制器和仿真同步的操 作场景的框图。

图6是示出了使多个控制器同步的示例性技术的控制器同步图。

图7是示出了在示例性实现方式中的涉及计算系统的操作场景的框 图。

图8是示出了在示例性实现方式中的计算系统的框图。

具体实施方式

下面的描述和相关联的附图教示了本发明的最佳方式。为了教示本发 明原理的目的,可以简化或者省略最佳方式的一些常规方面。所附的权利 要求指定了本发明的范围。最佳方式的一些方面可以不落入如权利要求所 指定的本发明的范围内。因而,本领域的技术人员根据最佳方式将会理解 落入本发明的范围内的变型。本领域的技术人员将会理解,可以按照各种 方式来组合下述特征以形成本发明的多种变型。结果,本发明不限于下述 具体示例,而仅限于权利要求及其等同物。

工业自动化环境(比如汽车制造厂、食品处理工厂、石油钻井作业、 微处理器制造设施和其他类型的工业企业)通常利用若干机器和其他的装 备来进行其产业操作。例如,工业自动化企业可以利用包括下述项的机器: 传感器、驱动器、泵、过滤器、钻机、电机、机器人、研磨机、打印机、 传送带、制造机械或任何其他的工业自动化装备。在产品开发的设计阶段、 原型开发阶段和测试阶段期间,可以使用计算系统来仿真在工业自动化中 使用的这些机器和其他装置以对最终产品的工程师和客户提供虚拟表示。 这些仿真通常包括被仿真的机器的物理属性、参数和其他方面,以确保通 过计算系统供应(furnish)适当的模拟。在一些示例中,用户可能期望具 有对仿真装置的控制以进一步示出如在可物理上实现时所预期的装置的 功能和操作。结果,用户可能偏好将一个或更多个真实的或模拟的控制器 附接于仿真装置以展示并且测试该装置的不同的可控操作。

图1A是示出了使多个控制器151-152与仿真工业装置同步的概况 101的框图。图1A示出了功能模型接口模拟仿真接口(FMI-ESI)、控制 器151和161、控制器侧功能模型单元(FMU)152和FMU 162、联合仿 真主机150和仿真FMU 155。

控制器151和161通常均包括工业控制器,该工业控制器可以包括在 自动化控制中使用的自动化控制器、可编程逻辑控制器(PLC)或任何其 他控制器。控制器151和161可以包括用软件实现的一个或更多个物理的 和/或模拟的控制器——包括其组合。在此示例中,每个控制器151和161 分别具有相关联的控制器侧FMU 152和162。每个控制器侧FMU 152和 162包括应用编程接口(API),该应用编程接口(API)可以用来读出标 签和写入标签并且使控制器151和162与其相应的控制器侧FMU 152和 162之间的时间同步。

仿真FMU 155包括用于对在工业自动化环境中使用的机器的至少一 部分的虚拟表示的定义。通常使用遵守FMI标准的仿真应用来至少部分 地创建仿真FMU 155,使得可以使用FMI将仿真模块包在FMU内部。 例如,仿真应用可以包括第三方仿真框架工具,比如SimulinkTM,然而在一些实现方式中仿真应用可以包括任何其他的适当仿 真应用或应用的组合。每个FMU提供用于与其他FMU交换数据的接口。

在操作中,FMI-ESI内的标签服务器提供用于连接控制器侧的通信 部分的分发通信连接服务。通过联合仿真主机150来协调控制器侧FMU  152和162与仿真FMU 155之间的通信,这也遵守FMI。通常以两个阶 段执行时钟同步。首先,联合仿真主机150协调所有FMU 152、162和 155之间的全局时间,这涉及以每个时间步长间隔将时钟脉冲发送至每个 FMU以便将全局时间注入每个FMU中。其次,FMI-ESI内的标签服务 器服务协调控制器151和161之间的控制器侧FMU时间。在此示例中, 由于存在多于一个的控制器侧FMU 152和162,所以联合仿真主机150 处理所述多于一个的控制器侧FMU152和162之间的时间同步。

可以使用FMI-ESI工具以将来自控制器侧的输入/输出(I/O)接口 暴露至FMU侧中,这使控制器侧FMU 152和162成为必要。每个控制 器侧FMU 152和162通常具有在其监管下的一个或更多个控制器。在此 示例中,控制器侧FMU 152处理控制器151,并且控制器侧FMU 162处 理控制器161。FMI-ESI工具用于配置每个控制器侧FMU 152和162。

当在运行时间执行仿真时,FMI联合仿真主机150协调FMU 152、 162和155之间的数据交换和时钟。FMI-ESI内的标签服务器协调在每个 控制器侧FMU 152和162之下的控制器151和161之间的时钟和数据交 换。换句话说,可以使用FMI-ESI来将控制器侧FMU 152和162配置成 与仿真FMU 155和其他类型的FMU(未示出)进行互操作(interoperate)。 联合仿真主机150协调FMU 152、162和155之间的数据交换和全局时间, 并且FMI-ESI的标签服务器部分在此情况下抓取每个控制器侧FMU 152 和162的本地时间以利于使在其监管之下的控制器151和161同步。

图1B是示出了可以用于利于仿真在工业自动化中使用的机器的计算 系统100的框图。计算系统100包括工业控制器系统110、应用编程接口 (API)120和仿真模型130。计算系统100表示这样的任何计算环境: 其可以包括在一些示例中位于地理上不同的区域中并且经由通信网络以 分布方式互连的若干不同的系统和装置。

工业控制器系统110包括例如工业控制器,该工业控制器可以包括在 自动化控制中使用的自动化控制器、可编程逻辑控制器(PLC)或任何其 他的控制器。工业控制器系统110可以包括用软件实现的一个或更多个物 理的和/或模拟的控制器——包括其组合。仿真模型130包括用于对在工 业自动化环境中使用的机器的至少一部分的虚拟表示的定义。通常使用仿 真应用来至少部分地创建仿真模型130。在一些实现方式中,利用的仿真 应用可以遵守FMI标准,使得可以使用FMI以将仿真模块包在FMU内 部。例如,仿真应用可以包括第三方仿真框架工具,比如SimulinkTM,然而在一些实现方式中仿真应用可以包括任何其他的适当仿 真应用或应用的组合。API 120除了其他的功能性之外提供使得能够实现 工业控制器系统110与仿真模型130之间的通信的接口。现在将参照图2 来描述计算系统100的操作。

图2是示出了在示例性实现方式中计算系统100的操作200的流程 图。图2所示出的操作200在本文中还可以称为同步处理200。以下顺便 地指出操作200的步骤。同步处理200的以下讨论将参照图1B的计算系 统100来进行以便示出其操作,但是注意图1B中提供的细节仅是示例性 的而非意在将同步处理200的范围限制于图1B所示出的具体实现方式。

可以利用同步处理200来操作计算系统100,以利于仿真在工业自动 化中使用的机器。如同步处理200的操作流程所示,计算系统100利用应 用编程接口(API)120来将时间戳施加至在仿真应用中创建的仿真模型 与在该仿真模型外部的工业控制器系统之间交换的数据(201)。在一些实 现方式中,工业控制器系统110可以包括一个或更多个物理工业控制器装 置、用软件实现的模拟工业控制器或任何其他的控制系统——包括其组 合。仿真模型130通常可以包括用于对在工业自动化环境中使用的机器的 至少一部分的虚拟表示的定义。例如,仿真模型130可以定义整个机器人 的设计和参数,或者仿真模型130可以定义该机器人的单独部件,比如该 机器人的臂关节、驱动电机、铰接机构或一些其他的部分。在一些示例中, 仿真模型130可以包括用于呈现(render)机器或者其至少一部分的三维 可视化的信息。

除了其他的功能之外,API 120可以利于以双向方式在仿真模型130 与工业控制器系统110之间的数据交换。例如,从工业控制器系统110传 输至仿真模型130的数据可以包括用于驱动仿真的控制信号,并且由工业 控制器系统110从仿真模型130接收的数据可以包括与仿真模型130的执 行相关联的反馈、操作状态和其他信息。在一些实现方式中,可以利用 API 120,从而通过将与工业控制器系统110相关联的端口链接至仿真模 型130来创建工业控制器系统110与仿真模型130之间的输入和输出接 口,以建立工业控制器系统110与仿真模型130之间的至少一个通信链路。 然后可以通过利用该输入和输出接口、经由工业控制器系统110与仿真模 型130之间的通信链路来交换数据,以在工业控制器系统110与仿真模型 130之间传输控制程序参数、控制信号和其他的信息。然后,仿真模型130 可以利用从工业控制器系统110接收的数据来生成仿真的机器的动画可 视化。例如,以与工业控制器系统110可以驱动物理机器本身相同的方式, 来自工业控制器系统110的数据可以指引仿真模型130移动并且动画制作 仿真的机器的三维可视化。

在一些实现方式中,可以利用API 120来将时间戳施加至在工业控制 器系统110与仿真模型130之间交换的数据中的任何数据。例如,可以利 用API 120,以在数据被工业控制器系统110传输用于递送至仿真模型130 时将第一时间戳施加至该数据,并且紧接在将该数据提供至仿真模型130 之前施加第二时间戳,反之亦然。设想到利用API 120以将时间戳施加至 在仿真模型130与工业控制器系统110之间交换的数据的其他技术并且这 样的技术在本公开内容的范围之内。

然后,处理时间戳以使仿真模型130和工业控制器系统110同步 (202)。在一些实施方式中,可以利用时间戳来确定将数据提供至仿真模 型130或工业控制器系统110时的定时以实现同步。在至少一个实现方式 中,处理时间戳以使仿真模型130和工业控制器系统110同步可以包括: 使用时间戳来协调仿真模型130和工业控制器系统110的信号传送间隔。 协调仿真模型130和工业控制器系统110的信号传送间隔在一些示例中是 必要的,这是因为信号传送间隔会常常包括不同的速率。在一些实现方式 中,处理时间戳以使仿真模型130和工业控制器系统110同步可以包括: 向仿真模型130和工业控制器系统110提供周期性时钟脉冲以使仿真模型 130和工业控制器系统110超前一个时间步长。注意,针对仿真模型130 和工业控制器系统110的时间步长大小可以包括不同的值,但是二者会响 应于周期性时钟脉冲均超前合适量。另外,在工业控制器系统110包括多 个控制器的实现方式中,每个控制器可以具有不同的时间步长大小,并且 还可以通过动态地计算用于在补偿多个控制器之间的时间步长大小的差 中使用的增量,在每个时钟脉冲使这些控制器中的每个控制器同步。

有利地,可以利用API 120来将时间戳施加至在仿真模型130与工业 控制器系统110之间交换的数据。然后可以处理时间戳以利于在仿真模型 130和工业控制器系统110的执行之间的同步。以此方式,仿真模型130 能够接收并且解释由工业控制器系统110在合适的定时传送的控制信号 以实现仿真的平滑且协调的操作,从而通过与工业控制器系统110的集成 和同步来提高仿真模型130的价值和效用。

现在转向图3,图3是示出了实现控制器与仿真工业装置的概况300 的框图。概况300包括控制器模块310、仿真模块320、联合仿真组件模 块330和最终模块340。控制器模块310可以是被配置成管理工业自动化 系统中的一个或更多个装置的任何物理的或模拟的控制器。在一些实现方 式中,控制器模块310可以被配置成提供控制指令,所述控制指令指引物 理的和/或模拟的机器或者其单独部件在三维空间中移动或执行某一动 作,比如控制机器人臂的运动。仿真模块320可以被配置成生成包括仿真 文件的仿真模型,所述仿真文件定义真实世界工业装置的各种性质、参数 和物理属性以确保仿真装置以与根据其来对仿真装置进行建模的物理装 置相同的方式表现并且操作。

通常,基线控制器是可以执行控制程序的物理硬件装置。然后,可以 加载被指定面向该特定控制器硬件的控制程序,以重新指定该控制程序面 向用软件实现的模拟控制器。因而,一个工作流程包括从物理控制移向模 拟控制,这允许改进的建模多功能性。一旦在模拟模型中,模拟控制器可 以与仿真模型交互。另一工作流程考虑针对仿真将控制程序完全设计在模 拟控制器中的情况。在此情况下,一旦设计了控制程序,可以重新指定该 控制程序面向硬件控制器。值得注意的是,在上述转变二者中,在物理机 器与物理控制器之间或者仿真机器与模拟控制器之间保留输入/输出 (I/O)接口。

在操作中,用户、工程师或者一些其他的实体可以在仿真模块320 内生成仿真。可以使用这样的仿真来对各种工业装备进行建模,该工业装 备包括机器人装备、制造装备、组件装备和其他类型的装备。除了生成仿 真以外,用户可能还希望使用来自控制器模块310的工业控制器来控制仿 真。如本文中所使用的控制器模块310意在表示向所生成的仿真提供控制 指令的真实的物理控制器装置或者用软件实现的模拟控制器。例如,如果 使用仿真来模拟机器人臂,则可以使用一个或更多个控制器来管理并控制 该臂的运动和铰接。

一旦选择了控制器和仿真,则使用联合仿真组件模块330来对控制器 和仿真进行格式化。在一些示例中,可以使用联合仿真组件模块330,以 利于功能模型接口(FMI)对控制器和仿真进行格式化。FMI定义要用 在计算机仿真中的标准化接口以开发复杂的信息物理系统。用提供生成仿 真所需要的功能的功能模型单元(FMU)来表示这些信息物理系统。功 能模型单元通常包括可扩展标记语言(XML)文件,除了其他内容之外, 该可扩展标记语言(XML)文件包括FMU所使用的变量的定义、模型所 使用的等式(其可以被定义为函数集合)、和其他的可选数据(比如参数 表、用户接口和模型可能需要的文档)。

在本示例中,FMI进一步包括提供控制功能所需要的信息。结果, 在功能模型单元中实现控制功能的必要部分以使控制表现为FMI内的仿 真信息。仿真功能模型单元344和控制功能模型单元345的组合被用来提 供最终模块340。虽然使用功能模型接口示出了该最终模块340,然而应 当理解的是,该最终模块340可以采用用于仿真的任何其他的类似标准化 接口的形式。模拟仿真接口环境被用于提供对于每个特定的控制系统供应 商唯一的该接口。可以从工业控制空间至FMI空间遍及模拟仿真接口来 提供翻译器(translator),反之,也可以从FMI空间至工业控制空间遍 及模拟仿真接口来提供翻译器。

在一些示例中,用户可以直接从控制功能模型单元来控制仿真。因而, 控制功能模型单元包括用于既接收控制指令又执行该功能的所有必要的 功能。在其他的实现方式中,控制功能模型单元可以包含仅控制仿真所需 要的信息的部分。结果,接收来自用户的输入的外部控制器可以使用应用 编程接口(API)(如图1B所示的API 120)来与控制功能模型单元通信。

现在参照图4,图4是示出在示例性实现方式中的涉及计算系统的操 作场景400的框图。计算系统执行模拟仿真接口410,并且可以执行工业 控制器系统420和仿真应用430的一些或所有操作。在一些示例中,计算 系统可以是单个装置,或者可以分布于在不同地理区域上分离的许多不同 系统和装置上。

如图4所示,模拟仿真接口410包括配置器模块411、标签服务器412 以及同步器413。在本示例中,工业控制器系统420包括虚拟控制器模拟 器,例如由洛克威尔自动化公司提供的RSLogixTM模拟5000。仿真应用 430可以包括符合FMI标准的任意第三方仿真框架工具,但是在本示例 中使用SimulinkTM工具。因此,仿真模型435可以包括使用 用于不同系统的库块在中所创建的.mdl文件。

模拟仿真接口410用于将控制器标签连接至中的仿真模 型435。为了将虚拟控制器输出信号连接至仿真模型435,需要在仿真模 型435与工业控制器系统420之间建立接口。为此,模拟仿真接口410将 设置控制器420与仿真模型435的输入/输出(I/O)信号之间的接口。模 拟仿真接口410所建立的接口使得能够在仿真模型435与控制器420之间 以双向方式连接并且交换数据。在本示例中,模拟仿真接口410使用虚拟 控制器模拟器例如RSLogixTM模拟5000来封装控制程序。控制器模拟器 仅在软件方面模仿ControlLogixTM可编程逻辑控制器(PLC)的操作。虚 拟控制器420使用输出标签将数据传输到仿真,并且使用输入标签接收来 自仿真的数据。

配置器部件411驻存应用级信息以用于将虚拟控制器420与仿真模型 435连接。标签服务器412协调输入标签与输出标签以进行数据交换。在 一些实现方式中,标签服务器412提供分发通信连接服务以用于连接频谱 的控制器侧的通信部件。来自FMI的联合仿真主机协调FMU之间的通 信。在标签服务器服务之下,控制器和它们各自的通信与仿真协调,这会 成为非常复杂的通信单元的网络。

同步器413协调控制器420与仿真模型435之间的时钟行进,以保持 它们同步。通常以两个阶段来进行时钟同步。首先,联合仿真主机协调 FMU之间的全局时间。其次,标签服务器服务412协调控制器之间的控 制级FMU时间。在存在多于一个的控制级FMU的情形下,可以通过联 合仿真主机来处理控制级FMU之间的时间同步。现在将参照图5来讨论 如何在运行时使控制器与仿真的执行可以同步的示例。

图5是示出在示例性实现方式中的用于使控制器与仿真同步的操作 场景500的框图。操作场景500包括控制器模块510、仿真模块530和联 合仿真主机540。控制器模块510包括API 520。在本示例中,控制器模 块510包括控制器侧FMU,仿真模块530包括仿真FMU。

在操作中,控制器模块510的API 520通常读出和写入用于在控制器 模块510与仿真模块530之间交换的数据的标签,并且用于使与该数据交 换相关联的定时和仿真的执行同步。例如,可以以不同的时间速率来交换 控制器模块510和仿真模型530的信号传送间隔,并且联合仿真主机540 结合API 520一起工作以补偿这些不同的速率,以实现同步。

在本示例场景下,控制器模块510向仿真模块530传输控制数据。联 合仿真主机540提供了用以将控制器模块510FMU与仿真模块530FMU 连接的接口。在控制器模块510向仿真模块530传输控制数据时,联合仿 真主机540利用API 520将第一时间戳施加至控制数据以标记时间输入。 联合仿真主机540然后向仿真模块530提供控制数据,并且将第二时间戳 施加至该数据以标记时间输出。以此方式,联合仿真主机540知道:何时 控制器模块510意在基于记录时间输入的第一时间戳来向仿真模块530 提供控制数据,以及何时仿真模块530基于记录时间输出的第二时间戳来 实际接收控制数据。

为了确保控制器模块510与仿真模块530以同步方式进行操作,联合 仿真主机540基于时间戳来计算针对控制数据的时间偏移,以补偿延迟和 其他定时异常。联合仿真主机540然后使主时钟超前一个时钟周期,并且 将时钟脉冲发送至控制器模块510和仿真模块530二者以使每个模块超前 一个时间步长。注意,对于仿真模块530和控制器模块510而言,时间步 长大小可以不是相同的大小。

在一些示例中,仿真模块530和控制器模块510二者的FMU被配置 成分别例如每20毫秒向仿真和控制器发射周期性脉冲,以在时间上超前 适当的时间步长大小,由于如上所提到的,对于仿真模块530和控制器模 块510而言时间步长大小可以不是相同的大小。此外,在控制器模块510 包括多个控制器的实现方式中,控制器模块510中的每个控制器可以以不 同的时间步长大小进行操作。现在将参照图6更详细地讨论如何使以不同 的时间步长大小进行操作的多个控制器可以同步的示例。

图6是示出使多个控制器同步的示例性技术的控制器同步图600。多 个控制器可以包括若干个单独的物理控制器装置、用软件实现的多个独立 的模拟控制器,或者其组合。例如,多个控制器可以用于控制被仿真的单 个机器的若干单独部件,例如各种驱动电机、铰接机构和机器的其他部件。 在本示例中,控制器被编号为C1、C2和C3。本示例中的时间步长大小 为10毫秒,如沿着控制器同步图600的水平x轴所示。

如控制器同步图600所示,在第一次迭代后,控制器C1超前15毫 秒,C2超前10毫秒,而C3超前5毫秒。然后处理这些不同的间隔以动 态地计算相对于10毫秒的时间步长大小的时间偏移,以便补偿控制器C1、 C2和C3的不同信号传送间隔。对于控制器C1,时间偏移被计算为相对 于时间步长大小的正5毫秒增量,由于C1超前15毫秒而时间步长大小 仅为10毫秒。然后通过从时间步长大小减去增量来计算控制器C1的下 一时间步长,所以用10毫秒减去正5毫秒增量的时间步长大小,C1在下 一时间步长应当仅超前5毫秒,以实现与其他控制器同步并且实现10毫 秒的时间步长大小。

控制器C2具有10毫秒的时间步长大小,该时间步长大小与仿真的 时间步长大小相匹配。因此,无需计算偏移,并且不需要为了同步来补偿 控制器C2的时间步长大小。控制器C3具有仅5毫秒的时间步长大小, 所以时间偏移被计算为相对于10毫秒的时间步长大小的负5毫秒增量。 然后通过从时间步长大小减去增量来计算控制器C3的下一时间步长,所 以用10毫秒减去负5毫秒增量的时间步长大小,C1在下一时间步长应当 超前15毫秒,以实现与其他控制器同步并且实现整体10毫秒的时间步长 大小。在仿真超前时,则以每个时间步长连续地动态地重新计算每个控制 器C1,C2和C3的偏移,以保证同步仍然持续。以此方式,仿真模型继 续下去以获知每个控制器C1、C2和C3的正弦时间行进的幅值和频率。

图7是示出在示例性实现方式中的涉及计算系统的操作场景700的框 图。操作场景700能够在工业自动化环境中创建并操作机器仿真。为了将 设计、控制、仿真和可视化集成在一起,可以使用以下系统和工作流程。 根据一个示例,系统架构通常可以包括5个主要部分:控制程序设计710、 工业控制器系统720、仿真建模730、计算机辅助设计(CAD)实体建模 740以及可视化750。可以使用各种基于工业的工具和开源软件来实现这 些设计目标。

在一个示例中,可以使用控制编程工具例如洛克威尔自动化公司 (Rockwell Automation,Inc)的Studio5000TM编程工具来进行控制编程设 计710。通过工业控制器系统720来处理控制程序执行,其中工业控制器 系统720可以包括用软件实现的模拟虚拟控制器,例如洛克威尔自动化公 司的RSLogixTM模拟5000。仿真建模730可以通过任何仿真框架工具例 如SimulinkTM工具来执行。实体建模740可以通过任何CAD 软件例如SolidworksTM等来处理。最后,可视化550可以通过任何合适的 可视化工具(例如可伸缩矢量图形(SVG)工具、虚拟现实建模语言 (VRML)工具等)来执行。上述工具中的每个工具将其自己的数据结构 和信息格式带入设计处理中。集成设计和验证环境的挑战是将信息的片组 组合成共同的信息交换结构,所述信息交换结构可以用于将部件协调到快 速原型开发环境中。

在图7中,示出了集成系统的示例信息流。实体建模阶段740产生待 控制的机械系统的三维表示。实体模型可以被转变成两个信息元素:运动 学仿真和图形组件。SolidWorksTM工具提供插件以生成数据文件如 仿真和VRML导出文件二者。

洛克威尔自动化的Studio5000TM工具是工业控制编程设计工具710, 其被用于创建用基于国际电工委员会(IEC)61131的编程语言编写的控 制算法。控制程序被部署在工业控制器系统720内的虚拟控制器中。

运动学仿真被下载到工具以用于仿真特定负载条件下的 机器。仿真模型730与控制器720在运行时进行交互,以利用因动态加载 和控制简档(control profiles)而处于应力之下的机器的响应来刺激控制 算法。图形组件将被进一步处理以成为可以在可视化工具750中被动画制 作的图形描述的分层数据结构。可视化工具采集在控制器对仿真交互作用 中所产生的实时数据。

可以使用不同的技术来连接该信息流的每个阶段。在一种实现方式 中,使用I/O接口在仿真模型730与控制器720之间传输控制程序参数。 为CAD软件SolidworksTM提供SimMechanicsLinks插件以将 在实体建模阶段740产生的CAD模型传输至仿真模型730。仿真模型730 包含在CAD图中所描述的机器的每个部件部分的质量和惯性特性。该信 息对产生机械系统的准确动画是必不可少的。

因为在仿真计算中包括模型的实际物理特性,所以仿真模型530的运 动学和动力学信息可以被用于生成逼真的模型条件。如以上所讨论的,可 视化550可以通过诸如可伸缩矢量图形(SVG)工具、虚拟现实建模语言 (VRML)工具或者任何其他的模拟建模工具的任何合适的可视化工具来 执行。在至少一种实现方式中,可以使用导出的VRML模型以任何VRML 可兼容的工具产生高品质且逼真的动画。VRML提供开源的、平台独立 的图形语言,以创建和查看三维模型。VRML是基于文本的语言,因此 可以使用任何文本编辑器来容易地对VRML进行编辑。为了把VRML 工具带入工作流程中,需要将API连接至VRML,因此VRML可以与系 统的其他部分进行通信。当然,为此可以利用除了VRML之外的其他工 具,并且这些工具在本公开内容的范围之内。

基于该工作流程,可以使用一个平台下的这些不同的系统来创建应 用。机器人被广泛地用于工业自动化应用中,并且由系统工程师来开发它 们的控制算法。在一个示例中,可以使用六轴铰接式机器人模型。使用命 令位置简况在控制程序710中建立机器人的端部执行器位置的期望运动 简况。

命令位置是端部执行器的期望运动轨迹的点。为了实现端部执行器的 期望位置,必须在链接关节处通过驱动电机将机器人的不同部分(链接部 分)置于适当位置。这些电机是通过控制驱动器计算的转矩信号来驱动的。 然而,控制转矩取决于对端部执行器处的转矩和负载的系统响应的获知。 在传统的设计方法中,这些信息的片组是通过试错法获知的,或者是有经 验的设计师所已知的。此处的意图是捕获信息流,以使生成用于驱动器和 控制器的反馈信息的处理自动化。基于驱动器的转矩信号,每个关节将会 移动,并且端部执行器将会在空间中移动至目标位置。当前位置是对闭环 控制的驱动器和控制器的反馈。

已经呈现了使得能够实现虚拟设计工程环境的工作流程、验证框架和 处理。该环境使得能够实现实体模型设计、控制器、仿真和可视化工具到 集成开发环境中的互操作。结果表明,可以在自动化系统中组装所选择的 工作流程和信息交换。虚拟设计工程环境的部署允许实时观察控制算法对 通过动作指令来仿真并控制的机器原型的效果。本公开内容使得能够早期 验证对于复杂的工业自动化项目和制造工厂的控制逻辑。益处包括在工业 自动化机械的设计和原型开发期间工程成本、时间和资源的减少。此外, 虚拟设计工程环境带来新的机会来训练工程师和操作员控制机器,而无需 实际机器的物理存在。

必须注意,本发明可以用于两个主要阶段中:设计阶段运行时间和委 托阶段运行时间。在设计阶段运行时间期间,工业控制装置可以是真实的 或是模拟的。任一封装被连接至仿真。在委托阶段运行时间,工业控制装 置和仿真与真实控制器并行执行。此外,系统的另一益处是帮助系统工程 师创建优化的工业控制程序。例如,洛克威尔自动化的Studio5000TM工具 允许控制程序的在线编辑,并且可以在虚拟设计中逐步改进设计。

图8是示出示例性实现方式中的计算系统800的框图。计算系统800 提供了计算系统100或者可以用于利于仿真工业自动化中使用的机器的 任何系统的示例,然而能够执行本文中所公开的技术的其他系统可以使用 包括计算系统100的替选配置。计算系统800代表可以用于任何计算设备、 系统或装置,或它们的集合的计算系统。例如,计算系统800可以用于服 务器计算机、云计算平台、数据中心、任何物理或虚拟计算机器、以及它 们的任何变型或组合。此外,计算系统800可以用于台式计算机、膝上型 计算机、平板计算机、智能电话等。

计算系统800包括处理系统801、存储系统803、软件805、通信接 口807以及用户接口809。处理系统801可操作地与存储系统803、通信 接口807和用户接口809耦合。处理系统801加载并执行来自存储系统 803的软件805。软件805包括应用806,应用806本身包括同步处理200。 同步处理200可选地可与应用806分开地实现。当一般地由计算系统800 来执行并且具体是由处理系统801来执行时,软件805指引计算系统800 如本文所述的那样针对同步处理200或其变型进行操作。计算系统800 可选地可包括另外的装置、特征或功能,这里为了简洁对其没有进行讨论。

计算系统800可以代表在其上可以适当地实现应用806和同步处理 200或其变型的任何计算设备、系统或系统。计算系统800的示例包括诸 如移动电话、平板计算机、膝上型计算机,笔记本计算机和游戏装置的移 动计算装置,以及任何其他类型的移动计算装置和它们的任意组合或变 型。注意,计算系统800的特征和功能还可以适用于台式计算机、服务器 计算机和虚拟机,以及任何其他类型的计算系统、它们的变型或组合。

仍参照图8,处理系统801可以包括微处理器以及取回索并执行来自 存储系统803的软件805的其他电路。处理系统801可以在单个处理装置 内被实现,但是也可以分布在执行程序指令时协作的多个处理装置或子系 统中。处理系统801的示例包括通用中央处理单元、专用处理器和逻辑器 件,以及任何其他类型的处理装置、它们的组合或变型。

存储系统803可以包括任何非暂态计算机可读介质或由处理系统801 可读取并且能够存储软件805的存储介质,例如盘驱动器、闪存驱动器、 数据存储电路或一些其他硬件存储器设备。在一些示例中,计算机设备可 以包括存储系统803和操作软件805。存储系统803可以包括易失性和非 易失性的、可移除和不可移除的介质,所述介质是以用于存储诸如计算机 可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术来实 现的。存储系统803可以被实现为单个存储装置,但也可以在相对于彼此 同位或分布的多个存储装置或子系统——包括在不同的地理区域中的装 置——上来实现。存储系统803还可以被嵌入在不同类型的装备中。存储 系统803可以包括能够与处理系统801进行通信的另外的元件,例如控制 器。存储介质的示例包括随机存取存储器、只读存储器、磁盘、光盘、闪 存存储器、虚拟存储器和非虚拟存储器、磁带盒、磁带、磁盘存储装置或 其他磁存储装置,或者可以用于存储期望信息并且可以被指令执行系统访 问的任何其他介质,以及它们的任意组合或变型,或者任何其他类型的存 储介质。在任何情况下,存储介质不是传播信号。

在操作中,处理系统801加载并执行软件805的一部分,例如同步处 理200,使得如本文所述的那样进行操作。特别地,软件805可以被实现 为程序指令,并且在其他功能中,当一般地由计算系统800来执行或者具 体地由处理系统801来执行时,软件805可以指引计算系统800或处理系 统801利用应用编程接口(API)来将时间戳施加至在仿真应用中创建的 仿真模型与仿真模型的外部的工业控制器系统之间交换的数据,并且处理 时间戳以使仿真模型与工业控制器系统同步。软件805可以包括另外的处 理、程序或部件,例如操作系统软件或其他应用软件。操作系统的示例包 括和以及任何其他合适的操作系统。软件 805还可以包括固件或一些其他形式的处理系统801可执行的机器可读处 理指令。

一般地,软件805可以在被加载到处理系统801中并被执行时将计算 系统800整体从通用计算系统转变为如本文所描述的用于每种实现方式 的利于仿真在工业自动化中使用的机器所定制的专用计算系统。软件805 还可以转变存储系统803的物理结构。在本说明书的不同实现方式中,物 理结构的特定转变可以取决于各种因素。这样的因素的示例可以包括但不 限于:用于实现存储系统803的存储介质的技术、计算机存储介质被表征 为一级还是二级存储等。例如,如果计算机存储介质被实现为基于半导体 的存储器,则当软件在其中被编码时,软件805可以转变半导体存储器的 物理状态。例如,软件805可以转变晶体管、电容器或构成半导体存储器 的其他分立的电路元件的状态。关于磁介质或光学介质可以发生类似的转 变。在不背离本说明书的范围的情况下,物理介质的其他转变是可以的, 仅提供了上述示例以利于该讨论。

通信接口807可以包括通信连接和装置,所述通信连接和装置允许通 过通信网络或网络的集合在计算系统800与其他计算系统(未示出)或业 务之间进行通信。一起允许系统间通信的连接和装置的示例可以包括网络 接口卡、天线、功率放大器、RF电路、收发器和其他通信电路。上述网 络、连接和装置是公知的并且不必在此详细讨论。

用户接口809可以包括语音输入装置、用于接收来自用户的手势的触 摸输入装置、用于检测用户的非触摸手势和其他运动的运动输入装置,以 及其他类似的输入装置和能够接收来自用户的用户输入的相关处理元件。 诸如显示器系统、扬声器、触觉装置和其他类型的输出装置的输出装置也 可以包括在用户接口809中。上述用户输入装置是本领域公知的并且不必 在此详细讨论。用户接口809还可以包括在以上讨论的各种用户输入和输 出装置的支持方面处理系统801可执行的相关用户接口软件。用户接口软 件和装置可以单独地或者与其他硬件与软件元素彼此结合地来提供图形 用户接口、自然用户接口或者任何其他类型的用户接口。

在附图中提供的功能框图、操作序列和流程图代表用于执行本公开内 容的新颖方面的示例性的架构、环境和方法。虽然为了简化说明,本文中 所包括的方法可以是功能图、操作序列或流程图的形式,并且可以被描述 为一系列动作,但是应理解并了解,这些方法不限于动作的顺序,因为一 些动作可以据此以不同的顺序发生和/或与来自本文中图示和描述的其他 动作同时发生。例如,本领域技术人员将理解并了解,例如在状态图中, 方法可以替选地被表示为一系列相互关联的状态或事件。此外,对于新颖 的实现方式,可能需要方法中所示出的并非所有的动作。

以上描述和相关附图教示了本发明的最佳模式。以下权利要求指定本 发明的范围。最佳模式的一些方面可能不落入权利要求所指定的本发明的 范围内。另外,虽然以上讨论描述了具体地与工业处理的监视和分析结合 使用的实施方式,但是诸如数学建模或监视任何人造或天然存在的系统的 其他应用可以从以上所讨论的概念的使用中获益。此外,本领域技术人员 将理解,以上描述的特征可以以各种方式来组合以形成本发明的多种变 型。结果,本发明并不限于上述的具体实施方式,而是仅由所附权利要求 及其等同物限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号