以太网通信冗余方法

文档序号:7576711阅读:621来源:国知局
专利名称:以太网通信冗余方法
发明涉及一种以太网通信冗余方法以及,尤其涉及一种在构成一个分布式控制系统的相互连接的多节点间生成通信系统冗余的以太网冗余方法。
一般地说,在一个通过一对多节点(终端)方法控制每个节点的分布式控制系统(DCS)中,一个连接各个节点的通信系统被生成冗余,以增加整个系统的工作速率,这样就高效地控制这个系统。当一个使用令牌的通信模式,如令牌传递,被用作各个节点间的通信模式时,因为令牌循环周期可被计算,通信系统中的断开或类似情况就可由这种循环周期检查出来。
假设该令牌通信模式被用作一个分布式控制系统的通信系统。这样,可构造一种系统和方法,用于在该通信系统中断或发生通信故障时,引发通信冗余系统交换。
随着个人计算机的不断普及和计算机技术的不断升级,通过以太网将个人计算机作为节点连接起来的需求越来越大。因此,一个分布式控制系统中的通信系统可通过以太网生成冗余,该技术在个人计算机领域的被广泛应用。
但是,在常规的冗余方法中,当一条以太网通信线路被一个通信系统使用时,由于该通信线由多个节点共享,用于通信的时间因争用控制和类似情况而大大不同。由于这个原因,在测量数据和控制命令交换时要求不能有任何大的延时的分布式控制系统中,不能使用该方法。
例如,在以太网中,CSMA/CD(带冲突检测的载波侦听多址)被用作争用控制方法。根据该方法,当一个通信线由多个节点共享时,在确认该通信线没被使用后,数据被发送到该通信线上。因此,假如,不同的节点同时开始发送数据,就会发生冲突。
随着节点数目和通信频率的增加,发生冲突的可能性也增大了。当发生冲突时,就会执行重试(例如,16次=在MAC层上的几百毫秒)。这样,通信所需时间就大大不同了。因此,在低延时情况下交换测量数据和控制命令时,不可用该方法来处理。
在一个用于通信线路交换的冗余模式中,当一条通信线路发生故障时,在通过正常线路通信的同时,必须修复该有故障的通信线路。
本发明的一个目标是提供一种以太网通信冗余方法,该方法可在没有任何大的延时的情况下交换测量数据和控制命令。
本发明的另一个目标是提供一种以太网通信冗余方法,该方法不需要交换通信线路。
根据本发明,为实现以上目标,提供用于在构成分布式控制系统的多节点间进行以太网通信的一种冗余方法,该方法包括以下步骤在双工状态下通过第一和第二条以太网通信线路将所述节点相互连接,使得发送侧的节点向第一和第二条以太通信线路上发送相同数据,以及使得在接收侧节点确定接收从第一和第二条通信线路上接收到的从发送侧节点传来的该相同数据中的一个,该先到的数据为接收数据,其中该第一和第二条线路相互独立。


图1是根据本发明第一实施例的一个描述分布式控制系统的方框图,该系统采用以太通信方式;图2是一个解释在图1中该系统所用发送数据格式的图;图3是一个表示图1中该系统发送过程的流程图;图4是一个表示图1中该系统接收过程的流程图;图5是根据本发明第二实施例的一个流程图,表示在一个使用以太网通信的分布式控制系统中的接收过程;以及图6是根据本发明第二实施例的一个表示在该系统中异常检测过程的流程图。
参照附图,本发明将在以下详细描述。
根据本发明的一个实施例,图1画出了一个使用以太网通信的分布式控制系统。参照图1,系统A通信线路1和系统B通信系统2是用于在多节点间,如节点10和节点20间,执行以太网通信的通信线路。通过这种安排,在各个节点间的完成的通信是双工的。
节点10和节点20分别由系统A的设备11和21,系统B的设备12和22,缓冲段13和23,系统A接收队列14和24,系统B接收队列15和25,以及控制段16和26构成,其中该系统A设备11和21作为通过系统A通信线路1交换数据的接口,该系统B设备12和22作为通过系统B通信线路2交换数据的接口,该缓冲段13和23暂时存储要接收/发送数据,该系统A接收队列14和24用于存储信息段,以管理从系统A通信线路1接收到的数据,该系统B接收队列15和25用于存储信息段,以管理从系统B通信线路2接收到的数据,该控制段16和26用于根据上层应用层17和27的命令控制数据发送/接收过程。
从节点10发送到节点20的数据将在下面参照图3和图4描述。
根据上层应用层17的发送命令,发送侧上节点10的控制段16开始执行发送。首先,该控制段16加入一个数据标识符,以标识从上层应用层17接收到的发送数据(步骤S101)。
这样,参照图2,该发送数据包括一个头部分5,一个数据部分6,以及一个数据标识符7,其中该头部分5存储了以太网的各种控制信息段,该数据部分6是要发送数据的主要部分,该数据标识符7标识数据部分6的内容。例如,在该头部分5,标识源和目的节点的地址在系统A设备11和系统B设备12中存储。
在该数据部分6,通过在从上层应用层17接收到的数据中加入数据标识符7的方式得到的数据由控制段16存储。作为数据标识符7,它是一个比在接收侧的节点处理接收的时刻与标识符被加入的时刻两者之间的区间长的区间内的值,该值在考虑到各种传输延时时被使用。实际上,作为数据标识符7,当数据以最短数据发送间隔发送时,使用按一定长度循环的连续序列数字(consecutive sequence numbers),或者将这样一个序列数字和指示发送侧的节点的信息结合使用,其中该长度满足上述间隔要求。
按这种方式产生的发送数据在缓冲段13的每个预定发送区域中存储,该缓冲段13预定发送区域是对应于系统A设备11和系统B设备12来安排。系统A设备11和系统B设备12按预定时序各自检查在缓冲段13中相应预定发送区域。当在缓冲段13中存储发送数据后,系统A设备11和系统B设备12给数据加入头部分5,并在检查系统A通信线路1和系统B通信线路2是否可用(步骤S102和S103)后,发送该加入头的数据。通过这种方式,从上层应用层17来的发送数据从节点10向系统A通信线路1和系统B通信线路2并行发送。
在图4,根据上层应用层27的接收命令,接收侧节点20的该控制段26开始接收过程。首先,控制段26检查在缓冲段23预定接收区域是否存储了接收信息(步骤S111)。注意,缓冲段23对应于系统A设备21和系统B设备22有独立的接收区域,以暂时存储接收数据。
系统A设备21和系统B设备22总是检查系统A通信线路1和系统B通信线路2中的数据头部分5。每个设备接收发往该地址的发送数据,并在缓冲段23相应接收区域存储该数据。如上所述,在步骤S111该控制段26检查在缓冲段23中对应于系统A设备21和系统B设备22的各自的接收区域。如果在任何一个接收区域均没有存储接收数据,控制段26通知上层应用层27相应信息(步骤S16),并终止该接收过程。
如果在缓冲段23的任何一个接收区域存储了接收数据,该控制段26检查该接收信息是存储在对应于系统A设备21还是对应于系统B设备22的接收区域中(步骤S112)。如果接收信息被存储在对应于系统A设备21的接收区域中,即该接收信息是从系统A通信线路1中接收到的,该控制段26检查与该接收数据相同的数据是否已经从系统B通信线路2中接收了(步骤S113)。
与该接收数据相同的数据是否已被接收,即该接收数据是否为并行发送给系统A通信线路1和系统B通信线路2的相同数据中的第一个接收数据,由参照另一系统的接收队列确定。
在系统A接收队列24和系统B接收队列25中寄存表明接收数据的标识信息段,例如图2中的数据标识符7,该标识符是在数据被发送时加入的。因此,在步骤S113,该控制段26参照系统B接收队列25,以检查是否有标识信息表明与该接收数据相同的数据。如果与该接收数据相同的数据还没有被接收,该表明接收信息的标识信息在系统A接收队列24中寄存(步骤S114)。
接着,该控制段26通知上层应用层27接收数据(步骤S116),并结束该接收过程。
如果在步骤113确定与该接收数据相同的数据已被接收,则抛弃该系统A较晚接收的数据,并且,从系统B接收队列25中删除该标识信息,该标识信息表明该数据与系统A中接收数据相同(步骤S115)。然后,流程回到步骤S111,以检查存在/没有接收数据。
如果在步骤S112确定存储在对应于系统B设备22的接收区域的接收数据,即从系统B通信线路2中接收到的数据,控制段25参照系统A接收队列24,以检查与该数据相同的接收数据是否已从系统A通信线路1接收(步骤S123)。如果与该数据相同的接收数据没有被接收,表明该接收数据的标识信息在系统B接收队列25中寄存(步骤S124)。
在该操作之后,该控制段26告知上层应用层27接收数据(步骤S116),并终止该接收步骤。
如果在步骤S113确定相同接收数据已被接收,则抛弃系统B中较晚接收的数据,并从系统A接收队列24中删除表明与该数据系统B中接收数据相同的标识信息〔步骤S125)。然后,流程回到步骤S111以检查存在/没有接收数据。
根据本实施例,每个节点通过两个以太网通信线路相连,即系统A通信线路1和系统B通信线路2。发送侧的节点10将在系统A通信线路1和系统B通信线路2中并行发送。接收侧上节点20检查是否已从另一个通信系统线路中接收了与从系统A通信线路1和系统B通信线路2中一条线路接收到的数据相同的数据,即该接收数据是否为第一个数据。如果与该数据相同的数据还没有被接收,上层应用层被告知接收数据。如果已接收了相同的数据,该数据被抛弃。按照这种方式,由于冲突产生的通信所要的时间差减少了,并且,与使用一条以太网通信线路的通信系统相比,检测数据和控制命令可在没有任何大的时延情况下交换。
发送侧上节点10在发送数据中加入标识发送数据的数据标识符进行发送。接收侧上节点20根据加在接收数据上的数据标识符检查与该接收数据相同的数据是否已被接收。在这种操作方式下,现有/空缺的相同数据可被准确无误的确定。因此,该系统有利于相同检测数据和类似数据顺序发送的处理控制。
参照图5和图6,本发明的第二实施例将在以下描述。注意,由于本实施例中的系统配置和数据形式与图1和图2中所描述的相同,因此就省略了那些描述。第二实施例处理过程和第一实施例处理过程不同之处在于在接收过程中加入了系统A和系统B通信异常检测过程和相关过程,并且,在接收侧节点中系统A和系统B的接收队列中存储了表明接收数据的标识信息段和相应接收时间信息段,以执行异常检测。
在第二实施例中,从节点10到节点20的数据发送将在以下描述。首先,根据上层应用层17的发送命令,发送侧上该节点10的一个控制段16开始发送过程,如图3。该发送过程与上述发送过程相同,因此就省略了该过程的描述。通过该发送过程,从上层应用层17来的发送数据从节点10向系统A通信线路1和系统B通信线路2并行发送。
根据上层应用层27的接收命令,接收侧上节点20的一个控制段26开始接收过程,如图5。注意,图5中与图4中相同的步骤号表示与图4步骤相同,因此就省略了该描述。
如果在步骤S112确定接收数据已被存储在与系统A设备21对应的接收区域中,即已从系统A通信线路1中接收到数据,该控制段26检查系统A是否被设置为异常通信状态(步骤S118)。在每个系统中异常检测过程周期性地执行通信异常的检测,该异常检测独立于发送过程和接收过程,如图6。
如果在步骤S118确定系统A被设置为异常通信状态,由于正常接收了新数据,控制段26确定该通信数据是正常的,并且将系统A的通信状态恢复为正常状态(步骤S119)。接着,该控制段26检查与从系统A中接收到的该数据相同的数据是否已从系统B通信线路2接收到(步骤S113)。如果在步骤S118确定通信状态是正常的,流程仍然行进到步骤S113。
当数据被发送的时候,在发送数据中加入标识接收数据的标识信息段,例如图2中的数据标识符7,并且,在系统A和系统B的接收队列24和25中存储这样的表明接收数据的标识信息段以及相应接收时间信息段。在步骤S113,控制段26参照系统B接收队列25,检查是否有表明与接收数据相同数据的标识信息。如果没有接收相同数据,该控制段26将表明该接收数据的标识信息寄存在系统A接收队列24中(步骤S114)。
如果在步骤S112确定接收数据已被存储在对应于系统B设备22的一个接收区域中,即接收数据已从系统B通信线路2中接收,该控制段26检查系统B是否被设置为异常通信状态(步骤S128)。如果系统B被设置为异常通信状态,由于新数据已被正常接收,该控制段26确定通信状态正常,并将系统B通信状态恢复为正常状态(步骤S129)。
接着,该控制段26检查与该接收数据相同的数据是否已从系统A通信线路1接收(步骤S123)。如果在步骤S128确定系统B的通信状态正常,该流程仍然行进到步骤S123。
图6中,节点20的控制段26周期地执行异常检测过程,该过程独立于图5中描述的接收过程。
首先,该控制段26检查接收数据是否已在系统A接收队列24中寄存(步骤S131)。如有接收数据被寄存,将所有已寄存的接收数据的接收时间与当前时间比较,以检查是否有接收数据已超过预定接收时间(步骤S132)。
如有接收数据超过预定接收时间,该控制段26确定在超时期间范围内与系统A接收数据相同的数据没有在系统B中接收,以及,系统B中发生了接收异常,并且,将系统B设置为异常通信状态(步骤S133)。接着,该控制段26删除有关接收数据的信息,该信息来自系统A接收队列24并超时(步骤S134)。
接着,从步骤S135到S138,执行与从步骤S131到S134的系统A的异常检测过程相同的系统B的异常检测过程。
根据本实施例,标识信息段和接收数据和相应接收时间信息段都寄存在系统A接收队列24和系统B接收队列25中。当接收数据后,在一个系统中发生了超时,并且在另一个系统中没有接收任何数据时,可以确定在另一个系统中发生了通信异常,并且删除在该接收队列中寄存的信息。这样,可正确地检测通信异常的发生。另外,即使在另一个系统中发生了通信异常,并且不能检查相同数据的接收,在正常系统中该接收队列也不会溢出,而且,还可正确执行后继数据的接收过程。
当从一个处于异常通信状态的系统中接收到新数据时,该系统的通信状态恢复到正常状态。因此,即使通信异常状态偶然发生或暂时发生,系统通信状态可自动恢复到正常状态,这样,就大大地减少了从异常状态恢复所需的维修加载。
如上所述,根据本发明,可减少由于冲突和类似情况产生的通信所需时延,并且,与用一条以太网通信线路的通信系统比较,检测数据和控制命令可在没有大的时延情况下交换。
另外,由于根据在发送侧节点加入接收数据的数据标识符检查该接收数据是否为第一个接收数据,可很容易地确定相同数据的接收。因此,本系统也可用于相同检测数据和类似数据顺序传送的处理控制。
并且,由于接收数据的时间超时用于监测在其中一条以太网通信线路上通信异常情况的发生,该通信异常的发生可被正确的确定。另外,接续数据的接收过程可被正确执行。
而且,一条以太网通信线路通信状态可根据接收数据恢复到正常状态。因此,即使通信异常偶然发生或短暂发生,系统通信状态可自动恢复到正常状态,这样就大大地减少了从异常状态恢复所需的维修承载。
权利要求
1.一种用于在构成一个分布式控制系统的多节点(10,20)间的以太网通信的方法,该方法包括以下步骤通过彼此独立的第一和第二条以太网通信线路(1,2)双工相互连接所示节点;使得发送侧一个节点向第一和第二条以太网通信线路上发送相同信息;以及使得接收侧一个节点将从发送侧的节点通过第一和第二条以太网通信线路接收的相同数据中首先收到的数据确定为 接收数据。
2.根据权利要求1的方法,还包括使得发送侧上节点加入一个数据标识符的步骤,该标识符用于标识发送数据,以及其中使得接收侧节点确定的步骤包括根据在发送侧节点加入数据的数据标识符,检查从发送侧节点传来的数据是否已经是由第一和第二以太网通信线路中的一条线路首先到达的。
3.根据权利要求2的方法,其中使得接收侧节点确定的步骤还包括以下步骤独立接收从第一和第二以太网通信线路上传来的数据,并暂存该数据;存储对应于通过第一和第二以太网通信线路接收的数据的数据标识符;以及当由第一条以太网通信线路传来的数据的数据标识符没有对应于第二条以太网通信线路存储时,确定该暂存数据是接收数据。
4.根据权利要求3的方法,还包括以下步骤使得接收侧节点对应于第一和第二以太网通信线路存储接收数据的数据标识符和该数据的接收时间信息段;当由第二条以太网通信线路发送来的该数据的数据标识符在对应于第一条以太网通信线路存储时,就与第一条以太网通信线路对应删除该数据标识符和该数据的接收时间信息段;确定对应于第一以太网通信线路存储的该数据标识符是否在存贮数据的一段接收时间后对预定时间段有延迟;以及当确认结果表明已经过预定时间,删除对应于第一条以太网通信线路存储的该数据标识符和该数据接收时间信息。
5.根据权利要求4的方法,还包括以下步骤当确定结果表明已超过预定时间,将第二条以太网通信线路设置为异常通信状态;以及当通过被设置为异常通信状态的第二条以太网通信线路正常接收数据时,恢复第二条以太网通信线路的异常通信状态为正常状态。
6.根据权利要求4的方法,还包括以下步骤,当由第二条以太网通信线路发送的数据的数据标识符被对应于第一条以太网通信线路存储时,抛弃由第二条以太网通信线路暂存的该数据。
7.根据权利要求1的方法,还包括以下步骤使得接收侧节点与第一和第二条以太网通信线路对应地存储数据接收时间信息段;以及当在超过寄存数据预定接收时间段后,与从第一条以太网通信线路接收的数据相同的数据没有从第二条以太网通信线路接收时,确定第二条以太网通信线路已发生通信异常,并删除存储在对应于第一条以太网通信线路存储的数据接收时间信息。
全文摘要
在一种用于在构成一个分布式控制系统的多节点间以太网通信的冗余方法中,多节点通过相互独立的第一和第二条以太网通信线路相互连接。接收侧上的一个节点向第一和第二条以太网通信线路发送相同数据。接收侧的一个节点确定接收通过第一和第二以太网通信线路从发送侧节点发送来的相同数据中的一个数据,其中首先收到的数据为接收数据。
文档编号H04L12/407GK1190835SQ9810427
公开日1998年8月19日 申请日期1998年1月16日 优先权日1997年1月16日
发明者今中亨, 大裕见子 申请人:山武·霍尼韦尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1