本发明涉及电力系统技术领域,具体涉及一种基于FPGA芯片的电力系统故障数据保存方法及系统。
背景技术:
故障录波器用于电力系统,可在系统发生故障时,自动地、准确地记录故障前、后过程的各种电气量的变化情况,通过对这些电气量的分析、比较,对分析处理事故,判断保护是否正确动作,快速排查电网运行故障提供依据,因此,对提高电力系统安全运行水平有着重要作用。
故障录波器装置一般由采集单元,数据处理单元,后台三部分组成。FPGA(Field-Programmable Gate Array,可编程门阵列)芯片在故障录波装置采集单元中,一般作为时序控制,数据传送。不做复杂逻辑判断及浮点运算。FPGA通过数据总线来采集模拟量和开关量电气信号,也可以通过读写网卡数据,接收基于IEC61850 中SV网络数据和GOOSE(Generic Object Oriented Substation Event,面向通用对象的变电站事件)开关量信号。它将采集到的故障录波数据一般上送到具有操作系统的数据处理单元或嵌入式主板的后台机中。一但主板硬件、外部设备、操作系统崩溃或硬盘损坏,都会造成故障录波装置无法记录保存故障数据,这对分析电力系统故障是重大损失。
目前电力行业对故障录波器装置要求录波完好率为100%,并将此指标纳入了内部考核和录波器厂家是否合格评判的重要依据。
技术实现要素:
本发明的目的在于提出一种基于FPGA芯片的电力系统故障数据保存方法及系统,当电网中发生大量扰动,故障录波器都要进行录波,考虑到CF卡存储有限,本发明是通过FPGA芯片对开关量信息分析只将重要的保护动作故障数据保存到工业级CF卡中,其他数据直接上送到硬盘系统的处理单元或后台机。实现了芯片级黑匣子录波功能,大大提高了故障录波器录波的可靠性。
为达此目的,本发明采用以下技术方案:
作为本发明的一个方面,提供的一种基于FPGA芯片的电力系统故障数据保存方法,包括:
通过可编程门阵列FPGA芯片对电力系统进行故障录波,采集模拟量和开关量数据;
对所述开关量数据进行解析,获取发生变位动作的开关量;
根据电力系统预设的配置信息,判断发生变位动作的开关量是否为保护或断路器;
若是,则将所述开关量动作时间点前后预设时间段内的电力系统数据保存到工业级CF卡中。
可选地,在采集模拟量和开关量数据时,对数据打上时标。
可选地,所述保存所述开关量动作时间点前后预设时间段内的电力系统数据具体为:
根据开关量动作数据的时标获取动作时间点;
根据所述动作时间点和预设的时间段获取故障数据采集时间段;
采集所述故障数据采集时间段内的电力系统数据;
将所述电力系统数据保存到工业级CF卡中。
可选地,所述预设的时间段为100毫秒。
可选地,将所述电力系统数据保存到工业级CF卡中之后还包括:
在FPGA芯片中通过操作CF卡读写任务寄存器来读取所述电力系统数据。
可选地,所述CF卡中包括三个双口随机存取存储器:RAM1、RAM2、RAM3,当读RAM1时写RAM2,若RAM2有坏道时,改为读RAM1写RAM3,无坏道正常写入时,跳转至读RAM2写RAM3,依次循环。
作为本发明的另一个方面,提供的一种基于FPGA芯片的电力系统故障数据保存系统,包括:
数据处理模块,用于通过可编程门阵列FPGA芯片对电力系统进行故障录波,采集模拟量和开关量数据;
开关逻辑判断模块,用于对所述开关量数据进行解析,获取发生变位动作的开关量; 根据电力系统预设的配置信息,判断发生变位动作的开关量是否为保护或断路器;
CF卡控制模块,用于当发生变位动作的开关量为保护或断路器时,将所述开关量动作时间点前后预设时间段内的电力系统数据保存到工业级CF卡中。
可选地,所述数据处理模块还用于:
接收面向通用对象的变电站事件GOOSE报文,并对所述GOOSE报文进行解析,获取其中的开关量数据。
可选地,所述CF卡控制模块还用于:
在FPGA芯片中通过操作CF卡读写任务寄存器来读取所述电力系统数据。
可选地,所述CF卡中包括三个双口随机存取存储器:RAM1、RAM2、RAM3,当读RAM1时写RAM2,若RAM2有坏道时,改为读RAM1写RAM3,无坏道正常写入时,跳转至读RAM2写RAM3,依次循环。
本发明的有益效果为:一种基于FPGA芯片的电力系统故障数据保存方法及系统,该方法包括: 通过可编程门阵列FPGA芯片对电力系统进行故障录波,采集模拟量和开关量数据;对所述开关量数据进行解析,获取发生变位动作的开关量;根据电力系统预设的配置信息,判断发生变位动作的开关量是否为保护或断路器;若是,则将所述开关量动作时间点前后预设时间段内的电力系统数据保存到工业级CF卡中,通过FPGA芯片将重要的保护动作故障数据保存到工业级CF卡中,实现了芯片级黑匣子录波功能,大大提高了故障录波器录波的可靠性。
附图说明
图1是本发明实施例一提供的一种基于FPGA芯片的电力系统故障数据保存方法流程图;
图2是本发明实施例一提供的另一种基于FPGA芯片的电力系统故障数据保存方法流程图;
图3是本发明实施例一提供的CF卡的读写驱动逻辑图;
图4是本发明实施例二提供的一种基于FPGA芯片的电力系统故障数据保存系统示范性结构框图。
具体实施方式
下面结合图1-图4并通过具体实施方式来进一步说明本发明的技术方案。
实施例一
图1是本实施例提供的一种基于FPGA芯片的电力系统故障数据保存方法流程图。
一种基于FPGA芯片的电力系统故障数据保存方法,包括:
S10、通过可编程门阵列FPGA芯片对电力系统进行故障录波,采集模拟量和开关量数据;
S20、对所述开关量数据进行解析,获取发生变位动作的开关量;
S30、根据电力系统预设的配置信息,判断发生变位动作的开关量是否为保护或断路器;
若是,则说明此时发生了重要保护动作故障,进入步骤S40、将所述开关量动作时间点前后预设时间段内的电力系统数据保存到工业级CF卡中;否则,说明此时的开关量变位动作不重要,则进入步骤S50、不需要保存故障数据。
在本实施例中,当电网中发生大量扰动,故障录波器都要进行录波,考虑到CF卡存储有限,本发明是通过FPGA芯片对开关量信息分析只将重要的保护动作故障数据保存到工业级CF卡中,其他数据直接上送到硬盘系统的处理单元或后台机。实现了芯片级黑匣子录波功能,大大提高了故障录波器录波的可靠性。
在本实施例中,需要说明的是,判断发生变位动作的开关量是否为保护或断路器具体是判断发生变位动作的开关量是否为涉及保护动作的开关量,如:差动保护、距离保护、过流保护等;又或者是判断发生变位动作的开关量是否为涉及断路器的开关量,如:断路器过载、短路、接地等。
在本实施例中,在采集模拟量和开关量数据时,对数据打上时标,以便于准确判断保护动作时间,也即开关量变位时间。
如图2所示,在本实施例中,所述步骤S40包括:
S41、根据开关量动作数据的时标获取动作时间点;
S42、根据所述动作时间点和预设的时间段获取故障数据采集时间段;
S43、采集所述故障数据采集时间段内的电力系统数据;
S44、将所述电力系统数据保存到工业级CF卡中。
在本实施例中,所述预设的时间段为100毫秒,则故障数据采集时间段为动作时间点前后各100毫秒。
作为另一种实施例,所述预设的时间段可由用户自行设置。
在本实施例中,将所述电力系统数据保存到工业级CF卡中之后还包括:
在FPGA芯片中通过操作CF卡读写任务寄存器来读取所述电力系统数据,本方法中采用8位模式进行操作。在FPGA对CF卡进行写入操作之前,需要读取状态寄存器(偏移量为07H)来确定当前CF卡所处的状态。状态寄存器D7位为零,表示控制空闲;D6,D4均为1,表明CF卡已进入等待数据读写状态。执行命令前,程序要写7个寄存器,其中前6个为参数,最后1个为命令码。读扇区命令字为:20H或21H,写扇区命令字为:30H或31H。
在本实施例中,所述CF卡中包括三个双口随机存取存储器:RAM1、RAM2、RAM3,当读RAM1时写RAM2,若RAM2有坏道时,改为读RAM1写RAM3,无坏道正常写入时,跳转至读RAM2写RAM3,依次循环,这样就能对CF卡的坏道进行处理,防止丢失数据。
如图3所示,为本实施例具体解决读写CF卡驱动逻辑图,图中采用三个双口EPRAM的切换程序的思想解决读写CF卡并处理CF卡坏道问题,其中RAM_SWITCH1为双口EPRAM切换标志,为方便书写,图中RAM1、RAM2、RAM3分别表示为双口RAM(DPRAM)1~3。
正常情况下,若CF卡的读/写准备好的命令字(sta_wrdy_dat和sta_rrdy_dat)为58H时,可以对CF卡进行读/写操作。若在一段较长时间内(这里选择10ns),命令字信号sta_wrdy_dat和sta_rrdy_dat没有等到命令字58H时,则认为出现了坏道。
对于数据写入CF卡操作,如果在100000个时间单位内没有等到58H,在这段时间内,虽然已经将数据从顶层模块的双口EPRAM中读取出来,但没有成功将数据写入CF卡,这样,就需要在判断出现坏道之后,重新从该双口EPRAM读取数据,写到CF中。因此,就需要在对CF卡正确读写后和出现坏道时,都反馈给顶层模块一个标志。这里的标志信号为WR_STATE,映射到顶层模块后的标志信号为CF_WR_STATE。当对CF卡正确写完5个扇区后,WR_STATE为‘1’,若出现坏道时,WR_STATE为‘0’,此时,重新读取上一周期已经读取过的但并没有写入CF卡的数据。默认情况下,WR_STATE为‘1’,这样可以防止刚上电,系统就认为出现了坏道。在CF卡控制模块中对CF进行数据写入时,要判断是否出现坏道,如果出现了坏道,要重新读取上一周期已经读取过的但并没有写入CF卡的数据,以避免数据丢失。
图3中上半部分为刚刚上电后的EPRAM切换部分,下半部分为程序执行一段时间后的EPRAM切换部分,由图可以看出,刚刚上电后的EPRAM切换部分和程序执行一段时间后的程序执行是有所不同的,因此,需要一个标志来判断是否是刚刚上电。这里,使用标志FIRST_WR_FLG。当刚刚上电时,令FIRST_WR_FLG为‘1’,当第一次出现RAM_SWITCH1 = ”01” 后,令FIRST_WR_FLG为‘0’,因此,FIRST_WR_FLG的赋值操作在RAM_SWITCH1的赋值部分进行。
实施例二
如图4所示,在本实施例中,一种基于FPGA芯片的电力系统故障数据保存系统,包括:
数据处理模块10,用于通过可编程门阵列FPGA芯片对电力系统进行故障录波,采集模拟量和开关量数据;
开关逻辑判断模块20,用于对所述开关量数据进行解析,获取发生变位动作的开关量; 根据电力系统预设的配置信息,判断发生变位动作的开关量是否为保护或断路器;
CF卡控制模块30,用于当发生变位动作的开关量为保护或断路器时,将所述开关量动作时间点前后预设时间段内的电力系统数据保存到工业级CF卡中。
在本实施例中,通过FPGA芯片将重要的保护动作故障数据保存到工业级CF卡中,实现了芯片级黑匣子录波功能,大大提高了故障录波器录波的可靠性。
在本实施例中,所述数据处理模块还用于:
接收面向通用对象的变电站事件GOOSE报文,并对所述GOOSE报文进行解析,获取其中的开关量数据。
在本实施例中,所述CF卡控制模块还用于:
在FPGA芯片中通过操作CF卡读写任务寄存器来读取所述电力系统数据。
在本实施例中,所述CF卡中包括三个双口随机存取存储器:RAM1、RAM2、RAM3,当读RAM1时写RAM2,若RAM2有坏道时,改为读RAM1写RAM3,无坏道正常写入时,跳转至读RAM2写RAM3,依次循环,这样就能对CF卡的坏道进行处理,防止丢失数据。
以上所述仅为本发明的具体实施方式,这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方法,这些方式都将落入本发明的保护范围之内。