在过程控制系统中用于用户可配置资源仲裁的系统和方法

文档序号:6292252阅读:184来源:国知局

专利名称::在过程控制系统中用于用户可配置资源仲裁的系统和方法
技术领域
:在第一实施例中,一种系统包括至少一个存储器和至少一个处理器。所述至少一个存储器可用来存储与资源相关联的资源对象。所述至少一个存储器还可用来存储与一个或多个过程的至少一部分相关联的多个请求者对象。所述一个或多个过程与使用资源生产一种或多种产品相关联。所述至少一个处理器可用来在来自多个请求者对象的多个仲裁请求之间进行仲裁。每个仲裁请求表明请求者对象之一正试图获取资源对象以便使用相关联的资源来生产一种产品。所述至少一个处理器可用来使用一个或多个用户定义的策略来在多个仲裁请求之间进行仲裁。在第三实施例中,一种计算机程序被包括在计算机可读介质上,并可用来由处理器执行。计算机程序包括用于创建与资源相关联的资源对象以及用于创建与一个或多个过程的至少一部分相关联的多个请求者对象的计算机可读取程序代码。一个或多个过程与使用资源生产一种或多种产品相关联。计算机程序还包括用于使用一个或多个用户定义的策略在来自多个请求者对象的多个仲裁请求之间进行仲裁的计算机可读程序代码。每个仲裁请求表明请求者对象之一正试图获取资源对象以使用相关联的资源来生成一种产品。通过以下的附图、说明书及权利要求,其他技术特征对所属
技术领域
的技术人员来说是十分显而易见的。图1举例说明了根据本公开内容的示例过程控制系统;图2A至10举例说明了根据本公开内容的在过程控制系统中的示例用户可配置资源仲裁机制;以及图11举例说明了根据本公开内容的在过程控制系统用于用户可配置资源仲裁的方法的示例。具体实施例方式图1举例说明了根据本公开内容的过程控制系统100的示例。图1所示的过程控制系统100的实施例仅仅是举例说明性的。在不脱离本公开内容的范围的情况下可以使用过程控制系统100的其他实施例。两个服务器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例如可以包括一个或多个处理器109和一个或多个存储器111,所述存储器111存储供(一个或多个)处理器109使用的数据和指令(诸如供服务器106a-106b执行的软件)。作为特定示例,处理器109可以包括运行GREENHILLSINTEGRITY操作系统的POWERPC处理器系列中的处理器,或者运行MICROSOFTWINDOWS操作系统的X86处理器系列中的处理器。—个或多个操作者站108a-108b与服务器106a-106b耦合,一个或多个操作者站108c与控制器104a-104b耦合。操作者站108a-108b表示提供对服务器106a-106b的用户访问的计算或通信装置,它于是可以提供对控制器104a-104b和过程部件102a-102b的用户访问。操作者站108c表示提供对控制器104a-104b的直接用户访问的计算或通信装置。作为特定示例,操作者站108a-108c可以允许用户通过使用由控制器104a-104b和/或服务器106a-I06b收集的信息来查阅过程部件102a-102b的操作历史。操作者站108a-108c还可以允许用户调整过程部件102a-102b、控制器104a-104b或服务器106a-106b的操作。每个操作者站108a-108c包括用于支持对系统IOO的控制和用户访问的硬件、软件、固件或其组合。每个操作者站108a-108c例如可以包括一个或多个过程器113和一个或多个存储器115,所述存储器115存储供(一个或多个)处理器113使用的数据和指令(诸如供操作者站108a-108c执行的软件)。在特定实施例中,操作算机。。…'在该示例中,至少一个操作者站108b远离服务器106a-106b。远程站通过网络110与服务器106a-106b耦合。网络110使系统100的各组件之间的通信便利。例如,网络IIO可以在网络地址之间传送网际协议(InternetProtocol,IP)分组、帧中继帧、异步传输才莫式(AsynchronousTransferMode,ATM)单元或其他合适的信息。网络110可以包括一个或多个局i或网(localareanetworks,LAN)、城域网(metropolitanareanetworks,MAN)、广域网(wideareanetworks,WAN)、诸如因特网之类的全部或部分全球网、或位于一处或多个位置处的任何一个或多个其他通信系统。在该示例中,系统100包括两个附加服务器112a-112b。服务器112a-112b执行各种应用以控制系统100的全部操作。例如,系统100可被用于过程或生产工厂或其他机构中,并且服务器112a-112b可以执行用于控制工厂或其他机构的应用。作为特定示例,服务器U2a-112b可以执行诸如企业资源规划(enterpriseresourceplanning,ERP)、制造执行系统(manufacturingexecutionsystem,MES)或任何其他或辅助工厂或过程控制应用之类的应用。每个服务器112a-U2b包括用于控制系统100的全部操作的硬件、软件、固件或其组合。如图1所示,系统100包括支持在系统100的组件之间通信的各种冗余网络114a-114b和单个网络116a-116c。这些网络114a-114b、116a-116c中的每一个表示便于系统100中的部件之间的通信的任何合适的网络或网络组合。网络U4a-114b、116a-116c例如可以表示以太网。在操作的一个方面,过程控制系统100管理涉及共享资源(诸如过程部件102a-102b)的一个或多个过程。作为特定示例,控制器104a-104b和服务器106a-106b可以管理用于生产化学制品或药品的一个或多个过程。一个过程或多个过程中的多个任务在使用过程控制系统100中的特定资源中通常重叠。换句话说,单个资源能够被使用于一个以上的过程或被使用于相同过程中的一个以上的任务。这导致资源的竟争使用,其典型地要求由资源仲裁机制来仲裁对资源的使用。资源仲裁机制选择允许哪个过程或任务使用特定资源以及允许何时使用特定资源。通过使用资源仲裁机制,过程控制系统100可以有助于确保过程和任务更有效或高效地使用过程部件102a-102b及其他资源。根据本公开内容,提供了用户可配置资源仲裁机制。用户可配户;;己置资源仲i策略。用户可配置资源仲裁机制-可以是高度灵活的:诸如通过允许该机制适于不同的控制系统和应用的各种系统和用户选项。用户可配置资源仲裁机制还可以是高度可缩放的(scalable),以及可提供从过程控制系统100中的许多操作的、设计的(engineering)和其他的故障中自动恢复。而且,用户可配置资源仲裁机制可通过确保固定响应时间和专用故障率而被使用于硬和软实时环境。此外,用户可配置资源仲裁机制还可被使用于分布式和非分布式控制系统中,并且可能需要零增长设计精力以供分布式资源而非分布式资源使用。尽管图1举例说明了过程控制系统100的一个示例,但可以对图l作出各种改变。例如,控制系统可以包括任何数目的过程部件、控制器、服务器、操作者站和网络。过程控制系统100的组成和布置也仅仅是说明性的。根据特定需要,组件可以被添加、省略、组合或放置在任何其他合适的配置。此外,虽然被描述为用于生产化学制品或药品,但过程控制系统100可以以任何其他合适的方式^f皮使用。此外,图1举例说明了其中能够使用用户可配置资源仲裁的一个操作环境。用户可配置资源仲裁机制可被使用于任何其他合适的装置或系统。9表1标识在图5中可以结合或使用请求者和资源功能块302-304的部件,以及在特定实施例中那些部件可以结合或使用的请求者和资源功能块302-304的数目。<table>tableseeoriginaldocumentpage18</column></row><table>表1如果请求者功能块302包含于阶段功能块512中,那么请求者功能块302可以使用与阶段的配方控制模块504相关联的标识符以请求资源(诸如顺序控制模块506)。这意味着配方控制模块504的标识符将出现在顺序控制模块506的仲裁队列518中。阶段功能块512典型地使用请求者功能块302来获取顺序控制模块506和控制模块508。如果请求者功能块302包含于配方控制模块504中,那么请求者功能块302可以使用与配方控制模块504相关联的标识符来请求资源。这意味着配方控制模块504的标识符将出现在单元控制模块502的仲裁队列516中。配方控制模块504典型地使用请求者功能块302来获取单元控制模块502。此外,请求者功能块302可以使用其自己的标识符来获取任何合适的资源。标识符可以表示任何合适的值,诸如允许在过程控制系统100中的聚簇(cluster)内唯一标识的INT32值。在一些实施例中,在单元控制模块502和配方控制才莫块504之间可以使用四种连接。表2标识这些连接。<table>tableseeoriginaldocumentpage18</column></row><table>M)M)RCM命令存储UCMRCMCommand(UCM)Command(UCM)运行时间运4亍时间表2仲裁请求连接表示配方控制才莫块504所拥有和使用以发送仲裁请求到与其相关联的单元控制模块502的存储连接。仲裁状态连接表示配方控制模块504所拥有和使用以从单元控制模块502读取仲裁状态的取连接。这两个连接可以在加栽时间或运行时间净皮创建和绑定。在特定实施例中,配方控制模块504与固定单元控制模块502相关联,并且该关系在配置时间被确定,因此当加栽配方控制模块504时创建和绑定这些连接是可能的。在特定实施例中,配方控制模块504能够针对单元控制模块502和顺序控制才莫块506进行仲裁。顺序控制模块506还能够针对控制模块508进行仲裁。对"独占使用"单元控制模块502而言,仅一个配方控制模块504能够在任何给定时间获取和使用单元控制模块502。在一些实施例中,配方控制模块504能够获取仅一个具体单元控制模块502。多于一个配方控制模块504可以请求相同的单元控制;漠块502,但是每次仅一个能够获取并使用单元控制模块502。当前拥有单元控制模块502的配方控制模块504可以被有效控制配方指针514所标识,已经请求单元控制才莫块502的一个或多个配方控制模块504在仲裁队列516中被标识。为了获取单元控制模块502,配方控制模块504可以发送仲裁请求到单元控制;漠块502。所述请求可以包括配方控制才莫块504的批(batch)标识符和标记名称。批标识符标识供过程生产或使用的一批材料或者在过程期间生产或使用的一批(一个或多个)材料。配方控制模块504可以定期性地查询单元控制模块502以获取仲裁请求的状态。当单元控制模块502接收来自配方控制模块504的仲裁请求时,单元控制模块502将仲裁请求安置在有效控制配方指针514或者仲裁队列516中。如果#_安置在仲裁队列516中,那么配方控制;f莫块504的标记名称可以被放置在仲裁队列516的适合位置(slot),并且ACQUIRING状态被返回到配方控制模块504中。当各配方控制模块502获取和幹放单19元控制模块502时,标记名称可以从仲裁队列516中^皮取回并被安置在有效控制配方指针514中。当当前配方控制模块504的执行完成时,配方控制模块504可以生成用于单元控制模块502的RELEASERESOURCE(释放资源)请求。当单元控制模块502接收到请求时,单元控制模块502从有效控制配方指针514中去除配方控制模块504并将配方控制模块504返回到NONH无)状态。同时,单元控制模块502可以在仲裁队列516顶端取得配方控制模块504并将其安置在有效控制配方指针514中。单元控制模块502还诸如通过发送OK状态到配方控制模块504来通知刚被置于有效控制配方指针514中的该配方控制模块504:其已经获取了单元控制模块502。单元控制模块502还可以将仲裁队列516中的任何剩余配方控制模块504向上移动一个位置。当配方控制模块504处于ACQUIRING状态(被列在仲裁队列516中)时,操作者或程序能够取消仲裁请求。例如,单元控制模块502可以包括名为CANCELREQ的参数。操作者或程序能够将配方控制模块504的标记名称存储在CANCELREQ参数中,其请求单元控制模块502从仲裁队列516中去除所标识的配方控制模块504。操作者还能够使用与单元控制才莫块502相关联的图形用户界面取消来自仲裁队列516的仲裁请求,图8中显示了上述示例,如下所述。这还导致所选择的配方控制模块504在CANCELREQ参数中被标识。单元控制模块502可以定期性地检查CANCELREQ参数,从CANCELREQ参数中取得任何配方控制模块504标记名称,并在仲裁队列516中对其进行匹配。如果单元控制模块502查找到匹配,那么单元控制模块502可以从队列516中去除配方控制模块504并向该配方控制模块504返回NONE状态。在特定实施例中,如果配方控制模块504已经获取了单元控制模块502并且正在运行,那么操作者或程序也许不能取消仲裁请求(在这种情况下取消可能需要其他工具)。对于"独占使用"顺序控制模块506而言,配方控制;f莫块504能够获取顺序控制模块506。在一些实施例中,阶段只能获取与那个阶段相链接的顺序控制模块506(诸如由阶段中的"SCM指示"所指定的顺序控制模块506)。如果顺序控制模块506是共享资源(其可以由具有适合选项的单元控制模块502指定,所述适合选项被设置成"独占使用公用"),那么一个以上阶段可以请求单个顺序控制模块506,但每次只有一个阶段能够获取和使用顺序控制模块506。当前拥有顺序控制模块506的阶段被称为"有效阶段",其可以由顺序控制模块506中的APHASE参数标识。类似于单元控制^^莫块502,顺序控制^t块506管理仲裁队列518,所迷仲裁队列518标识在队列中正在等待获取顺序控制模块506的一个或多个阶段。顺序控制模块506可以以与单元控制;f莫块502相同或类似的方式来处理仲裁请求。此外,在由顺序控制模块506接收的仲裁请求中,阶段可能标识与阶段的母体配方控制模块504相关联的单元控制模块502。这允许顺序控制模块506与单元控制模块502连接。当阶段获取顺序控制模块506时,顺序控制模块506将阶段的母体单元控制模块502安置在UCMNAME参数中,并进行到单元控制模块502的连接。在运行时,顺序控制模块506从单元控制模块502取出获取阶段的配方控制模块504的状态。仲裁队列518可以具有队列518中每个仲裁请求的状态字段。在一些实施例中,队列518中的所有请求都能够被监控,每个请求的状态能够被更新。例如,如果请求者(诸如配方控制模块504)和顺序控制模块506是分布式的(诸如在不同的控制器中)并且具有配方控制模块504的控制器被停机,那么在配方控制模块504和顺序控制模块506之间的通信将失败或断线。如果顺序控制模块506没有从配方控制模块504接收到任何通信(例如在指定时间内),那么来自配方控制模块504的仲裁请求的状态可以被设置为"差",并且资源将不会被分配给该请求。如果通信稍后重新开始,那么请求的状态可以祐:i殳置为"好(OK),,,并且请求也#>处理。对于专用顺序控制才莫块506(就是仅供一个配方控制模块504使用的模块)而言,配方控制模块504可以在控制它以前获取顺序控制模块506,即使顺序控制模块506被专用于那个配方控制模块504也是如此。同共享顺序控制模块506—样,多个阶段可以试图获取相同的专用顺序控制模块506(例如当并行阶段执行时这可能会发生),但是每次仅一个阶段能够获取和使用顺序控制模块506。当前拥有顺序控制模块506的阶段2在顺序控制模块506的APHASE参数中被标识。专用顺序控制模块506还可以管理仲裁队列518,所述仲裁队列518标识正在等待顺序控制才莫块506的一个或多个阶段。在特定实施例中,如果顺序控制模块506需要不同网络中的资源(诸如经由对等体基干网络),那么在顺序控制模块506和资源之间可以使用两三个布尔连接。这些可以包括用于获取请求的连接,用于释放请求的连接以及用于GotResource信号的连接。再者,如果一个网络中的配方控制模块504需要不同网络中的顺序控制模块506,那么配方控制模块504中的阶段功能块512也许不能直接控制顺序控制^f莫块506。而是,在相同的网络中可以提供代理顺序控制模块506以作为阶段功能块512。阶段功能块512可以控制代理顺序控制模块506,并且代理顺序控制模块506可以控制其它网络中的顺序控制模块506。此外,配方控制模块504可以包括请求者功能块302阵列,其中阵列的大小等于配方控制模块504所需资源的最大数目。如果配方控制模块504的多个阶段需要相同的顺序控制模块506,那么单个请求者可以在该阵列中被使用。阶段功能块512可以只用名称来指定需要的资源,并且配方控制;f莫块504使用适合的请求者来请求或释放资源。多个阶段功能块512可以命令或者另外使用相同的顺序控制模块506。在一些实施例中,在配方控制;f莫块504中的阶段完成以前,资源(诸如顺序控制;f莫块506)可能或未必^皮要求到达终结状态(诸如完成、终止或终结停止状态)。例如,表3举例说明了资源和配方控制模块504的不同的可能配置或操作。在使用后释放资源等待终结状态备注否否资源继续运行且保持被阶段获取否是资源被阶段再用是否资源继续运行且被阶段释放是是资源不再运行且在阶段完成时被阶段释放表3在特定实施例中,在完成时,阶段报告诸如与它使用的资源相关的参数之类的各历史参数。如果在阶段完成以前资源不需要到达终结状态,则报告历史参数可以被跳过,或者只要SCM起动命令一发布就可以报告历22史参数。表4举例说明了在过程控制系统100中可能的资源仲裁方案(scenario)请求者资源备注包括具有嵌入式请包括嵌入式资源的阶段步骤获取并使用5求者的阶段块的SCMSCMRCM包括具有嵌入式请包括嵌入式资源的阶段步骤(不执行SCM,求者的阶段块的CM但存储参数到其他目的RCM地)获取CM10包括具有嵌入式请包括嵌入式资源的求者的阶段块的CMRCM包括请求者功能块包括嵌入式资源的允许CM执行CM资源仲的CMCM裁(以便开发和测试)15包括请求者功能块包括嵌入式资源的可能需要用于SCM的的SCMCMCM功能(可以使用容器(containment))具有引用请求者功包括嵌入式资源的允许SCM进行CM资源能块的步骤的SCMCM仲裁20包括嵌入式请求者包括嵌入式资源的单元获取的RCMUCM包括嵌入式请求者包括嵌入式资源的配方嵌套(nesting)的RCMRCM25表4表5举例说明了涉及在配方控制模块504中的阶段功能块的可能的资源获取方案。方案获取资源执行在阶段结束释放资源典型阶段SCMSCM是空阶段无无N/A分配SCMSCM无否23<table>tableseeoriginaldocumentpage24</column></row><table>表5表6举例说明了阶段功能块的职能权限(fimctionalpower),其是由它的主要子功能的自由(free)和主要独立的组合产生的。<table>tableseeoriginaldocumentpage24</column></row><table><table>tableseeoriginaldocumentpage25</column></row><table>表6这里,表项中"x"值意指处于该项中的值是什么都无所谓,并且值"CM.ResFB"指的是结合了资源功能块304的控制模块508。此外,如果多个线路申请,那么具有最差状态的线路可以优先。上述说明已经描述了几种能被用于各种请求者和资源的资源仲裁技术,所述请求者和资源被并到图5中的控制模块502-508。这仅仅用于举例说明和解释。其他或另外的资源仲裁技术也能被用于各种请求者和资源,所迷请求者和资源被并到图5中的控制模块502-508。图6A至6C举例说明了用于获取和释放资源(诸如由配方控制模块504使用的资源)的不同的模型。这些模型仅仅用于举例说明。用于获取和释放资源的其他模型也可以被使用。如图6A所示,配方控制才莫块504可以处于非活动(inactive)状态直到被用户或程序激活。配方控制模块504可以直接进入检查状态(Checkingstate)或在4皮验证为处在验证状态之后进入检查状态。检查状态实现任何用户定义的动作。这些用户定义的动作被执行以便在配方控制;漠块504被执行以前满足任何用户需求。用户定义的动作的示例可以在专利号为No.6,317,638的美国专利中找到,并可以包括资源获取功能。在检查状态之后,配方控制模块504可以进入空闲状态。一旦处于空闲状态,配方控制模块504就等待来自用户或程序的"开始,,命令。一旦接收到,那么配方控制模块504就进入运行状态,其中配方控制模块504试图执行并完成其阶段,并且可能获取和释放资源。在此之后,配方控制模块504进入完成状态,其中配方控制模块504可以保持直到由用户或程序复位,在那时,配方控制模块504返回到检查状态。图6B和6C举例说明了图6A所示的过程的具体示例。如图6B所示,一旦处于检查状态,过程控制系统100就测试配方控制才莫块504所需要的资源204是否是可用的(无需实际上获取资源)。如果不是的话,配方控制模块504保持处于检查状态。如果且当资源204可用时,配方控制模块504就进入空闲状态,并且配方控制模块504保持处于空闲状态直到被开始或者直到一个或多个资源204变得不可用。可用资源204的测试可以在任何合适的级别下发生。此外,在其他不太关键的测试之前可能发生更重要的测试(诸如确定关键性顺序控制模块506是否可用)。图7A至7D举例说明了过程控制系统100中的配方控制模块504的大致分布情况。通常,配方控制才莫块504可以包括多个单元配方,所述单元配方定义了过程控制系统100中的单元的生产需求。单元表示相关联的控制模块和设备模块的集合(诸如SCM和CM)。如图7A所示,与相同类相关联的所有单元配方702能够被存储在单个控制器上。这个单个控制器通常可以访问所有单元配方,以及用于定义需要被执行的操作和用于初始化、组织和控制这些操作的算法的单元过程。在图7B中,与相同类相关联的单元配方720可以被存储在多个控制器上。每个控制器还可以访问与那些单元配方720相关联的操作722。定义要跟随进行的全部过程的单元过程724净皮存储在一个控制器上。如图7C所示,每个单元配方750连同其相关联的操作752—起被存储在单独的控制器上。单元过程754^皮存储在一个控制器上。在图7D中,每个单和单元过程784还神皮分布和被存储在单独的控制器中。如上所述,资源仲裁细节能够在与各资源相关联的图形用户接口中被查看。例如,图8显示了与单元控制模块502相关联的图形用户界面800。除了其它,图形用户界面800包括仲裁制表键(arbitrationtab)801,选择仲裁制表键801展现仲裁队列516中任何配方控制模块504的标识符和名称的列表802。图形用户界面800还包括用于标识由有效控制配方指针514所标识的配方控制才莫块504的信息804。使用图形用户界面800,用户可以控制仲裁队列516内的配方控制模块504。例如,用户可以选择并拖拽列表802中的条目以改变队列516中配方控制;^莫块504的次序。用户还可以删除列在仲裁队列516中的配方控制模块504,诸如通过选择一个或多个配方控制模块504并按压键盘上的"删除"按钮或"去除选择的项"按钮806。用户可以通过选择复选框808来任意地选择查看配方控制模块504的参数。图9显示了与顺序控制模块506相关联的图形用户界面900。图形用户界面900标识已经获取或等待获取顺序控制模块506的配方控制模块504(或配方控制模块504的阶段)。在该示例中,图形用户界面900包括当前获取部分卯2,所述当前获取部分902标识当前拥有的顺序控制模块506的(一个或多个)配方控制模块504或(一个或多个)阶段。因为顺序控制模块506表示"独占使用"资源,所以在该示例中显示了单个拥有者,在其他实施例中,顺序控制模块506可以是非独占使用资源,并且多个拥有者可以被列在当前获取部分902中。图形用户界面900还包括未决获取部分904,所述未决获取部分904标识等待获取顺序控制模块506的零个或多个配方控制模块504或(一个或多个)阶段。这些(一个或多个)配方控制才莫块504或(一个或多个)阶段被列在仲裁队列518中。用户可以通过选择复选检查框906来任选地选择以查看配方控制才莫块504或阶段的参数。在一些实施例中,仲裁队列516和518的使用是用户可配置的。在特定实施例中,单元控制-漠块502中的仲裁队列516总是"独占使用"的,顺序控制模块506中的仲裁队列518可以使用顺序控制模块506的配置形式来予以定义。仲裁队列518的选项可以包括"无,,(不需要资源分配);"专用"(SCM专用于已被分配给请求RCM的相同UCM);"排它共享"(SCM被多个UCM共享,但是在任一时间点仅一个UCM能够是有效的);以及"非排它共享,,(SCM被多个UCM共享,并且在任一时间点多个UCM和RCM都能够是有效的)。28在过程控制系统100中能够出现各种错误恢复方案,并能够由资源仲裁机制来处理。例如,请求者也许不能获取缺少队列206的资源204。在这种情况下,请求者可以监视资源204的所有权信息。资源204—变为可用的,请求者就可以重发它的请求,所述请求被资源204正常兌付(hornored)。如果资源204不能被获取(诸如当两个或多个请求者处于相同的情况),那么这个过程可以重复直到资源204被获取。该方案没有不利作用,并且恢复可以是完全自动的。请求者还可以被排队在仲裁队列516或518中,但可能被具有较高优先权的请求者挤出队列。这里,请求者可以诸如可以以定期的方式之类的重复它的请求。当队列516或518再次具有一个或多个空闲位置时,请求将被放入到队列516或518中。当资源204变为可用并且请求者是队列516或518中的第一个请求者时,资源204将被分配给该请求者。再次地,该方案也没有不利作用,并且恢复可以是完全自动的。在请求者获取资源204时资源204还可能被非期望地删除。请求者可以通过现有的连接来识别资源204的缺乏,所述现有的连接返回通信错误。如果请求者是独立的请求者(请求者功能块302),那么不再需要其它动作。如果请求者被嵌入到配方控制模块504或阶段功能块512中,那么可以以任何合适的方式来传送错误,并且合适当的响应可以发生(诸如配方控制模块504进入"保留(Held)"状态)。还有可能的是,请求者以有次序或无次序的方式已经获取了资源204,然后被终止或删除。例如,在独立请求者功能块302和配方控制模块504下(如果在RCM或其阶段功能块512没有释放所有资源的状态下RCM能够被删除),请求者的有次序的删除可能发生。在该方案中,在删除操作期间,请求者可以发送释放请求到资源204,删除操作可以被延迟直到释放请求已净皮资源204确认为止。如果释放请求未^皮确认,那么29删除操作能够被拒绝。此外,当配方控制模块504到达终结状态时,配方控制模块504可能没能释放阶段块512所获取的所有资源204。例如,如果用户把任何阶段块512配置成在使用之后不释放顺序控制;f莫块506,并且在终结状态以前没有其它阶段块512释放顺序控制模块506,那么这可能会发生。如果用户没有把配方控制才莫块504配置为执行被配置成用来释放顺序控制模块506的阶段块512,或如果配方执行采用其中没有执行阶段块512释放顺序控制模块506的路径,那么这也可能发生。这可能表示用户的故意行为,或者可能表示错误的或非故意的结果。如果是故意的,那么用户可以改变并重新执行配方控制模块504使得执行被配置成释放顺序控制模块506的阶段块512。如果是非故意的,那么用户可以强加阶段块512的RELIN参数以强制释放资源204,或者用户可以设置配方控制才莫块504中的选项以在到达终结状态之后释放所有资源204。在特定实施例中,过程控制系统100连续发出(serialize)对功能块参数的所有存储请求。资源仲裁机制可以信任该特征,所有资源请求和释放处理可以在参数的存储功能接收请求期间被执行。请求可以是原子的(atomic),以及仅仅请求者具有执行这些存储操作的能力。其他块可能缺少具有正确结构类型的适合的连接器。如果在执行资源204的单个周期内或在不能通过事件处理来解决的时间(诸如,小于1秒)内发生多个请求,那么这些请求可以以伪随机的方式被连续发出(从用户的角度来看)。如果请求者和资源204分布在过程控制系统100的一个聚簇(cluster)内,那么请求者的请求可以以异步的方式被执行。请求者等待至少等于完成全程的时间周期(存储请求从请求者到资源204的行程时间加上存储结果从资源204到请求者的行程时间)。尽管请求者可以监视资源204的参数,但如果资源204立刻履行获取请求则请求者无须依赖该参数。在这种情况下,请求者可以使用返回结果以继续执行。否则,在存储的返回结果变为对用户可用以前,请求者可以对所监视的参数起作用(如果参数承载了关于成功获取的信息)。如果请求者和资源204处在不同的聚簇或第三方应用中,那么因为用于原子处理所需要的结构化数据存储未必4皮执行,所以直接地对资源204的仲裁未必是可能的。在这种情况下,能够使用目标聚簇内的代理请求者来实现仲裁。一些请求者(诸如独立请求者功能块302)能够通过用标量数据存储来控制。所需的标量数据(诸如布尔值和整数值)可以在所有字段总线上被传输,并且可由过程控制系统100中的所有接口来加以支持。往返于代理请求者的值传输所需的附加时间和代理请求者执行所需的附加时间(其可以是二或执行周期)能够由请求者来加以考虑。图11举例说明了根椐本公开内容的在过程控制系统中用于用户可配置资源仲裁的示例方法1100。为了便于说明解释,相对于图1的过程控制系统100来描述方法1100。所述方法1100可被用于任何其他合适的装置或系统。在步骤1102请求者向资源传送仲裁请求。例如,这可以包括请求者功能块302向资源功能块304传送仲裁请求。作为特定示例,这可以包括配方控制模块504向单元控制模块502、顺序控制模块506或控制模块508传送仲裁请求。如果在步骤U04仲裁请求失败,那么请求者可以返回到步骤1102以传送另一仲裁请求。仲裁请求可以因许多原因而失败,诸如获取的200780029911.5资源204没有队列206或者具有满的队列206。请求者可以通过检测FAIL(失败)状态消息来确定仲裁请求是否失败。在步骤1106如果仲裁请求没有成功,那么请求者的仲裁请求已经被放入资源204的队列206中,并且请求者进入ACQUIRING状态。如果请求者现在拥有资源204,那么仲裁请求可能成功。请求者可以通过检测OK状态消息来确定仲裁请求成功。在步骤1108请求者可以查询资源204关于它的仲裁请求的状态。这例如可以包括请求者重新向资源204传送它的仲裁请求。只要请求者还没有确定它的仲裁请求已成功还是失败,那么请求者就可以重复地或定期性地查询资源204。在成功的仲裁请求之后,请求者已经获取了资源204。在步骤1110请求者然后使用该资源。请求者可以以任何合适的方式来使用资源204。例如,资源204可以表示顺序控制才莫块504,请求者可以表示配方控制模块504。在这种情况下,配方控制模块504可以将顺序控制模块504安置为适合的模式,将程序公式参数安置到顺序控制模块504中,并命令顺序控制模块504开始操作。配方控制模块504还可以查询顺序控制模块504的状态并确定顺序控制模块504何时进入终结状态。—旦资源使用完成,那么在步骤1U2请求者就能够复位该资源。这例如可以包括请求者传送复位请求到资源204。在步骤1114请求者确定复位是否成功。如果不成功,请求者可以返回到步骤1112以重复该复位。否则,在步骤1116请求者释放资源。这例如可以包括请求者传送释放请求到资源204并接收表明释放成功或失败的消息。如果失败,那么可以调用适当的警告或恢复机制。尽管图ll举例说明了在过程控制系统中用于用户可配置资源仲裁的方法1100的一个示例,但可以对图11作出各种修改。例如,根据特定需要可以添加、省略或组合各种步骤。在步骤1102重复仲裁请求或者在步骤1112复位请求以前还可能逝去一段时间,诸如五到三十秒的一段时间。此外,请求者被显示为在确定是否它成功之前,确定仲裁请求是否失败。这仅仅为举例说明。这些步骤可以被颠倒或可以并发发生。阐述在整个本专利文献中所使用的某些词和短语的定义可能是有利的。术语"耦合"及其派生物涉及两个或多个部件之间的任何直接或间接通信,无论那些部件是否在物理上彼此接触。术语"应用"和"程序"涉及适于在适合的计算机代码(包括源代码、目标代码或可执行代码)中实现的一个或多个计算机程序、软件组件、指令集、过程、功能、对象、类、实例、相关数据或其一部分。术语"发送"、"接收"和"传送"及其派生物包括直接和间接的通信。术语"包括"和"包舍"及其派生物意指包括而无限制。术语"或者"是包括在内的,意指和/或。短语"与...相关联"和"与其相关联"及其派生物意指包括、包括在...内、与...互连、包含、包含在...内、连接到或与...连接、耦合到或与...耦合、与...可通信、与...合作、交织、并列、与...紧邻、绑定到或与…绑定、具有、具有...性质等。术语"控制器"意指控制至少一个操作的任何设备、系统或其部分。控制器可以以硬件、固件、软件或其至少两种的某种组合来实现。与特定控制器相关联的功能可以是集中式的或分布式的,无论本地地或远程地。虽然本公开内容已经描迷了某些实施例和通常相关联的方法,但对本领域的技术人员而言对这些实施例和方法所作的改变和置换是显而易见的。因此,上述对示例性实施例的说明不规定或约束本公开内容。在不脱离如下述的权利要求所定义的本公开内容的精神和范围的情况下还可以作出其他改变、置换和变更。权利要求1.一种系统,包括至少一个存储器(107,111,115),可用来存储(i)与资源相关联的资源对象(204)和(ii)与一个或多个过程的至少一部分相关联的多个请求者对象(202a-202n),所述一个或多个过程与使用所述资源生产一个或多个产品相关联;以及至少一个处理器(105,109,113),可用来在来自多个请求者对象(202a-202n)的多个仲裁请求之间进行仲裁,每个仲裁请求表明请求者对象(202a-202n)之一正试图获取所述资源对象(204)使得使用相关联的资源来生产所述产品之一,所述至少一个处理器(105,109,113)可用来使用一个或多个用户定义的策略来在多个仲裁请求之间进行仲裁。2.根据权利要求1所述的系统,其中所述一个或多个用户定义的策略包括下述至少一个与每个请求者对象(202a-202n)相关联的优先权;能够并发地拥有所迷资源对象(204)的请求者对象(202a-202n)的最大数目;以及与所述资源对象(204)相关联的用户定义的队列(206),所述队列(206)具有用户定义的数目的条目。3.根据权利要求1所述的系统,其中每个请求者对象(202a-202n)可用来重复地提交对资源对象(204)的仲裁请求直到所述资源对象(204)被获取;重复的仲裁请求不引起多次获取所迷资源对象(204)以及不要求多次释放所述资源对象(204);以及所述一个或多个用户定义的策略包括以下至少一个每个请求者对象(202a-202n)可用来提交对所述资源对象(204)的仲裁请求的次数;以及在对所述资源对象(204)的仲裁请求的提交之间的时间周期。4.根据权利要求1所述的系统,其中所述资源对象(204)包括多个资源功能块(304);所述请求者对象(202a-202n)包括多个请求者功能块(302);至少一个请求者功能块(302)被并到与用于生产一批所述产品之一的过程相关联的配方控制模块(504)中,所述过程包括多个阶段;以及至少一个资源功能块(304)被并到以下至少一个中单元控制模块(502),与一件处理设备(510)相关联;以及顺序控制模块(506),可用来实现所述阶段之一。5.根椐权利要求4所述的系统,其中所述配方控制模块(504)可用来获取所述单元控制模块(502)以使用该件处理设备(510)发起生产该批产品;以及所述配方控制模块(504)可用来获取所述顺序控制模块(506)以发起所述阶段之一的执行。6.根据权利要求5所迷的系统,其中多个配方控制模块(504)可用来请求获取所述单元控制模块(502);所述配方控制模块(504)之一的多个阶段可用来请求获取所述顺序控制模块(506);所述单元控制模块(502)包括可用来标识已经获取所述单元控制;f莫块(502)的所述配方控制模块(504)的指针(514);以及可用来标识等待获取所迷单元控制模块(502)的一个或多个配方控制冲莫块(504)的队列(516);以及所述顺序控制模块(506)包括可用来标识等待获取所述顺序控制模块(506)的一个或多个阶段的第二队列(518)。7.根据权利要求6所述的系统,其中所述指针(514)和所述队列(516)的内容可由用户使用与所述单元控制模块(502)相关联的第一图形用户界面(800)查看和修改;以及所述第二队列(518)的内容可由用户使用与所述顺序控制模块(506)相关联的第二图形用户界面(900)查看。8.—种方法,包括创建与资源相关联的资源对象(204);创建与一个或多个过程中的至少一部分相关联的多个请求者对象(202a-202n),所述一个或多个过程与使用所述资源生产一个或多个产品相关联;把来自多个请求者对象(202a-202n)的仲裁请求提交给所述资源对象(204),每个仲裁请求表明所述请求者对象(202a-202n)之一正试图获取所述资源对象(204)使得使用相关联的资源来生产所述产品之一;以及使用一个或多个用户定义的策略在来自多个请求者对象(202a-202n)的多个仲裁请求之间进行仲裁。9.根据权利要求8所述的方法,其中所述资源对象(204)包括多个资源功能块(304);所述请求者对象(202a-202n)包括多个请求者功能块(302);以及所述方法还包括将至少一个请求者功能块(302)并到与用于生产一批所述产品之一的过程相关联的配方控制模块(504)中,所述过程包括多个阶段;以及将至少一个资源功能块(304)并到下述至少一个中单元控制模块(502),与一件处理设备(510)相关联;顺序控制模块(506),可用来实现所述阶段之一。10.根据权利要求9所述的方法,还包括由所述配方控制模块(504)获取所述单元控制模块(502)以发起使用该件处理设备(510)来生产该批产品;以及由所述配方控制模块(504)获取所述顺序控制模块(506)以发起所述阶段之一的执行;11.根据权利要求IO所迷的方法,其中提交所述仲裁请求包括多个配方控制才莫块(504)请求获取所述单元控制模块(502);以及所述配方控制才莫块(504)之一的多个阶段请求获取所迷顺序控制才莫块(506);所述单元控制模块(502)包括可用来标识已经获取所述单元控制模块(502)的所述配方控制模块(504)的指针(514);以及可用来标识等待获取所述单元控制^f莫块(502)的一个或多个配方控制模块(504)的队列(516);以及所述顺序控制模块(506)包括可用来标识等待获取所述顺序控制模块(506)的一个或多个阶段的第二队列(518)。全文摘要一种系统包括至少一个存储器(107,111,115)和至少一个处理器(105,109,113)。至少一个存储器(107,111,115)可用来存储与资源相关联的资源对象(204)。至少一个存储器(107,111,115)也可用来存储与一个或多个过程的至少一部分相关联的多个请求者对象(202a-202n)。所述一个或多个过程与使用资源生产一种或多种产品相关联。至少一个处理器(105,109,113)可用来在来自多个请求者对象(202a-202n)的多个仲裁请求之间进行仲裁。每个仲裁请求表明请求者对象(202a-202n)之一正试图获取资源对象(204)使得使用相关联的资源生产所述产品之一。至少一个处理器(105,109,113)可用来使用一个或多个用户定义的策略来在多个仲裁请求之间进行仲裁。文档编号G05B19/418GK101501592SQ200780029911公开日2009年8月5日申请日期2007年6月12日优先权日2006年6月14日发明者J·赵,J·鲁德尼克申请人:霍尼韦尔国际公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1