自动化设备及更新方法

文档序号:6631721阅读:524来源:国知局
专利名称:自动化设备及更新方法
技术领域
本发明涉及一种用于控制和/或监测技术过程的自动化设备,其具有一个用于存储至少一个具有至少一个任务的应用程序以及与过程和应用程序相关的数据的存储器,其中,在耦接一个冗余的自动化设备时,将该存储器的内容传送至该冗余自动化设备的存储器中。本发明还涉及一种用于对与该自动化设备通信相连的冗余自动化设备进行更新的方法。
存储程序控制装置(Speicherprogrammierbare SteuerungSPS)是一种应用广泛、专用于单操作并由此而适用于非冗余操作的自动化设备的实现。一台所谓的过程计算机或一台比纯粹办公室用的个人计算机增加了一个专用的网络部件、一种专用的屏蔽设施、一个缓冲存储器和/或一个不间断电源的所谓个人计算机也可以用作自动化设备。
自动化设备基本上和“标准计算机”一样,至少包含一个执行存储在存储器中的应用程序的处理器。自动化设备与标准计算机相比其特殊性在于,自动化设备具有用于与被控制和/或被监测的过程连接的装置,特别是输入/输出装置,如数字/模拟输入接口及数字/模拟输出接口。
与设计用于单操作的自动化设备相反,适用于与至少一个冗余的自动化设备(以下将称之为后备自动化设备)进行冗余操作的自动化设备,其不同之处在于其至少具有一个用于与配属于它的冗余自动化设备进行通信连接的装置。这种装置通常是一种接口,如一个使与所配属的冗余自动化设备能够进行通信连接的串行/并行接口或总线接口。这类适用于冗余操作的自动化设备例如已由EP 0 497 147、EP0636956或DE 19624 302公知。
由EP 0 497 147公知了一种由两个分装置构成的冗余自动化设备。每个分装置都具有一个中央单元和一个存储器,以及一个通信处理器,其中,两个通信处理器通过一个通信连接相互连接。两个分装置执行相同的应用程序,并且为了保证该相同的应用程序的同步处理,通过通信连接交换同步数据。
由EP0 636 956同样公知了一种由两个子系统(即一个原始自动化系统和一个附加自动化系统)构成的自动化系统。当其中一个子系统发生故障时,将通过仍存在的子系统、即所述起始自动化系统实施所述技术过程。在更换了故障子系统、即所述附加自动化系统之后,须将其与所述原始自动化系统再次进行耦接。为此,所述原始自动化系统和附加自动化系统均具有一个通信接口,该两个子系统通过该接口得以通信地连接。原始自动化系统存储器的内容通过该通信接口被传送到附加自动化系统的存储器中。这种传输是通过保持原始自动化系统对技术过程的控制实现的,其中,传输或者是在原始自动化系统对时间要求不高的情况下进行的,或者是连续地在所谓的时间片内进行的。
将第一设备/子系统的存储器内容传输到冗余的第二设备/子系统的存储器也称为“更新”。例如由DE 196 24 302所公知的一种更新方法,利用该方法在进行维护工作时,将原始自动化系统的当前数据传输至主要处于静候状态的附加自动化系统。
该公知的更新方法被划分为两个运行过程。在第一运行过程中,传输是通过连续读出原始自动化系统存储器的内容,并将其写入附加自动化系统的存储器实现的。其中,在一个步骤中要读出或要写入的数据的范围是由该过程所需的时间间隔和与待控制的过程有关的、该原始自动化系统的最大允许执行周期来确定的。在进行了一定数量的这种写、读过程之后,原始自动化系统的“基本数据”被传送给附加自动化系统。但在此期间由于对技术过程的控制并未中断,因此原始自动化系统存储器中的数据仍在不断地发生改变。在此期间改变的存储器内容将在另一个运行过程中被传输。为此在向原始自动化系统的存储器写入新的和/或改变了的数据时,也将相同的数据与位置信息一起写入中间存储器,并且在第二运行过程中,在对位置信息进行分析之后,将中间存储器的内容传输至附加自动化系统的存储器。
本发明要解决的技术问题是,提供一种适用于冗余操作的自动化设备,利用它能够非常有效地实现冗余自动化设备或后备自动化设备的更新,而对对技术过程的继续控制没有明显的干扰,并且不需要额外的硬件开销。此外本发明还提供了一种尤其适于对与这样一种自动化设备通信连接的冗余的自动化设备进行更新的方法。
对于所述关于自动化设备的技术问题本发明是通过权利要求1的特征实现的。其优选实施方式由引用该权利要求的从属权利要求给出。
对于本发明的有关更新方法的技术问题本发明是通过权利要求4的特征实现的。相应的实施方式由引用该权利要求的从属权利要求给出。
本发明的优点尤其在于,一方面为了更新无需中断对技术过程的控制和/或监测;另一方面即使是在对技术过程进行控制和/或监测期间,也能保持响应时间的上限,即对过程状态的改变作出响应的时间间隔,其中,当更新任务与其所属的应用程序任务一起所要求的运行时间过多时,更新任务将被终止。一旦更新任务被终止,将对技术过程的控制和/或监测重新建立没有更新要求的情况,从而使应用程序能够重新对技术过程的状态变化做出响应。
该自动化设备的存储在存储器中、并由处理器执行的应用程序包含至少一个所谓的任务,即该应用程序的一个运行单元,其运行(顺序、持续时间)由操作系统的调度程序来确定。在自动化设备的存储器中,除了应用程序之外还存储有与过程相关和应用程序相关的数据,例如过程状态及应用程序变量。
在连接了后备自动化设备之后,例如在对后备自动化设备进行了维护之后,就可以将自动化设备存储器的内容传输至后备自动化设备的存储器中(更新)。其中,这种传输是在自动化设备运行期间完成的,即在不中断自动化设备对技术过程的控制的情况下完成的。
该更新方法分为两个运行过程。在第一运行过程中,类似于由DE196 24 302所公知的更新方法,通过连续地读出自动化设备存储器的内容并将其写入后备自动化设备的存储器来实现传输。其中,在一个步骤中要读出或要写入的数据的范围是由该过程所需的时间间隔和与待控制的过程有关的、该自动化设备的最大允许执行周期来确定的。在进行了一定数量的这种写、读过程之后,自动化设备的“基本数据”被传送给后备自动化设备。但在此期间由于对技术过程的控制并未中断,因此自动化设备存储器中的数据仍在不断地发生改变。在此期间改变的存储器内容将在另一个更新过程中被传输。
继续的更新是借助于专用的更新任务实现的,这些更新任务是为了传输每个任务所访问的存储器部分的内容而为应用程序的每个任务所配置的。还可以设置成,一个更新任务配属于多个应用程序的任务。其中,各更新任务在其所属的任务执行结束时被执行。任务及其所配属的更新任务的运行时间的总和应大于任务本身的运行时间。
为了使更新对技术过程的控制没有明显的干扰,允许更新任务的运行以可识别的方式在边界上推迟应用程序的其它任务的开始。为使这一点得到保证,将对任务及其所属的更新任务的运行时间总和进行确定,并作为总运行时间来测量。当测得的总运行时间超过了预先给定的或可预先给定的运行时间上限时,将结束更新任务的执行,更新任务将被终止。
下面结合附图对本发明的实施方式进行详细描述。其中,

图1所示为一个具有用于实施技术过程的一个自动化设备和一个与此通信连接的冗余的自动化设备的自动化系统的示意图,图2至图5所示分别为一个应用程序的、具有不同优先级的任务的时序图,图6所示为将该自动化设备存储器的一个段的内容传送到相应的冗余自动化设备的存储器的示意图,图7所示为自动化设备的存储器布局示意图,其中,标出了所述存储器的由某一任务访问的部分/段。
图1示出了自动化系统AG、AG’,以及受其控制和/或监测的技术过程TP。所述自动化系统AG、AG’具有至少一个自动化设备AG以及一个冗余自动化设备或后备自动化设备AG’。
自动化设备AG和后备自动化设备AG’均能够实施所述技术过程。自动化设备AG和后备自动化设备AG’的不同仅仅是对设备AG和AG’各自的功能在语言描述上的不同。因此第一更新过程中的后备自动化设备AG’可能是一个在时间上稍后的另一更新过程中的自动化设备AG。
为了向技术过程TP发送命令和控制指示,也为了从技术过程接收信号和过程值,在自动化设备AG、AG’和技术过程TP之间设置了通信连接B。该通信连接B在图1中作为总线B示例性地示出。该与技术过程TP的通信连接B也可以全部地或部分地采用常规的连线形式。
同样,为了简单起见,该连接过程的通信连接B也表示自动化设备AG和后备自动化设备AG’之间的通信连接B。通常,目前常用的总线连接B具有足够的带宽,以实现高效的内部通信(自动化设备AG,后备自动化设备AG’)和外部((后备)自动化设备AG、AG’,技术过程TP)通信。但是,同样也可以对内部通信使用一条分开的总线,例如所谓的底板总线,以便用这种方式获得很高的数据传输率,使总的更新速度加快。
此外,自动化设备AG、AG’分别具有存储器M、M’,用于存储至少一个具有至少一个任务T1、T2的应用程序以及与过程相关和应用程序相关的数据。
下面将由应用程序的任务T1、T2是所谓的以固定的时间间隔(如每300ms)被执行的周期性任务T1、T2出发进行说明。只有当任务T1、T2的运行时间本身不超过300ms且在周期性任务T1、T2须重新起动的时刻没有其它任务T1、T2在执行时,周期性任务T1、T2才能每300ms一次地周期性地被执行。
第一个条件的满足是通过应用程序的程序设计来实现的,其中,对以例如300ms固定时间间隔运行的任务T1、T2,不设置其处理所需的运行时间超过300ms的任务。
第二个条件的满足是在程序设计过程中间接实现的,尤其是如以上所述的,由任务管理的调度程序来实施。但是程序设计或程序须周密考虑调度程序用以确定具体的任务T1、T2执行顺序的优先级的分配,以此作为使各个任务T1、T2在指定的时间间隔内的执行在事实上也是可行的基础。
在此举例对这样的情况加以描述即对需要较多运行时间的输入任务给以比重要的周期性报警任务高的优先级,并因此而使对报警任务的调用在其时间间隔内是不可能的。尽管总能按时到达调用报警任务的时刻,但由于报警任务的优先级较低,只要有优先级较高的输入任务在执行,就无法执行报警任务。
图2示出了一个具有两个任务T1、T2的周期性(应用)程序Ti的工作时序图。所述任务T1、T2以固定的时间间隔运行,其中,任务T1每隔100ms、任务T2每隔225ms被执行一次。该周期性程序Ti本身也可作为任务,例如作为无固定时间间隔的任务。程序Ti的周期性在图2中通过时刻t+275ms所图示的程序Ti的“重新开始”示出。
为了确保被设置以固定时间间隔的任务T1、T2能在事实上分别按照预定的时间间隔的起始时刻起动,可以为任务T1、T2分配优先级,其中,要优先通过处理器处理的任务具有较高的优先级。任务间的协调通过操作系统的调度程序实现。
如果不分配优先级,则如图2所示,任务Ti一次起动之后就能永久执行,至少是执行至其终点。而其它任务T1、T2当其不是直接由永久执行任务Ti调用时,就不可能被执行。但是对这种从另一个永久执行任务Ti直接调用的任务T1、T2,不能或很难实现以固定的时间间隔执行该任务T1、T2,除非任务Ti本身具有调度程序的全部功能。
操作系统中的调度程序简化了对任务T1、T2和Ti的运行协调。调度程序了解每个任务T1、T2和Ti,并对每个任务T1、T2和Ti定义参数,以及确定其运行的类型、持续时间和顺序。
对于图2所示的情况确定,任务T1、T2是周期性的任务T1、T2,其中,任务T1每隔100ms、任务T2每隔225ms被执行一次。此外,为任务T1分配了比任务T2更高的优先级。这一点在图2中用图形坐标所在的位置表示。任务Ti是一个没有固定时间间隔的周期性任务。每当其到达终点时,就重新开始。任务Ti具有最低的优先级。
在到达了应执行任务T1、T2的时刻时,例如t+100ms,t+200ms,t+225ms,t+300ms,t+400ms,t+450ms,t+500ms,…,调度程序将中断任务Ti的执行,使当时的任务T1、T2投入运行。
在时刻t+900ms,按照所选的例子须使任务T1(100ms时间间隔)和任务T2(225ms时间间隔)同时投入运行。但这是不可能的,因为处理器不能同时执行第一任务T1和第二任务T2的指令。由于任务T1具有比任务T2高的优先级,因此在此时刻以及相似的时刻将首先执行优先级较高的任务T1,然后接着执行任务T2。只有当任务T2也结束之后,才返回任务Ti。
从这种情况可以清楚地看到,即便是将任务T1、T2设置成以固定的时间间隔运行,但其在该固定时间间隔内的实际运行由于系统固有的原因并不总是能得到保证的。为此允许任务T1、T2的起始时刻在一定范围的内延迟。
图3示出了与任务T1、T2相对应的更新任务T1A、T2A是以哪种方式,即在什么时刻投入运行的。其中,对任务T1、T2按照图2重新进行了显示。另外,还示出了与任务T1相对应的更新任务T1A,和与任务T2相对应的更新任务T2A。为简单起见,对每个所显示的调用时刻,任务T1、T2、T1A、T2A应具有各自的相同的运行时间。但任务T1、T2、T1A、T2A的运行时间在不同的调用时刻可以是不同的。
与任务T1相对应的更新任务T1A具有比任务T1本身更高的优先级。由此可以保证,更新任务T1A能够紧接着任务T1的执行而尽快投入运行。对于与任务T2相对应的更新任务T2A情况也类似。
如图3所示,所选择的时间段正好给出这样一种情况,即在这段时间中,任务T1、T2、T1A、T2A的运行时间没有影响周期性任务T1、T2在其各起始时刻的执行(即每隔100ms及每隔225ms)。执行任务T1A、T2A所需的时间全部由任务Ti“负担”。由图可见,相对于图2中任务Ti的重新开始时刻t+275ms,这里移到了时刻t+525ms。应用程序的这种单个周期的延长不被认为是关键的,因为应用程序的周期时间本来就只在极少的情况下是常数,且根据各个任务T1、T2所要求的执行时间而有所不同。
“关键”情况出现在,当更新任务T1A的执行使按固定的时间间隔周期性运行的任务T2在预定起动时刻的起动成问题时。图4示出了这种情况。
在图4中,更新任务T1A的运行时间在时刻t+200ms相对于图3有很小的延长。由此,更新任务T1A在时刻t+225ms,即实际必须起动任务T2的时刻仍在执行。由于更新任务T1A的优先级比任务T2的高,因此尽管已经到达任务T2的起动时刻更新任务T1A也不会被中断。只有当更新任务T1A执行结束时,任务T2才能投入运行。这样就出现了这种情况,任务T2由于更新任务T1A的执行而不能在实际为其设置的固定时间间隔内被执行。
如前所述,这种实际上不能准确地保持固定的时间间隔的情况即便在没有更新任务T1A、T2A的情况下也会出现。因此周期性任务T1、T2调用时刻的较小偏移总是允许的且常常不被注意。对各个周期性任务T1、T2在个别情况下调用时刻的哪些偏移是允许的并不是预先确定的。而是在开发用于控制和/或监测各技术过程TP的程序时,根据调用各个任务T1、T2所要求的时间顺序,尤其是考虑待控制和/或监测的技术过程TP的需要来确定最大允许偏移的量。
对于一个由具有较少任务且对时间要求不严格的任务的程序控制的较慢的过程来说,周期性任务调用时刻的约为若干个100ms的偏移是完全可以允许的;但这对于较快的、对时间要求严格的过程来说,就会造成负面影响。因此要确定最大运行时间t11、t21,即任务T1、T2及配属于其的更新任务T1A、T2A的运行时间和的上限。
这是程序设计技术,原则上没有其它用于确定调用时刻(即时间间隔)、周期性任务T1、T2、或其优先级的工作步骤,其中优先级主要是根据各技术过程TP的情况来设置,并且同样是不能预先确定的。为此可将最大运行时间t11设置为50ms。在图4所示的情况中未达到该最大运行时间t11。因此更新任务T1A不会被中断。只要在更新过程中没有更新任务T1A、T2A被中断,总的更新过程将会继续。
图5所示为运行时间和t1、即任务T1及与之相对应的更新任务T1A的运行时间的和,超过了确定的最大运行时间(例如50ms)的情况。在这种情况下,更新任务T1A的执行被中断,在这里更新任务T1A被终止。
对最大运行时间t11、t21的监测例如是通过具有较高优先级的、为此而设置的监测任务来实现的。该监测任务以较短的时间间隔运行,能够监测运行时间和t1、t2,以及对超过最大运行时间t11、t21进行识别。
通过终止更新任务T1A可以保证周期性任务T2的执行不被错误地延迟。随着更新任务T1A的终止,“等待的”任务T2成为此时具有最高优先级的可以运行的任务。因此这是由调度程序间接地执行的。即使是在更新过程中,也可以保持或保证一定的反应时间,即对技术过程TP中的某一确定的变化(例如在调整过程中测量值的变化)作出反应的时间。
如果在第二运行过程中,即通过更新任务T1A、T2A传输存储器内容的更新阶段中,一个更新任务T1A、T2A由于超过运行时间上限t11、t21而被中止,则该第二运行过程将总地被中断并被刷新,在必要时,会在一个预先给定的或可预先给定的“弛豫时间”(如一分钟)之后开始。
只有当在该第二运行过程中所有更新任务T1A、T2A的执行都未超过运行时间上限t11、t21时,即更新任务通过执行到其程序结束、并在随后的步骤中传输了应用程序在更新期间所访问的一个特定存储区域的内容后而自然终止时,更新才总体上被认为是成功地结束。
后备自动化设备AG’的更新是这样实现的,其中,首先连续读出自动化设备AG的存储器M的内容,然后将其写入后备自动化设备AG’的存储器M’,以实现传输的目的。该更新过程的第一运行过程如图6所示。
根据图6,自动化设备AG存储器M的内容被连续读出,并被传输至后备自动化设备AG’的存储器M’。这在图中是用虚线或实线框出的存储器M的部分表示的。数据传输是通过设置在自动化设备AG和后备自动化设备AG’之间的、在图6中用箭头表示的通信连接B(例如一条总线)实现的。
在这一步骤中将“基本数据”传输给后备自动化设备AG’。这些基本数据包括例如在自动化设备AG上运行的应用程序、以及技术过程TP的所谓外设或过程结构,进一步还可能包括某种应用程序的不规律变化的数据(例如运行参数、接收数据等)。
在更新期间,即在传输“基本数据”期间,自动化设备AG对技术过程TP的控制保持不变,而存储器M的内容连续地改变。存储器M中的这种变化在图6中用存储器M中带有交叉线的区域表示。
在传输“基本数据”时,将考虑所有在该刚刚被读出并被传输的段“之前”发生的变化,因为在其中发生变化的段也与所有前面的段一样被读出并被完整地传输。在图6中这是位于刚被传输过的段之前的段。而图6中所示的另外三个改变了的区域在传输基本数据时不被考虑,因为相应的变化只有在所涉及的段的内容被传输之后才会发生作用。以所描述的方式多次重复传输基本数据不会带来更好的结果,因为存储器M中的变化是连续的,却不是确定的。
作为能够对更新期间发生的待传输的存储器M的内容变化也能加以考虑的补充更新过程,现在将由应用程序的各个任务T1、T2所属的更新任务T1A、T2A起动这一过程。
如图7所示,任务T1、T2不是访问总存储器M,而只是访问自动化设备AG存储器M的一部分M1、M2。任务T1、T2分别访问的存储器部分M1、M2将由其所属的更新任务T1A、T2A以与在第一更新过程中传输基本数据类似的方式连续读出(图中通过存储器部分M1、M2中不同的被框出的区域来表示),并传送到后备自动化设备AG’中的存储器M’中(图中未示出)。其中引入了附加位置信息,该信息给出存储器M中存储器部分M1、M2中刚被读出的区域的位置,并以此保证刚被读出的区域的内容也被写入存储器M’中相应的地址。
即便借助于更新任务T1A、T2A,由任务T1、T2所访问的存储器部分M1、M2的内容的传输基本上是连续进行的,这种连续的传输也是在更新任务T1A、T2A的调用期间完成的。在更新任务T1A、T2A的程序代码中也可以进行设置,使存储器部分M1、M2内容的传输完整地用一个读写过程来完成。
为了使更新任务T1A、T2A只传输由任务T1、T2所访问的存储器部分M1、M2的内容,在更新任务T1A、T2A内设置了用于标识各存储器部分M1、M2的参数,通常这些参数是偏移量和大小或者是首、尾地址。这些参数可以在程序设计过程中被分别赋值。
作为另一种选择还可考虑一种方法,其中,对每个任务T1、T2对存储器M的访问在记录存储器T1M、T2M中加以记录,并且更新任务T1A、T2A传送存储器M1、M2中根据记录存储器T1M、T2M的内容可被识别出为待传输的部分。这避免了在程序设计过程中固定设置存储器部分M1、M2的参数而可能产生的错误,并具有这样的优点,即更新任务T1A、T2A无需传送存储器部分M1、M2的全部内容,而只是传送实际上改变了的部分。
由图6中所示的记录存储器T1M、T2M可以看出,记录存储器T1M、T2M位于其内容被传送给冗余自动化设备AG’的存储器M之外,此外,不需要传输记录存储器T1M、T2M的内容。记录存储器T1M、T2M被作为存储器M的一部分来实现,因此图6中所示的存储器M和记录存储器T1M、T2M的分离仅仅是为了清楚起见而标出的。存储器M的待传输区域由首、尾地址或起始地址加由此地址开始的待传输的数据量给出。不需传送的存储器内容,如所述记录存储器T1M、T2M的内容因此可以存放在以这种方式设置的区域之外。
当在第二更新过程中没有更新任务T1A、T2A由于超过运行时间上限t11、t21而终止时,则在还有待传输的、由应用程序在更新期间访问的特定存储器部分的内容的前提下,该次更新成功结束。后备自动化设备AG’的存储器M’的内容与自动化设备AG的存储器M的内容相对应。
通过一个从自动化设备AG到后备自动化设备AG’的信号可以指示该更新成功结束。于是,当在后备自动化设备AG’中启动应用程序的副本时,并且该后备自动化设备AG’依据该应用程序的副本而实施与自动化设备AG相同的动作时,可进而使数据的一致性得到保证。因此,后备自动化设备AG’例如在必须更换自动化设备AG的情况下,可以立即接替对技术过程TP的控制。
利用更新任务分别传输存储器部分M1、M2的内容是具有优点的,因为各存储器部分内容的改变只发生在当前任务T1、T2的运行期间,而不可能发生在更新任务T1A、T2A运行期间。因此更新任务T1A、T2A可以总是完整地传输存储器部分M1、M2的内容,并保证在更新任务T1A、T2A的末尾各存储器部分M1、M2的内容已经被完整地传输,而无需为这些存储器部分的内容在此期间的改变重新进行传输。
下面将对一种在至此所述的实施方式中特别是与图3所示的情况相关的实施方式的特殊情况进行说明。根据图3,从时刻t+0ms出发,更新任务T1A在更新任务T2A第一次被调用之前两次被调用并完整地被执行。在全部更新任务T1A、T2A都能被完整地执行而认为更新成功结束之后,须将当前更新任务T1A、T2A被完整地执行的事实存储起来。在图3所示的情况中,将约在时刻t+125ms为更新任务T1A设置一个标识更新任务T1A完整地被执行的“标记”。在时刻t+250ms将为更新任务T2A设置一个相应的标记。由于没有其它的更新任务T1A、T2A,因此以此表示更新过程的成功结束。第二更新过程约在时刻t+250ms结束。尽管在图3、4、5中相应地示出了更新任务T1A、T2A被再次启动的情况,但这不是必须的。
然而在第二更新过程结束之前有一个已成功完成运行的更新任务T1A、T2A被重新起动时,则出现了需特殊处理的情况。在图5中示出了这种情况。在时刻t+125ms更新任务T1A被执行并相应地设置了标记。在时刻t+250ms由于第二更新过程尚未结束,故重新被调用的更新任务T1 A由于超过预先给定的运行时间上限t11而终止。在时刻t+275ms将为被执行的更新任务T2A设置相应的标记。
这里设置了两个标记,即对更新任务T1A的第一次执行的标记和对更新任务T2A的唯一一次执行的标记,由此更新过程应是成功结束了。但实际上在相关任务T1所访问的存储器M的存储器部分M1的全部内容被传输之前,更新任务T1A就已经终止了。因此被传输的可能不是该存储器部分M1的全部变化,从而在这种情况下不能认为该更新已经结束。
然而所要求的特殊处理是很容易做到的,即在与各更新任务T1A、T2A相对应的任务T1、T2被重新调用时,将为各更新任务T1A、T2A所配置的标记复位。这对于上述情况意味着,更新任务T1A的标记在时刻t+125ms被置位,而在时刻t+200ms被复位。即便是当在时刻t+275ms更新任务T2A的标记被置位,更新也因为缺少更新任务T1A的标记而仍未结束。实际上该更新过程直到时刻t+375ms才结束,即更新任务T1 A的标记被置位且更新任务T2A的标记尚未被复位的最早时刻。
对于按照上述本发明的优选实施方式使用记录存储器T1M、T2M的情况,在更新任务T1A、T2A每次完整地执行之后,分别将记录存储器T1M、T2M中的内容复位,或标记为无效。
另一方面,本发明还涉及对这种情况的处理其中,有一个特殊的为故障处理或故障响应所设置的任务,即F任务,该任务具有较低的优先级,由于更新任务T1A、T2A的运行时间之和使其实际上在预定的固定时间间隔内无法被执行,因为其优先级较低,而具有较高优先级的可运行的任务T1、T2以及与其相对应的更新任务T1A、T2A将被“优先”执行。
对于这种情况所采取的措施是,具有较高优先级的任务T1、T2的更新任务T1A、T2A,优选的是任务T1的更新任务T1A具有最高优先级,在其本身被执行之前,短时间地、相应地抑制更新任务T1A,将F任务的优先级置为使其立即被执行的值。以这种方式可以保证,在更新中该低优先级的特殊F任务的响应特性也是可预见的,因为该任务的调用要通过更新任务T1A、T2A的附加执行,其延迟不会超过所允许的时间。
由此提供了一种带有面向任务的应用程序的自动化设备,其存储器内容可以在不中断操作的情况下传输给冗余的自动化设备。在常规的基本数据传输之后,借助于为各任务所配置的更新任务来传输运行期间改变的数据,其中,更新任务仅传输存储器内容中由各任务所访问的部分。
权利要求
1.一种用于控制和/或监测技术过程(TP)的自动化设备(AG),-其具有一个用于存储至少一个带有至少一个任务(T1,T2)的应用程序(Ti)以及与过程相关和应用程序相关的数据的存储器(M),-其中,通过耦接一个冗余的自动化设备(AG’)将该存储器(M)的内容传送到该冗余自动化设备(AG’)的存储器(M’)中,其特征在于-为了传送任务(T1,T2)所访问的存储器(M)的部分(M1,M2)的内容,为每个任务(T1,T2)配置了更新任务(T1A,T2A),以及-当任务(T1,T2)和更新任务(T1A,T2A)的运行时间超过预先给定的或可预先给定的运行时间上限(t11,t21)时,终止该更新任务(T1A,T2A)。
2.根据权利要求1所述的自动化设备,其中,将各任务(T1,T2)的每次对存储器(M)的访问记录在记录存储器(T1M,T2M)中,其中,借助于所述更新任务(T1A,T2A)对存储器(M)中根据各记录存储器(T1M,T2M)的内容可识别为待传输的部分(M1,M2)进行传输。
3.根据权利要求1或2所述的自动化设备,其中,所述更新任务(T1A,T2A)的优先级高于该更新任务(T1A,T2A)所属的任务(T1,T2)的优先级。
4.一种用于对与自动化设备(AG)通信相连的冗余自动化设备(AG’)在对技术过程(TP)进行控制和/或监测期间进行更新的方法,其中,每个自动化设备(AG,AG’)各具有一个存储器(M,M’),其中,在自动化设备(AG)的存储器(M)中存储有至少一个带有至少一个任务(T1,T2)的应用程序(Ti)以及与过程相关和应用程序相关的数据,以及其中在第一更新过程中将自动化设备(AG)的存储器(M)的内容连续地传输到冗余自动化设备(AG’)的存储器(M’)中,其特征在于在第二更新过程中,借助于配属于任务(T1,T2)的更新任务(T1A,T2A)将所述存储器(M)中被该任务(T1,T2)所访问的部分(M1,M2)的内容传输到冗余自动化设备(AG’)的存储器(M’)中,当任务(T1,T2)和更新任务(T1A,T2A)的运行时间超过预先给定的或可预先给定的运行时间上限(t11,t21)时,终止该更新任务(T1A,T2A)。
5.根据权利要求4所述的方法,其特征在于,对任务(T1,T2)每次对存储器(M)的访问进行记录,并且所述更新任务(T1A,T2A)对存储器(M)中根据所述记录可识别出为待传输的部分(M1,M2)进行传输。
6.根据权利要求4或5所述的方法,其特征在于所述更新任务(T1A,T2A)的优先级高于该更新任务(T1A,T2A)所属的任务(T1,T2)的优先级。
7.根据权利要求4至6中任一项所述的方法,其特征在于当一个更新任务(T1A,T2A)由于超过运行时间上限(t11,t21)而被终止时,所述第二更新过程将重新被起动。
8.根据权利要求7所述的方法,其特征在于所述第二更新过程在预先给定的或可预先给定的驰豫时间之后被重新起动。
全文摘要
提供了一种包含面向任务的应用程序的自动化设备(AG),其存储器内容(M)在不中断操作的情况下被传送至一个冗余的自动化设备(AG’)。在一次常规的基本数据传输之后,借助于配属于各任务(T1,T2)的更新任务(T1A,T2A)传输在运行期间改变了的数据,其中,只传输存储器(M)的内容中被各任务(T1,T2)所访问的部分(M1,M2)。
文档编号G06F9/46GK1420999SQ00818219
公开日2003年5月28日 申请日期2000年11月14日 优先权日1999年11月15日
发明者赫伯特·巴塞尔, 于尔根·拉福希, 拉尔夫·卢伯, 约瑟夫·里泽尔 申请人:西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1