用于运行冗余的自动化系统的方法与流程

文档序号:12836567阅读:184来源:国知局
用于运行冗余的自动化系统的方法与流程
本发明涉及一种用于运行冗余的、设有第一和第二子系统的自动化系统的方法,第一和第二子系统在控制技术过程期间分别冗余地处理控制程序,其中,两个子系统中的其中一个子系统作为主机并且另一个子系统作为从机工作,并且其中,对于主机发生故障的这种情况而言,由从机承担主机的功能。此外,本发明还涉及一种适合用于实施该方法的冗余的自动化系统。

背景技术:
在自动化领域内对可高度使用的解决方案(H-系统)的要求不断增长,这些解决方案适合于将设备可能出现的停滞时长降低至最小值。该类可高度使用的解决方案的开发成本非常高昂,其中,通常应用在自动化系统中的H-系统的特点在于,自动化设备或计算机系统形式的两个或多个子系统通过同步连接装置彼此连接。这两个子系统原则上能够读和/或写地访问连接在该H-系统上的外围单元。两个子系统中的其中一个子系统在关于连接在系统上的外围设备的方面是主导性的。这意味着,向外围单元的输出或用于这些外围单元的输出信息仅由这两个子系统中的其中一个子系统实施,该子系统作为主机工作并且承担主导功能。为了使两个子系统能够同步地运行,通过同步连接以均匀的间隔使它们同步。在同步的频繁程度以及其范围的方面,不同的设计方案可以各不相同(温备用(warm-Standby),热备用(HotStandby))。如果子系统中的一个子系统发生故障并且必须切换至另一个子系统,则通常要求H-系统进行无障碍的“故障转移(Failover)”。这意味着,虽然进行了这种从一个子系统到另一个子系统的计划外的切换、或者说是计划外的转变,但这种切换、或者说这种转变不对待控制的技术过程起到干扰的作用。其中允许的是,在所连接的外围设备的输出端上允许出现(短暂的)停机时间,输出端在该停机时间期间保持它们的最后有效的过程输出值。然而,在这些输出端上的值基于切换而发生的跳跃(碰撞(Stoβ))是不符合预期的并且因此应当避免。因此,也能够将无障碍(stoβfrei)理解为过程输出值的曲线走向的稳定性。为实现这一点,这两个子系统必须在发生故障的时间点具有相同的系统状态。这通过合适的同步方法得到保证。如果两个子系统都处理过程的输入信息(输入(Eingaben)),那么当两个系统-在过程输入数据或过程输入信息均相同时-以相同的方式改变它们相应的“线程全局(thread-global)”数据(程序的、特别是不同优先级的程序的公共数据)时,它们便处于相同的系统状态中。为实现这一点,同步方法保证了这两个子系统的单个的线程(Thread)以相同的方式和方法中断或终止。由此形成相同的“线程堆(Threadgebirge)”。由2011年版西门子-产品目录第6章70节中已知了一种冗余的、由两个子系统构成的自动化系统,该自动化系统设计用于提高待控制的设备的可使用性。自动化系统为此配备有一些工具,这些工具基于事件首先决定必须启动哪一程序,以便恰当地对该事件作出反应。对于这种情况而言,即例如在实施程序的期间,事件以待控制的技术过程的有待处理的警报形式施加在自动化系统的通信入口上,则通常使运行中的程序停在等待点上,并且启动设置用于分析警报并实施排除造成警报原因的措施的程序。该自动化系统定期地进行同步并且保证了这些子系统中的其中一个子系统的故障不对待控制的过程起到干扰的作用,这是因为另一个子系统能够继续实施或处理其相应的控制程序的相应部分,或实施或者处理该控制程序的相应部分。对于这种情况而言,即例如在第一子系统上出现的事件与包括两个子系统的自动化系统的第二子系统不同步,并且在通过该第一子系统处理该事件后,该子系统发生故障,则待控制的技术过程的流程可能受到干扰;这是因为第二子系统-对事件没有认识地-运行的是另外的程序路径,其代表着程序的实施-顺序并且不同于第二子系统在对事件有认识的情况下所运行的程序路径,并且为了不干扰待控制的技术过程的所述流程,该另外的程序路径也将是必要的。在此指出,程序既被理解为该种程序,也被理解为子程序、程序的一部分、任务(Task)、线程(Thread)、组织模块、功能模块或者其它合适用于实现自动化功能的程序编码,其中,自动化系统的程序通常被划分成不同的优先等级,并且根据它们所分配的优先级来处理或实施。由专利文献EP0907912B1中已知了一种用于由两个子系统构成的自动化系统的同步方法。该同步方法以这两个子系统在时间上同步的连接为基础,其中,两个子系统在合适的程序位置上、即在其设置进行补偿的程序位置上等待相应的另一参与者的回复,并且随后才分别时间同步地继续进行它们的程序处理。对于时间同步而言所必需的、直至获得回复的漫长的等待时间是不利的。US2002/0095221A1说明了一种设有第一和第二控制装置的冗余的自动化系统。它提出了能够实现准时实施周期性任务的适当措施。

技术实现要素:
本发明的目的因此在于,说明一种开头所述类型的方法,借助于该方法能够在两个子系统上的程序处理同步方面放弃使用在两个参与者之间的时间同步的通信装置。此外还能够提出一种适合于实施该方法的冗余的自动化系统。该目的在方法方面通过以下的方法来实现,即一种用于运行冗余的、设有第一和第二子系统的自动化系统的方法,子系统在控制技术过程期间分别处理控制程序,其中,两个子系统中的一个子系统作为主机并且另一个子系统作为从机工作,并且其中,对于主机发生故障的这种情况而言,由从机承担主机的功能,其中,-处理有待借助于主机处理的控制程序的处理段,-分别在预设的时间间隔结束后或者在事件出现后通过主机向从机传输开通信息,和-基于开通信息处理有待借助于从机处理的控制程序的处理段,处理段与有待借助于主机处理的控制程序的、直至开通信息已经处理过的处理段相符。在关于自动化系统方面通过以下的措施来实现,即一种冗余的、设有第一和第二子系统的自动化系统,子系统在控制技术过程期间分别处理控制程序,其中,两个子系统中的一个子系统作为主机并且另一个子系统作为从机工作,并且其中,对于主机发生故障的这种情况而言,由从机承担主机的功能,其特征在于,-主机设计用于,处理有待借助于主机处理的控制程序的处理段,并且分别在预设的时间间隔结束后或事件出现后向从机传输开通信息,和-从机设计用于,基于开通信息处理有待借助于从机处理的控制程序的处理段,处理段与有待通过主机处理的控制程序的、直至开通信息已经处理过的处理段相符。有利的是,主机不必(主动地)等待从机的回复,以便能够继续进行它的程序处理;在时间上不同步地实现将所有具有重要意义的信息的从主机传输给从机。由此使主机的处理效率与提供用于事件同步的通信带宽分离,这特别是在一方面提升处理器的处理效率和另一方面提升通信效率之间不断增加的不平衡性的方面具有重要意义;这是因为通信效率通常不能够与不断上升的处理效率保持同步。两个子系统在事件出现后的同步这样同步地进行,即不仅主机、而且从机基于该事件通过相同的程序路径,其中,该进程在时间上不同步地进行。这意味着,在程序的处理或加工方面,主机在时间上领先于从机,或者说从机在时间上落后于主机。在此将“落后(Nachlauf)”以及“领先(Vorauslauf)”理解为开始通过主机处理处理段的时间和开始通过从机处理处理段的时间(这相应于出现开通信息信号的时间点)之间的时间差。基于主机和从机之间在时间上不同步的通信而可能的情况是,将慢速的通信连接也用于构造可高度使用的自动化系统。这意味着,也能够设有本身在传输带宽或回复时长方面较差的通信连接也或者其他的通信连接,其也被其它的通信参与者使用并且由此并不排除为了同步目的而提供用于这两个参与者。因此可以放弃使用单独的同步连接。此外在不至于通过漫长的信号运行时间或漫长的等待时间而过渡降低系统效率的情况下,也能够克服两个参与者之间距离较大的问题。在本发明的一个设计方案中提出,在传输当前的开通信息的时间点,借助于主机也向从机传输过程输入值。对于从机而言具有重要意义的信息首先被概括或收集并且最后传输至从机。与已知的时间上的、在其范畴内必须将重要信息同样也发送至从机的同步方法相比,不仅对于主机、而且对于从机或者说备用机而言,这都意味着“管理消耗”将明显降低。在本发明的另一个设计方案中提出,在完成相应的处理段的处理后,通过从机向主机确认相应的开通信息。未得到确认的开通信息的数量向主机表明从机的当前的落后时间,主机由此能够采取适当的措施,以使时间上的落后不至于变得太久。本发明其它的有利设计方案由以下方面得出:在相应的处理段开始和结束时设有中断位置,-作为紧随相应的时间间隔的时间间隔的开始而设有a)紧随相应的时间间隔的中断位置出现的时间点或b)紧随事件的中断位置出现的时间点,和-在a)或b)中提到的时间点向从机传输开通信息。附图说明随后通过在其中说明了本发明的实施例的附图详细地说明本发明、其设计方案以及优点。图中示出:图1至3示出了两个子系统的时间不同步的连接的过程和图4示出了冗余的自动化系统。图1至4中相同的部分具有相同的参考编号。具体实施方式首先参考图4,在该图中示出了本身已知的、冗余的、包括两个子系统的自动化系统。第一子系统Ta和第二子系统Tb通过现场总线Fb与外围单元Pe连接。其中,现场总线Fb是符合例如过程现场总线-分散外围设备-规范(Profibus-DP-Spezifikation)的。原则上,其它的总线系统,例如以太网(Ethernet)、现场总线(Fieldbus)、Modbus或者并行的总线系统也是合适的。外围单元Pe通过输入线Es从用于检测过程状态的测量变换器或测量值传感器中获得信号,并且通过输出线As向通过其影响过程的执行机构输出信号。为了明晰起见,该过程以及测量变换器、测量值传感器和执行机构未在图中示出。两个子系统Ta,Tb周期性地并且同步地将同一控制程序运行完毕。为了实现它们的同步而设有同步连接Sv,其中,冗余-和监控功能通过该同步连接Sv实现。为了阐明对控制程序进行的事件同步的处理,在后面参考图1至3,在这些图中示出了两个子系统的在时间上不同步的连接的过程。“事件同步的处理”在此意味着,不仅主机、而且从机也基于事件通过相应的控制程序的相同程序路径,其中,其进程在时间上不同步地进行。假定一个子系统作为主机M并且一个子系统作为从机S或者说作为备用机运行。主机M因而在控制技术过程方面是主导性的并且承担过程控制的功能,其中,主机从外围单元Pe(图4)中读取过程输入信息或过程输入值,并且时间不同步地将其提供给从机S。如果主机M基于干扰而发生故障,那么从机S便并仅承担主机的功能并接替这一主导地位。主机M处理用于控制技术过程的程序P1,在该过程中,从机S也处理与控制程序P1相应的程序P2。两个控制程序P1,P2具有多个不同时长的处理段(Va),其中,控制程序P1,P2能够在每一处理段Va相应开始时和相应结束时中断。每一个通常包括多个程序编码的处理段Va的开始和结束因此代表可中断的程序-或者说中断位置0,1,2…y。在这些位置0,1,2,…y上能够根据需要并借助于主机M和从机S中断相应的控制程序P1,P2,以便在出现事件以及过程警报后能够做出合适的反应。此外,为了使主机M和从机S能够通过现场总线Fb或通过同步连接Sv(图4)交换开通信息、确认或其它信息,能够在这些中断位置0,1,2,…y上中断相应的控制程序P1,P2。在可预设的以及预设好的相应时间间隔Zi,i=1,2,…结束后,并且在相应时间间隔Zi结束后紧随的中断位置-优选地为紧随相应时间间隔Zi的第一个中断位置-出现的相应时间点,主机M向从机S传输开通信息或开通信息信号,该开通信息信号向从机S表明,允许从机S将控制程序P2处理至哪一个处理段Va。控制程序P2的这些处理段Va与主机M在处理控制程序P1期间已经处理过的处理段相符。在当前的实施例中假定,在时间间隔Z1结束后主机M在时间点t1和在第一个中断位置P1_6(中断位置6)紧接时间间隔Z1的时间点t2向从机S传输开通信息F1。该开通信息F1包括用于从机S的信息,即允许从机S将其待处理的控制程序P2处理至中断位置P2_6(中断位置6),其中,控制程序P2的中断位置P2_6与控制程序P1的中断位置P1_6相符。这意味着,从机S能够基于开通信息而处理控制程序P2的、直至产生开通信息或开通信息信号的时间点均与控制程序P1的处理段Va相符的处理段Va,其中,在实例中,为了简单起见而假定,产生开通信息的时间点与将开通信息传输至从机S的时间点相符。借助于从机S对这些处理步骤Va的处理因此在时间上是与借助于主机M对相应的处理段Va的处理不同步地进行,其中,只有当主机M向从机S传输另一开通信息时,才在通过从机S处理控制程序P2的处理段Va后通过从机S进行对其它处理段Va的处理。该中断位置P1_6,P2_6(中断位置6)出现的时间点代表紧随时间间隔Z1的时间间隔Z2的开始。以所说明的方式和方法进行对控制程序P1,P2的另一次时间不同步的处理。在时间间隔Z2结束后的第一个中断位置P1_A出现的时间点t3,主机M向从机S传输另一开通信息F2,该开通信息向从机S表明,该从机能够处理直至中断位置P2_A的其它的处理段Va。这些处理段Va再次与主机M从时间点t2直至时间点t3、即直至中断位置P1_A已处理的处理段Va相符。这意味着,从机S处理的是从前一开通信息F1的时间点t2直至当前的认可F2的时间点的处理段Va。在时间间隔Z2结束后出现第一个中断位置P1_A的时间点t3是紧随时间间隔Z2的时间间隔Z3的开始。现在可能出现的情况是,在时间间隔期间出现事件、例如过程警报形式的事件。在实施例中用E表示该类事件,在时间间隔Z3期间,主机M必须在时间点t4按照控制程序P1对该事件作出合适的反应。在这种情况下,主机M不是在时间间隔Z3后紧随时间间隔Z3出现中断位置的时间点、而是在出现事件E后紧随出现中断位置P1_C(中断位置C)的时间点t5向从机传输开通信息F3。这意味着,时间间隔Z3基于时间E而被缩短,其中,时间点t5是紧随的时间间隔t4的开始。基于向从机S传输的开通信息F3,该从机S处理控制程序P2的处理段Va,这些处理段Va与主机M在时间点t3和t5之间已经处理过的P1的处理段Va相符。基于事件E,主机M在时间间隔Z4期间处理的是具有较高优先级的处理段Va,例如主机M在时间点t5完成线程更换,并且在时间间隔Z4在时间点t6结束后,在紧随时间间隔Z4后的第一个中断位置P1_12出现的时间点t7上再次传输开通信息F4。基于该开通信息,从机S处理的同样是控制程序P2的直至中断位置P2_12(中断位置12)的处理段Va,其中,这些处理段Va与控制程序P1的在时间点t5和t7之间的处理段Va相符,并且其中,从机S同样完成线程更换。正如已阐明的,主机M的开通信息使从机S处于这种状态,即它与主机M通过相同的“线程堆”,这意味着,从机S在控制程序P2中的某一位置上进行“线程更换”,该位置是与控制程序P1中的位置相符的。只有当主机M通过开通信息对此向从机S进行要求时,从机S才会继续其处理过程。在对处理段进行处理的方面,主机M像是在独立(Stand-Alone)运行或像是在非冗余运行中那样实时地处理这些处理段,并且以均匀的时间间隔以及在事件出现后给出开通信息用于通过从机S处理相应的处理段,其中,主机M进一步处理它的控制程序P1并且并不主动地等待从机S的回复。在处理相应的处理段的方面,从机S落后于主机M并且基于所给出的主机-开通信息而处理这些处理段。后面参考图2,在该图中示出了主导地位从主机M向从机S的过渡。主机M以所说明的方式和方法向从机S传输开通信息F5,F6,F7,其中,假定主机M在时间点t8发生故障。基于开通信息F5至F7,从机S处理控制程序P4的直至中断位置P4_B(中断位置B)的处理段Va,其中,这些处理段与控制程序P3的、借助于主机M直至中断位置P3_B(中断位置B)已经处理过的处理段相符。在时间点te1,te2,主机M在处理控制程序P3的范畴内只读取地访问外围单元Pe,这意味着,主机M读取过程输入值Ew1,Ew2、按照控制程序P3处理这些过程输入值并且产生过程输出值Aw1,Aw2,主机M在时间点ta1,ta2上向外围单元Pe传输这些过程输出值。主机M向从机S传输过程输入值Ew1,Ew2,这在附图中通过弧线L1,L2表示。为了不提高在处理直至这些开通信息F5,F7的处理段Va的期间的主机M和从机S之间的通信负荷,传输与开通信息F5,F7一起进行。从机S同样地根据控制程序P4处理这些过程输入值Ew1,Ew2并且同样地产生过程输出值Aw1,Aw2,从机S向外围单元Pe传输这些过程输出值Aw1,Aw2。其中由此出发,即外围单元Pe是一种具有初级连接和次级连接的“接通了的”外围单元。初级连接设计用于接收主机M的过程输出值并且次级连接装置设计用于接收从机S的过程输出值,其中,当从机S识别出主机M发生故障时,从机S使外围单元从初级连接切换至次级连接。正如已阐明的,假定在时间点t8主机M发生故障。从机S例如这样识别出该故障,即主机M在预设的时长内没有通过同步连接Sv或现场总线Fb(图4)向从机S传输消息。在从机S例如在时间点t9识别出故障后,从机S并没有立即接替主机的主导地位;这是因为在时间点t9,从机S的系统状态还有别于主机M的系统状态,并且无障碍的更换以及过渡因而是不可能的。在该时间点t9,从机S才处理了直至中断位置P4_6(中断位置6)的处理段Va,主机M的直至中断位置P3_6(中断位置6)的相应的处理段Va由此“成为”了历史。只有在完成了过渡之后,即在从机S在时间点t10处理了借助于开通信息F7所开通的、直至中断位置P4_B的处理段Va之后,从机S才接替主机的主导地位并由此接管对技术过程的控制,其中,在时间点t10,从机S使外围单元从初级连接切换至次级连接。也就是说,在该过渡期间,(至此为止的)从机S还是路径同步地通过与主机M相同的线程堆,并且处理与(至此为止的)主机M在其发生故障前所处理的过程输入值相同的过程输入值,其中,(至此为止的)从机S基于这些输入值计算出与(至此为止的)主机M相同的过程输出值。当上一个开通信息的目的-在当前的实例中为处理直至中断位置P4_B的处理段Va-实现时,则结束过渡。过渡的持续时间基本与在“故障转移”的时间点的落后时长相符。为了将该落后时长保持在可接受的范围内,如果从机S结束了相应的处理,则通过从机S不同步地借助于相应的确认信息Q8至Q12确认主机M的开通信息F8至F12中每个开通信息(图3)。主机M评估未被确认的开通信息的数量并且从中计算出从机S的当前的落后时长。当落后时长过大或者说过久时,这例如可能导致冗余损失,对于这种情况而言,则由主机M采取适当的措施,以便缩小该落后时长或者说不让该落后时长变得过大。作为对于落后过大的反应,例如主机M能够中断或延迟对优先级较低的线程的处理,其中,对优先级较高的线程的处理明显需要小于100%的计算时间。主机M因此只须通过较少的处理段并且产生较少的开通信息,从机S或者说备用机因此便能够“迎头赶上”。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1