一种采样值报文丢失控制输出功能的报文产生系统及方法与流程

文档序号:12490768阅读:295来源:国知局
一种采样值报文丢失控制输出功能的报文产生系统及方法与流程
本发明属于智能电网设备可靠性测试领域,特别是一种可模拟电子式互感器采样值报文输出及随机丢失全过程的高精度IEC61850报文产生系统。
背景技术
:传统能源日益短缺、环境污染日益严重等问题正推动着传统电网向智能电网的转变,智能电网能为经济社会提供安全、高效、清洁、友好的电力服务,自2009年国家电网公司提出建设统一的坚强智能电网的发展目标以来,智能电网在中国得到了迅猛发展。智能电网设备向着数字化和智能化不断发展,通信技术得到了广泛的应用,引入了各类通信协议,如IEC61850、IEC61970通信协议等。IEC61850协议数字化设备入网运行前必须对其可靠性进行测试,目前对IEC61850协议的智能电网数字化设备入网运行的可靠性测试相对简单,是在传统设备测试的基础上发展而来的,对数字化设备的特性研究不足,缺乏针对性的可靠性测试设备。现有的IEC61850报文产生系统均只能输出理想的正余弦数字报文信号,且输出报文容易出现延时、阻塞及丢失现象,报文产生系统自身的可靠性有待进一步改善,最重要的一点是缺少能模拟现场环境条件下高随机性采样值报文丢失全过程的功能,不能实现现实条件下IEC61850报文随机丢失对IEC61850协议数字化设备运行可靠性的测试,本发明正是针对这一问题,提出了一种能真实模拟IEC61850报文传输系统中报文高随机丢失方案,可实现对IEC61850协议数字化设备入网运行前的可靠性测试进行测试,保障智能电网的安全运行。技术实现要素:针对现有技术的以上缺陷或改进需求,本发明提供一种智能电网IEC61850协议数字化设备可靠性测试报文产生系统,尤其是提出了一种基于Galois环振的SHA-256算法随机丢包控制方法,该方法能模拟现场实际环境条件下报文丢失的高随机性过程对数字化设备进行测试。为实现上述目的,本发明提供了如下方案:一种采样值报文丢失控制输出功能的报文产生系统,包括工业计算机系统和FPGA芯片模块,其特征在于:所述的工业计算机系统包括人机交换单元、波形采样及加载单元、报文数据分析单元、数据显示单元;所述的FPGA芯片模块包括报文输出单元、报文组帧单元、数据解析单元和报文输出单元;所述的人机交换单元的数据输出依次经过波形采样及加载单元、数据解析单元、报文输出控制单元、报文组帧单元、报文输出单元、报文数据分析单元后,输出数据传送到数据显示单元。采样值报文丢失控制输出功能的报文产生方法,包括以下步骤:第一步、人机交换单元根据智能电网IEC61850数字化设备测试要求输入及模拟任意负荷波形信号;第二步、波形采样及加载单元模拟智能电网中电子式互感器的采样频率,按需要对任意负荷波形信号进行不同采样频率采样;第三步、波形采样及加载单元与FPGA进行通信,并利用RS232串口将采样值及设置参数一次性加载到FPGA内部RAM进行保存;第四步、数据解析单元解析RAM中的数据,得到波形采样值数据及设置参数并保存;第五步、报文输出控制单元根据数据解析单元解析出的数据分析是否需要进行采样值报文输出丢失控制,若不需要,则控制报文正常组帧,反之,则根据需要,利用设置参数控制报文随机丢失;第六步、报文组帧单元根据报文输出控制单元按照IEC61850协议报文格式对输出报文进行组帧,并根据上位机程序输入的采样频率输出严格时序的IEC61850采样值报文;第七步、报文输出单元每秒钟按照采样频率输出IEC61850协议格式报文,前一秒出现延时情况不会累积到下一秒,前一秒输出报文出现1μs延时,下一秒会忽略延时,在零时刻开始输出IEC61850协议报文,报文输出单元利用FPGA通过查找表的方式对上位机一次性加载入RAM中的采样值循环读取并进行协议转换后通过以太网口及光纤接口循环输出;第八步、报文数据分析单元通过以太网口接收报文输出单元输出的IEC61850报文数据,通过实时解包算法对IEC61850协议采样值报文进行实时解包;第九步、报文数据分析单元设计采样值分析算法对采样值展开分析,分析内容包括:负荷波形中基波幅值、基波相位、基波频率、谐波幅值、谐波相位、谐波频率、间谐波幅值、间谐波相位、间谐波频率、输出负荷波形有功功率、输出负荷波形无功功率、采样频率、丢包率和丢包点位置;第十步、数据显示单元接收到报文数据分析单元输出的数据,实时显示输出负荷波形图表。与现有技术比较,本发明取得的效果是:1:系统提出了一种基于Galois环振的SHA-256算法随机丢包控制方法,该方法能真实模拟现场条件下IEC61850报文传输过程中随机丢失的现象,实现对IEC61850协议数字化设备入网可靠性的测试;2:系统采用工业计算机+FPGA相结合的报文产生方案,便于人机交互,可以按照需求输入任意负荷波形,解决了现有IEC61850报文产生系统仅能输出特定理想负荷波形的问题;3:系统一次性加载采样值数据波形到FPGA的RAM中,FPGA采用查找表的方法读取RAM中的采样值数据循环组帧输出,避免因采用FPGA进行波形采样再且帧输出造成的硬件资源浪费及容易出现的死机问题,同时,系统输出报文实时性高,解决了现有IEC61850报文产生系统容易出现报文延时、阻塞、丢失等问题;4:系统对输出报文进行再次解析,与设置原始波形进行比对,便于测试过程中对输出负荷波形可靠性进行观察。5:系统的报文输出精度高,能达到0.01准确度等级,可用于0.05准确度等级及以下的智能电网IEC61850协议数字化设备的可靠性测试,尤其可用于数字化电能表的误差测试;说明书附图图1所示为本发明对0.2S级数字化电能表准确度测试接线示意图;图2所示为本发明的原理框图;图3所示为本发明内报文丢失控制模块的Galois环振示意图;图4所示为本发明内报文丢失控制模块的Galois环振输出后采样电路示意图;图5所示为本发明内报文丢失控制模块的SHA-256后处理算法示意图;图6所示为本发明输出频率偏差负荷波形时的示意图;图7所示为本发明输出频率偏差负荷波形时的频率误差示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。实施例:本发明以输出报文用于数字化电能表准确度测试时为例进行具体实施方式的说明。现有的数字化电能表被动接收前端电子式互感器输出的IEC61850协议报文,电子式互感器的采样频率普遍为4kHz,本发明将以输出4kHz的具有报文丢失现象及频率偏差的负荷波形对0.2S级数字化电能表进行准确度测试为例进行分析。具体实施步骤如下:S1:如图1所示,本发明为被测数字化电能表提供标准信号输入,被测数字化电能表输出代表电能量的电能脉冲,脉冲采集及计时模块采集被测数字化电能表输出的电能脉冲并进行计量,误差计算模块通过比对本发明输出的负荷波形代表的电能量与利用脉冲采集及计量模块计算出的被测数字化电能表的电能量做比对,并计算出误差,计算公式如下。上式中E1、E2分别代表被测数字化电能表计量的电能量与本发明输出的负荷波形代表的电能量,n、t分别代表脉冲采集及计时模块采集的被测数字化电能表输出的电能脉冲个数与输出脉冲的时间,C表示数字化电能表的脉冲常数,ε代表被测数字化电能表的误差。S2:本发明原理框图如图2所示,其关键特征是报文丢失控制模块,能真实模拟现场条件IEC61850报文传输系统中采样值报随机丢失现象,解决IEC61850协议数字化设备现场条件下采样值报文随机丢失时可靠性测试问题。S3:根据S2所述,为了真实模拟合并单元输出报文传输路径中的熵源不确定性造成的采样值报文随机丢失现象,本发明利用Galois环振信号的随机抖动产生随机信号源,并采用密码通信学中应用广泛的SHA-256算法对随机信号进行后处理,提高熵源的熵值,即提高随机信号的随机性,得到真正随机数,最后利用丢包率及随机数计算出采样值报文丢失数据点位置,控制数据包随机丢失。S4:Galois环振如图3所示,环振输出见下式:当上式中C0=Cn=1,Galois环振只有在反馈多项式满足以下公式(4)时,输出信号才不会出现固定不变的状态。f(x)=(1+x)h(x)(4)从式(4)可以看到,要求f(x)可以被(1+x)整除,其中级数n只能是奇数。为保证环振输出数据的随机性,选择了Galois环振反馈多项式如下式。f(x)=1+x+x4+x5+x15+x16+x31+x32(5)逻辑门的随机抖动和传输时间是Galois环振的主要随机源,通过反馈结构将随机源的随机性进行传递和放大。S5:根据S4所述Galois环振逻辑门输出的随机抖动和传输抖动会使得环振的输出存在随机抖动信号,抖动信号必须经过采样电路变为随机序列,本发明选择了较为简单的采样电路进行随机信号的采集,如图4所示。如图4所示,其中CLK2是CLK1的n分频,前面两个D触发器采样到信号进行异或后再存储于其中第二个D触发器中,经过n次重复后,本文取CLK1为40kHz,n=10,ClK2为4kHz,通过第3个D触发器输出随机数字信号,通过此采样电路能很明显的提高输出数据的不确定性,即提高熵源的熵值。S6:尽管在理想情况下,采样电路输出的信号具有随机性,但是由于FPGA芯片内部的电路会受温度、电压及噪声等外界环境因素的影响,导致采样信号中存在偏置,即出现连续的0或1的现象,影响最终的输出结果,因此,在采集到随机信号后,本发明增加了SHA-256后处理算法对随机信号进行消偏处理,以保证随机序列中0或1出现的概率相当,避免出现统计缺陷,如图5所示,SHA-256后处理算法的具体实现公式将不再过多介绍。S7:根据S6所述,见图5所示,Galois环振采样后输出32bits的随机序列,将序列保存到先入先出(FIFO,FirstInputFirstOutput)队列中,在SHA-256算法读数据控制信号到达后,将数据加载到算法电路中,填充为512bits的数据,并分解为16个32bits的数据块进行运算,经过运算会将数据扩展为64个32bits的数据保存在Wt中,利用Kt哈希表及哈希(Hash)值寄存器进行运算后,得到256bits的数据保存到Hash值寄存器输出,数据输出后取最低的32bits数据,结合丢包率参数,计算出采样值报文丢失所在的点,控制输出报文随机丢失。随机丢失数据点计算公式见下式:上式:C为1代表控制数据点丢失,C为0则代表不控制数据点丢失,k为设置的丢包率,h(x)为输出的32bits的随机数据。S8:根据S7所述,本发明即能输出具有随机丢失的采样值报文用于数字化设备可靠性测试,对数字化电能表进行准确度测试时具体过程需要根据S1所述,利用系统人机交换单元设置所需虚拟负荷波形,输入余弦信号如下式。式中u(t)、i(t)分别为三相电压/电流负荷波形。S9:根据S8所述,本发明利用数据采样及加载单元对负荷波形进行采样,采样频率为4kHz(电网频率为50Hz,即每个周波采样80个点),对三相电压/电流分别进行采样,每相采样500个数据点,并将采样数据点存入环境变量。S10:根据S9所述,数据采样及加载单元通过驱动RS232串口,将每相的500个采样点及设置参数,按照以下表1所示的通信协议加载到FPGA的RAM中进行保存。表1通信协议格式说明代码帧起始符FF55H目标地址A0~A5频率偏差XXXX丢包率XXXX保留位XXXX数据起始标志F5F5H数据域DATA校验码CS结束符EEH上表中所有数据为十六进制表示,目的地址设置为接收报文的目标设备MAC地址,频率偏差、信噪比、丢包率中“XXXX”由上位机程序设置的参数确定,保留位用于对功能的扩展,数据起始标志位标志数据点开始,数据域为上位机采样22个通道的数据,校验码为从数据起始标志后第一个数据到校验码之前的所有数据字节模256的和,即各个字节的二进制算术和,不计其中超过256的溢出值,结束符标示通信协议结束。S11:根据S10所述,本发明的数据解析单元通过FPGA对RS232加载的数据进行校验,校验正确才对数据进行保存,否则将通过RS232每秒向上位机发送“FFFF”,“FFFF”代表重新加载数据信号。S12:数据解析单元在接收到正确数据后,解析通信协议内的采样点及设置参数,分析是否需对输出的IEC61850负荷波形进行设置,若不需要进行设置,则FPGA会取二十二个通道中每个通道的前480个采样点(6个基波周期采样点)循环进行保存。S13:本发明在是对采样值报文丢失及频率偏差条件下的数字化电能表进行测试分析,因此,数据分析单元会接收到采样值报文丢失及频率偏差设置参数,在接收到采样值报文丢失设置参数时,根据前面S2~S6所述,即能达到测试要求,当需要输出频率偏差负荷波形时,FPGA会对每个通道内480个采样点的基础上增加或减少采样点进行组帧输出,如需要输出52Hz~48Hz的负荷波形时,取462~500个数据点按次序循环进行协议转换输出,每多或少取一个数据点时,频率改变0.1Hz。以频率设计为49.9Hz及50.1Hz为例进行说明,输出信号波形如图6所示。S14:如图6所示,Δt1、Δt2分别为50Hz频率第6个整周波与49.9Hz、50.1Hz波形6个整周波之间的时间差,当频率为49.9Hz时,6个周波的时间为:t1=(1*6)/49.9≈120.24ms。频率为50.1Hz时,6个周波的时间为:t2=(1*6)/50.1≈119.76ms。由于两个采样点时间间隔为Tc=250μs,49.9Hz频率下,6个整周波采样点为n1=t1/Tc=480.96,因此取最近的整数481个波形数据点按次序循环进行协议转换并输出,此时采样点绝对误差为Δn1=480.96-481=0.04,转换为时间,即上图所示的Δt1=Δn1*Tc=10us,平均到6个周期,每个周期误差为Δt1e=Δt1/6≈1.67us,转换为频率设计误差:Δf1={[49.9/(1-1.67*49.9/1000000)-49.9]/49.9}*100%≈0.008%,同理得到50.1Hz时取最近的整数479个波形数据点输出,得到频率设计误差为:Δf2≈-0.009%。通过分析发现频率偏差设计在±2Hz内变化时,最大正误差在50.9Hz处为0.1%,负误差50.7Hz处为-0.079%,频率偏差设计误差分布如图7所示。S15:本发明在报文输出控制单元后,FPGA通过设置参数(如频率、丢包率等)对二十二个通道采样值数据进行控制后按照IEC61850协议报文格式组帧,并通过光口或网口输出至被测数字化电能表及报文数据分析单元。S16:报文数据分析单元实时解析IEC61850协议报文,解析程序设计时选择了WinPcap(WindowsPacketCapture)软件进行数据包的抓取,解包程序1S需要接收4000个数据包,根据IEC61850协议格式的规定,数据包中包含目的地址、源地址、同步标记等前导部分和三相的电压、电流采样值及其它电压(如母线电压)、电流等数据,需要WinPcap程序对抓捕到的数据包进行分类重组,通过解析得到各个通道的数据,数据量较大。本发明的数据的抓取及解包均采用了C++完成,效率更高,速度更快,上位机程序通过调用C++编写的动态链接库(DLL,DynamicLinkLibrary)文件进行数据获取。本发明在数据包解包过程中具有以下特点:(a)硬件的配置仅执行一次,数据读取过程中不再重新配置,减少了数据读取的延时。(b)基于Pcap_next_ex函数,通过毫秒定时器内嵌微秒定时器的方式来接收数据包,数据包接收速度快,无丢失现象。S17:报文数据解析单元在得到各个通道的数据后,对采样值数据进行分析,主要包括:负荷波形中基波幅值、基波相位、基波频率、谐波幅值、谐波相位、谐波频率、间谐波幅值、间谐波相位、间谐波频率、输出负荷波形有功功率、输出负荷波形无功功率、采样频率、丢包率、丢包点位置,并比对输出的数据与设置的输入是否相一致,误差允许范围为±0.01%。以上所述仅是本发明针对数字化电能表准确性测试的具体实施方式,使本领域技术人员能够理解或实现本发明,但是本发明不仅限于数字化电能表准确性的测试,根据权利要求书可以利用本发明进行智能电网IEC61850协议数字化设备的可靠性测试,针对本文明实例进行的多种修改对本领域技术人员而言是显而易见的,本发明所采用的方法及原理可以在不脱离本发明的精神或范围的情况下,在其它的实例中实现。因此,本发明不会被限制于本文所示的实施案例,而是要符合与本文所公开的原理和新颖特点所一致的最宽范围。最后说明的是,以上所述仅是实施例仅为说明本发明技术方案而非限制,尽管参照实施例对本发明进行的详细的说明,本领域的普遍技术人员应当理解,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1