用于定期自动化生产的鲁棒实时控制的系统和方法

文档序号:6302952阅读:291来源:国知局
用于定期自动化生产的鲁棒实时控制的系统和方法
【专利摘要】一种方法包括,响应于检测到与批量过程相关联的事件,在第一控制器处(104a-104b、304a-304b),初始化(405)控制配方的至少一个过程步骤,所述控制配方源自与批量过程相关联的主配方。该方法还包括,在第一控制器处,执行(407)控制配方的所述至少一个过程步骤。该方法进一步包括,在执行控制配方的所述至少一个过程步骤时,在第一控制器处,初始化(407)控制配方的至少一个第二过程步骤。初始化源自主配方的控制配方的所述至少一个过程步骤,可以包括仅拷贝开始控制配方的执行所需要的主配方的一部分到控制配方中。
【专利说明】用于定期自动化生产的鲁棒实时控制的系统和方法

【技术领域】
[0001]本公开一般与控制系统相关,并且更具体而言,与用于定期自动化生产的鲁棒实时控制的系统和方法相关。

【背景技术】
[0002]处理设施往往使用过程控制系统管理。示例处理设施包括化工、医药、纸或石化生产设备。除了其他的操作之外,过程控制系统通常与处理设施中的工业装置(诸如用于生产化工、医药、纸或石化产品的装置)相互作用,并且对其进行控制。
[0003]为了促进工业装置在处理设施中的高效使用,过程控制系统往往用于使各种生产过程的执行自动化。处理设施往往实现一个或多个快速的和高价值的生产过程。这往往需要高灵活的程序自动化解决方案,并且其可以确保生产过程的及时执行。然而,用传统的自动化解决方案通常不能满足复杂自动化环境中的激进的实时性要求,其往往依赖于监控个人计算机技术来控制生产过程。


【发明内容】

[0004]本公开提供了用于定期自动化生产的鲁棒实时控制的系统和方法。
[0005]在第一实施例中,方法包括,响应于检测到与批量过程相关联的事件,在第一控制器处,初始化控制配方的至少一个过程步骤,所述控制配方源自与批量过程相关联的主配方。该方法还包括,在第一控制器处,执行控制配方的所述至少一个过程步骤。该方法进一步包括,在执行控制配方的所述至少一个过程步骤时,在第一控制器处,初始化控制配方的至少一个第二过程步骤。
[0006]在第二实施例中,系统包括具有至少一个存储器和至少一个处理单元的第一控制器。所述的至少一个处理单元被配置成,响应于检测到与批量过程相关联的事件,初始化控制配方的至少一个过程步骤,所述控制配方源自与批量过程相关联的主配方。所述的至少一个处理单元也被配置成执行控制配方的所述至少一个过程步骤,并且在执行控制配方的所述至少一个过程步骤时,初始化控制配方的至少一个第二过程步骤。
[0007]在第三实施例中,非暂时性的计算机可读介质包含计算机程序。计算机程序包括计算机可读程序代码,其用于,响应于检测到与批量过程相关联的事件,在第一控制器处,初始化控制配方的至少一个过程步骤,所述控制配方源自与批量过程相关联的主配方。该计算机程序还包括计算机可读程序代码,其用于在第一控制器处,执行控制配方的所述至少一个过程步骤。该计算机程序进一步包括计算机可读程序代码,其用于在执行控制配方的所述至少一个过程步骤时,在第一控制器处,初始化控制配方的至少一个第二过程步骤。
[0008]从接下来的附图、描述和权利要求,其他的技术特征对本领域技术人员可以是容易显而易见的。

【专利附图】

【附图说明】
[0009]为了更完整地理解本公开,现在结合附图,对接下来的描述进行参考,其中:
图1图示了依据本公开的示例过程控制系统;
图2图示了依据本公开的过程控制系统的特定实现方式;
图3图示了依据本公开的另一个示例过程控制系统;以及
图4图示了依据本公开的用于支持在自动化过程控制系统中的鲁棒实时控制的示例方法。

【具体实施方式】
[0010]下面所讨论的图1至图4,以及在本专利文档中用于描述本发明的原理的各种实施例仅仅是图示说明的方式,而不应以任何方式被解释成限定本发明的范围。本领域技术人员将理解本发明的原理可以在任何类型的适当布置的设备或系统中被实现。
[0011]许多现代批量生产过程使用鲁棒、低等待时间、实时的控制装置用于生产及相关过程和活动的控制。这种过程可以包括生产装置的大的、规则的布置以提高生产能力和灵活性,减少损失的范围,以及实现经济的可扩缩性。用于这种定期生产装置的自动化控制系统的首次使用和持续维护的配置服务的经济成本往往超过自动化装置本身的价值。此外,如果系统生来不支持这种生产,这些成本可以随每类单元的数量显著地提高。
[0012]如果用于工程服务或维护的任何人类活动要求非常低的错误率(诸如在医药生产(药品安全)、危险化工生产(一般安全)或终端自动化(诸如高价值的天然气和石油)的情况下),那么配置和维护的成本问题更加明显。在这些和其他情况中,减少人为错误率的纠正措施可能是非常高成本的。
[0013]解决使用工业级标准的个人计算机(PC)、服务器或具有需要的计算资源(诸如CPU、存储器和带宽)的大型机的这些成本问题的解决方案是可用的。然而,这些解决方案可能不满足关于鲁棒性、可用性和低等待时间的批量生产要求。用于使用嵌入式过程控制器的鲁棒批量控制的解决方案也是可用的。然而,这种解决方案可能不能满足在经济上扩大或缩小相关联的批量生产过程的要求。例如,一些解决方案在生产过程、步骤或活动之初,分配所有或大部分所需的计算资源(诸如创建计算过程、分配存储器等等)。这种分配可以在主机上引起突发负荷。如果多个这样的过程在短时窗口中被启动,这些突发负荷可以引起资源枯竭、大的等待时间、或甚至主机的系统故障(如果主机在经济上被扩缩到平均处理要求)。为设计的简单起见,一些解决方案也制作主配方的完整副本,这增加了总的资源消耗问题。
[0014]为了解决这些问题,本公开提供了系统和方法,所述系统和方法利用了以下事实,用于描述批量生产要求和用于捕获其结果(诸如程序、配方、公式集、装置要求等等)的数据结构可以共享类似的格式,且可以不在同一时间被需要。此外,与批量生产相关联的数据结构可以包含预期生产流程的可能或很可能的次序的信息,即使实际的生产流程取决于或自动化系统所不知或不可控的外部因素。
[0015]下面描述的各种实施例是相对于批量生产系统描述的。然而,本公开不限于批量生产环境。这里公开的原理可适用于其他环境和行业,诸如像在航运船舶上货物装卸一样的商品移动和运输。
[0016]图1图示了依据本公开的示例过程控制系统100。如图1所示,过程控制系统100包括一个或多个过程元件102a-102b。过程元件102a-102b表示过程或生产系统中的部件,其可以执行任何各种各样的功能。例如,过程元件102a-102b可以表示用于制造化工、医药、纸或石化产品的装置。每个过程元件102a-102b包括任何合适的结构,用于在过程系统中执行一个或多个功能。此外,过程系统表示配置成用某种方式处理一个或多个材料的任何系统或其部分。
[0017]两个控制器104a_104b被耦合到过程元件102a_102b。控制器104a_104b控制过程元件102a-102b的操作。例如,控制器104a-104b可以能够提供控制信号给过程元件102a-102b,用于控制化工、医药、纸或石化产品的生产。每个控制器104a-104b包括任何合适的结构,用于控制一个或多个过程元件102a-102b。每个控制器104a_104b例如可以包括一个或多个处理器105a和一个或多个存储器105b,用于存储由一个或多个处理器105a使用、收集或产生的指令和数据。每个控制器104a-104b也可以包括一个或多个网络接口105c,用于通过一个或多个网络通信,诸如以太网、电气信号网、气动控制信号网或任何其他或附加的一个或多个类型的一个或多个网络。
[0018]两个服务器106a_106b被稱合到控制器104a_104b。服务器106a_106b执行各种功能,以支持控制器104a-104b和过程元件102a-102b的操作和控制。例如,服务器106a-106b可以记录由控制器104a-104b收集或产生的信息,诸如与过程元件102a_102b的操作相关的状态信息。服务器106a-106b也可以执行控制控制器104a-104b的操作的应用,从而控制过程元件102a-102b的操作。此外,服务器106a-106b可以提供对控制器104a-104b的安全访问。每个服务器106a-106b包括任何合适的结构,用于提供对控制器104a-104b的访问或控制。每个服务器106a_106b例如可以包括一个或多个处理器107a,和存储由一个或多个处理器107a使用、收集或产生的指令和数据的一个或多个存储器107b。每个服务器106a-106b也可以包括一个或多个网络接口 107c,用于通过一个或多个网络通信。
[0019]一个或多个操作员站108a_108b被耦合到服务器106a_106b,并且一个或多个操作员站108c被耦合到控制器104a-104b。操作员站108a_108b表示提供对服务器106a-106b的用户访问的计算或通信设备,其随后可以提供对控制器104a-104b和过程元件102a-102b的用户访问。操作员站108c表示提供对控制器104a_104b的直接用户访问的计算或通信设备。作为特定示例,操作员站108a-108c可以允许用户回顾使用由控制器104a-104b和/或服务器106a-106b收集的信息的过程元件102a_102b的操作历史。操作员站108a-108c也可以允许用户调整过程元件102a_102b、控制器104a_104b或服务器106a-106b的操作。每个操作员站108a-108c包括任何合适的结构,用于支持系统100的用户访问和控制。每个操作员站108a-108c例如可以包括一个或多个处理器109a和存储由一个或多个处理器109a使用、收集或产生的指令和数据的一个或多个存储器109b。每个操作员站108a-108c也可以包括一个或多个网络接口 109c,用于通过一个或多个网络通信。在特定实施例中,操作员站108a-108c可以表示执行MICROSOFT WINDOWS或其他操作系统的个人计算机。
[0020]在本示例中,操作员站108b的至少一个远离服务器106a_106b。远程站通过网络110被耦合到服务器106a-106b。网络110促进系统100中各部件之间的通信。例如,网络110可以传送互联网协议(IP)分组、帧中继帧、异步传输模式(ATM)单元、或网络地址间的其他信息。网络I1可以包括一个或多个局域网(LAN)、城域网(MAN)、广域网(WAN)、全球网(诸如互联网)的全部或一部分、或者一个或多个位置处的任何其他一个或多个通信系统。
[0021]在本示例中,系统100包括两个附加服务器112a_l 12b。服务器112a_112b执行各种应用,以控制系统100的总操作。例如,系统100可以用在处理或生产设备中或者其他设施中,并且服务器112a-112b可以执行用于控制设备或其他设施的应用。作为特定示例,月艮务器112a-112b可以执行应用,诸如企业资源计划(ERP)、制造执行系统(MES)、或者任何其他或附加的设备或过程控制应用。每个服务器112a-112b包括任何合适的结构,用于控制系统100的总操作。
[0022]如图1所示,系统100包括各种支持系统100中部件之间的通信的冗余网络114a-114b和单一网络116a_116c。这些网络114a_114b、116a_116c的每一个表示促进系统100中部件之间通信的任何网络或网络的组合。网络114a-114b、116a-116c,例如,可以表示以太网。
[0023]在操作中的一个方面,过程控制系统100管理一个或多个过程,用于生产一个或多个产品(或其部分)。作为特定示例,控制器104a-104b和服务器106a-106b可以管理用于使用过程元件102a-102b来生产化工、医药、纸或者石化产品的一个或多个过程。过程控制系统100可以实现有助于使生产过程自动化的程序自动化机制。例如,程序自动化机制可以确定何时生产过程中的某些任务能够被执行,以及在那些任务期间,使用哪些过程元件 102a-102b。
[0024]在一些实施例中,程序自动化机制支持一个或多个“配方”的使用。配方一般表不,为一个或多个特定产品(或其部分)定义生产要求的信息。更具体而言,多个配方可以包括主配方和一个或多个控制配方。在一些实施例中,主配方是被加载的对象,并且控制配方是被执行的对象。例如,控制配方可以包含运行时间数据,并且从主配方检索加载时间的数据,如下面更详细地描述。在一些实施例中,控制配方使用一个或多个功能块实现,其表示可以被组合在一起以定义由一个或多个控制器104a_104b实现的控制过程的可执行软件对象。作为特定示例,控制配方可以使用多个“阶段(Phase)”功能块实现,其表示控制配方的阶段或部分(诸如控制配方的个别过程步骤)。在特定实施例中,控制器104a_104b可以被配置成执行一种或多种技术,以支持自动化生产的鲁棒、实时控制,如下面更详细地描述。
[0025]尽管图1图示了过程控制系统100的一个示例,但是可以对图1做出各种变化。例如,过程控制系统可以包括任何数量的过程元件、控制器、服务器、操作员站和网络。此外,过程控制系统100的组成和布置仅是用于图示说明。依据特定需要,部件可以被添加、省略、组合或放置在任何其他配置中。进一步,虽然过程控制系统100被描述为用于生产某些类型的产品,但其可以用任何其他方式使用。另外,图1图示了一个操作环境,其中可以使用下面描述的程序自动化机制。程序自动化机制可以在任何其他设备或系统中使用。
[0026]图2图示了依据本公开的过程控制系统200的特定实现方式。例如,图2的过程控制系统200可以表示图1的过程控制系统100的特定实现方式,其中图2中的许多部件由图1的控制器104a-104b使用或支持。
[0027]如图2所示,过程控制系统200包括一个或多个单元控制模块(UCM) 202、配方控制模块(RCM) 204、顺序控制模块(SCM) 206,以及控制模块(CM) 208。在一些实施例中,单元控制模块202、配方控制模204、顺序控制模块206和控制模块208跨过程控制系统100中的多个控制执行环境被分布,诸如在不同的控制器104a-104b中。
[0028]单元控制模块202 —般表示包含一个或多个处理装置的过程单元210或者与其相关联,其中过程单元210的使用发生在单元控制模块202的采集之后。如在编号为11/453,119的美国专利申请中描述的,请求者功能块和资源功能块可以被调用、并入或以其他方式由各种控制模块202-208使用。资源功能块表示可以由请求者功能块获得和释放的对象,其中请求者功能块使用仲裁请求以试图获得资源功能块。在这些实施例中,单元控制模块202可以由配方控制模块204获得,其允许过程单元210在配方控制模块204的执行期间被使用。
[0029]配方控制模块204 —般表示为一个或多个特定产品(或其部分)定义生产要求的信息,其中配方控制模块204的执行可以导致一个或多个产品(或其部分)的单批生产。配方控制模块204可以包括头部、程序、公式和任何装置要求。在配方控制模块204中的程序由一组由阶段功能块212表示的阶段定义。配方控制模块204的每个阶段与顺序控制模块206相关联,其与一个或多个控制模块208相互作用以实现配方控制模块204的阶段中的一个。控制模块208提供对实际过程单元210的访问和控制。配方控制模块204中的程序也可以包括一组步骤块(step block)、过渡块和同步块。步骤块提供对控制模块208的读/写访问,并且同步块允许阶段功能块212或步骤块的并行执行。
[0030]配方控制模块204通过其阶段操纵顺序控制模块206,其中阶段控制顺序控制模块206、监控顺序控制模块206的执行状态、并且选择性地传播执行状态到配方控制模块204。阶段功能块212也可以监控它们的母体配方控制模块的状态,并且当它们的母体配方控制模块204进入异常状态时,传播该状态到它们的下层顺序控制模块206。在特定实施例中,各种控制模块204-208可以如由国际电工委员会(IEC)61131和61512(包括61512-1)标准或编号为6,317,638的美国专利(其全部通过引用结合于本文中)中定义的一样操作。
[0031]当配方控制模块204被创建时,它可以选择性地与特定的单元控制模块202相关联。单元控制模块202可以当配方控制模块204被执行时获得,并且在任何时间可以由配方控制模块204选择性地释放,诸如当配方控制配方204达到终结状态时或者在任何其他先前的时间。各种参数可以在阶段功能块212内被定义。这些参数可以包括:对用于执行控制的顺序控制模块206的引用;当阶段开始时将要被分配的资源名称;以及指示是否所获得的资源将在顺序控制模块206的执行结束时被释放的标识。默认情况下,资源名称可以基于所选择的顺序或配方控制模块的名称。如果没有选择的顺序控制模块206,那么阶段可以用于资源管理的目的。一旦处于终结状态,取决于配置标识,所有由配方控制模块204获得的资源可以被释放,或可以不被释放。
[0032]单元控制模块202中的占有者指针214识别当前正在被执行的配方控制模块204(当前拥有或已获得单元控制模块202的配方控制模块204)。仲裁队列216识别指定数量的、等待获得单元控制模块202以执行的配方控制模块204。在当前的配方控制模块204(由占有者指针214识别的)释放单元控制模块202时,单元控制模块202可以从队列216中选择下一个配方控制模块204,队列216使用由单元控制模块202支持或由用户定义的任何仲裁技术(诸如先入、先出或其他技术)。类似地,顺序控制模块206可以包括仲裁队列218。一个或多个正在等待获得代表其阶段块的顺序控制模块206的配方控制模块204在顺序控制模块206的仲裁队列218中被识别。配方控制模块可以以任何次序从队列218中选择。
[0033]一般来说,配方控制模块204中的阶段功能块212表示用于获得、启动和监控顺序控制模块206或另一个配方控制模块204的执行的功能块。例如,如果阶段功能块212被配置成执行顺序控制模块206,那么阶段功能块212可以获得顺序控制模块206,加载公式参数到顺序控制模块206中,并且启动顺序控制模块206。公式参数表示一组由阶段使用的参数,以传送适当的配方数据到顺序控制模块206,诸如控制过程单元210如何在阶段执行期间被使用的数据。
[0034]当顺序控制模块206执行时,阶段功能块212可以监控顺序控制模块206的状态。阶段功能块212也可以从顺序控制模块206投射数据,使得SCM的执行可以由配方控制模块204通过阶段功能块212监控。进一步,阶段功能块212可以命令顺序控制模块206上传各种报表参数到阶段功能块212,诸如,当顺序控制模块206的执行完成时或另一个终结状态达到时。取决于配置,阶段功能块212可以或可以不等待顺序控制模块206在阶段完成之前完成,其允许配方控制模块204继续下面的阶段或步骤。此外,取决于配置,阶段功能块212可以或可以不在阶段完成时释放任何获得的资源(诸如顺序控制模块206)。
[0035]在一些实施例中,阶段功能块212的功能性可以被分成三大类。第一,阶段功能块212可以提供或下载数据(诸如参数定义和公式参数)到顺序控制模块206,并且从顺序控制模块206接收或上传数据(诸如结果参数值)。第二,阶段功能块212可以提供类似步骤的行为,包括顺序控制模块206的控制。第三,阶段功能块212可以通过请求顺序控制模块206的获得并且释放顺序控制模块206而参加资源仲裁。这些功能可以尽可能独立地实现,以提供更高度的模块性、更简化的测试、以及更通用的使用。
[0036]尽管图2图示了过程控制系统200的特定实现方式,但可以对图2做出各种变化。例如,过程控制系统200可以包括任何数量的单元控制模块202、配方控制模块204、顺序控制模块206、控制模块208、过程单元210和阶段功能块212。
[0037]图3图示了依据本公开的另一个示例过程控制系统300。尤其,图3的过程控制系统300可以表示图1的过程控制系统100的特定实现方式,其中图3中的许多部件与图1的部件类似或者一样。
[0038]如图3所示,过程控制系统300包括过程元件302a_302b、控制器304a_304b、服务器306、操作员站308和工程师站310。服务器306包括一个或多个由存储器312表示的存储器。部件302a-308可以与图1中对应的部件一样或类似。工程师站310表示一个或多个计算设备,其允许一个或多个工程师设计、开发、维护、测试和保存一个或多个主配方。一旦开发,主配方可以通过网络传送到服务器306,并且保存在存储器312中,如下面更详细地描述。存储器312可以包括一个或多个数据库。
[0039]在一些实施例中,控制器104a-104b、304a_304b是资源受限的控制器。S卩,控制器104a-104b、304a-304b可以不包括大量的存储器或处理能力。例如,控制器104a_104b、304a-304b的存储器或处理能力的量可以低于通常配置的通用计算机(诸如PC)的数量级。在特定示例中,控制器104a-104b、304a-304b可以包括约16MB或更少的存储器,相反,通常配置的PC包括2GB或更多的存储器。一些使用具有更大存储器以控制生产系统元件的通用计算机的系统往往不能充分支持鲁棒性、可用性和性能的要求。PC可以处理大量的数据,但是它们具有确定性地以及在小时间片段中操作的困难。虽然批量生产的数据要求可能不是特别大,但批量生产的低等待时间和高鲁棒性要求趋向于是重要的。从而,在具有低等待时间和高鲁棒性的过程控制系统100、300中,控制器104a-104b、304a-304b被优化以控制过程元件302a-302b。
[0040]不同于一些在单配方容器(例如单台服务器)内例示配方部件的系统,过程控制系统100、300促进在控制器接控制器基础上的任何部件、配方和数据实例的优化。过程控制系统100、300的模块化方法通过添加新的控制器资源支持连续增量扩张,而不是单片单容器的方法。
[0041]过程控制系统100、300都具有实时能力和确定性。术语“确定性” 一般是指预测或指定程序或环境行为的能力。传统生产环境是不确定性的,因为它们通常遭受偶然的和不可预测的延迟,包括与一个或多个控制配方中执行的功能相关联的延迟。这些延迟表示传统生产环境中的不确定性的行为。
[0042]这种不确定性的行为使传统生产环境不适合与实时应用一起使用。术语“实时”一般是指与相关联的环境相互作用或以被仔细定时的方式另外操作的应用或程序。从而,在实时系统中,实时应用依据预定的时间表操作,并且如果依据时间表特定的过程或活动没被执行,则提供指示给系统。
[0043]实时系统由两个属性表征。第一是,对于给定的动作,可以预测可以被要求来执行动作的最大时间量。第二个属性是,如果系统不能遵守时间表,那么系统将指示该时间表不再被遵守。即,在实时系统中,一个或多个系统的应用或部件,在没有某种通知或指示的情况下,将不会简单地以延迟的时间表操作。在不提供延迟或错过的最后期限的通知的系统中,控制在配方中稍后发生的过程的控制器可能不知道延迟或错过的最后期限,并且因此不能通过调整其一个或多个过程做出反应。
[0044]传统生产环境的不确定性行为往往导致在实时应用执行中的不确定性行为。结果,当在传统生产环境中执行时,应用往往不能保持其精确的时间安排,这引起应用失败。
[0045]在过程控制系统100、300中,控制器104a-104b、304a_304b依据实时的原理执行某种算法。控制器算法被配置成预期未来的资源需求,这允许控制器104a-104b、304a-304b避免成为瓶颈。例如,通过算法的使用,控制器104a-104b、304a-304b利用生产过程时间在元件被需要之前创建一个或多个控制配方元件,如下面更详细地描述。算法被配置成平衡加载仅被立即需要的配方过程(从而节省存储器和处理资源,但冒更高系统等待时间的风险)与加载预期需求的附加过程(从而利用附加资源,但有助于确保更低的系统等待时间)的利益冲突。
[0046]在操作的一个方面,主配方被保存在服务器106a_106b、306的存储器107b、312中。批量过程被执行之前,主配方被释放以便生产。在一些实施例中,主配方从服务器106a-106b、306被加载到控制器104a、304a,其可表示第一控制器或单一控制器。在特定实施例中,主配方仅被加载到一个控制器上。然而,在其他实施例中,可能有必要或者期望加载主配方到一个以上的控制器上。
[0047]主配方被加载到控制器104a、304a上之后,事件使控制配方被初始创建在控制器104a、304a中。事件可以是源自操作员站108a_108c、308的命令、过程启动条件、外部应用、另一事件或者两个或更多事件的组合。控制配方是主配方部分(或可能全部)的可执行版本。运行时间数据与控制配方的创建实例相关联。传统(诸如PC控制的)系统可以拷贝整个主配方到控制配方中。然而,过程控制系统100、300的嵌入式控制器104a-104b、304a-304b可以是资源受限的。例如,在一些实施例中,控制器104a-104b、304a-304b可以包括仅16MB的存储器,并且可以不能够存储整个主配方在存储器中。从而,初始仅拷贝主配方的一部分到控制配方中是有利的。例如,控制器104a、304a可以仅初始化启动过程执行所需要的控制配方的部分。作为特定的简化示例,如果配方包括十个过程步骤,那么控制仅初始化第一步骤以启动执行。以后,当第一步骤被执行时,所述10个步骤中的第二步骤被初始化等等。
[0048]控制器104a、304a执行控制配方,这可以导致控制器104a、304a创建并执行一个或多个附加的控制配方。此外,控制器104a、304a中控制配方的执行可以导致控制器104b、304b创建并执行一个或多个控制配方。每个控制配方的每个实例都与其本身的运行时间数据相关联。由于控制器104a-104b、304a-304b的连接(诸如通过对等网络或其他网络114b、314),一个控制器(诸如控制器104a、304a)可以收容主配方,并且其他控制器(诸如控制器104b,304b)可以通过在网络上读取主配方构建它们自己的控制配方。
[0049]在一个或多个控制配方由控制器104a-104b、304a_304b执行期间,操作员站108a-108c、308可以从控制器104a-104b、304a_304b接收数据并且传送数据到控制器104a-104b、304a-304b。数据可以是状态信息;操作历史;或与控制器104a_104b、304a-304b,过程元件102a-102b、302a_302b相关的指令;其他信息;或数据的组合。操作员站108a-108c、308可以与控制器104a-104b、304a_304b直接或间接(诸如经由穿过服务器106a-106b、306的路径)地交换信息。在以后的时间,服务器106a_106b、306可以收集后执行数据,并存储该数据在存储器107b、312中。
[0050]为了避免早期描述的采用传统系统的问题(资源枯竭、大的等待时间、系统故障等等),过程控制系统100、300可以使用多种技术的一种或多种优化处理。这些技术被优化用于鲁棒、实时控制平台,诸如过程控制系统100、300。
[0051]在第一种技术中,被用在一个或多个控制配方中的数据(但是为保险性、安全性、完整性,或其他原因,数据被定义为不可修改的)不被拷贝在处于控制器104a-104b、304a-304b的控制配方中。相反,每个控制配方仅包含到主配方数据的引用或指针。数据被呈现给其他控制装置、数据收集设施和人类操作员,就好像它是数据的完整副本。这种技术减少了要拷贝的数据量,诸如按约1.5到10倍,这取决于控制配方的性质。
[0052]在第二种技术中,仅需要准备和执行生产活动的初期的数据被从主配方拷贝到控制配方。对于生产过程中的此关键时间,这减少了控制配方数据,诸如按约10到100倍。例如,主配方可以很长。然而,特定控制器104a-104b、304a-304b可以仅需要完整配方的一部分来启动操作。配方的其他部分可以按需要拷贝到控制器。配方的一些部分可能从不被控制器需要,因此拷贝配方的那些部分到控制器表示资源的不必要使用。例如,配方可以包含一个或多个决策点和基于该决策点被执行的不同分支。由于早期决策而从不被执行的分支不需要在生产活动的初期拷贝,并且实际上在特定的生产过程期间可能从不需要拷贝。
[0053]在第三种技术中,特定于一些装置(诸如过程元件102a-102b、302a_302b)且不特定于主配方的数据在主配方外被存储和维护。例如,如果过程元件302a是混合器,那么主配方可以包括关于混合器类的信息,但是可以不包括特定于混合器的数据,诸如位置、标示符、尺寸等等。在一些实施例中,用于混合器的装置特定的数据可以被存储在相关联的控制器。数据可以提供给对等控制器,诸如经由实时的对等网络。例如,控制器304b也可以访问存储在控制器304a的数据。这减少在成本密集型实时控制器之间的数据副本,并且使系统在经济上可扩缩,甚至对大的批量生产设施。此外,通过将数据存储在单一位置,所述数据的维护可以不需要任何数据副本或重复的人类工作,从而使相关联的服务成本保持最低。
[0054]在第四种技术中,与控制配方中近未来的过程步骤相关联的一个或多个数据分配在控制器104a-104b、304a-304b处被提前完成。即,在数据将被使用之前的至少一个步骤执行与控制配方中给定过程步骤相关联的数据分配。这种数据的预分配减少与未来步骤和活动的启动以及生广决策相关联的等待时间。在一些实施例中,闻级的预测策略和定时特性可以是可配置的以便过程控制系统100、300的更经济的使用。作为附加的好处,这种技术的内部执行确保符合实时的目标,而没有配方创造者的任何详细的知识。
[0055]通过使用一种或多种上述的技术,控制器104a-104b、304a-304b可以在大部分实际情况中以透明的方式按需分配剩余的控制配方数据,同时保持实时性、确定性的特性。在剩余的未分配的控制配方数据不能符合嵌入式控制器平台的完整性要求以透明的方式按需分配的情况中(诸如通过保持用于离散模拟控制算法的时间周期,保持控制器的冗余),仅数据的一部分可以按需拷贝。剩余的数据可以被调度用于下一个可用的时间片段。过程控制系统100、300可以包括配置选项以诊断和/或报告这些情况的发生,从而允许这种发生的后执行分析,或者用于自动化系统的调整,或者用于最终产品结果上的冲突分析,如在一些工业中所要求的。许多过程容许在过程步骤执行过程中的小的延迟,但有些可能不会。因此,在没有过度的产品风险的情况下,这些技术允许系统的经济的分选。
[0056]尽管图3图示了示例过程控制系统300,但是可以对图3做出各种变化。例如,过程控制系统可以包括任何数量的过程元件、控制器、服务器、操作员站、工程师站和网络。可替代地,过程控制系统300可以包括图1的过程控制系统100的其他特征,诸如,单一网络116a-116c 和远程站 108b。
[0057]图4图示了依据本公开的用于在自动化过程控制系统中支持鲁棒实时控制的示例方法400。为了便于解释,方法400被描述为涉及图3的过程控制系统300。所述方法400可以和任何其他系统一起使用。
[0058]初始,在步骤401处,过程工程师或其他人员在工程师站(诸如工程师站310)开发并保存主配方。可替代地或者此外,主配方被保存在服务器数据库中(诸如服务器存储器312)。这可以是在批量过程执行之前发生的离线活动。
[0059]在批量过程被执行之前,主配方在步骤403处被释放以便生产。主配方可以仅被加载到一个控制器上或者加载到一个以上的控制器上(诸如一个或多个控制器304a-304b)o
[0060]在主配方被加载到一个或多个控制器之后,事件(诸如操作员命令或过程启动条件)使控制配方在步骤405处被初始创建在一个或多个控制器中。依据一种技术,被用在控制配方中但被定义为不可修改的数据在一个或多个控制器处不被拷贝在控制配方中。依据另一种技术,仅需要准备和执行生产活动的初期的数据在控制配方中被初始化。
[0061]在步骤407处,控制器执行控制配方的步骤,这可以导致控制器创建并执行一个或多个附加的控制配方。依据一种技术,在数据将被使用之前的至少一个步骤,控制器预分配与控制配方中近未来的步骤相关联的数据。此外,在控制器中的控制配方的执行可以在步骤409处导致另一个控制器创建并执行一个或多个控制配方。
[0062]在一个或多个控制配方由一个或多个控制器执行期间,操作员站(诸如操作员站308)可以在步骤411处从一个或多个控制器接收数据并且传送数据到所述控制器。数据可以包括状态信息、操作历史、与控制器或过程元件相关的指令、或其他数据。依据一种技术,特定于一个装置且不特定于主配方的数据在主配方外被存储和维护。在以后的时间,在步骤413中,服务器(诸如服务器306)可以收集后执行数据并存储该数据在存储器中。
[0063]尽管图4图示了一个用于在自动化过程控制系统中支持鲁棒实时控制的示例方法400,但可以对图4做出各种变化。例如,虽然所示为一系列的步骤,但在图4中示出的各种步骤可以重叠、以不同的次序发生,并行发生或多次发生。此外,一些步骤可以被组合或移除,并且可以添加附加的步骤。
[0064]在一些实施例中,以上描述的各种功能通过计算机程序被实现和支持,该计算机程序由计算机可读程序代码构成并且包含在计算机可读介质中。短语“计算机可读程序代码”包括任何类型的计算机代码,包括源代码、目标码和可执行代码。短语“计算机可读介质”包括任何类型的、能够由计算机访问的介质,诸如,只读存储器(ROM)、随机存取存储器(RAM)、硬盘驱动器、光盘(⑶)、数字视频光盘(DVD),或任何其他类型的存储器。
[0065]阐述贯穿本专利文档使用的某些词汇和短语的定义可以是有利的。术语“耦合”及其派生词是指两个或者多个元件之间的任何直接或间接通信,不管那些元件是否与彼此物理接触。术语“应用”和“程序”是指一个或多个计算机程序、软件部件、指令集、程序、功能、对象、类、实例、相关的数据、或者其适于在合适的计算机代码中实现的一部分(包括源代码、目标码或可执行代码)。术语“传送”、“接收”和“通信”,及其派生词因此包括直接和间接通信。术语“包括”和“包含”,及其派生词,指无限的包含。术语“或”是包含的,意味着和/或。术语“与……相关联”和“与之相关联”,及其派生词,可指包括、被包括在内、与……互连、包含、被包含在内、连接到或与……相连接、耦合到或与……耦合、与……可传达、与……合作、交错、并列、近似于、绑定或与……绑定在一起、具有、具有……的属性等等。术语“控制器”指控制至少一个操作的任何设备、系统或其部分。控制器可以以硬件、固件、软件或至少两种相同的一些组合实现。与任何特定控制器相关联的功能可以是集中的或分布的,不管本地还是远程。
[0066]虽然本公开已经描述了某些实施例和一般相关联的方法,但这些实施例和方法的变更和置换对那些本领域的技术人员来说将是显而易见的。因此,示例实施例的以上描述不定义或约束本公开。在不脱离如由接下来的要求定义的本公开的精神和范围的情况下,其他改变、代替和变化也是可能的。
【权利要求】
1.一种方法,包括: 响应于检测到与批量过程相关联的事件,在第一控制器处(104a-104b、304a-304b),初始化(405)控制配方的至少一个过程步骤,所述控制配方源自与批量过程相关联的主配方; 在第一控制器处,执行(407)控制配方的所述至少一个过程步骤;以及在执行控制配方的所述至少一个过程步骤时,在第一控制器处初始化(407)控制配方的至少一个第二过程步骤。
2.如权利要求1所述的方法,进一步包括: 响应于在第一控制器处所述至少一个过程步骤的执行,在第二控制器(104a-104b、304a-304b)处,初始化和执行(409)第二控制配方的至少一个过程步骤。
3.如权利要求1所述的方法,其中,初始化源自主配方的控制配方的所述至少一个过程步骤包括,仅拷贝开始控制配方的执行所需要的主配方的一部分到控制配方中。
4.如权利要求1所述的方法,其中,控制配方包括指向主配方中不可修改的数据的指针。
5.如权利要求2所述的方法,其中: 第一和第二控制器通过对等网络(114b、314)被连接;以及 装置特定的数据通过对等网络在第一控制器和第二控制器之间被共享。
6.如权利要求1所述的方法,进一步包括: 在与控制配方中的给定过程步骤相关联的数据将被使用之前分配所述数据。
7.一种系统,包括: 第一控制器(104a-104b、304a-304b),其包括至少一个存储器(105b)和至少一个处理单元(105a),所述至少一个处理单元被配置成: 响应于检测到与批量过程相关联的事件,初始化控制配方的至少一个过程步骤,所述控制配方源自与批量过程相关联的主配方; 执行控制配方的所述至少一个过程步骤;以及 在执行控制配方的所述至少一个过程步骤时,初始化控制配方的至少一个第二过程步骤。
8.如权利要求7所述的系统,其中响应于在第一控制器处所述至少一个过程步骤的执行,至少一个处理单元被进一步配置成使第二控制器(104a-104b、304a-304b)初始化和执行第二控制配方的至少一个过程步骤。
9.如权利要求7所述的系统,其中,所述至少一个处理单元被配置成,仅拷贝开始控制配方的执行所需要的主配方的一部分到控制配方中。
10.一种包含计算机程序的非暂时性计算机可读介质,所述计算机程序包括计算机可读程序代码,用于: 响应于检测到与批量过程相关联的事件,在第一控制器处(104a-104b、304a-304b),初始化(405)控制配方的至少一个过程步骤,所述控制配方源自与批量过程相关联的主配方; 在第一控制器处,执行(407)控制配方的所述至少一个过程步骤;以及 在执行控制配方的所述至少一个过程步骤时,在第一控制器处,初始化(407)控制配方的至少一个第二过程步骤。
【文档编号】G05B19/05GK104303117SQ201380026605
【公开日】2015年1月21日 申请日期:2013年3月11日 优先权日:2012年3月23日
【发明者】J.鲁德尼克, M.G.肯吉, C.布奧纳库奧尔, C.F.基尔帕特里克, K.阿努什科 申请人:霍尼韦尔国际公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1