一种电力系统故障录波格式转换方法
【技术领域】
[0001] 本发明属于电力系统的故障录波数据处理领域,更具体地,涉及一种电力系统故 障录波格式转换方法。
【背景技术】
[0002] 电力系统故障录波所记录下的波形对故障分析是十分有用的原始资料,它可以准 确地反映故障类型、相别、故障电流、电压的数值以及断路器的跳合闸时间和重合是否成功 等情况,利用其数据可以正确评价或验算继电保护装置工作的正确性,发现系统装置的缺 陷并及时进行消除并改进继电保护装置。故障录波在故障分析过程中,需要对录波进行回 放,将所记录的电压、电流波形经功率放大后重新输到保护装置,以考察保护装置在故障过 程中的动作行为,从而找出故障的原因,研究有效的防止措施,从而减少以至避免再发生类 似事故,对保证电力系统安全运行的作用极其重要。
[0003] 然而,现有的微机故障录波器在应用中存在以下问题:
[0004] (1)目前国内生产故障录波器的厂家多达20余家,各种型号的录波器既没有统一 的故障记录格式,也不能完全满足电力部颁布的《220- 550kV电力系统故障动态记录技术 准则》要求的录波器动态记录过程标准;
[0005] (2)在电网运行的故障录波器来自不同的制造商,种类繁多且它们的数据格式互 不兼容,给电网调度部门分析电网故障造成很大的困难;
[0006] (3)目前尚未有一种方法能将各种数据格式转换为统一的、标准的数据格式。数据 记录格式的不统一和不标准给事故后的故障分析和故障过程模拟再现带来了极大的不便。
【发明内容】
[0007] 针对现有技术的不足,本发明提供了一种电力系统故障录波格式转换方法,其目 的在于解决现有故障录波数据格式不统一、不符合电力部颁布的《220-550kV电力系统故 障动态记录技术准则》要求的问题,克服故障录波器来自不同的制造商,种类繁多且数据格 式互不兼容的问题。
[0008] 为实现上述目的,按照本发明的一个方面,提供了一种电力系统故障录波格式转 换方法,包括以下步骤:
[0009] -种电力系统故障录波格式转换方法,包括以下步骤:
[0010] (1)读取数据信息文件,从文件中获取当前数据的格式特征,所述数据信息文件存 储以下信息:通道名称、通道数量、数据格式标识、录波时间信息、采样率;
[0011] (2)根据格式特征判断当前数据格式;
[0012] (3)根据当前数据格式获取数据的通道总数Sum、模拟量通道总数nASum和状态量 通道总数nDSum ;
[0013] (4)获取选择的通道号nID,根据nID查询数据文件对应的通道信息,所述数据 文件存储通道在录波时间内每个采样点的数据大小,将通道数据存入数组arraydata及 Carray data中,其中,数组array data用于emtdc. out数据的转换,存储的数据为实际的数 据大小;数组Carraydata用于comtrade格式的转换,存储的数据已通过偏差系数a、b转换 为两字节的数据。
[0014] (5)获取信息文件中的录波开始时间及用户自定义的开始时间,计算出需要导出 的数据的采样开始点,从该开始点读取数组arraydata及Carraydata中的数据,获取用户 自定义的频率,运用线性插值法将数据频率转换为用户自定义的频率,并将新的数据存于 数组newarraydata中及newCarrydata中,然后进入步骤(6);
[0015] (6)获取用户选择转换的数据格式,判断是否转换为comtrade99的ascii格式,是 则遍历数据信息文件,通过nID获取所选的通道名称,连同用户自定义的时间及采样率按 C〇mtrade99的ascii要求写入新的数据信息文件中,然后采用逐个读逐个写的方式将数组 newCarrydata的数据写入数据文件中,然后结束进程;否则进入步骤(7);
[0016] (7)判断是否转换为comtrade99的binary格式,是则遍历数据信息文件,通过 nID获取所选的通道名称,连同用户自定义的时间及采样率按comtrade99的binary要求写 入新的数据信息文件中,然后将数组newCarrydata中的模拟量通道通过二进制运算转换 为二进制数据类型,将每16个状态通道对应的数据转换为两字节二进制数据类型,写入数 据文件中,然后结束进程;否则进入步骤(8);
[0017] (8)判断是否转换为emtdc. out格式,是则遍历数据信息文件,通过nID获取所选 的通道名称,连同用户自定义的时间及采样率按emtdc. out格式要求写入新的数据信息文 件中,然后将数组newarraydata的数据输入数据文件中,并结束进程;否则提醒用户转换 格式不符标准,然后结束进程。
[0018] 总体而言,本发明能够取得以下的有益效果:
[0019] 1)本发明能识别各种型号的录波器的录波数据,有助于解决现有故障录波数据存 在的不统一、不符合标准的问题;
[0020] 2)本发明将各种故障录波数据格式归一化,有利于解决数据格式互不兼容的问 题,大大降低了电网调度部门分析电网故障难度;
[0021] 3)本发明的方法将各种故障录波数据格式转化为3种标准的格式,为事故后的故 障分析和故障过程模拟再现提供了很大的方便。
【附图说明】
[0022] 图1是本发明实现多种录波格式归一化的数据转换方法的流程图。
【具体实施方式】
[0023] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要 彼此之间未构成冲突就可以相互组合。
[0024] 本发明的基本思路在于,读取数据信息文件,从文件中获取当前数据的格式特征; 根据格式特征判断当前数据格式;根据当前数据格式获取数据的通道总数Sum、模拟量通 道总数nASum、状态量通道总数nDSum ;获取选择的通道号nID,根据nID查询数据文件对应 的通道信息;将数据归一化;获取信息文件中的录波开始时间及用户自定义的开始时间, 获取用户自定义的频率,对数据进行时间及频率的变换;获取用户选择转换的数据格式,将 数据转化指定格式,然后结束进程。
[0025] 如图1所示,本发明提出的电力系统故障录波格式转换方法包括以下步骤:
[0026] (1)读取数据信息文件,从文件中获取当前数据的格式特征,所述数据信息文件存 储以下信息:通道名称、通道数量、数据格式标识、录波时间信息、采样率。
[0027] 其中,格式特征例如为以下特征中的一个或多个:数据信息文件的后缀名、数据信 息文件中第一行的91或99标识、数据信息文件最后几行的ascii或binary标识;
[0028] (2)根据格式特征判断当前数据格式;
[0029] 本步骤具体包括以下子步骤:
[0030] (2-1)根据格式特征判断当前数据是否为comtrade91的ascii格式,如果是则将 变量ascii91赋值为1,然后进入步骤(3),否则进入步骤(2-2);
[0031] (2-2)根据格式特征判断当前数据是否为comtrade91的binary格式,如果是则将 变量binary91赋值为1,然后进入步骤(3),否则进入步骤(2-3);
[0032] (2-3)根据格式特征判断当前数据是否为comtrade99的ascii格式,如果是则将 变量ascii99赋值为1,然后进入步骤(3),否则进入步骤(2-4);
[0033] (2-4)根据格式特征判断当前数据是否为comtrade99的binary格式,如果是则将 变量binary99赋值为1,然后进入步骤(3),否则进入步骤(2-5);
[0034] (2-5)根据格式特征判断当前数据是否为emtdc. out格式,如果是则将变量 IsEMTDCfile赋值为1,然后进入步骤(3),否则提醒用户数据文件格式有误,不可辨识,退出 进程。
[0035] (3)根据当前数据格式获取数据的通道总数Sum、模拟量通道总数nASum和状态量 通道总数nDSum ;
[0036] 本步骤具体包括以下子步骤:
[0037] (3-1)判断变量IsEMTDCfile是否为1,是则遍历数据中整个数据信息文件,运算求 得数据的通道总数Sum,然后进入步骤(4);否则进入步骤(3-2);
[0038] (3-2)从数据信息文件中获取通道总数Sum、模拟量通道总数nASum和状态量通道 总数nDSum。
[0039] (4)获取选择的通道号nID,根据nID查询数据文件对应的通道信息,所述数据 文件存储通道在录波时间内每个采样点的数据大小,将通道数据存入数组arraydata及 Carray data中,其中,数组array data用于emtdc. out数据的转换,存储的数据为实际的数 据大小;数组Carraydata用于comtrade格式的转换,存储的数据已通过偏差系数a、b转换 为两字节的数据。
[0040] 本步骤具体包括以下子步骤:
[0041] (4-1)判断IsEMTDCfile是否为1,是则令打开的文件号码为fileNum = nID\10,令 打开的位置nlndex = nlD-(filenum-l) X 10,根据fileNum与nlndex查询数据文件通道号为 nID的信息,将该通道数据存入数组arraydata及Carraydata中,然后进入步骤(5);否则 进入步骤(4-2);
[0042] (4-2)判断ascii91是否为1,是则根据nID查询数据文件中每行第nID个逗号及 第nID+1个逗号之间的内容Cdata,然后判断nID是否大于nASum,是则代表通道为状态通 道,令存储的数据data = Cdata,否则代表通道是模拟量通道,获取信息文件中的偏差系数 a、b,令存储的数据data = CdataXa+b,将所有行对应的数据data存入数组arraydata,将 所有行对应的数据Cdata存入数组Carraydata,然后进入步骤(5);否则进入步骤(4-3); [0043] 其中,采用查询数据文件中逗号获得数据内容而非一般的根据逗号分割赋值获得 数据内容,查询方式的运算速度比赋值的运算速度快很多,内存消耗也较小,是一种效率较 高的运算方式。
[0044] (4-3)判断binary91是否为1,是则获取信息文件中的采样点数 endsamp,然后判断nID是否大于nASum,是则代表通道为状态通道,根据nlndex = 4+4+2 XnASum+2 X ((nID-nASum)\16_l)或 nlndex = 4+4+2 XnASum+2X ((nID_nASum)\16) 读取第nlndex个二进制字符Bdata,然后通过建立一个
与Bdata对应的列表,将Bdata解 析为存储的数据类型data及Cdata,其中Cdata是经偏差系数a、b转换的数据,如此进行 endsamp次,将endsamp个数据存入数组arraydata及Carraydata中,然后进入步骤(5), 否则代表通道是模拟量通道,进入步骤(4-4);
[0045] 其中,通过建立一个与Bdata对应的列表以枚举查找的方式将二进制字符直接转 化为所需要的数据类型,常规的方法需要进行多次的除法运算并多次转换字符串,并对字 符串进行多次判断赋值,两者相比前者无疑在运算速度或内存方面都明显优于后者。
[0046] (4-4)获取信息文件中的偏差系数a、b,根据nlndex = 4+4+2 X (nID-Ι)读取第 nlndex及nlndex+l个二进制字符,通过二进制运算将这两个字符转换为Cdata,然后再令 存储的数据data = CdataXa+b,如此进行endsamp次,将endsamp个数据data存入数组 arraydata,将endsamp个数据Cdata存入数组Carraydata,然后进入步骤(5)。
[0047] 通过上述步骤,各数据格式转化为一种统一的、类似emtdc. out格式的数据类型。
[0048] (5)获取信息文件中的录波开始时间及用户自定义的开始时间,计算出需要导出 的数据的采样开始点,从该开始点读取数组arraydata及Carraydata中的数据,获取用户 自定义的频率,运用线性插值法将数据频率转换为用户自定义的频率,并将新的数据存于 数组newarraydata中及newCarrydata中,然后进入步骤(6);
[0049] 其中,线性插值法为常用的数据处理方法,
[0050] (6)获取用户选择转换的数据格式,判断是否转换为comtrade99的ascii格式,是 则遍历数据信息文件,通过nID获取所选的通道名称,连同用户自定义的时间及采样率按 C〇mtrade99的ascii要求写入新的数据信息文件中,然后采用逐个读逐个写的方式将数组 newCarrydata的数据写入数据文件中,然后结束进程;否则进入步骤(7);
[0051] 其中,新的数据信息文件存储新生成的通道名称,通道数量,数据格式标识,录波 时间信息,采样率等等信息。
[0052] (7)判断是否转换为comtrade99的binary格式,是则遍历数据信息文件,通过 nID获取所选的通道名称,连同用户自定义的时间及采样率按comtrade99的binary要求写 入新的数据信息文件中,然后将数组newCarrydata中的模拟量通道通过二进制运算转换 为二进制数据类型,将每16个状态通道对应的数据转换为两字节二进制数据类型,写入数 据文件中,然后结束进程;否则进入步骤(8);
[0053] (8)判断是否转换为emtdc. out格式,是则遍历数据信息文件,通过nID获取所选 的通道名称,连同用户自定义的时间及采样率按emtdc. out格式要求写入新的数据信息文 件中,然后将数组newarraydata的数据输入数据文件中,并结束进程;否则提醒用户转换 格式不符标准,然后结束进程。
[0054] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种电力系统故障录波格式转换方法,包括以下步骤: (1) 读取数据信息文件,从文件中获取当前数据的格式特征,所述数据信息文件存储以 下信息:通道名称、通道数量、数据格式标识、录波时间信息、采样率; (2) 根据格式特征判断当前数据格式; (3) 根据当前数据格式获取数据的通道总数Sum、模拟量通道总数nASum和状态量通道 总数nDSum; (4) 获取选择的通道号nID,根据nID查询数据文件对应的通道信息,所述数据文 件存储通道在录波时间内每个采样点的数据大小,将通道数据存入数组arraydata及 Carraydata中,其中,数组arraydata用于emtdc.out数据的转换,存储的数据为实际的数 据大小;数组Carraydata用于comtrade格式的转换,存储的数据已通过偏差系数a、b转换 为两字节的数据; (5) 获取数据信息文件中的录波开始时间及用户自定义的开始时间,计算出需要导出 的数据的采样开始点,从该开始点读取数组arraydata及Carraydata中的数据,获取用户 自定义的频率,运用线性插值法将数据频率转换为用户自定义的频率,并将新的数据存于 数组newarraydata中及newCarrydata中,然后进入步骤(6); (6) 获取用户选择转换的数据格式,判断是否转换为c〇mtrade99的ascii格式,是 则遍历数据信息文件,通过nID获取所选的通道名称,连同用户自定义的时间及采样率按 C〇mtrade99的ascii要求写入新的数据信息文件中,然后采用逐个读逐个写的方式将数组 newCarrydata的数据写入数据文件中,然后结束进程;否则进入步骤(7); (7) 判断是否转换为comtrade99的binary格式,是则遍历数据信息文件,通过nID获 取所选的通道名称,连同用户自定义的时间及采样率按comtrade99的binary要求写入新 的数据信息文件中,然后将数组newCarrydata中的模拟量通道通过二进制运算转换为二 进制数据类型,将每16个状态通道对应的数据转换为两字节二进制数据类型,写入数据文 件中,然后结束进程;否则进入步骤(8); (8) 判断是否转换为emtdc.out格式,是则遍历数据信息文件,通过nID获取所选的 通道名称,连同用户自定义的时间及采样率按emtdc.out格式要求写入新的数据信息文件 中,然后将数组newarraydata的数据输入数据文件中,并结束进程;否则提醒用户转换格 式不符标准,然后结束进程。2. 根据权利要求1所述的转换方法,步骤(1)中,所述格式特征例如为以下特征中的一 个或多个:数据信息文件的后缀名、数据信息文件中第一行的91或99标识、数据信息文件 最后几行的ascii或binary标识。3. 根据权利要求1所述的转换方法,步骤(2)具体包括以下子步骤: (2-1)根据格式特征判断当前数据是否为c〇mtrade91的ascii格式,如果是则将变量ascii91赋值为1,然后进入步骤(3),否则进入步骤(2-2); (2-2)根据格式特征判断当前数据是否为c〇mtrade91的binary格式,如果是则将变量binary91赋值为1,然后进入步骤(3),否则进入步骤(2-3); (2-3)根据格式特征判断当前数据是否为c〇mtrade99的ascii格式,如果是则将变量ascii99赋值为1,然后进入步骤(3),否则进入步骤(2-4); (2-4)根据格式特征判断当前数据是否为c〇mtrade99的binary格式,如果是则将变量 binary99赋值为1,然后进入步骤(3),否则进入步骤(2-5); (2-5)根据格式特征判断当前数据是否为emtdc.out格式,如果是则将变量IsEMTDCfile赋值为1,然后进入步骤(3),否则提醒用户数据文件格式有误,不可辨识,退出 进程。4. 根据权利要求3所述的转换方法,步骤(3)具体包括以下子步骤: (3-1)判断变量IsEMTDCfile是否为1,是则遍历数据中整个数据信息文件,运算求得数 据的通道总数Sum,然后进入步骤(4);否则进入步骤(3-2); (3-2)从数据信息文件中获取通道总数Sum、模拟量通道总数nASum和状态量通道总数nDSum。5. 根据权利要求4所述的转换方法,步骤(4)具体包括以下子步骤: (4-1)判断IsEMTDCfile是否为1,是则令打开的文件号码为fileNum=nID\10,令打开 的位置nlndex=nlD-(filenum-l)X10,根据fileNum与nlndex查询数据文件通道号为nID 的信息,将该通道数据存入数组arraydata及Carraydata中,然后进入步骤(5);否则进入 步骤(4-2); (4-2)判断ascii91是否为1,是则根据nID查询数据文件中每行第nID个逗号及第nID+Ι个逗号之间的内容Cdata,然后判断nID是否大于nASum,是则代表通道为状态通道, 令存储的数据data=Cdata,否则代表通道是模拟量通道,获取信息文件中的偏差系数a、 b,令存储的数据data=CdataXa+b,将所有行对应的数据data存入数组arraydata,将所 有行对应的数据Cdata存入数组Carraydata,然后进入步骤(5);否则进入步骤(4-3); (4-3)判断binary91是否为1,是则获取信息文件中的采样点数endsamp, 然后判断nID是否大于nASum,是则代表通道为状态通道,根据nlndex= 4+4+2XnASum+2X((nID-nASum)\16_l)或nlndex= 4+4+2XnASum+2X((nID_nASum)\16) 读取第nlndex个二进制字符Bdata,然后通过建立一个与Bdata对应的列表,将Bdata解 析为存储的数据类型data及Cdata,其中Cdata是经偏差系数a、b转换的数据,如此进行 endsamp次,将endsamp个数据存入数组arraydata及Carraydata中,然后进入步骤(5), 否则代表通道是模拟量通道,进入步骤(4-4); (4-4)获取信息文件中的偏差系数a、b,根据nlndex= 4+4+2X(nID-Ι)读取第nlndex及nlndex+l个二进制字符,通过二进制运算将这两个字符转换为Cdata,然后再令 存储的数据data=CdataXa+b,如此进行endsamp次,将endsamp个数据data存入数组 arraydata,将endsamp个数据Cdata存入数组Carraydata,然后进入步骤(5)。
【专利摘要】本发明公开了一种电力系统故障录波格式转换方法,读取数据信息文件,从文件中获取当前数据的格式特征;根据格式特征判断当前数据格式;根据当前数据格式获取数据的通道总数Sum、模拟量通道总数nASum、状态量通道总数nDSum;获取选择的通道号nID,根据nID查询数据文件对应的通道信息;将数据归一化;获取信息文件中的录波开始时间及用户自定义的开始时间,获取用户自定义的频率,对数据进行时间及频率的变换;获取用户选择转换的数据格式,将数据转化指定格式。本发明可以克服故障录波器来自不同的制造商,种类繁多且数据格式互不兼容的问题。
【IPC分类】G06F17/30, G06Q50/06
【公开号】CN105488058
【申请号】CN201410476842
【发明人】郭铸, 李明, 吴梓亮, 李岩, 刘涛, 刘婧靓, 朱佳, 肖浩, 李银红
【申请人】华中科技大学, 南方电网科学研究院有限责任公司
【公开日】2016年4月13日
【申请日】2014年9月17日