专利名称:一种环形冗余的实时以太网通讯方法
技术领域:
本发明涉及一种环形冗余的实时以太网通讯方法。
背景技术:
将以太网应用到现场级通讯的工业以太网技术已然成为工业控制网络的发展方向。但工业控制的特殊性对网络系统的实时性、确定性、可靠性等提出了更高的要求。以太网具有非常灵活的拓扑结构,在工业控制领域,链状结构以其结构简单,维护方便等特点被众多的工业以太网厂商所采用。但由于在工业现场中,环境因素比较复杂,网络系统要接受来自电磁设备的干扰和周围环境温度、湿度、震动的影响。这都有可能会造成网络系统的故障,而链状网络中任何一个从节点出现问题都有可能造成后面从节点的失效,甚至是整个系统的瘫痪。所以作为设备间信息传递通道,网络系统的可靠性尤为值得注
o网络系统的可靠性还包括数据传输的可靠性,通讯中存在的误码传输问题,也会对网络系统的运行产生重要影响。链状网络往往采取上发错误报告,向主节点申请数据重发的方式来解决此类问题,但是这种方式会加重主节点工作负担,并且因重发带来的延时难以满足对通讯实时性要求严格的应用。申请人:在先申请了 “一种链状以太网节点间的实时同步及动态补偿方法”其步骤为第一步,主节点开始对各从节点进行枚举;第二步,以从节点中的第一个节点作为0节点,0节点启动周期定时器,并用周期发送同步包的方式实施对总线周期的管理;第三步,同步包启动从节点的延时测量模块计时并继续向下转发,直至最末尾的从节点;第四步,末节点组建标准以太网数据包并上传;第五步,从节点接收到返回包停止计时,并以测量值的一半为初始值启动本地分布时钟;第六步,从节点在接收完控制数据之后,等待同步时钟计时到相同的时刻产生同步信号,执行相应的动作,并锁存当前状态,等待上传。但如上所述,针对网络通讯中可能存在的误码传输问题,链状网络只能采取数据重发机制,这会降低网络通讯效率,增加主节点通讯负担,并且在某些实时性要求较高的场合可能会引起系统故障;而且链状网络如果中间连接断开或某个从节点出现故障,会导致整个链状网络的瘫痪,造成比较严重的生产事故。
发明内容
本发明的目的就是为解决上述问题,提供一种环形冗余的实时以太网通讯方法,该环形以太网在兼容原链状网络的前提下,通过数据冗余和通讯线路冗余的方式提高系统的可靠性,其通讯末节点的自动仲裁机制兼容链状网络,采用冗余数据发送的方式降低误码传输带来的影响,并且在中间网络断开或节点故障之后能自动组成两个链状网络维持系统的正常运行,从而大大提高了系统的可靠性,降低因错误数据传输导致系统故障的概率,使网络即使在中间断开的情况下依然能保证通讯的正常进行。为实现上述目的,本发明采用如下技术方案
一种环形冗余的实时以太网通讯方法,在网络中至少包含一个主节点和若干个从节点,每个节点均有A、B两个标准的以太网网口,网线从主节点的A网口开始,将各从节点级联起来,最后连接到主节点的B网口形成一个环形网络回路,环形网络采用末从节点自动仲裁机制来兼容链状以太网,并以此实现网络断开后的自恢复,整个通讯过程分为枚举、配置和周期性通讯三个阶段;I)系统上电后,各从节点会自动检测自己两个网口的连接状态,如果某个从节点检测到自己B侧网络没有连接则自动识别为末节点,系统按照专利所述链状网络进行通讯;如果所有从节点两端网络连接均正常,则按照环形网络通讯;2)进入枚举阶段,主节点发出的枚举数据包会沿网络回路从B网口返回到主节点,为使B网口能接收到返回的数据,枚举数据采用广播的形式;
3)配置阶段,主节点将网络中存在的从节点个数发送到网络上,从节点依此来判定自己在网络中的位置;如果检测到自己是末从节点则在接收到同步包之后负责起启动数据上传的任务首先末节点将自己的节点类型封装在一个标准的广播包中,然后由自己的A网口开始发起上传,该数据巾贞经过前面的每个从节点时,该从节点都会动态修改巾贞的长度,并将自己的节点信息追加到以太网帧的末尾,最终通过主节点的A网口返回到主节点;主节点根据返回信息核对系统组成是否完整;4)周期通讯阶段,首先由主节点发起周期通讯开始指令,0从节点接收到该指令后开始实施网络管理的功能,周期性下发同步数据包,并对各从节点进行分布时钟补偿,并执行相应动作;末从节点接收到同步包之后开始组织从节点状态数据的上传,主节点接收到从节点网络上传的数据之后分别从两个网口 A、B分别下发相同的控制数据;从节点转发来自主节点的控制数据,同时把属于自己的控制数据存放在相应的内存区域,等待上层用户读取;从节点接收的两组控制数据互为备份,当其中一组校验出错时,选择采用另一组数据;两个方向的转发分别在到达0从节点和末从节点后终止;从节点两个网口默认状态下均为转发存储功能,对于从网口 B到网口 A的转发数据和上传数据通过设置交叉开关分别进行处理。从节点接收到由0从节点发出的同步数据包之后,B网口到A网口的数据上传功能被使能,同时转发功能被禁止;该从节点的状态数据上传完成之后,重新使能转发功能并禁止上传功能。所述步骤2)枚举过程中,在经过每一个从节点时都会取下该节点号的字节的内容作为自己的节点号,同时将该字节内数据加I后继续转发;因为节点号数据改变,所以在数据转发至末尾时必须重新计算并替换CRC校验值;通过上述方式,最终主节点B网口接收到的枚举数据包中就包含了整个环形网络中的从节点数目。所述步骤3)配置阶段中为保证主节点正常收到返回信息,由从节点返回主节点的以太网数据均采用广播包的形式。所述步骤4)周期通讯阶段中,周期通讯过程中如果因为网线连接故障或从节点故障导致某处断开时,则系统将分为两个链状网络继续保持和主节点通讯,如果在与主节点连接处断开,则只有一个链状网络,在网络断开处各从节点将执行以下动作从节点i检测到B侧网口连接断开,立即转换为网段I的末节点,并启动上发;数据由从节点i依次经过从节点i_l,i-2……最终由0从节点经A网口发送给主节点,此过程和正常传输过程相似,每个从节点会将自己的状态数据追加到返回帧的末尾;
从节点i+1检测到A侧网络连接断开,立即转换为网段II的末节点,并启动上发一个正常末节点的上发广播包;此时i+2以后的从节点并未得知网络中间有断开,故对i+1节点的上发数据包仅执行转发,转发过程中这些从节点检测到转发数据为广播包则在转发结束后通过交叉开关调换以太网两个网口 A和B的引脚连接;转发过程中各从节点对从节点i+1发起的数据帧不做任何操作;最后该广播包由从节点n转发给主节点,至此网段II内所有的从节点网口调换完毕,同时从节点n启动网络周期管理模块,开始实施对网段II的周期管理;主节点接收到两个网段上发的数据后即可判断故障所在,并按照当前网络状态重新建立对各从节点的管理;环形网络因中间断开而形成两个独立的链状网络之后,主节点每个周期都会查询两个网络上分布时钟的锁定时刻,并根据主节点接收到两个链状网络返回帧的时刻对两个网段的分布时钟进行补偿,从而保证整个网络上的时钟同步。本发明的工作原理为通讯过程分为三个阶段枚举,配置,周期通讯。枚举数据包采用广播包的形式从主节点的A网口发出,具体过程同专利“一种链状以太网节点间的实时同步及动态补偿方法”中所述相似,每经过一个从节点时该从节点取下数据包中标识节点号字节内的数据作为自己的节点号,同时将该字节内的数据加I后向下转发,但由于环形结构无法自动识别末从节点,所以枚举数据最终会经主节点的B网口返回到主节点。为能使主节点B网口能顺利接受到枚举数据,枚举报文采用广播包的形式,并且每经过一个从节点时CRC数据都需要重新计算。通过这种方式,主节点可以确定环形网络中的从节点数目。主节点接收到网络转发回来的枚举数据包之后,将最大的从节点号以配置数据的形式下发到网络上。网络上的从节点接收到配置包后,根据其中包含的最大从节点号判定自己是否为末从节点;如果是,则每次接收到0节点发出的同步数据包之后,启动数据上发的任务。上传过程中,首先末从节点将本节点信息封装在一个标准的以太网帧中,然后启动上传;上传过程中,数据帧经过每个从节点时该节点都会动态修改以太网帧中表示帧长度字节的内容,并将本节点信息追加在帧的末尾;最后由0从节点重新计算CRC值并把包含整个网段从节点信息的以太网帧发送给主节点。周期通讯阶段,通讯周期由与主节点A网口直接相连的第一个从节点即0从节点负责管理,如“专利一种链状以太网节点间的实时同步及动态补偿方法”中所述首先主节点启动周期通讯阶段,然后0从节点周期性下发同步包管理通讯周期,末从节点接收到同步包之后组织数据上传,同配置过程相似,上传过程中数据帧每经过一个从节点时该从节点都将动态修改以太网帧的长度,并将自己的节点信息追加到数据帧的末尾,直至由0从节点把包含整个网络所有从节点状态信息的以太网帧发给主节点。主节点接收到网络上发来的状态数据之后,分别向A、B两个网口下发相同的控制数据,从节点在转发数据帧的同时将属于自己的控制数据解析出来并分别保存到两个双端口 RAM中,等待CPU读取。因为标准以太网为全双工通讯,因此从节点的两个网口可以同时进行控制数据的收发。对于应用层用户而言,可选择对其中任一组数据进行操作,如果接收完整个数据帧之后发现CRC校验出错,则选择而另一组,两组均出错后则从节点申请主节点重发控制数据。通过这种冗余数据发送的方式可以有效降低了因数据传输出错而导致的系统故障。 为减小主节点的工作负载,主节点控制数据的转发只在从节点网内进行,当数据包转发到首末从节点之后数据不再返回到主节点。上述方式中,因为冗余数据的传输,由从节点经B网口转发到A网口的数据会有两种来自主节点的控制数据和上发给主节点的状态数据,对应从节点两个网口的两种工作模式存储转发模式和上传模式。本发明采用交叉开关选择不同模块来处理不同的以太网数据从节点默认处于存储转发模式,接收到同步包之前,从节点对两个网口接收到的数据进行转发和存储;接收到同步包之后,则认为B网口即将接收到的数据为反馈数据,该从节点会动态修改数据包长度并追加本节点状态数据,直至数据上传过程结束之后恢复到默认的存储转发状态。为兼容链状网络,并确保在网络断开后主节点还能继续与从节点之间的通讯,本发明采用末从节点仲裁机制。末从节点的判定有两种方式网络连接检测和节点号比较,其中网络连接检测具有更高优先级。系统中如果某个从节点检测到自己B端网口没有网络连 接,则自动转化为末从节点,并按照链状网络进行通讯;如果每个从节点的两端网络均有连接,则执行上述环形网络的通讯过程。在周期通讯过程中,如果由于网络连接中断或某个从节点故障导致网络断开,则环形网络将分解为两个链状网络重新建立通讯,断开处的两个从节点将分别实施末从节点的职责,发起数据上传,而与主节点网口直接相连的两个从节点分别负责管理两条链状网络的通讯,从而保证了通讯的继续进行并保证对故障从节点的检测。此过程中,主节点通过读取两条链状网络上分布时钟锁定时刻计时值,并比较主节点分别接收到网络上传数据的时刻值,以其中的一条链状网络做参考对另外一个链状网络的分布时钟进行补偿,从而保证所有从节点的同步动作。本发明在FPGA (Field Programmable Gate Array)上实现了一种环形冗余以太网,在兼容链式以太网网络的同时,具有以下优点数据分别从两个网口收发,在不影响通讯速率的前提下提供了冗余数据,有效降低了因误码传输导致系统故障的概率。末从节点自动仲裁机制可以使链状网络中某个从节点或中间连接发生故障时,仍能保持和主节点的通讯,从而使主节点可以快速定位到故障所在,并对其进行侦测和排除。环形冗余网络在中间连接出现故障时,会自动转换为两个链状网络并继续保持正常的通讯,同时及时找出故障所在,有效提高系统可靠性。
图I :环形实时以太网结构示意图;图2 :枚举数据包格式;图3 :从节点内部的存储转发机制;图4:环形网络中间断开后网络结构。
具体实施例方式下面结合附图与实施例对本发明做进一步说明。本发明采用一种环形以太网络,通过冗余数据发送的方式降低了因误码传输导致的系统故障。通过采用末从节点自动仲裁机制,使得系统不仅可以兼容链状网络,还能够在网络因连接故障导致中间断开后仍能保持系统的正常通讯和运行。如图I所示,网络中至少包含一个主节点和若干个从节点。每个节点均有两个标准的以太网网口,网线从主节点的A网口开始,将各从节点级联起来,最后连接到主节点的B网口形成一个环形网络回路。环形网络采用末从节点自动仲裁机制来兼容链状以太网,并以此实现网络断开后的自恢复。通讯过程同原先的链状以太网相似,分为枚举、配置和周期性通讯三个阶段。三个阶段的数据帧类型通过标准以太网帧中第16字节的高4位来表示,如图2中C+L字段,其中L表示以太网帧的长度,占用第17字节和第16字节的低4位共12位长度。C表示数据包类型,具体含义如表I所示。
权利要求
1.一种环形冗余的实时以太网通讯方法,在网络中至少包含一个主节点和若干个从节点,每个节点均有A、B两个标准的以太网网口,网线从主节点的A网口开始,将各从节点级联起来,最后连接到主节点的B网口形成一个环形网络回路,其特征是,环形网络采用末从节点自动仲裁机制来兼容链状以太网,并以此实现网络断开后的自恢复,整个通讯过程分为枚举、配置和周期性通讯三个阶段; 1)系统上电后,各从节点会自动检测自己两个网口的连接状态,如果某个从节点检测到自己B侧网络没有连接则自动识别为末节点,系统按照专利所述链状网络进行通讯;如果所有从节点两端网络连接均正常,则按照环形网络通讯; 2)进入枚举阶段,主节点发出的枚举数据包会沿网络回路从B网口返回到主节点,为使B网口能接收到返回的数据,枚举数据采用广播的形式; 3)配置阶段,主节点将网络中存在的从节点个数发送到网络上,从节点依此来判定自己在网络中的位置;如果检测到自己是末从节点则在接收到同步包之后负责起启动数据上传的任务首先末节点将自己的节点类型封装在一个标准的广播包中,然后由自己的A网口开始发起上传,该数据帧经过前面的每个从节点时,该从节点都会动态修改帧的长度,并将自己的节点信息追加到以太网帧的末尾,最终通过主节点的A网口返回到主节点;主节点根据返回信息核对系统组成是否完整; 4)周期通讯阶段,首先由主节点发起周期通讯开始指令,O从节点接收到该指令后开始实施网络管理的功能,周期性下发同步数据包,并对各从节点进行分布时钟补偿,并执行相应动作;末从节点接收到同步包之后开始组织从节点状态数据的上传,主节点接收到从节点网络上传的数据之后分别从两个网口 A、B分别下发相同的控制数据;从节点转发来自主节点的控制数据,同时把属于自己的控制数据存放在相应的内存区域,等待上层用户读取;从节点接收的两组控制数据互为备份,当其中一组校验出错时,选择采用另一组数据;两个方向的转发分别在到达O从节点和末从节点后终止; 从节点两个网口默认状态下均为转发存储功能,对于从网口 B到网口 A的转发数据和上传数据通过设置交叉开关分别进行处理; 从节点接收到由O从节点发出的同步数据包之后,B网口到A网口的数据上传功能被使能,同时转发功能被禁止;该从节点的状态数据上传完成之后,重新使能转发功能并禁止上传功能。
2.如权利要求I所述的一种环形冗余的实时以太网通讯方法,其特征是,所述步骤2)枚举过程中,在经过每一个从节点时都会取下该节点号的字节的内容作为自己的节点号,同时将该字节内数据加I后继续转发;因为节点号数据改变,所以在数据转发至末尾时必须重新计算并替换CRC校验值;通过上述方式,最终主节点B网口接收到的枚举数据包中就包含了整个环形网络中的从节点数目。
3.如权利要求I所述的一种环形冗余的实时以太网通讯方法,其特征是,所述步骤3)配置阶段中为保证主节点正常收到返回信息,由从节点返回主节点的以太网数据均采用广播包的形式。
4.如权利要求I所述的一种环形冗余的实时以太网通讯方法,其特征是,所述步骤4)周期通讯阶段中,周期通讯过程中如果因为网线连接故障或从节点故障导致某处断开时,则系统将分为两个链状网络继续保持和主节点通讯,如果在与主节点连接处断开,则只有一个链状网络,在网络断开处各从节点将执行以下动作 从节点i检测到B侧网口连接断开,立即转换为网段I的末节点,并启动上发;数据由从节点i依次经过从节点i_l,i-2……最终由O从节点经A网口发送给主节点,此过程和正常传输过程相似,每个从节点会将自己的状态数据追加到返回帧的末尾; 从节点i+Ι检测到A侧网络连接断开,立即转换为网段II的末节点,并启动上发一个正常末节点的上发广播包;此时i+2以后的从节点并未得知网络中间有断开,故对i+Ι节点的上发数据包仅执行转发,转发过程中这些从节点检测到转发数据为广播包则在转发结束后通过交叉开关调换以太网两个网口 A和B的引脚连接;转发过程中各从节点对从节点i+Ι发起的数据帧不做任何操作;最后该广播包由从节点η转发给主节点,至此网段II内所有的从节点网口调换完毕,同时从节点η启动网络周期管理模块,开始实施对网段II的周期管理;主节点接收到两个网段上发的数据后即可判断故障所在,并按照当前网络状态重新建立对各从节点的管理; 环形网络因中间断开而形成两个独立的链状网络之后,主节点每个周期都会查询两个网络上分布时钟的锁定时刻,并根据主节点接收到两个链状网络返回帧的时刻对两个网段的分布时钟进行补偿,从而保证整个网络上的时钟同步。
全文摘要
本发明公开了一种环形冗余的实时以太网通讯方法,它通过通讯末节点的自动仲裁机制兼容链状网络,采用冗余数据发送的方式降低误码传输带来的影响,并且在中间网络断开或节点故障之后能自动组成两个链状网络维持系统的正常运行,从而大大提高了系统的可靠性。在网络中至少包含一个主节点和若干个从节点,每个节点均有A、B两个标准的以太网网口,网线从主节点的A网口开始,将各从节点级联起来,最后连接到主节点的B网口形成一个环形网络回路,环形网络采用末从节点自动仲裁机制来兼容链状以太网,并以此实现网络断开后的自恢复,整个通讯过程分为枚举、配置和周期性通讯三个阶段。针对网络因故障从中间断开的情况,系统自动按照两个链状网络继续保持和主节点的通讯,从而增强系统的可靠性和容错能力。
文档编号H04L12/437GK102710484SQ201210166990
公开日2012年10月3日 申请日期2012年5月26日 优先权日2012年5月26日
发明者姬帅, 张承瑞, 张鲁闽 申请人:济南凌康数控技术有限公司