用于自动控制系统的仿真的系统和方法

文档序号:6305211阅读:141来源:国知局
用于自动控制系统的仿真的系统和方法
【专利摘要】本实施例包括用于自动控制系统的仿真的系统和方法。一种自动控制系统,该自动控制系统包括一个或多个处理器和一个或多个存储器,以及存储在一个或多个存储器上且由一个或多个处理器实施的应用。应用包括被配置成经由通信子系统与自动设备通信的接口。此外,应用包括操作环境、编程环境和仿真环境。编程环境被配置成在操作环境内生成与自动设备相对应的设备元件,其中设备元件被配置成在功能上与自动设备交互。仿真环境被配置成基于在操作环境内生成的设备元件而自动地托管自动设备的仿真模型。
【专利说明】用于自动控制系统的仿真的系统和方法

【技术领域】
[0001] 本公开的实施例涉及自动控制的领域,并且更具体地涉及自动控制系统的仿真。

【背景技术】
[0002] 针对过程而设计、安装、操作和维护自动控制系统是复杂且昂贵的操作。为了有助 于这种操作,过程的某些方面可以被仿真并且关联的自动控制可以与模拟一起被利用从而 执行先进的故障排除以及自动系统设计和操作程序的细化。这在传统上涉及获取所考虑的 自动控制系统的实际硬件。例如,复杂的工业过程可以利用过程模拟程序而被模拟,并且这 些模拟可以与实际自动控制器合作以辅助对整个系统建模。然而,这通常导致大量的相关 成本。
[0003] 因此,自动控制仿真器通常被用来避免与利用实际自动控制器相关联的费用和不 便。仿真器可以被定义成能够准确地模仿另一个设备的设备、模块或软件应用程序。目前认 识到,传统的自动控制仿真通常受限于需要用户创建自动控制系统的十分有限的部分。此 夕卜,目前认识到,传统的自动控制系统仿真在功能上是受约束的且维护是低效的。因此,目 前认识到,期望提供一种改进的自动控制仿真器系统和方法。


【发明内容】

[0004] 本实施例包括自动控制系统,其包括一个或多个处理器和一个或多个存储器,其 中在一个或多个存储器上存储有应用并且由一个或多个处理器实施。应用包括被配置成经 由通信子系统与自动设备通信的接口。此外,应用包括操作环境、编程环境和仿真环境。编 程环境被配置成在操作环境内生成对应于自动设备的设备元件,其中设备元件被配置成与 自动设备功能上进行交互。仿真环境被配置成基于在操作环境内生成的设备元件而自动地 托管自动设备的仿真模型。

【专利附图】

【附图说明】
[0005] 参考附图,通过阅读以下详细描述,本发明的这些和其他特征、方面和优点将变得 更容易理解,在所有附图中相似的符号代表相似的部分,其中:
[0006] 图1示意地示出了根据本公开的实施例的用于系统的控制、监视和仿真应用或框 架;
[0007] 图2示意性地示出了根据本公开的实施例的被配置成实施本文描述的方法的控 制和监视系统;
[0008] 图3示出了根据本公开的编程环境的一个实施例的图形屏幕视图;
[0009] 图4示意性地示出了根据本实施例的关于系统可视化的仿真组件和模拟组件的 合作;和
[0010] 图5是根据本实施例的用于执行仿真会话的过程的流程图。

【具体实施方式】 toon] 本实施例涉及一种用于仿真一个或多个自动控制系统组件的系统和方法。本实施 例可以在基于图形的环境中工作,该环境可以包括基于Windows的环境。根据本实施例的 仿真模仿一个或多个物理设备的操作,以使得该一个或多个物理设备的操作表示能够(在 模拟内)被利用,而无需一个或多个物理设备的实际存在。例如,本实施例涉及实现模型的 构造,该模型可以代表工业过程或模拟的若干自动控制组件,其中仿真的自动控制器能够 与模拟器和/或其他仿真合作以辅助对自动控制系统设计的分析。
[0012] 本实施例可以有助于对各种不同的自动控制设备的仿真,例如自动控制器(例如 可编程逻辑控制器)、输入/输出模块、背板、桥接模块(例如以太网桥接模块)、发动机驱 动器、发动机起动器、模拟模块、数字模块等等。应当指出,除了针对个别组件的内部操作特 性的仿真之外,根据本实施例的仿真还可以包括对仿真模块之间的通信(例如以太网或专 有网络通信)的仿真。此外,本实施例包括多个仿真会话。例如,如果两个仿真会话被激活, 则可以包括再现逻辑的仿真控制器能够动态地通信和合作。本实施例包括被配置成实现多 个仿真会话以通过自动发现而发现彼此从而不需要人类交互的操作特征。例如,处理器可 以被编程或配置成有助于操作以使得自动发现过程被执行并且多个仿真会话将发现彼此。
[0013] 除了提供对控制系统或控制系统组件的仿真而无需这种组件的物理存在之外,本 实施例还可以有助于在利用自动控制系统进行操作与提供自动控制系统的仿真模型之间 的切换。换言之,本实施例包括实现在利用自动控制系统的物理存在的组件进行工作与仿 真实际自动控制系统的模型之间的转换的特征。在利用实际自动控制系统工作与模拟之间 的转换可以通过单个操作(例如选择按钮)而实现。仿真模型可以直接地反映实际存在的 自动控制系统,或者仿真可以包括关于自动控制系统的修改。对包括用于操作目的的实际 自动设备的实例的操作环境的构造,可以相应地在仿真环境内生成仿真模型中的相同自动 设备的仿真实例。
[0014] 可能期望在仿真模型中包括附加的特征或比实际自动控制系统中所存在的更少 特征,以便研究用于某些操作的系统优化。开始于反映实际存在的自动控制系统的仿真模 型,可以有助于对被仿真系统的修改。还可以期望直接反映自动控制系统以便测试在被模 拟的条件下或出于其他目的将受益于副本模型的性能。本实施例通过基于被用来构造物理 自动控制系统且可操作地与该物理自动控制系统协调的模块的属性而生成仿真,来有助于 反映实际自动控制系统的仿真模型的自动生成。例如,仿真模型可以基于被用来构造和控 制实际自动控制系统的编程工具中的目录或输入/输出配置树而被构造。配置树的模块包 括关于在物理自动控制系统内利用实际控制器来实现的描述。这个信息可以被根据本实施 例的应用利用以定义仿真模型,而无需用户分别地定义仿真模型。因此,本实施例使得用户 能够避免维护在对实际自动控制系统做出更改时必须被分别更新的不同的仿真模型。
[0015] 图1示意性地示出了根据本公开的实施例的用于系统的控制、监视和仿真应用或 框架10。框架10可以被存储在一个或多个计算机可读介质(例如存储器)12中,所述算 机可读介质12是非暂态的(即不是暂态的传播信号)且是由统一的或分布式系统中的一 个或多个处理器14来实现的。框架10通过利用互连机构来有助于构建限定或代表自动控 制系统16的一个或多个自动控制环境,其中该互连机构固有地支持对关联设备的动态操 纵和配置。这个动态操纵和配置能力有助于高效提供用于可配置接口的特征丰富的配置环 境,其中该可配置接口能够根据本实施例而被自动仿真。
[0016] 互连机构18可以是基于模块的特征,其包括被配置成用作模块或设备间的一个 或多个接口的一个或多个协议。例如,在所示出的实施例中,互连机构18包括通信子系统 20,该通信子系统可以包括用于与多种不同的设备通信的规范的库(例如例程)和关联的 行为特性。因此,互连机构18实现了自动控制系统16中的实际自动控制设备与框架10的 自动控制环境内的相应模块之间的通信。具体地,当存在物理设备时,这可以包括框架10 的设备元件22与自动控制系统16的实际物理设备之间的通信。如果特定的设备元件存在 而没有相应的物理设备正在通信,则可能指示差错,但是该特定的设备元件可能仍然是可 配置的。根据一些实施例,通信子系统20可以被描述成包括应用编程接口(API)。
[0017] 设备元件22每个都可以作为独立代码以及控制和监视功能而被提供,该独立代 码能够被单独地编程、被预先写入库中以供使用、就其功能和屏幕中的外观而被定制并且 被互连以提供信息给用户。设备元件22可以包括任何一般相似的组件或能够作为准独立 的元件(有时称作对象)而运行的自给自足(self-sufficient)的程序。设备元件22通常 包括四个特征:特性、方法、连接(或连接点)和通信接口。在本上下文中,特性包括能够被 调节以例如限定元素在屏幕视图中的表示(例如图像)以及其在屏幕上的位置等的属性。 在本上下文中,方法是可执行功能(有时在本文中称作元件"功能性"或"状态引擎"),并 且限定了通过执行元件而执行的操作。在本上下文中,连接是设备元件22之间的链路,并 且能够被用来致使(从存储器读取或被写入存储器的)数据在设备元件22之间被发送以 及被发送到系统组件。
[0018] 设备元件22的指定示例可以包括设备的软件实例化。例如,设备元件22可以包 括自动设备的软件实例,例如可编程逻辑控制器、输入/输出设备、发电机驱动器、按钮、定 时器、计量仪、通信服务器和应用。通常,虚拟地任何可标识的功能可以被配置成一个或多 个设备元件22。此外,如下文所讨论的那样,这种元件可以彼此通信以执行广泛的显示、监 视操作和控制功能。此外,根据本实施例,设备元件22可以包括仿真功能。因此,通过设计 工具而生成用于操作目的的特定设备元件,可以导致相应的仿真功能性。仿真功能性可以 由也与实际自动控制设备协调的特定设备元件来执行,或者仿真功能性可以由连接到与实 际自动设备协调的设备元件的分离的设备元件来执行。应当指出,尽管关联于图像的设备 元件相当有用,特别是用于可视化(例如自动控制系统特征的图形表示),然而许多设备元 件22可以不具有可视表示而是可以执行系统内的功能,例如图形用户界面(例如人机界 面、分布式控制系统、监控和数据获取系统),例如计算或事件管理和设备元件22间的数据 交换。
[0019] 如上文所指出的,框架10也有助于对由设备元件22 (例如自动控制设备)代表的 物理自动设备(该自动设备实际上存在或不存在)的仿真。仿真可以包括基于在框架10 内被限定为代表自动控制系统的特征的模块而生成的仿真模型。具体地,仿真模型可以基 于限定设备元件22的模块,设备元件22可以被存储在例如文件树的访问系统(例如用于 自动控制系统16的输入/输出配置的目录)内。应当指出,互连机构18可以以相同的方 式与由设备元件22所代表的实际自动控制设备或相应的仿真模型中的任一个通信(例如 经由通信子系统20)。也就是说,互连机构18可以与仿真模型中的模块通信,就像是与实际 的自动控制设备通信。由于仿真模型包括像实际物理设备(例如控制器、输入模块、输出模 块)那样工作的仿真模块,因此同一个互连机构18可以用于这二者。这高效地使得单个接 口能够与物理系统和仿真实例二者协调。
[0020] 框架10包括相互关联的软件环境,其能够驻留于单个系统(例如计算机)或多个 系统上。这能够在无需专有硬件的情况下来完成。框架10可以包括用户接口 23,用户接 口 23被配置成与输入(例如键盘和/或触摸屏显示器)合作以接受能够经由相互关联的 软件环境而被检测和管理的操作员输入。这种输入可以被用于进行配置、仿真和模拟的目 的。具体地,例如,框架10的一个或多个软件环境的各方面可以基于用户输入而被配置或 被修改。此外,接口 23可以被配置成从其他外部源接收输入数据,例如硬件或软件模拟器。 这种输入数据可以在根据本实施例的一个或多个互相关联的软件环境内被利用。
[0021] 互相关联的软件环境如下文中详细描述的那样交互以提供框架10的增强的编程 和使用。具体地,在所示出的实施例中,框架10的软件环境包括操作环境24、编程环境26 和仿真环境28。这些各种不同的环境30可以是提供操作、设计和仿真功能性的分离的或交 织的环境。环境30可以基于用户输入和/或根据网络检测的自动电子更新(例如即插即 用特征)而以合作方式限定系统。尽管环境30的某些方面可以重叠以提供某些操作效率 和必要的协调,然而某些方面可以特别地保持分离。例如,可以防止仿真环境28中的被仿 真的自动控制系统或仿真模型发送操作数据至相应的物理自动控制系统16。然而,操作环 境24可以完全能够与自动控制系统16通信以实现控制动作和接收反馈。
[0022] 操作环境24使得操作者(例如人类用户)能够与应用交互,所述应用例如是在运 行时间期间(例如在接口使用期间,典型地在与工作中的过程交互或遵守该过程期间)的 激活的自动控制系统。操作环境24利用通信子系统20工作,该通信子系统在一些实施例 中可以被看作是操作环境24中的组件。通信子系统20适于互连设备元件22并且与物理 设备合作。在实践中,通信子系统20可以被认为是包括设备元件22的连接。然而,它可以 包括发送数据至外部电路以及从外部电路接收数据的各种软件、硬件和固件,其中该外部 电路例如是自动控制器、输入/输出设备、计算机、网络、传感器、致动器等。此外,通信子系 统20可以包括用于管理与设备元件22相关联的行为的特征。例如,通信子系统20可以更 改操作模式、对系统特征操作拍快照、放置和移动设备元件22、修改设备元件22、对设备元 件22分组(例如对可互换屏幕上的设备元件22分组)、保存和恢复设备元件22、管理安全 性、保存和恢复连接列表以及提供对各种不同的环境30的远程访问。
[0023] 编程环境26有助于接口和关联组件的调试和/或配置。例如,编程环境26可以包 括设计时间环境,其有助于在操作环境24中所利用的特征的图形配置以及在自动控制系 统16中所利用的硬件的调试,比如自动控制器和相关组件装置(例如,输入/输出模块)。 如以上所讨论的,这还可以生成仿真环境28中的对应仿真模型的模块或设备元件。编程环 境26有助于在没有妨碍或折衷操作环境24的行为的情况下直接或间接操纵操作环境24 和仿真环境28。也就是说,即使在正在操作接口时,也可以完成设备元件22的设计和重新 配置。
[0024] 此外,根据本实施例,例如在传统的浏览器中,通信子系统20可以通过远程提供 编程环境26来提供对操作环境24和仿真环境28的访问。通信子系统20通过从图形用户 界面向编程终端提供编程环境26或其方面(aspect),来允许设计者经由远程编程终端与 图形用户界面的操作环境24和/或仿真环境28交互并且更改其方面。例如,经由网络耦 接至膝上型电脑的图形用户界面(例如人机界面)可以通过经由网络向膝上型电脑供应特 定编程环境26而向用户提供配置能力。
[0025] 仿真环境28可以提供自动控制系统设计或实现的仿真模型。例如,仿真环境28可 以提供一个或多个操作环境24或编程环境26的仿真副本。因此,例如,仿真环境28可以 反映在操作环境24中所展示的实现的自动控制系统或在编程环境26中所展示的提议的实 现。仿真环境28可以基于与物理自动设备对应的模块而生成,比如与自动控制系统16的 输入/输出配置的组件相对应的设备元件。此外,仿真环境28可以有助于创建和/或修改 仿真模型。具体地,例如,仿真环境28可以初始地基于与自动控制系统的输入/输出配置 对应的特定设备元件而生成,然后针对测试、排错等而被修改。要注意的是,可以基于作为 编程环境26的定义的方面和/或操作环境24的定义的方面的结果已经存储在平台10内 的信息而自动生成(没有特定用户干预)仿真模型。在一个实施例中,用户可以简单地驱 动用户事件以从编程环境26或操作环境24转移到仿真环境28。
[0026] 图2是被配置为实现根据本公开的实施例而在本文中描述的方法的控制和监视 系统50的图形化表示。系统50包括图形用户界面(例如人机界面),其用于与联网的组件 和配置装备对接。系统50被图示为包括图形用户界面(GUI)52,其可以驻留于计算机、计算 资源等(例如云基础设施)上,图形用户界面52通过自动设备56 (例如远程计算机、自动 控制器)与过程54的组件配合,自动设备56被配置为控制和/或监视过程28的方面。要 注意的是,可以经由本地或远程编程终端57来访问GUI52以及对其进行编程。
[0027] ⑶152可以适用于允许用户虚拟地与任何过程进行交互。例如,过程54可以包括 压气站、炼油厂、用于制造食物项目的批操作、机械化流水线、等等。因此,过程54可以包 括各种操作组件,比如电动机、阀、致动器、传感器、或大量的制造、处理、物料处理和其它应 用。此外,过程54可以包括用于通过自动化调节过程变量的控制和监视装备。在图示的实 施例中,这样的装备与自动设备56合作,其可以包括可编程逻辑控制器(PLC)和关联的输 入/输出(I/O)设备58。I/O设备58包括八个输入/输出连接60,其可以代表物理连接器 和/或关联的寄存器值。在其它实施例中,自动设备60可以包括可以与GUI52通信的任意 数量的类似的自动设备。图示的过程54包括传感器64和致动器66。传感器64可以包括 适用于提供关于过程状况的信息的任意数量的设备。致动器66可以类似地包括适用于响 应于致动器66接收到的输入信号来执行机械动作的任意数量的设备。
[0028] 自动设备56和GUI52的特征可以包括如下功能,通过该功能它们从特定存储器或 存储器的寄存器读取或向特定存储器或存储器的寄存器写入,该特定存储器或存储器的寄 存器通常位于其他设备中。例如,特定功能可以对应于向自动设备56的特定寄存器写入或 从自动设备56的特定寄存器读取。在简单的情况中,例如,对象访问一段数据(例如由传 感器64中的一个传感器确定的组件的状态),并且生成输出信号以写入对应于不同联网设 备的状态的值。通过使用任何合适的网络策略,可以有助于GUI52和过程54的组件之间的 配合。实际上,可以采用工业标准网络,比如DeviceNeU设备网),来实现数据传输。这样 的网络允许根据预定协议来交换数据,并且可以提供用于联网元件的操作的电力。
[0029] 如图所示,传感器64和致动器66与自动设备56(例如,自动控制器)通信,并且 可以在自动设备56中被分配一个GUI52可访问的特定地址。该分配可以自动地或人工地 完成。在其他实施例中,传感器64和致动器66可以直接与⑶152通信。这些传感器64和 致动器66可以从可以被系统50利用的过程装备接收数据或生成数据来控制和操作过程装 备。实际上,传感器64和致动器66可以在被自动设备56和/或⑶152监视和控制的过程 循环内被利用。这样的过程循环可以通过驻留于自动设备56中的指令或逻辑(例如,梯形 逻辑)来定义,并且基于过程输入(例如从传感器64输入)或直接输入(例如通过⑶152 接收的操作者输入)而被激活。
[0030] 操作环境24、编程环境26和仿真环境28可以各自存储在以及驻留于系统50的 一个或多个特征中。例如,这些环境中的每个可以驻留于图示实施例的GUI52中作为应用 10的组件。作为示例,通信子系统20可以适用于从存储位置加载应用配置框架(例如框架 10),比如在GUI52的初始制造或建立期间。当加载时,存储的应用或框架10可以适用于创 建屏幕并且以适当的可视化(即,系统特征的图形表示)定位用户接口设备元件(对应于 元件的实际图像或图片表示)。这些应用、可视化、和用户接口元件是设备元件22的每个类 型。此外,可以经由GUI52或一些其他系统接口来增加对应于自动控制设备的设备元件,该 设备元件是系统50的功能组件或建模所期望的设备元件。
[0031] 通过设备元件22的编程,⑶152或合并了环境30 (操作环境24、编程环境26和仿 真环境28)之一的一些其他特征可以被认为包括了用于呈现一个或多个屏幕视图或可视 化的指令,以及在通过参照屏幕视图(例如按下按钮、触摸屏幕的位置等)与GUI52交互时 所执行的设备元件。作为示例,可以在GUI52的输入/输出目录内添加具有特定特性的设 备元件以将潜在地包括自动控制器或实际包括自动控制器反映给系统50。这样的设备元件 可以反映自动控制器的特定的操作上和物理上的特征。例如,添加的设备元件可以反映所 表不的物理自动控制器的多个输入和输出的存在和状态。
[0032] 对应于输入/输出设备58所添加的设备元件将反映八个输入/输出连接60。类 似地,对应于自动设备56所添加的设备元件将包括与自动设备56的物理版本相关联的特 性。此外,添加的设备元件可以链接至自动设备56或合并存储在自动设备56中的逻辑(例 如,梯形逻辑)。这可以包括当自动设备56在线或者获得逻辑并将其存储在个人计算机等 上时与自动设备56合作。获得该逻辑可以包括访问实际的自动设备56以获得存储在其上 的逻辑的拷贝或者访问未将逻辑实际下载到物理自动设备56的配置程序。因此,本实施例 可以有助于仿真被添加的或潜在地包括通过关联的逻辑命令提供的功能的自动设备56。要 注意的是,可以通过任意期望的软件或软件包来限定设备元件。例如,设备元件22可以由 操作系统(0S) 70调用或由操作系统70执行,并且可以是符合NET"或"ActiveX"标准的 对象。操作系统70可以基于任何适当的平台并且可以支持用于通过网络(例如,因特网) 传送数据的技术。
[0033] 设备元件22可以操作地表示和/或仿真各自物理自动设备的操作,比如自动控 制器、按钮、输入/输出模块、通信模块等。因此,许多预编程的设备元件22可以获得以由 ⑶152使用。这样的功能模块可以经由网络访问,或可以驻留于⑶152上,或者驻留于直接 或远程地链接至GUI52的分离的设备(例如编程终端57)上。这样,可以预编程实现可视 化和复杂控制和监视功能的许多可能的构建块用于控制和仿真。实际上,可获得的设备元 件22的库72可以驻留于系统50中(例如,在GUI52或编程终端57上)以有助于系统50 的配置和/或仿真。
[0034] 根据本实施例,⑶152(或利用平台10工作的另一系统组件)可以通过与⑶152本 身上的面板或屏幕直接交互来被配置,然而,也可以从编程终端57执行配置。配置可以包 括经由编程环境26和/或仿真环境28添加自动组件。根据本实施例,经由一个环境添加特 定的自动设备作为系统的组件,可以在另一个环境中自动地包括添加的自动设备。实际上, 使用用于构造和控制用于操作环境24的物理自动控制系统实例的相同编程工具集(例如, 编程环境26),可以在仿真环境28中实例化物理自动控制系统的仿真。作为更特定的示例, 本实施例包括编程环境26内的编程工具集,其被配置为构造物理系统实例,该物理系统实 例可以被限定为实际自动控制系统特征的抽象的软件实现,以及基于相同编程操作的相应 的仿真。这是有益地,因为可能期望仿真模型直接地反映自动控制系统。换句话说,可能期 望仿真模型包括本质上反映自动控制系统中的所有物理设备的仿真设备。实际上,即使目 的在于修改仿真模型(例如,出于优化目的),也可能期望从直接反映自动控制系统开始。
[0035] 图3示出了根据本实施例的编程环境26的一个示例。此外,图3提供了添加用于 操作目的的设备元件以及相应地添加仿真特征的特定示例的基础。具体地,图3的编程环 境26可以经由⑶152访问以添加对应于自动设备56的设备元件102。这可以通过从库通 过拖放将设备元件102添加到控制器目录106内的I/O配置文件夹104中来实现。具体地, 设备元件102可以对应于特定类型的控制器并且可以以类似的方式被添加到背板文件夹 108中以将对应的物理控制器添加到物理背板。如果对应的背板和控制器是实际存在的,则 设备元件102可以用来与实际呈现的控制器通信。然而,即使物理设备不存在或者不通信, 可以在没有用户干预的情况下动态地添加和仿真没有在操作环境24内完全操作的代表性 实例。
[0036] 添加设备元件102 (其包括用于在操作环境24中呈现的与特定物理控制器相关联 的特性)还导致添加对应的仿真能力,仿真能力可以基于添加的设备元件或链接的设备元 件的组件。例如,添加设备元件102可以通过在仿真模型内创建设备元件而在仿真环境28 中自动地生成对应的仿真功能。因此,当完成了用于操作环境24中的自动控制系统的实例 时,对应地准备了仿真模型用于仿真环境28中的仿真。通过按下仿真触发器110而从编程 环境26触发仿真环境28,可以访问仿真模型。因此,编程环境26的用户将具有在编程环境 26和仿真环境28之间进行切换的能力。
[0037] 仿真模型可以反映自动设备56的特定的物理方面、功能方面、和编程。仿真模型 本质上在没有用户干预的情况下基于用于构造物理系统(即,操作环境24的功能表示)的 模块的物理属性而利用仿真库来被构造。一旦构造了仿真模型,编程环境26的编程工具集 将能够以本质上与其利用物理系统实例(例如经由通信子系统20)操作的相同方式与仿真 模型交互。如上文所讨论的,出于测试目的、优化等,可以相对于物理系统修改仿真模型。 此外,在一些实施例中,可以与实际自动控制系统实现完全分离地利用平台10创建仿真模 型。
[0038] 物理自动控制系统实例和/或仿真模型的构建可以包括从库获得功能模块或设 备元件22。实际上,可以获得与已知自动设备对应的大量预定义的模块或设备元件22。然 而,一些自动设备可能不包括预定义的模块或设备元件。同时要注意的是,可以向库72添 加附加的设备元件,本实施例包括用户可定义的基本结构(设备元件)用于表示和仿真未 定义的自动设备。实际上,在一些实施例中,所有或一类预定义的自动设备可能基于以不同 名称和潜在不同的特性而被实例化的相同的基本设备元件。多个唯一地运转且唯一地标识 的模块可以基于相同的基本模块或设备元件而被实例化。虽然这样的预定义的特征可以自 动地与基本设备元件合并,但是用户也可以定义他们自己的特征。例如,如果对应于特定品 牌的输入/输出设备的设备元件没有驻留于GUI52上,则用户能够从远程源下载这样的元 件或者定义输入/输出设备的合适的方面或特性。图2中的设备元件22A表示具有能够基 于库类型或用户定义而缺省定义的特性的基本元件。
[0039] 图4示意性地示出了根据本实施例仿真组件202与模拟组件204的合作。根据本 实施例,仿真组件202与模拟组件204也可以与实际物理设备(例如实际硬件控制器)交 互。具体地,图4中,仿真组件202与模拟组件204相对于工业过程的可视化206而示意性 地示出。可以经由库72或相关库访问的仿真组件或设备元件202可以被配置为与称作模 拟组件204的外部或内部软件交互,模拟组件204被配置为生成输入并且消耗输出。模拟 组件204可以包括模拟引擎208,其模拟物理过程的操作。例如,模拟引擎208可以包括模 拟圆柱内的蒸馏、压力通过阀改变、机械操作中的动力、压力或温度通过装备改变等的算术 模型。因此,模拟组件204可以从仿真组件202接收对应于操作命令(例如,关闭阀或激活 泵)的输入,然后执行实际物理结果的模拟。然后可以将模拟的结果提供给仿真组件202 用于进一步的处理。要指出的是,可以采用仿真结果的有目的的延迟或脉冲以留出模拟模 型提供输出的时间。本实施例有助于通过扩展时间步长、缩短时间步长、或倒回时间步长来 管理虚拟时钟时间。这包括在仿真和/或模拟中加速、减速或倒回虚拟时间。
[0040] 作为特定示例,仿真组件202可以表示控制系统的特征,该控制系统被设计为控 制由图形泵212表示并且由模拟组件204操作上模拟的泵浦系统。在仿真会话期间,仿真 组件202可以生成命令以基于仿真的控制逻辑激活多个泵。例如,仿真组件202A可以表示 控制器,该控制器基于来自由图形传感器214表示并且由仿真组件202B仿真的压力传感器 的数据而向泵浦系统提供指令。模拟组件202可以模拟泵的物理方面。因此,模拟组件204 可以从仿真组件202接收指示多个泵应该被激活的输入,然后计算通过这样的激活所生成 的模拟压力。该模拟压力的值然后可以被提供给仿真组件202用于进一步仿真,其可以包 括基于根据被仿真逻辑的高压而停止运转一个或多个泵。要注意的是,仿真组件202可以 按照与被仿真设备与实际过程交互的相同方式与模拟组件204交互。此外,要注意的是,在 操作环境24和仿真环境28中可以利用相同的可视化206或相同的可视化206的组件。虽 然重叠使用可视化206,但是特定图形区分(例如,着色或文本指示)可以提醒用户环境的 本质。
[0041] 图5是根据本实施例的用于执行仿真会话的过程300的流程图。过程300可以通 过单个事件从仿真环境的外部发起302,比如激活编程环境中的按钮。这引起仿真环境的激 活304,其可以包括对先前定义的控制环境(操作环境)的部件的活动仿真。仿真环境内的 操作可以与其他环境(例如操作环境)可视化地区分。过程300包括周期地确定306是否 已经提交退出命令。例如,如果用户从仿真环境内发出退出命令,则可以提示308用户指明 是否应当保存先前做出的编辑。如果用户以肯定的方式来响应,则保存310用户程序和未 决的编辑。如果用户以否定的方式来响应,则退出312仿真环境。
[0042] 如果用户继续并且没有退出仿真环境,则可以执行仿真,仿真可以包括各种处理 组件。具体地,例如,可以保持314与仿真模块的逻辑连接并且可以做出316关于是否利 用一个或多个控制器在线仿真的确定。如果一个或多个控制器在线,则提供318关于利用 仿真的控制器在线仿真的指示。此外,可以允许在线编辑320,可以允许程序保存/恢复 322,可以允许控制器模式改变324、可以逻辑上执行用户程序326,并且可以执行模拟操作 328。如果一个或多个控制器离线,则提供330利用仿真的控制器离线仿真的指示,允许编 辑332,以及允许程序保存/恢复334。
[0043] 虽然已经在本文中图示和描述了本发明的特定特征,然而对于本领域技术人员来 说可以进行许多修改和改变。因此,要理解的是,所附权利要求旨在覆盖落入本发明真实精 神内的所有这样的修改和改变。
[0044] 另外,本技术还可以如下配置。
[0045] 附记1. 一种自动控制系统,包括:
[0046] 一个或多个处理器和一个或多个存储器;
[0047] 存储在所述一个或多个存储器上并且由所述一个或多个处理器实施的应用,所述 应用包括被配置成经由通信子系统与自动设备通信的接口;
[0048] 所述应用的操作环境;
[0049] 所述应用的编程环境,其被配置成在所述操作环境内生成与所述自动设备相对应 的设备元件,其中所述设备元件被配置成在功能上与所述自动设备交互;和
[0050] 仿真环境,其被配置成基于在所述操作环境内生成的所述设备元件而自动地托管 所述自动设备的仿真模型。
[0051] 附记2.如附记1所述的自动控制系统,其中,所述仿真环境被配置成基于在所述 操作环境内生成的所述设备元件和至其他设备的接口而自动地托管所述自动设备的所述 仿真模型。
[0052] 附记3.如附记1所述的自动控制系统,其中,所述仿真模型包括具有由所述设备 元件的特性所限定的特性的仿真模块。
[0053] 附记4.如附记3所述的自动控制系统,其中,每个所述仿真模块被配置成以仿真 物理自动设备的方式来接收输入且提供输出,并且其中每个所述仿真模块被配置成接收来 自模拟模型的输入。
[0054] 附记5.如附记4所述的自动控制系统,其中,被仿真的所述物理自动设备包括输 入/输出设备、自动控制器或发动机驱动器。
[0055] 附记6.如附记1所述的自动控制系统,其中,所述仿真模型被配置成仿真所述自 动设备之间的通信。
[0056] 附记7.如附记1所述的自动控制系统,其中,所述编程环境被配置成当检测到物 理自动设备至所述自动控制系统的通信耦接时,实例化所述编程环境内的特定设备元件。
[0057] 附记8.如附记1所述的自动控制系统,其中,所述仿真环境被配置成有助于用户 修改所述仿真模型。
[0058] 附记9.如附记1所述的自动控制系统,其中,所述仿真环境以不同于所述操作环 境图形地呈现的方式而图形地呈现。
[0059] 附记10.如附记1所述的自动控制系统,其中,所述用户接口被配置成经由所述通 信子系统与所述仿真模型通信。
[0060] 附记11.如附记1所述的自动控制系统,包括所述编程环境内的仿真触发器,其中 所述仿真触发器的致动导致了所述仿真环境的激活。
[0061] 附记12. -种方法,包括:
[0062] 通过响应于输入而在编程环境内实例化设备元件来配置操作环境,其中所述设备 元件包括与物理自动设备的操作特性相对应的操作特性;以及
[0063] 在仿真环境内生成仿真模型的仿真模块,其中所述仿真模块被配置成基于所述设 备元件的操作特性而仿真所述物理自动设备。
[0064] 附记13.如附记12所述的方法,包括基于来自所述编程环境内的仿真触发器的致 动来激活所述仿真环境。
[0065] 附记14.如附记13所述的方法,包括当所述仿真环境正被活跃地访问时提供操作 的仿真模式的可视指示符。
[0066] 附记15.如附记12所述的方法,包括利用至少一个存储器和至少一个处理器来执 行设备元件和模块的实例化,以及执行模拟。
[0067] 附记16.如附记12所述的方法,包括提供目录树,所述目录树包括被配置用于仿 真的实例化设备元件。
[0068] 附记17.如附记12所述的方法,其中,所述输入是由用户输入设备生成的。
[0069] 附记18.如附记12所述的方法,包括通过扩展时间步长、缩短时间步长或倒回时 间步长来管理虚拟时钟时间。
[0070] 附记19. 一个或多个有形的非暂态机器可读介质,包括被配置成在电子设备上被 执行的指令,所述电子设备被配置成与自动控制系统协调,所述指令被配置成:
[0071] 通过响应于输入而在编程环境内实例化设备元件来填充操作环境,其中所述设备 元件包括与所述自动控制系统的物理自动设备的操作特性相对应的操作特性;以及
[0072] 在具有仿真模块的仿真环境内填充仿真模型,其中所述仿真模块被配置成基于所 述设备元件的操作特性而仿真所述物理自动设备。
[0073] 附记20.如附记19所述的一个或多个有形的非暂态机器可读介质,包括被配置成 当相应的设备元件被实例化时或当所述仿真环境被激活时自动填充具有所述仿真模块的 所述仿真模型的指令。
[0074] 附记21.如附记19所述的一个或多个有形的非暂态机器可读介质,包括被配置成 提供输出至模拟组件或从模拟组件接收输入的指令。
[0075] 附记22.如附记19所述的一个或多个有形的非暂态机器可读介质,其被配置成提 供对所述编程环境的远程访问。
【权利要求】
1. 一种自动控制系统,包括: 一个或多个处理器和一个或多个存储器; 存储在所述一个或多个存储器上并且由所述一个或多个处理器实施的应用,所述应用 包括被配置成经由通信子系统与自动设备通信的接口; 所述应用的操作环境; 所述应用的编程环境,其被配置成在所述操作环境内生成与所述自动设备相对应的设 备元件,其中所述设备元件被配置成在功能上与所述自动设备交互;和 仿真环境,其被配置成基于在所述操作环境内生成的所述设备元件而自动地托管所述 自动设备的仿真模型。
2. 如权利要求1所述的自动控制系统,其中,所述仿真环境被配置成基于在所述操作 环境内生成的所述设备元件和至其他设备的接口而自动地托管所述自动设备的所述仿真 模型。
3. 如权利要求1所述的自动控制系统,其中,所述仿真模型包括具有由所述设备元件 的特性所限定的特性的仿真模块。
4. 如权利要求3所述的自动控制系统,其中,每个所述仿真模块被配置成以仿真物理 自动设备的方式来接收输入且提供输出,并且其中每个所述仿真模块被配置成接收来自模 拟模型的输入。
5. 如权利要求4所述的自动控制系统,其中,被仿真的所述物理自动设备包括输入/输 出设备、自动控制器或发动机驱动器。
6. 如权利要求1所述的自动控制系统,其中,所述仿真模型被配置成仿真所述自动设 备之间的通信。
7. 如权利要求1所述的自动控制系统,其中,所述编程环境被配置成当检测到物理自 动设备至所述自动控制系统的通信耦接时,实例化所述编程环境内的特定设备元件。
8. 如权利要求1所述的自动控制系统,其中,所述仿真环境被配置成有助于用户修改 所述仿真模型。
9. 如权利要求1所述的自动控制系统,其中,所述仿真环境以不同于所述操作环境图 形地呈现的方式而图形地呈现。
10. 如权利要求1所述的自动控制系统,其中,所述用户接口被配置成经由所述通信子 系统与所述仿真模型通信。
11. 如权利要求1所述的自动控制系统,包括所述编程环境内的仿真触发器,其中所述 仿真触发器的致动导致了所述仿真环境的激活。
12. -种方法,包括: 通过响应于输入而在编程环境内实例化设备元件来配置操作环境,其中所述设备元件 包括与物理自动设备的操作特性相对应的操作特性;以及 在仿真环境内生成仿真模型的仿真模块,其中所述仿真模块被配置成基于所述设备元 件的操作特性而仿真所述物理自动设备。
13. 如权利要求12所述的方法,包括基于来自所述编程环境内的仿真触发器的致动来 激活所述仿真环境。
14. 如权利要求13所述的方法,包括当所述仿真环境正被活跃地访问时提供操作的仿 真模式的可视指示符。
15. 如权利要求12所述的方法,包括利用至少一个存储器和至少一个处理器来执行设 备元件和模块的实例化,以及执行模拟。
16. 如权利要求12所述的方法,包括提供目录树,所述目录树包括被配置用于仿真的 实例化设备元件。
17. 如权利要求12所述的方法,其中,所述输入是由用户输入设备生成的。
18. 如权利要求12所述的方法,包括通过扩展时间步长、缩短时间步长或倒回时间步 长来管理虚拟时钟时间。
【文档编号】G05B17/02GK104155879SQ201410203604
【公开日】2014年11月19日 申请日期:2014年5月14日 优先权日:2013年5月14日
【发明者】理查德·格尔吉奇, 肯伍德·霍尔, 弗朗西斯科·马图拉纳, 查尔斯·理斯查 申请人:洛克威尔自动控制技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1