在最少控制中断情况下同步冗余控制器的系统和方法

文档序号:6278512阅读:137来源:国知局
专利名称:在最少控制中断情况下同步冗余控制器的系统和方法
技术领域
本发明在总体上涉及过程控制系统,具体地说,本发明涉及过程控制系统以及操纵该系统的方法,从而在主控制器有最少控制中断的情况下同步主控制器与辅控制器。
有多种处理设备(例如制造厂、石油或原油精炼厂)是用分布式控制系统来管理的。目前典型的控制系统包括多种模块,它们用于监视和/或控制所述设备的各个处理过程。用通常的装置将这些模块连到一起,以形成该控制系统的分布式特性。这就能提供提高了的效率从及使该控制系统扩展或缩减以满足所述设备变化的要求的能力。
诸如Honeywell公司之类的处理设备管理提供商开发了这样的控制系统,它可满足多种处理要求(例如全局、局部或其它要求)以及设备的类型(如制适、存储、精加工等)。这种提供商有两个主要的目的。第一个目的是对尽可能多的处理过程进行集中控制,以提高设备的整体效率。第二个目的是支持共用的接口,该接口可在对所述处理过程进行控制或监视的多个模块中传递数据并且还与这种集中控制器或操作中心沟通数据。
每一处理过程或一组相关的处理过程均具有与之相关的一个或多个输入特征(例如流、供给、电力等)以及一个或多个输出特征(例如温度、压力等)。业已用模型预测控制(MPC)技术去根据这些特征优化某些处理过程。一种MPC技术使用了表示某些过程的算法去估算与这些处理过程有关的特征值(表现为参数、变量等),这些值可用于更好地控制上述处理过程。最近几年,已将物理、经济和其它因素包括进了用于这些相关处理过程的控制系统中。
题为“用范围调整进行多变量预测控制的方法”的美国专利第5351184号、题为“在多变量预测控制器中实现独立前馈控制的方法”的美国专利第5561599号、题为“用范围调整对多变量预测控制进行最优控制器设计的方法”的美国专利第5572420号以及题为“用范围调整对多变量预测控制器中的变量进行最优调整的方法”的美国专利第5574638号中说明了上述技术的实例,本发明的代理人以共有的方式拥有这些专利,本文引用了这些专利(以上颁布的专利在下文中总称为“Honeywell专利”)。
用于对处理过程进行监视和控制的分布式控制系统通常通过共用的通讯通路例如通过局域网(LAN)结构或通过广域网(WAN)结构连接起来。在发请求的节点需要来自应答节点的数据时,发请求的节点就在网络上发出对数据的请求,然后,进行应答的结点在网络上返回数据。许多过程控制系统均使用了包括有一种或多种过程控制网络的监管控制LAN或WAN。所述过程控制网络包含有上述监管控制网络和其它处理过程控制网络所需要的基本原始数据。
一般地说,监管控制器用通讯驱动器与一组通用的过程控制器相连,所述驱动器与相连的特定过程控制器相匹配。监管控制器将上述过程控制器的基本数据映射进由监管控制器所控制的同构数据库内,以便由各个过程控制器或由监管控制器正执行的任何客户应用程序来进行一致性存储和访问。
为了提高处理设备的整体可靠性,通常使用冗余的过程控制器。通常的实施形式是主过程控制器与辅过程控制器之间1∶1的冗余量。在例行操作中,主过程控制器对选定的过程进行控制、从受控的过程中收集处理数据(如温度、压力等)并将处理数据传给监管控制器和其它过程控制器。辅过程控制器相对控制和参数访问保持静止,但必须与来自主过程控制器的信息相同步(或用该信息来加以更新),因此,辅过程控制器可在主过程控制器出故障的情况下立即接管主过程控制器。
但是,在许多先有技术的系统中,主过程控制器与其相关辅过程控制器的同步是一种很困难的过程。在许多先有技术的系统中,在辅过程控制器联机之后,在将主过程控制器的存储器的内容传给辅过程控制器的存储器的时,受控过程会停止几秒至多秒的时间。在许多系统中,这是一种不可接受的状态。因为,一个或多个客户过程控制器可能要求来自另一个服务器过程控制器的处理数据的最新值能在任何时间都是立即可用的。
在先前的过程控制系统中,必须按非常高的刷新率将控制数据提供给一个过程或其它控制器。这些系统中的主过程控制器有非常短的基本控制周期,一般小于100毫秒。如果更新辅过程控制器中的数据所需的时间太长,则可跳过主过程控制器的一个或多个基本控制周期,以便完成对辅过程控制器的数据传递。这通常也是不可接受的。
所以,在本技术中需要改进的过程控制器,这种控制器能使得一个或多个客户应用程序更快地访问信息。具体地说,在本技术中需要改进型的冗余过程控制器,这种控制器能使辅过程控制器在主过程控制器出故障时无缝地对处理过程进行控制。更具体地说,在本技术中需要改进型的冗余过程控制器,这种控制器能在不中断主过程控制器所执行的前台操作的情况下用来自主控制器的处理数据更新辅过程控制器。
为了解决先有技术的上述不足,本发明提供了这样一种系统,该系统可保持主过程控制器与后备过程控制器之间数据的一致性,所述主过程控制器可执行过程控制任务,而所述后备过程控制器则可在出现故障时代替主过程控制器,其中,主过程控制器可在具有时间T的基本控制周期内周期性地执行过程控制任务。上述系统包括1)一跟踪电路,它可检测主过程控制器中的主存储器内变化了的数据;2)一数据缓存器,它用于暂时存储变化了的数据;以及,3)数据传送电路,用于在主处理过程控制器的各个基本控制周期中将数据缓存器中变化了的数据至少传递一次给后备过程控制器中的后备存储器,因此,对改变了的数据的传送不会干扰对过程控制任务的执行。
在本发明的一个实施例中,数据缓存器小的足以在基本控制周期内完成对改变了的数据的传送。
在本发明的另一个实施例中,跟踪电路检测主过程控制器的主存储器中的写操作。在本发明的又一个实施例中,跟踪电路检测主过程控制器的主存储器的选定共享地址空间中的写操作。
在本发明的还一个实施例中,数据传送电路在数据缓存器满时传送数据缓存器中改变了的数据。
在本发明的再一个实施例中,数据传送电路在操作的初始阶段通过将选定的共享地址空间的多个子区域从主存储器传送到后备存储器直至将主存储器的所有选定的共享地址空间均传给了后备存储器从而形成主存储器的选定共享地址空间与后备存储器之间的数据一致性。
在本发明的又一个实施例中,跟踪电路检测在操作的初始阶段仅检测选定共享地址空间的先前已被传给后备存储器的子区域内的变化数据。
以上内容相当广义地概述了本发明的特征和技术优点,因此,本领域的技术人员能更好地理解本发明下述详细说明。以下构成本发明权利要求的主题的内容说明了本发明的其它特征和优点。本领域的技术人员应该认识到,他们能很容易地将所公开的概念和特定实施例用作改进或设计实现本发明同样目的的其它结构的基础。本领域的技术人员还应该认识到,这些等价的结构在最广义的形式上未脱离本发明的精神和范围。
为了更完全地理解本发明及其优点,连同附图参照以下的说明,在附图中,相同的标号表示相同的对象,在附图中

图1说明了一种处理设备的框图,依照本发明原理的控制系统可同该设备一道使用;图2说明了本发明一个实施例的示例性冗余过程控制器;图3A是一示例性的时序图,它说明了依照本发明一个实施例在操作的初始同步阶段传送过程控制数据;图3B是示一例性的时序图,它说明了依照本发明一个实施例在操作的同步维持阶段传送过程控制数据;图4是一流程图,它说明了依照本发明一个实施例在在操作的初始同步阶段内一个基本控制周期的执行操作中主控制处理器模块的操作;图5是一流程图,它说明了依照本发明一个实施例在在操作的同步维持阶段内一个基本控制周期的执行操作中主控制处理器模块的操作。
从下所说明的图1至图5以及在本专利文件中用于说明本发明原理的各个实施例均仅为说明性的,而不是按任何限制本发明范围的方式构造出来的。本领域的技术人员应该认识到,可在任何适当设置的处理设备内实现本发明的原理。
图1说明了处理设备100的框图,可在该设备内实施依照本发明原理的控制系统。示例性处理设备100对原料进行处理并包括控制中心105和设置在三个工作台内的六个相关处理过程即部件110a一110f。术语“包括”正如在本文中使用的那样是指无限制地包括。示例性的控制中心105可包括一中心区,它通常由操作员(未示出)来操纵,以便监视和控制三个示例性的处理工作台。第一个处理工作台包括三个原料研磨器110a-110c,它们接收“供给”的原料并用粉碎机或研磨轮将原料研磨成较小的原料颗粒。第二个处理工作台包括一洗涤器110d,它接收磨碎的原料并对其进行清洗以除去来自第一工作台的残渣。第三个处理工作台包括一对分离器110E和110f,它们接收磨碎的、清洗过的原料并将其分离成预定的矿物和任何剩余的原料。由于这种处理设备仅用于说明的目的,并且,该设备的原理是周知的,故对该设备的进一步说明超出了本专利文献的范围并且是不必要的。
示例性的控制系统包括一监管控制器120和六个处理节点或过程控制器125a-125f,每个过程控制器均以软件的形式实现并可由诸如Honeywell公司的AM K2LCN、AM K4LCN、AM HMPU、AXM或类似系统之类的适当的通常计算系统(独立的或网络的)来加以执行。本领域的技术人员应该认识到,可用硬件、软件或固件或它们的适当组合形式来实现这类控制器。一般地说,在用于处理设备的控制系统内使用计算系统是周知的。
监管控制器120与各个过程控制器125直接或间接地相关,以便互换信息。正如本文所使用的那样,术语“与…相关”及其派生词是指包括在…内、与…互连、包含、被包含在…内、与…相连、与…连接、可与…相通讯、与…相配合、插入、是…的特性、与…相接合、具有、有…的属性或类似的意思。监管控制器120通过与处理过程110相关的过程控制器125直接或间接地监视相关过程110的特征(例如状态、温度、压力、流速、电流、电压、功率、利用率、效率、成本和其它经济因素等)。根据特定实现形式的不同,所述监视可以是对单个处理过程的监视、对一组处理过程的监视或者整个设备的监视。
监管控制器120通过过程控制器125与相关过程110相通讯并生成监管数据,以优化处理设备100。本文中所使用的术语“监管数据”被定义为由监管控制器120生成的任何的数字、定性或其它值,以便控制(引导、管理、修改、建议、调整、提议、监管、配合等)例如特定的处理过程、一组处理过程、整个的设备、处理过程的步骤、一组步骤、一系列处理过程或步骤等,以使整个的设备达到最佳。在一个最佳实施例中,监管数据是动态生成的并且至少是以给定的设备效率、产量或经济成本为基础,最好以这三者为基础。
过程控制器125监视相关过程110并根据监管数据以可变的程度进行操作,以控制相关的处理过程,具体地说,是修改一个或多个处理过程并作为整体改善所监视的特征和设备。监管控制器120与各个过程控制器125之间的关系可以是主一从关系(完全服从关系)、配合关系(可变的服从关系,例如将监视数据作为控制相关过程时的一个因素)或完全无关关系(非服从关系)。根据特定的实施形式和给定设备要求的不同,监管控制器120与具体过程控制器125之间的关系可以是静态的(即仅为服从、配合或非服从关系中的一种)、动态的(诸如在服从关系与非服从关系之间的范围内或在这两者之间的某个较小的范围内随时间而变)或者在静态与动态之间转换。
图1作为简单的逻辑框图仅从说明的角度示出了与处理过程110a-f相连的过程控制器125a-f。实际上,过程控制器125a-f可在处理设备100中实现为多种装置中的任何一种。在这个最简单的实施例中,示例性的过程控制器125可以是微控制器电路,它形成在电路板并被集成在要加以控制的处理过程110中的一个内(即分离器、洗涤器或研磨器的一部分)。在其它实施例中,示例性的过程控制器125可以是诸如个人计算机(PC)之类的独立计算机,它远离受控的处理过程110并通过总线结构与之相连。
在更为复杂的实施例中,示例性的过程控制器125可以是通过网络结构与一个或多个处理过程110相连的网络节点。监管控制器120可将包含有示例性过程控制器125及其相关处理过程110的网络看作是一个功能组。最后,示例性的过程控制器125可以是一组过程控制器及其相关的处理过程110,它们通过网络连在一起。监管控制器120可将上述用网络连在一起的一组过程控制器及其相关的处理过程看作是一个功能组。
过程控制器125a-f可生成由监管控制器120为多种目使用的处理数据,包括生成监管数据并将处理数据分发给一个或多个客户应用程序。处理数据还可被生成它的过程控制器125所使用,以控制相关的处理过程110。例如,过程控制器125可从处理过程110中读出诸如温度、压力、流速等之类的物理参数数据并使用这些处理数据中的某些或全部而且可能使用某些监管数据以控制处理过程110。这在靠反馈控制的过程特别是如此。
可在过程控制器125a-f之间如在LAN网络中那样按对等的关系直接传递处理数据。例如,控制洗涤器(部件110d)的过程控制器4可以从控制研磨器1-3的过程控制器1-3中请求处理数据,以便确定从研磨器1-3中输出的磨碎的原料的速度。从而,洗涤器可调节它洗涤磨碎的材料的速度。例如,在发送给洗涤器的磨碎的原料量较低时,洗涤器就可降低用于对磨碎的原料进行洗涤的功率。洗涤器甚至可以暂时关闭,以便在继续洗涤之前“保持和等待”累积起适当量的研磨的原料。
在本发明的某些实施例中,监管控制器120可以包括LAN、一组相连的LAN或WAN结构。在LAN/WAN结构的节点上执行一个或多个客户应用程序。例如,所述结节可以是个人计算机(PC)。客户应用程序可均需要按同样的更新速率传送来自主过程控制器的同样处理数据和监视数据。但是,更可能的情况是,客户应用程序需要不同的处理数据和监管数据、可能交叉的处理数据和监管数据、处理数据和监管数据的子集并且需要将处理数据和监管数据按不同的更新速率传给不同的客户应用程序。
为了提高处理设备100的整体可靠性,可将一个或多个过程控制器125a-f实现为冗余过程控制器。也就是说,一个或多个过程控制器125a-f可实际包括一主控制处理器模块和一辅控制处理器模块,从而,主控制处理器模块执行与处理过程110a-f相关的前台控制任务,而辅控制处理器模块则相对处理过程110a-f保持从动,但可用来自主控制处理器模块的“同步”数据来加以不断地更新。为了便于主辅控制处理器模块的互操作,本发明提供了一种改进型的冗余过程控制器,它可最小限度地中断主控制处理器模块执行的前台任务,同时能保持与辅控制处理器模块的同步(或数据一致性)。
图2说明了本发明一个实施例的示例性冗余过程控制器125a。过程控制器125a包装一主控制处理器模块200以及一辅控制器模块250。主控制处理器模块200包括处理器205和主RAM220,它们可相对研磨器1(即处理过程110a)执行过程控制器125所执行的例行控制函数。主控制处理器模块200中的网络接口230通过网络链路240接收来自研磨器1和处理设备100其余部分的数据和控制信号并通过网络链路240将数据和控制信号发送给研磨器1和处理设备100其余部分。辅控制处理器模块250也包括处理器255和主RAM270,它们能执行主控制处理器模块200中的处理器205和主RAM220所执行的同样的过程控制函数。辅控制处理器模块250中的网络接口200通过网络链路240接收来自研磨器1和处理设备100其余部分的数据和控制信号并通过网络链路240将数据和控制信号发送给研磨器1和过程过程处理设备100其余部分。
术语“主”和“辅”相对主控制处理器模块200和辅控制处理器模块250来说是任意的。术语“主”和“辅”是配置而不是固定硬件结构的函数。在本发明的一个最佳实施例中,所述两个模块在功能上可以互换。每个模块都可以相对研磨器1是主动的“主”控制器,每个模块也都可以相对研磨器1是从动的“辅”控制器。也就是说,如果主控制处理器模块200出故障,则辅控制处理器模块250会作为研磨器1的主动控制器来取而代之。在修理主控制处理器模块200时,辅控制处理器模块250可保持是研磨器1的主动控制器,同时,被修理的主控制处理器200成为从动(或辅)控制器。另外,在主控制处理器模块200修理好时,辅控制处理器模块250可恢复成是研磨器1的从动控制器,同时,修理好的主控制处理器200再次成为研磨器1的主动控制器。
为了使主控制处理器模块200与辅控制处理器模块250相同步,主控制处理器模块200使用了跟踪器210、FIF0 215以及与网络接口230相关的数据缓存器225。辅控制处理器模块250也包括跟踪器260、FIF0265以及与网络接口280相关的数据缓存器275。
跟踪器210是一控制器硬件引擎,它可检测并捕获处理器205对主RAM220的写操作。主RAM220和主RAM270的相应部分被设计成“逻辑共享存储器”,在主控制处理器模块200和辅控制处理器模块250中必须将该存储器保持成同样的状态。所以,必须将主RAM220的逻辑共享存储器部分的初始拷贝传给主RAM270并在此后加以不断地更新,以便获得并保持主控制处理器模块200与辅控制处理器模块250之间的“同步”(或数据一致性)。
在跟踪器210有效时,将对主RAM220的逻辑共享存储器的所有写操作均复制进FIF0215,FIF0的长度例如是512字节。在FIF0215满时,将FIF0215的内容传给数据缓存器225。长度例如为四千字节的数据缓存器225积累FIF0215的数据,以便以后通过网络接口230、冗余通讯桥290和网络接口280传给辅控制处理器模块250中的数据缓存器275。为了避免等待通知传送来自数据缓存器225的数据,本发明的一个最佳实施例实现了数据缓存器225的多缓冲配置,因此,对积累FIF0215数据来说,缓存器总是可用的。
正如以下详细说明的那样,在操作的初始同步阶段,按称为“同步数据”的连续数据块来传送主控制处理器模块200的所有逻辑共享存储器部分,在主控制处理器模块200中每个基本控制周期的执行操作中传送一次。将同步数据连续地传给辅控制器模块250,直至将逻辑共享存储器的一个完整拷贝被拷贝进辅控制处理器模块250的主RAM270。此后,当主RAM220的逻辑共享存储器部分发生变化时,跟踪器210就捕获写操作并将其存进数据缓存器225(通过FIF0215)。然后,将数据缓存器225中称为“跟踪数据”的改变了的数据传给辅控制处理器模块的主RAM270,至少在主控制处理器模块200的每个基本控制周期传递一次。
图3A是示例性时序图,它说明了依照本发明一个实施例在操作的初始同步阶段传送过程控制数据。时序图300示出了从主控制处理器模块200中一个完整示例性基本控制周期的起点t0至终点t1的执行操作。在本发明的一个最佳实施例中,一个基本控制周期执行操作具有五十(50)毫秒的时间。
一个基本控制周期执行操作包括冗余函数段、输出存储/输入获取段、功能块处理段、存储器管理器段、诊断段以及响应器程度函数段。冗余函数段负责在基本控制周期的开始时将同步数据从主控制处理器模块200发送给辅控制处理器模块250。例如,在这一段中,将数据从主RAM220中拷贝至4千字节的数据缓存器225。然后,将满的数据缓存器225的内容作为4千字节的数据块传给辅控制处理器模块250。
在初始同步阶段不断地传送同步数据,直至将主RAM220中的逻辑共享存储器空间的一个完整拷贝传给主RAM270。为了使对主控制处理器模块200执行的前台控制功能的干扰达到最小,在初始同步阶段每个基本控制周期仅传送同步数据一次。
在本发明的一个实施例中,在初始同步过程中断续传送的跟踪数据仅更新辅控制处理器模块250中的逻辑共享存储器的那些业已作为同步数据一部分加以传送的区域。这就能最佳地避免将更新数据传给尚未初始化的数据。
在本发明的另一个实施例中,在初始同步过程中断续传送的跟踪数据会更新辅控制处理器模块250中的逻辑共享存储器的所有区域,而不管该跟踪数据是否已被传送和被初始化为同步数据的一部分。因此,会作为跟踪数据的一部分来传递主控制处理器模块200中的逻辑共享存储器的任何变化。在这一实施例中,辅控制处理器模块250忽略要对逻辑共享存储器中尚未被初始化为同步数据的那部分进行修改的任何跟踪数据。最佳的是,这一实施例简化了跟踪器210,该跟踪器不需监视业已传送了逻辑共享存储器的哪些部分。
举例而言,如果主RAM220的逻辑共享存储器部分为4M字节,数据缓存器225是4K字节并且基本执行操作周期具有50毫秒的时间,那么,第一基本控制周期就会将同步数据传送给辅控制处理器模块250中的逻辑共享存储器的头4K字节。依照所实现的实施例的不同,在第一基本控制周期中传送的任何跟踪数据仅对辅控制处理器模块250中的逻辑共享存储器的头4K字节的更新数据,或者可包括对辅控制处理器模块250中的所有逻辑共享存储器的更新数据,在这种情况下,辅控制处理器模块250可忽略逻辑共享存储器的头4K字节以外的更新数据。
相应地,第二基本控制周期将同步数据传送给辅控制处理器模块250中的逻辑共享存储器的第二个4K字节,并且,在第二基本控制周期中传送的任何跟踪数据可包括仅对辅控制处理器模块250中的逻辑共享存储器的头8K字节的更新数据,或者可包括对辅控制处理器模块250中的所有逻辑共享存储器的更新数据,在这种情况下,辅控制处理器模块250可忽略逻辑共享存储器的头8K字节以外的更新数据。第三基本控制周期将同步数据传送给辅控制处理器模块250中的逻辑共享存储器的第三个4K字节,并且,在第三基本控制周期中传送的任何跟踪数据可包括仅对辅控制处理器模块250中的逻辑共享存储器的头12K字节的更新数据,或者可包括对辅控制处理器模块250中的所有逻辑共享存储器的更新数据,在这种情况下,辅控制处理器模块250可忽略逻辑共享存储器的头12K字节以外的更新数据,等等。
因此,在初始同步的头一秒时间内,执行二十个基本控制周期,从而将同步数据的80K字节传给辅控制处理器模块250。所以,操作的初始同步阶段需用五十(50)秒将逻辑共享存储器的一个完整的4M字节的拷贝传给辅控制处理器模块250。在初始同步阶段中出现的所有跟踪数据的传送操作在数据缓存器225变满时都是间断出现的按4K字节长度的对同步数据的更新操作。
输出存储/输入获取段是主控制处理器模块200中控制软件的控制核心所执行的两个主要功能之一。在这一时期内,控制核心用软件I/O模块执行对接收自研磨器1和/或处理设备L00的其余部分的最近输入数据的输入获取操作并且对处理设备100的其余部分执行已在前一个基本控制周期中计算出来的输出数据的输出写操作。
功能块处理段是主控制处理器模块200中控制软件的控制核心所执行的两个主要功能中的第二个功能。功能块处理执行诸如算法逻辑块之类的非I/O处理模块,所述算法逻辑块可实现用于研磨器1的控制策略。
存储器管理器通过移动功能块而执行存储器压缩,从而消除了功能块之间的空存储器区域。在主控制处理器模块200和辅控制处理器模块250中均执行这种存储器的去碎片操作。在本发明的一个最佳实施例中,通过发送作为跟踪数据的嵌入消息而在辅控制处理器模块250中重复去碎片操作,而所述嵌入消息则将已在主控制处理器模块200中移动了的各数据块的长度和原始起始地址以及数据块的最终目的地的起始地址通知给辅控制处理器模块250。然后,辅控制处理器模块250可在因块移动而不需要将所捕获的被跟踪的写操作从主控制处理器模块200传送至辅控制处理器模块250的情况下重复存储器数据块传送。
诊断段通过求取被从主控制处理器模块200传送到辅控制处理器模块250的数据的端对端的检验和而检验跟踪器210的操作。按数据缓存器225中的4K字节数据块求检验和的值,并将该值连同同步/跟踪数据一道发送给辅控制处理器模块250。然后,辅控制处理器模块250检验上述检验和的值以确保适当地接收了同步/跟踪数据。
最后,响应器程度功能段初始化并监视与其它过程控制器125、研磨器1和监管控制器120的网络连接。根据处理设备100中实现的网络结构的不同,所述连接可以是客户机/服务器连接、对等连接或类似的连接。
图3B是一示例性时序图310,它说明了依照本发明一个实施例在操作的同步维持阶段传送过程控制数据。时序图310示出了从主控制处理器模块200中一个完整示例性基本控制周期的起点t0至终点t1的执行操作。如前所述,一个基本控制周期执行操作具有五十(50)毫秒的时间。
基本控制周期执行操作的基本部分在操作的初始同步阶段与操作的同步维持阶段没有变化。一个基本控制周期执行操作也包括冗余函数段、输出存储/输入获取段、功能块处理段、存储器管理器段、诊断段以及响应器程度函数段。但是,在各个基本控制周期执行操作过程中不再需要传送同步数据的4K字节数据块,因为,所有的同步数据均在初始的同步过程中传送。在同步维持过程中,当数据缓存器225变满时按4K字节的数据块断续地发送跟踪数据。
在各个基本控制周期的开始时,将一清除点信号发送给辅控制处理器模块250。清除点信号将辅控制处理器模块250中已积累了跟踪数据指示给辅控制处理器模块250,因为,最后的清除点信号是完整和一致的。这就能使得辅控制处理器模块250免受这样情况的影响,即,例如,跟踪器210捕获了写操作的前一半,并且,由于数据缓存器225恰巧在该特定的时刻变满,所以将这前一半立即传给辅控制处理器模块250。因此而传送的数据总是不完整(不可靠的),直至在数据缓存器225所发送的下一个跟踪数据块中传送写操作的后一半。为确保不出现这种情况,在将跟踪数据写进主RAM210时,将跟踪数据缓存在辅控制处理器模块250内,直至接收到下一个清除点信号。在主控制处理器模块200出现故障时,就废弃掉辅控制处理器模块250内的任何不完整的跟踪数据(即末接收到清除点的跟踪数据)。然后,辅控制处理器模块250在存储器映像与所接收到的最后一个清除点相一致的位置处开始操作。
图4是一流程图400,它说明了依照本发明一个实施例在操作的初始同步阶段内一个基本控制周期执行操作过程中主控制处理器模块200的操作。在基本控制周期开始时,主控制处理器模块200识别出辅控制处理器模块250所需要的逻辑共享存储器的第二个(或者也许是第一个)4K字节数据块并将其作为同步数据发送给辅控制处理器模块250(处理步骤401)。
在本发明的跟踪数据仅更新辅控制处理器模块250中的逻辑共享存储器的已被作为同步数据加以传送的那些区域的实施例中,主控制处理器模块200调整主RAM220的逻辑共享存储器中的跟踪器210正在监视的跟踪窗口的大小,以便在最近将同步数据传给辅控制处理器模块250(处理步骤402)。然后,跟踪器210监视跟踪窗口,以检验在跟踪窗口所限定的地址空间内是否有写操作(处理步骤403)。如果末检测到写操作,则跟踪器210继续监视用于写操作的跟踪窗口(处理步骤404和403)。
在本发明的跟踪数据在与数据是否被作为同步数据加以传送无关情况下更新辅控制处理器模块250中的全部逻辑共享存储器的实施例中,可省略处理步骤402,因为,用于跟踪器210的跟踪窗口覆盖了逻辑共享存储器的全部。
如果检测到了写操作,则将变化了的数据写至FIF0215(处理步骤404和405)。如果FIF0215末满,则跟踪器210继续监视用于写操作的跟踪窗口(处理步骤406和403)。如果FIF0215满,则将FIF0215的内容传给数据缓存器225(处理步骤406和407)。如果数据缓存器225未满,则跟踪器210继续监视用于写操作的跟踪窗口(处理步骤408和403)。如果数据缓冲器225满,则将数据缓存器225的内容作为跟踪数据传给辅控制处理器模块250(处理步骤406和409)。
图5是一流程图500,它说明了依照本发明一个实施例在操作的同步维持阶段内一个基本控制周期执行操作中主控制处理器模块200的操作。在基本控制周期开始时,主控制处理器模块200将在前一个基本控制周期中积累在数据缓存器225中的任何跟踪数据有发送给辅控制处理器模块250,从而能确保每个基本控制周期至少传送一次跟踪数据。主控制处理器模块200还发送一清除点信号(处理步骤501)。
然后,跟踪器210监视主RAM220中的逻辑共享存储器的地址空间,以检验在逻辑共享存储器的地址空间内的任何地方是否有任何的写操作(处理步骤503)。如果未检测到写操作,则跟踪器210继续监视用于写操作的跟踪窗口(处理步骤503和502)。
如果检测到写操作,则将变化了的数据写至FIF0215(处理步骤503和504)。如果FIF0215末满,则跟踪器210继续监视用于写操作的跟踪窗(处理步骤505和502)。如果FIF0215满,则将FIF0215的内容传给数据缓存器225(处理步骤505和506)。如果数据缓存器225未满,则跟踪器210继续监视用于写操作的跟踪窗口(处理步骤408和403)。如果数据缓存器225满,则将数据缓存器225的内容作为跟踪数据传给辅控制处理器模块250(处理步骤507和508)。
本发明的上述实施例提供了一种使主控制处理器模块200与辅控制处理器模块250相同步的“涓流式”(trickle)方法。本发明提供了与各个基本控制周期的执行操作相同步的由很小块更新后的跟踪数据构成的数据流,而不是在将跟踪数据的大数据块传给辅控制处理器模块250时断续地中止主控制处理器模块200所执行的前台任务。
通过使数据缓存器225和FIF0215足够的小,可将一块同步数据和/或跟踪数据传给辅控制处理器模块250所需的时间保持足够地短,因此,可在一个基本控制周期的执行操作中完成传送一个或多个同步/跟踪数据块。这就能使冗余控制器之间有更为无缝的同步,从而能在不影响主控制处理器模块200的正常操作的情况下获得同步的辅控制处理器模块250。
尽管业已详细地说明了本发明及其优点,但是,本领域的技术人员应该认识到,他们在不脱离本发明广义形式的精神和范围的情况下可形成多种变化形式、替代形式和改变形式。
权利要求
1.一种可维持主过程控制器与后备过程控制器之间数据一致性的系统,所述主过程控制器可执行过程控制任务,而所述后备过程控制器则可在出现故障时代替上述主过程控制器,其中,所述主过程控制器可在具有时间T的基本控制周期内周期性地执行过程控制任务,上述系统包括一跟踪电路,可检测主过程控制器中的主存储器内变化了的数据;一数据缓存器,用于暂时存储变化了的数据;以及,数据传送电路,用于在主过程控制器的各个基本控制周期中将上述数据缓存器中变化了的数据至少传递一次给后备过程控制器中的后备存储器,因此,对改变了的数据的传送不会干扰过程控制任务的执行。
2.如权利要求1的系统,其特征在于,所述数据缓存器小的足以在基本控制周期内完成对改变了的数据的传送。
3.如权利要求1的系统,其特征在于,所述跟踪电路检测主过程控制器的主存储器中的写操作。
4.如权利要求3的系统,其特征在于,所述跟踪电路检测主过程控制器的主存储器的选定共享地址空间中的写操作。
5.如权利要求1的系统,其特征在于,所述数据传送电路在前述数据缓存器满时传送数据缓存器中改变了的数据。
6.如权利要求1的系统,其特征在于,数据传送电路在操作的初始阶段通过将选定的共享地址空间的多个子区域从主存储器传送到后备存储器直至将主存储器的所有选定的共享地址空间传给了后备存储器从而形成主存储器的选定共享地址空间与后备存储器之间的数据一致性。
7.如权利要求6的系统,其特征在于,所述跟踪电路检测在操作的初始阶段仅检测选定共享地址空间的先前已被传给后备存储器的子区域内的变化数据。
8.一种处理设备,该设备包括至少一个用于控制选定处理过程的冗余控制器,所述冗余控制器包括一主过程控制器,可在具有时间T的基本控制周期内周期性地执行过程控制任务;一主存储器,与上述主过程控制器相联以存储处理数据;一后备过程控制器,可在出现故障时代替上述主过程控制器;一后备存储器,与上述后备过程控制器相联以存储处理数据;一存储器一致性电路,用于维持所述主存储器中的处理数据与后备存储器中处理数据之间的一致性,所述存储器一致性电路包括一跟踪电路,可检测主过程控制器中的主存储器内变化了的数据;一数据缓存器,用于暂时存储变化了的数据;以及,数据传送电路,用于在各个基本控制周期中将上述数据缓存器中变化了的数据传给后备存储器至少一次,因此,对改变了的处理数据的传送不会干扰对过程控制任务的执行。
9.如权利要求8的处理设备,其特征在于,所述数据缓存器小的足以在基本控制周期内完成对改变了的数据的传送。
10.如权利要求8的处理设备,其特征在于,所述跟踪电路检测前述主存储器中的写操作。
11.如权利要求10的处理设备,其特征在于,所述跟踪电路检测前述主存储器的选定共享地址空间中的写操作。
12.如权利要求8的处理设备,其特征在于,所述数据传送电路在前述数据缓存器满时传送数据缓存器中改变了的数据。
13.如权利要求8的处理设备,其特征在于,所述存储器一致电路在操作的初始阶段通过将选定的共享地址空间的多个子区域从主存储器传送到后备存储器直至将主存储器的所有选定的共享地址空间传给了后备存储器从而形成主存储器的选定共享地址空间与后备存储器之间的数据一致性。
14.如权利要求13的处理设备,其特征在于,所述跟踪电路检测在操作的初始阶段仅检测选定共享地址空间的先前已被传给后备存储器的子区域内的变化数据。
15.一种可维持主过程控制器与后备过程控制器之间数据一致性的方法,所述主过程控制器可执行过程控制任务,而所述后备过程控制器则可在出现故障时代替上述主过程控制器,其中,所述主过程控制器可在具有时间T的基本控制周期内周期性地执行过程控制任务,上述方法包括下列步骤检测主过程控制器中的主存储器内变化了的数据;将变化了的数据暂时存储在数据缓存器内;以及,在主过程控制器的各个基本控制周期中将上述数据缓存器中变化了的数据传给后备过程控制器中的后备存储器至少一次,因此,对改变了的数据的传送不会干扰对过程控制任务的执行。
16.如权利要求15的方法,其特征在于,所述数据缓存器小的足以在基本控制周期内完成对改变了的数据的传送。
17.如权利要求15的方法,其特征在于,所述检测变化了的数据的步骤包括这样的子步骤检测主过程控制器的主存储器中的写操作。
18.如权利要求17的方法,其特征在于,所述检测变化了的数据的步骤包括这样的子步骤检测前述主过程控制器的主存储器的选定共享地址空间中的写操作。
19.如权利要求15的方法,其特征在于,在前述数据缓存器满时执行上述传送改变了的数据这一步骤。
20.如权利要求15的方法,其特征在于,该方法还包括这样的步骤在操作的初始阶段通过将选定的共享地址空间的多个子区域从主存储器传送到后备存储器直至将主存储器的所有选定的共享地址空间传给了后备存储器从而形成主存储器的选定共享地址空间与后备存储器之间的数据一致性。
21.如权利要求20的方法,其特征在于,该方法还包括这样的步骤在操作的初始阶段仅检测选定共享地址空间的先前已被传给后备存储器的子区域内的变化数据。
全文摘要
公开了可维持主过程控制器与后备过程控制器之间数据一致性的系统和方法,所述主过程控制器可执行过程控制任务,而所述后备过程控制器则可在出现故障时代替上述主过程控制器,其中,所述主过程控制器可在具有时间T的基本控制周期内周期性地执行过程控制任务,上述系统包括:1)一跟踪电路,它可检测主过程控制器中的主存储器内变化了的数据;2)一数据缓存器,它用于暂时存储变化了的数据;以及,3)数据传送电路,它用于在主处于过程控制器的各个基本控制周期中将数据缓存器中变化了的数据传给后备过程控制器中的后备存储器至少一次,因此,对改变了的数据的传送不会干扰对过程控制任务的执行。
文档编号G05B19/042GK1285061SQ98813722
公开日2001年2月21日 申请日期1998年11月16日 优先权日1997年12月19日
发明者P·F·麦劳林, N·R·斯万森 申请人:霍尼韦尔有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1