采样值双网在线切换方法转让专利

申请号 : CN201010273732.X

文献号 : CN101958802A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨玉昆余文辉何锦雄陈宏辉胡铁斌张学强戴丽娜周俊涛李广华文继锋李力冯亚东陈松林李九虎高新华陈炯聪杨颖安马凯

申请人 : 广东电网公司茂名供电局南京南瑞继保电气有限公司广东电网公司电力科学研究院

摘要 :

采样值双网在线切换方法,由双网冗余数据快速识别算法和双网数据在线切换方法组成:双网冗余数据快速识别算法:双网数据快速识别算法通过缓存接收数据的几个状态信息,来达到快速识别的目的;双网冗余数据快速识别算法利用了先发送先到达的网络传输特性、采样计数器连续的特性,通过分析报文的网络来源,通过对冗余报文的少量解码,及简单的比较操作,就可以快速有效识别双网冗余报文;双网数据在线切换方法:以最先到达接收装置的采样值内容尽快更新接收缓冲区;在较快到达的采样值数据出现丢帧情况下,以较慢到达的另一网络数据实现丢帧补偿;在单网故障或双网交替故障时确保采样值接收正确。本发明保证任一网络故障情况下采样值数据可靠传输。

权利要求 :

1.采样值双网在线切换方法,其特征是由双网冗余数据快速识别算法和双网数据在线切换方法组成:双网冗余数据快速识别算法:

双网数据快速识别算法通过缓存接收数据的几个状态信息,来达到快速识别的目的;

其中每个状态信息都包含以下内容:

(1)bValid:True表示该状态信息的其他成员已初始化,Flase表示未初始化;

(2)NetSource:记录采样值数据来源的网络信息,A网或B网;

(3)smpCnt:记录采样值数据的采样计数器信息;

(4)smpSyn:记录采样值同步状态信息;

缓存状态信息的数目与双网间最大网络延迟差,以及采样时间间隔有关;最小缓存状态信息数目=(最大网络延迟差+采样时间间隔-1)/采样时间间隔;

如Status1状态记录当前有效帧信息;Status2记录当前有效帧的前一有效帧信息,其双网快速冗余识别算法计算过程如下:(1)装置初始信息:Status1.bValid=Status2.bValid=false;

(2)未连续接收到采样值报文:进入“双网在线切换逻辑”;随后设置Status1.bValid=Status2.bValid=false;表示设定当前有效帧记录未初始化;

(3)未初始化Status1:解析该帧数据,进入“双网在线切换逻辑”进一步处理采样值数据,随后更新Status1Status1.b Valid=ture

Status1.NetSource=curNet

表示记录采样值来源、采样计数器信息、同步状态信息;

Status1.smpCnt=curSmpCnt

Status1.smpSyn=curSmpSyn

(4)采样值来源与Status1.NetSourse相同:该帧数据非冗余数据,解析该帧数据,进入“双网在线切换逻辑”进一步处理采样值数据;随后更新Status1、Status2Status1=Status2Status1.NetSource=curNet

表示当前有效帧的记录采样值来源、采样计数器信息、同步状态信Status1.smpCnt=curSmpCnt

Status1.smpSyn=curSmpSyn

息;

(5)采样值来源与Status1.NetSourse不同:表示与当前有效帧的记录采样值不同,解析该帧的采样计数器信息;

(6)Status1.smpCnt==curSmpCnt:表示当前有效帧的记录采样值计数器信息相同,冗余数据,丢弃并退出;

(7)(Status2.bValid==ture)&&(Status2.smpCnt==curSmpCnt):表示当前有效帧的记录采样值初始化相同,冗余数据,丢弃并退出;

(8)解析该帧数据,进入“双网在线切换逻辑”进一步处理采样值数据;

1.双网冗余数据快速识别算法利用了先发送先到达的网络传输特性、采样计数器连续的特性,通过分析报文的网络来源,通过对冗余报文的少量解码,及简单的比较操作,就可以快速有效识别双网冗余报文;

双网数据快速识别算法通过设置缓冲状态信息的个数,防止由于路由选择、网络拥塞等各种原因造成的A/B网的网络延迟、网络延迟差抖动对双网数据识别造成的不良影响;

双网数据在线切换方法:以最先到达接收装置的采样值内容尽快更新接收缓冲区;在较快到达的采样值数据出现丢帧情况下,以较慢到达的另一网络数据实现丢帧补偿;在单网故障或双网交替故障时确保采样值接收正确;

采样值更新判据:根据以采样值计数器在相同同步状态下连续递增,在一定程度反转的特性,判断采样值计数器是否更新。

2.根据权利要求1所述的采样值双网在线切换方法,其特征是在相同同步状态下,考虑采样值接收可能发生短暂丢帧情况,其采样值更新判据如下:

1)LastSmpCnt>(MaxSmpCnt-MaxLostNum):CurSmpCnt>LastSmpCnt||CurSmpCnt<((LastSmpCnt+MaxLostNum)%MaxSmpCnt)时,认为CurSmpCnt更新;否则,认为发生跳变;

2)CurSmpCnt>LastSmpCnt&&CurSmpCnt<(LastSmpCnt+MaxLostNum)时,认为采样值发生更新;否则,认为发生跳变;

MaxSmpCnt表示在固定采样频率下的采样计数器的数值个数,在连续接收数据间隔内其最大可能发生的采样值计数器跳变数为MaxLostNum;

通过对最后一帧的数据与当前数据比较,采样值的双网切换实现采样值更新的判断;

同时采样值为时效性数据,该数据只会短暂的缓冲后就会被用来计算使用;所以丢帧补偿只需补偿最近丢失的几帧数据即可。为保证丢帧信息的时效性,每个丢帧信息都有一个定时器,在定时器超时内可对丢帧数据进行补偿;

最后一帧信息,丢帧信息都需要记录几个特定的状态信息;最后一帧接收数据需要记录:有效标志bValid、丢帧采样计数器SmpCnt、丢帧同步状态smpSyn、数据帧来源netSource;丢帧信息需要记录:有效标志bValid、丢帧采样计数器SmpCnt、丢帧同步状态smpSyn、超时定时器Timer。

3.根据权利要求1或2所述的采样值双网在线切换方法,其特征是补偿二帧数据时,LastRx记录最后一帧信息,Lost1标识最靠近当前数据的丢帧,Lost2表示次靠近当前数据的丢帧,其双网在线切换过程如下;

(1)未连续收到报文:数据缓冲区设置网络中断标志;同时lastRx.bValid=Lost1.bValid=Lost2.b Valid=false,并退出;

(2)长时间未更新lastRx信息:数据缓冲区设置中断标志,同时lastRx.bValid=false,并退出;

(3)LastRx.bValid==false:跳转到8;

(4)LastRx.NetSourse==CurNet:跳转到7;

(5)CurSmpSyn≠LastRx.smpSyn:丢弃该信息;

(6)CurSmpCnt比LastRx.smpCnt更新:进入7;否则该帧数据用来补偿丢帧信息:

1)Lost1.bValid= =True:若CurSmpSyn= =Lost1.smpSyn&&CurSmpCnt = =Lost1.smpCnt,将本帧信息填入数据缓冲区相应位置;同时Lost1.Valid=Lost2.Valid=False;

2)Lost2.bValid==True:若CurSmpSyn==Lost2.smpSyn&&CurSmpCnt==Lost2.smpCnt,将本帧信息填入数据缓冲区相应位置;同时Lost2.Valid=False;

(7)CurSmpCnt((LastRx.smpCnt+1)%MaxSmpCnt):有丢帧发生(如果发生多帧信息丢帧,直记录最新的两帧丢帧信息),

1)Lost1.bValid==True:Lost2=Lost1;

2)更新最新丢帧信息;

Lost1.bValid=true

Lost1.smpCnt=lostSmpCnt

lost1.smpSyn=curSyn

SET Lost1.Timer

3)将丢帧内容以无效标志写入数据缓冲区;

4)如果有更多丢帧数据,Enter:1);

(8)将本帧数据写入数据缓冲区;并以下述步骤更新LastRx信息:LastRx.bValid=True

LastRx.smpCnt=CurSmpCnt

LastRx.NetSource=CurNet

LastRx.smpSyn=CurSyn

(9)检查Lost1与Lost2的定时器:

1)Lost1.Timer==TimeOut:Lost1.Valid=Lost2.Valid=False;

2)Lost2.Timer==TimeOut:Lost2.Valid=False;

(10)Return。

4.根据权利要求1或2所述的采样值双网在线切换方法,其特征是在采样值报文同步状态改变瞬间,采样值计数器自动发生跳变,此时的采样值连续性判据失效,装置接收到的A/B网采样值数据可能会连续几帧发生同步状态、采样计数器同时跳变的情况。为防止在该情况下算法发生误判,双网在线切换算法在采样值报文同步状态发生改变的情况下,只根据同一网络数据更新数据缓冲区,即同步变化前的最后一帧的数据接收网络;直到双网数据同时具有相同同步状态时,恢复正常双网切换方式。

说明书 :

采样值双网在线切换方法

技术领域

[0001] 本发明涉及数字化变电站采样值双网在线切换的方法,尤其是以基于采样值网络双网采样数据快速识别的双网在线切换的方法。

背景技术

[0002] 在变电站自动化领域中,智能化电气设备的发展,特别是智能开关、光电式互感器机电一体化设备的出现以及高速以太网通讯技术的成熟使用,变电站自动化技术进入了数字化应用的新阶段。数字化变电站通讯的核心基础是IEC61850通信协议,该协议将变电站分为站控层、间隔层、过程层,规定各层之间和层内部采用高速以太网通信。与常规的综合自动化变电站相比,数字化变电站变化最大的部分是过程层的数字化:取消了传统互感器、开关等一次设备和二次设备之间的电缆连接,逐步变成了光电式互感器、智能接口、合并单元等设备之间的光纤连接。
[0003] IEC61850-9-2是IEC61850采样值传输标准的一部分,该部分标准完全依照IEC61850规定的采样值数据模型及其相关ACSI服务定义,实现了过程层与间隔层之间传送采样值的特定通信服务映射。它是一个基于混合协议栈的抽象模型:为传输采样值设置的采样值控制块的属性的访问是采用IEC61850-8-1定义的MMS映射;为采样值的传送采用直接访问ISO/IEC 8802-3链路映射。
[0004] IEC61850-9-2规约支持IEC61850-7-2中定义的采样值模型ACSI服务中的全部服务。同时,它广义还支持数据通信的服务器、关联、LD、LN、DATA和DataSet的全部相关ACSI服务。IEC61850-9-2的DataSet模型可以灵活配置,可以根据工程需要而灵活的组织采样通道数据的组合方式,便于实现跨间隔的二次功能的采样值的传送。IEC61850-9-2规约规定了两种类型的采样值控制块:MSVCB(多路广播采样值控制块类)和USVCB(单路传输采样值类)。USVCB以点对点方式实现采样值传输。MSVCB采用发布者/订阅者的模型,以以太网组网模式实现采样值传输;该传输模式可有效支持多间隔采样值的接收,并最大化实现数据共享,在实际工程中得到了更多的使用。
[0005] 面向通用对象的变电站事件(GOOSE)是IEC 61850标准中用于满足变电站自动化系统快速报文需求的机制。变电站配置计算机监控系统,承担运行人员正常控制、监视、信号、测量以及数据统计分析等各方面的功能,监控系统采用IEC61850通信标准,利用快速以太网特性,通过GOOSE(面向对象变电站通用事件)实现保护之间信息交换和监控间隔联闭锁功能,与保护系统统一建模、统一组网,共享统一的信息平台,提高二次系统的安全性、可靠性;IEC61850的应用,节省了规约转换设备,取消了前置等中间通信环节,减少运行、检修、维护工作量,节省重复的二次设备以达到节省成本的目的。
[0006] 随着数字化变电站技术的持续发展和不断的工程实践,采样值网络化传输已经成为后续发展的技术方向,这也是数据共享的客观要求,如何提高采样值网络化传输的可靠性,是数字化变电站实施中的最重要的技术难点之一。
[0007] 数字化变电站SV(采样值)双网过程层与间隔层之间传送采样值的特定通信服务映射,是一个基于混合协议栈的抽象模型:为传输采样值设置的采样值控制块的属性的访问是采用IEC61850-8-1定义的MMS映射;为采样值的传送采用直接访问ISO/IEC 8802-3链路映射。

发明内容

[0008] 本发明的目的是:在双网冗余的IEC61850-9-2采样值传输方案中,提供一种基于双网数据快速识别的双网在线切换方案,保证任一网络故障情况下采样值数据的可靠传输,同时提高采样值处理效率。
[0009] 本发明目的还在于提出基于双网采样数据快速识别的在线切换的采样值传输方式,双网中任意网络出现瞬时性或永久性故障均不影响采样值的正确传输,并最大限度的提高抗交换机网络丢帧的能力;同时为了提高相关接收设备的采样值处理能力,针对性的提出采样值双网冗余数据快速识别算法,在不需要对数据帧进行完全解码的情况下,区分是否是冗余采样数据,提高采样值处理效率。
[0010] 本发明的技术方案是:采样值双网在线切换的传输方法,该采样值双网在线切换方法由双网冗余数据快速识别算法和双网数据在线切换方法组成:
[0011] 双网冗余数据快速识别算法:
[0012] 双网数据快速识别算法通过缓存接收数据的几个状态信息,来达到快速识别的目的;其中每个状态信息都包含以下内容:
[0013] 1.bValid:True表示该状态信息的其他成员已初始化,Flase表示未初始化;
[0014] 2.NetSource:记录采样值数据来源的网络信息,A网或B网;
[0015] 3.smpCnt:记录采样值数据的采样计数器信息。
[0016] 4.smpSyn:记录采样值同步状态信息。
[0017] 缓存状态信息的数目与双网间最大网络延迟差,以及采样时间间隔有关;最小缓存状态信息数目=(最大网络延迟差+采样时间间隔-1)/采样时间间隔;
[0018] 如Status1状态记录当前有效帧信息;Status2记录当前有效帧的前一有效帧信息,其双网快速冗余识别算法计算过程如下:
[0019] (1)装置初始信息:Status1.bValid=Status2.bValid=false;
[0020] (2)未连续接收到采样值报文:进入“双网在线切换逻辑”;随后设置Status1.bValid=Status2.bValid=false;表示设定当前有效帧记录未初始化;
[0021] (3)未初始化Status1:解析该帧数据,进入“双网在线切换逻辑”进一步处理采样值数据,随后更新Status1
[0022] Status1.b Valid=ture
[0023] Status1.NetSource=curNet
[0024] 表示记录采样值来源、采样计数器信息、同步状态信息;
[0025] Status1.smpCnt=curSmpCnt
[0026] Status1.smpSyn=curSmpSyn
[0027] (4)采样值来源与Status1.NetSourse相同:该帧数据非冗余数据,解析该帧数据,进入
[0028] “双网在线切换逻辑”进一步处理采样值数据;随后更新Status1、Status2[0029] Status1=Status2
[0030] Status1.NetSource=curNet
[0031] 表示当前有效帧的记录采样值来源、采样计数器信息、同步状态信[0032] Status1.smpCnt=curSmpCnt
[0033] Status1.smpSyn=curSmpSyn
[0034] 息;
[0035] (5)采样值来源与Status1.NetSourse不同:表示与当前有效帧的记录采样值不同,解析该帧的采样计数器信息;
[0036] (6)Status1.smpCnt==curSmpCnt:表示当前有效帧的记录采样值计数器信息相同,冗余数据,丢弃并退出;
[0037] (7)(Status2.bValid==ture)&&(Status2.smpCnt==curSmpCnt):表示当前有效帧的记录采样值初始化相同,冗余数据,丢弃并退出;
[0038] (8)解析该帧数据,进入“双网在线切换逻辑”进一步处理采样值数据;
[0039] 双网冗余数据快速识别算法利用了先发送先到达的网络传输特性、采样计数器连续的特性,通过分析报文的网络来源,通过对冗余报文的少量解码,及简单的比较操作,就可以快速有效识别双网冗余报文;
[0040] 双网数据快速识别算法通过设置缓冲状态信息的个数,防止由于路由选择、网络拥塞等各种原因造成的A/B网的网络延迟、网络延迟差抖动对双网数据识别造成的不良影响;
[0041] 双网数据在线切换方法:以最先到达接收装置的采样值内容尽快更新接收缓冲区;在较快到达的采样值数据出现丢帧情况下,以较慢到达的另一网络数据实现丢帧补偿;在单网故障或双网交替故障时确保采样值接收正确;
[0042] 采样值更新判据:根据以采样值计数器在相同同步状态下连续递增,在一定程度反转的特性,判断采样值计数器是否更新。
[0043] 在相同同步状态下,考虑采样值接收可能发生短暂丢帧情况,其采样值更新判据如下:
[0044] 1)LastSmpCnt>(MaxSmpCnt-MaxLostNum):
[0045] CurSmpCnt > LastSmpCnt||CurSmpCnt < ((LastSmpCnt+MaxLostNum) %MaxSmpCnt)时,认为CurSmpCnt更新;否则,认为发生跳变;
[0046] 2)CurSmpCnt>LastSmpCnt&&CurSmpCnt<(LastSmpCnt+MaxLostNum)时,认为采样值发生更新;否则,认为发生跳变;
[0047] MaxSmpCnt表示在固定采样频率下的采样计数器的数值个数,在连续接收数据间隔内其最大可能发生的采样值计数器跳变数为MaxLostNum;
[0048] 通过对最后一帧的数据与当前数据比较,采样值的双网切换实现采样值更新的判断;同时采样值为时效性数据,该数据只会短暂的缓冲后就会被用来计算使用;所以丢帧补偿只需补偿最近丢失的几帧数据即可。为保证丢帧信息的时效性,每个丢帧信息都有一个定时器,在定时器超时内可对丢帧数据进行补偿;
[0049] 最后一帧信息,丢帧信息都需要记录几个特定的状态信息;最后一帧接收数据需要记录:有效标志bValid、丢帧采样计数器SmpCnt、丢帧同步状态smpSyn、数据帧来源netSource;丢帧信息需要记录:有效标志bValid、丢帧采样计数器SmpCnt、丢帧同步状态smpSyn、超时定时器Timer。
[0050] 补偿二帧数据时,LastRx记录最后一帧信息,Lost1标识最靠近当前数据的丢帧,Lost2表示次靠近当前数据的丢帧,其双网在线切换过程如下;
[0051] (1)未连续收到报文:数据缓冲区设置网络中断标志;同时
[0052] lastRx.b Valid=Lost1.bValid=Lost2.b Valid=false,并退出;
[0053] (2)长时间未更新lastRx信息:数据缓冲区设置中断标志,同时lastRx.bValid=false,并退出;
[0054] (3)LastRx.bValid==false:跳转到8;
[0055] (4)LastRx.NetSourse==CurNet:跳转到7;
[0056] (5)CurSmpSyn≠LastRx.smpSyn:丢弃该信息;
[0057] (6)CurSmpCnt比LastRx.smpCnt更新:进入7;否则该帧数据用来补偿丢帧信息:
[0058] 1)Lost1.bValid==True:若CurSmpSyn==Lost1.smpSyn&&CurSmpCnt==Lost1.smpCnt,将本帧信息填入数据缓冲区相应位置;同时Lost1.Valid=Lost2.Valid=False;
[0059] 2)Lost2.bValid==True:若CurSmpSyn==Lost2.smpSyn&&CurSmpCnt==Lost2.smpCnt,将本帧信息填入数据缓冲区相应位置;同时Lost2.Valid=False;
[0060] (7)CurSmpCnt≠((LastRx.smpCnt+1)%MaxSmpCnt):有丢帧发生(如果发生多帧信息丢帧,直记录最新的两帧丢帧信息),
[0061] 1)Lost1.bValid==True:Lost2=Lost1;
[0062] 2)更新最新丢帧信息;
[0063] Lost1.bValid=true
[0064] Lost1.smpCnt=lostSmpCnt
[0065] lost1.smpSyn=curSyn
[0066] SET Lost1.Timer
[0067] 3)将丢帧内容以无效标志写入数据缓冲区;
[0068] 4)如果有更多丢帧数据,Enter:1);
[0069] (8)将本帧数据写入数据缓冲区;并以下述步骤更新LastRx信息:
[0070] LastRx.b Valid=True
[0071] LastRx.smpCnt=CurSmpCnt
[0072] ;
[0073] LastRx.NetSource=CurNet
[0074] LastRx.smpSyn=CurSyn
[0075] (9)检查Lost1与Lost2的定时器:
[0076] 1)Lost1.Timer==TimeOut:Lost1.Valid=Lost2.Valid=False;
[0077] 2)Lost2.Timer==TimeOut:Lost2.Valid=False;
[0078] (10)Return。
[0079] 在采样值报文同步状态改变瞬间,采样值计数器自动发生跳变,此时的采样值连续性判据失效,装置接收到的A/B网采样值数据可能会连续几帧发生同步状态、采样计数器同时跳变的情况。为防止在该情况下算法发生误判,双网在线切换算法在采样值报文同步状态发生改变的情况下,只根据同一网络数据更新数据缓冲区,即同步变化前的最后一帧的数据接收网络;直到双网数据同时具有相同同步状态时,恢复正常双网切换方式。
[0080] 数字化变电站中的采样数据流量非常大,一个典型采样频率为4k的合并单元的数据流量约等于5Mb/s。如此采样频率下的数据流量对网络传输设备、数据接收设备的实时性处理要求非常高。对需要接收多合并单元数据的跨间隔设备来说,同时处理双网的采样值数据对系统负荷是非常严峻的考验,有时候甚至造成系统超载。
[0081] 数字化变电站,基于SV网络双网采样数据,采用双网冗余传输采样值数据,任一网络上传输的采样数据都与另外一个网络上的数据内容基本相同:除标识不同网络路由的VLAN域有可能不同之外,数据段内容完全相同。采用双网采样值通讯的接收装置会接收到大量冗余报文,双网数据快速识别算法提供了快速双网的冗余数据的识别方法;相对两个单网完全解码的运算复杂度,这种双网冗余数据快速识别算法的解码复杂度大大降低——只相当于单网完全解码的基础上增加了一个少量解码的复杂度,提高了双网解码效率。
[0082] 本发明的有益效果是:双网中任意网络出现瞬时性或永久性故障均不影响采样值的正确传输,并最大限度的提高抗交换机网络丢帧的能力;同时为了提高相关接收设备的采样值处理能力,针对性的提出采样值双网冗余数据快速识别算法,在不需要对数据帧进行完全解码的情况下,区分是否是冗余采样数据,提高采样值处理效率。
[0083] 在双网冗余数据快速识别算法的基础上,双网数据在线切换快速识别算法只使用一个数据缓冲区,成倍减少了系统资源的使用。双网数据在线切换算法以最先接收的采样值数据更新数据缓冲区,采样值数据能够得到最快更新;同时一旦一网数据出现丢帧,可以以另外一网数据帧补偿,最大限度降低了丢帧对采样值接收的影响。双网数据在线切换算法的工作复杂度仅是单网数据处理的基础上,增加了一个动态丢帧补偿的复杂度,远低于两个单网数据处理的复杂度。

具体实施方式

[0084] 一、双网冗余快速识别算法与双网数据在线切换算法实现的前提条件:
[0085] 1.合并单元(MU)发送采样数据的连续性:其采样计数器(smpCnt),每次采样后都进行加一操作;并在[0,MaxSmpCnt)之间循环往复(MaxSmpCnt=采样频率,以4k的采样频率为例,其MaxSmpCnt为4000)。
[0086] 2.MU发送双网数据的相同:MU应同时发送相同的双网数据(仅用于网络路由的VALN内容可不一致)。
[0087] 3.网络传输保证:在正常状态下保证MU先发送的采样值数据先被接收设备接收到,后发送的数据后被接收到。
[0088] 4.双网间的网络延迟差:双网传输(A、B网)的同一采样值报文由于网络路由不同等原因可能会先后到达接收设备。双网网络延迟差即A、B网同一采样值报文到达接收设备的时间差。A、B网的网络延迟时间差的差值不应过大,其最大值应控制在一定范围内。
[0089] 5.采样值报文网络来源的识别:来自A网还是B网?可以通过两种方式区分:
[0090] a.如果A/B网来自装置的不同网络接口,且能够识别采样报文来源的物理接口,则可以通过识别物理接口识别采样值报文来源。
[0091] b.如果A/B网采样值报文带有不同的VLAN标志,且同时该标志内容被接收装置接收,则可以通过识别不同的VLAN标志来识别采样值的报文来源。
[0092] 二、快速冗余报文识别算法
[0093] 双网数据快速识别算法通过缓存接收数据的几个状态信息,来达到快速识别的目的。其中每个状态信息都包含以下内容:
[0094] 1.bValid:True表示该状态信息的其他成员已初始化,Flase表示未初始化;
[0095] 2.NetSource:记录采样值数据来源的网络信息,A网或B网;
[0096] 3.smpCnt:记录采样值数据的采样计数器信息。
[0097] 4.smpSyn:记录采样值同步状态信息。
[0098] 缓存状态信息的数目与双网间最大网络延迟差,以及采样时间间隔(1s/采样频率)有关。最小缓存状态信息数目=(最大网络延迟差+采样时间间隔-1)/采样时间间隔。
[0099] 以缓冲2帧状态信息为例,其中Status1记录当前有效帧信息;Status2记录当前有效帧的前一有效帧信息,其双网快速冗余识别算法计算过程如下:
[0100] 1.装置初始化:Status1.bValid=Status2.bValid=false;
[0101] 2.未连续接收到采样值报文:进入“双网在线切换逻辑”;随后设置Status1.bValid=Status2.bValid=false;
[0102] 3.未初始化Status1:解析该帧数据,进入“双网在线切换逻辑”进一步处理采样值数据,随后更新Status1
[0103] Status1.bValid=ture
[0104] Status1.NetSource=curNet
[0105] Status1.smpCnt=curSmpCnt
[0106] Status1.smpSyn=curSmpSyn
[0107] 其中curNet为当前使用的网络号,curSmplCnt为当前使用的样本计数器,curSmplSyn为当前使用的数据同步品质位。
[0108] 4.采样值来源与Status1.NetSourse相同:该帧数据非冗余数据,解析该帧数据,进入“双网在线切换逻辑”进一步处理采样值数据;随后更新Status1、Status2[0109] Status1=Status2
[0110] Status1.NetSource=curNet
[0111] Status1.smpCnt=curSmpCnt
[0112] Status1.smpSyn=curSmpSyn
[0113] 5.采样值来源与Status1.NetSourse不同:解析该帧的采样计数器信息。
[0114] 6.Status1.smpCnt==curSmpCnt(这个语句什么意思?):冗余数据,丢弃并退出;
[0115] 7.(Status2.bValid==ture)&&(Status2.smpCnt==curSmpCnt):(这个语句什么意思?)冗余数据,丢弃并退出;
[0116] 8.解析该帧数据,进入“双网在线切换逻辑”(什么是双网切换逻辑,有说明吗?)进一步处理采样值数据。
[0117] 双网冗余数据快速识别算法利用了先发送先到达的网络传输特性、采样计数器连续的特性,通过分析报文的网络来源,通过对冗余报文的少量解码,及简单的比较操作,就可以快速有效识别双网冗余报文,大大提高了双网采样值报文的解码效率。同时双网数据快速识别算法通过合理设置缓冲状态信息的个数,可以有效防止由于路由选择、网络拥塞等各种原因造成的A/B网的网络延迟、网络延迟差抖动对双网数据识别造成的印象。
[0118] 三、双网数据在线切换
[0119] 双网数据在线切换逻辑主要内容包括:以最先到达接收装置的采样值内容尽快更新接收缓冲区;在较快到达的采样值数据出现丢帧情况下,以较慢到达的另一网络数据实现丢帧补偿;在单网故障或双网交替故障时确保采样值接收正确。
[0120] 采样值更新判据:根据以采样值计数器在相同同步状态下连续递增,到一定程度反转的特性,判断采样值计数器是否更新。在相同同步状态下,考虑采样值接收可能原因发生短暂丢帧情况,其采样值更新判据如下:
[0121] 1.LastSmpCnt>(MaxSmpCnt-MaxLostNum):
[0122] CurSmpCnt > LastSmpCnt||CurSmpCnt < ((LastSmpCnt+MaxLostNum) %MaxSmpCnt)时,认为CurSmpCnt更新;否则,认为发生跳变。
[0123] 2.CurSmpCnt>LastSmpCnt&&CurSmpCnt<(LastSmpCnt+MaxLostNum)时,认为采样值发生更新;否则,认为发生跳变。
[0124] MaxSmpCnt表示在固定采样频率下的采样计数器的数值个数,以4k采样率为例,[0125] MaxSmpCnt=4000;smpCnt∈[0,3999]。根据“双网数据快速识别”的连续接收判据,在连续接收数据间隔内其最大可能发生的采样值计数器跳变数为MaxLostNum。
[0126] 通过对最后一帧的数据与当前数据比较,采样值的双网切换实现采样值更新的判断。同时采样值为时效性数据,该数据只会短暂的缓冲后就会被用来计算使用;所以丢帧补偿只需补偿最近丢失的几帧数据即可。为保证丢帧信息的时效性,每个丢帧信息都有一个定时器,在定时器超时内可对丢帧数据进行补偿。
[0127] 最后一帧信息,丢帧信息都需要记录几个特定的状态信息。最后一帧接收数据需要记录:有效标志bValid、丢帧采样计数器SmpCnt、丢帧同步状态smpSyn、数据帧来源netSource;丢帧信息需要记录:有效标志bValid、丢帧采样计数器SmpCnt、丢帧同步状态smpSyn、超时定时器Timer。
[0128] 以最多补偿2帧数据为例,LastRx记录最后一帧信息,Lost1标识最靠近当前数据的丢帧,Lost2表示次靠近当前数据的丢帧,其双网在线切换过程如下;
[0129] 1.未连续收到报文:数据缓冲区设置网络中断标志;同时lastRx.bValid=Lost1.bValid=Lost2.bValid=false,并退出;
[0130] 2.长时间未更新lastRx信息:数据缓冲区设置中断标志,同时lastRx.bValid=false,并退出;
[0131] 3.LastRx.bValid==false:跳转到8;
[0132] 4.LastRx.NetSourse==CurNet:跳转到7;
[0133] 5.CurSmpSyn≠LastRx./mpSyn:丢弃该信息;
[0134] 6.CurSmpCnt比LastRx.smpCnt更新:进入7;否则该帧数据用来补偿丢帧信息:
[0135] 1)Lost1.bValid==True:若CurSmpSyn==Lost1.smpSyn&&CurSmpCnt==Lost1.smpCnt,将本帧信息填入数据缓冲区相应位置;同时Lost1.Valid=Lost2.Valid=