COMTRADE格式解析

一、COMTRADE格式介绍

  • COMTRADE,全称为COMmon format for Transient Data Exchange,是一种用于交换电力系统传递的数字保护、控制和测量设备数据的标准格式。
  • COMTRADE格式由IEEE Std C37.111-1999规范定义,它是一种通用的格式,许多厂家的设备都支持该格式。
  • COMTRADE格式的文件包括一个头文件和一个数据文件,头文件包含了数据文件的信息,例如每个采样的采样率、通道数、数据类型等等。数据文件包含了每个通道的采样数据,通道可以是电压、电流、信号、故障波形等等。
  • COMTRADE格式是一种非常灵活的格式,可以适应各种不同的应用场景。它可以同时处理多个通道的数据,并且支持高速采样和低速采样。同时,COMTRADE格式还支持数据压缩和加密,以提高数据传输的效率。

二、COMTRADE格式详解

COMTRADE格式的文件包括一个配置文件和一个数据文件。头文件包含了数据文件的信息,例如每个采样的采样率、通道数、数据类型等等。数据文件包含了每个通道的采样数据,通道可以是电压、电流、信号、故障波形等等。

2.1 COMTRADE格式的头文件包括以下信息

  • 文件类型:确定文件是配置文件(.cfg)还是数据文件(.dat)。
  • 站名称:标识站点的名称。
  • 通道数:确定数据文件中包含的通道数目。
  • 采样率:数据文件中每个通道的采样率,以赫兹为单位。
  • 采样数:数据文件中每个通道的采样数。
  • 时标:数据文件的起始时间和日期。 数据格式:数据文件中每个采样的数据类型(整数、浮点数等)。
  • 通道信息:每个通道的名称、单位、增益等信息。
  • 事件信息:数据文件中所包含的事件(故障、开关操作等)信息。

2.2 COMTRADE格式的数据文件包含以下信息

  • 数据文件头:数据文件的头部信息,包括每个通道的信息、事件信息等。
  • 数据记录:每个记录包含了每个通道在某个时间点的采样值。

2.3 COMTRADE格式具有以下特点

  • 支持高速采样和低速采样:COMTRADE格式可以处理高达100万样本/秒的高速采样数据和低速采样数据。
  • 支持多个通道:COMTRADE格式可以处理多个通道的数据,通道可以是电压、电流、信号、故障波形等等。
  • 支持数据压缩和加密:COMTRADE格式支持多种数据压缩和加密算法,以提高数据传输的效率和安全性。
  • 兼容性良好:COMTRADE格式已被广泛采用,许多厂家的设备都支持该格式。
  • 灵活性高:COMTRADE格式非常灵活,可以适应各种不同的应用场景。
#厂站名称,记录装置的标识编号或名称,版本年号
110kVxx北站,5635录波器,1999
#通道总数,模拟通道数量,状态通道数量
241,81A,160D
#通道编号,通道名称,通道相,被监视的电路元件,通道单位,fCoefA[变换因子A],fCoefB[变换因子B],fTime[时间偏移],fMin[此模拟量采样记录数据最小值],fMax[此模拟量采样记录数据最大值],通道电压或电流互感器变比一次系数,通道电压或电流互感器变比二次系数,P或S,表明通道转换因子方程fCoefA * X + fCoefB得到的值还原为一次(P)还是二次(S)值的标识
1,110kVⅠ段母线电压电压Ua,A,110kVⅠ段母线电压电压,V,0.0317994170,0.0000000000,0,-8191,8191,110000.0000000000,100.0000000000,S
2,110kVⅠ段母线电压电压Ub,B,110kVⅠ段母线电压电压,V,0.0317052193,0.0000000000,0,-8191,8191,110000.0000000000,100.0000000000,S
3,110kVⅠ段母线电压电压Uc,C,110kVⅠ段母线电压电压,V,0.0317111574,0.0000000000,0,-8191,8191,110000.0000000000,100.0000000000,S
...........
80,厂配母联700#柜电流3Io,N,厂配母联700#柜电流,A,0.0353733636,0.0000000000,0,-8191,8191,2500.0000000000,5.0000000000,S
81,1-频率曲线, , ,Hz,0.0050000000,0.0000000000,0,-8191,8191,1,1,S

#通道编号:1
#通道名称:110kVⅠ段母线电压电压Ub
#通道相:A
#被监视的电路元件:110kVⅠ段母线电压电压
#通道单位:V
#fCoefA[变换因子A]:0.0317994170
#fCoefB[变换因子B]:0.0000000000
#fTime[时间偏移]:0
#fMin[此模拟量采样记录数据最小值]:-8191
#fMax[此模拟量采样记录数据最大值]:8191
#通道电压或电流互感器变比一次系数:110000.0000000000
#通道电压或电流互感器变比二次系数:100.0000000000
#P或S,表明通道转换因子方程fCoefA * X + fCoefB得到的值还原为一次(P)还是二次(S)值的标识

#其中:实际值y与采样记录数据X的关系:y = fCoefA * X + fCoefB
#所以实际的最值: Min = fCoefA * fMin + fCoefB;    Max = fCoefA * fMax~ + fCoefB; 

#开关量依次为:通道编号/序号,通道名称,通道相,被监视电路元件,状态通道正常状态,
1,xx甲线开关分位,NR,110kVxx甲线电流,0
2,xx乙线开关分位,NR,110kVxx乙线电流,0
3,x高线开关分位,NR,110kVx高线电流,0
.......
159,159#开关量通道,NR, ,0
160,160#开关量通道,NR, ,0

50  #系统电流电压的频率为50Hz
2   #有两个采样频率
5000,5501  #第一个采样频率: 在采样率为5000Hz下采了5501个点
1000,8501  #第二个采样频率: 在采样率为1000Hz下采了8501个点
15/10/2021,11:46:49.338900  #采样开始时间
15/10/2021,11:46:49.438900  #采样结束时间
BINARY  #dat文件记录格式为BINARY(二进制格式), 还有一种是ASCII
100 #时标倍率因子

三、COMTRADE格式Python处理

使用Python对波形数据进行处理能更好的查看数据的状态,进行分析,下面列一些简单的Python处理comtrade文件的代码。

import matplotlib.pyplot as plt from comtrade import Comtrade cfgFile = "/abcd.cfg" datFile = "/abcd.dat" rec = Comtrade() rec.load(cfgFile, datFile) # 模拟通道的数量 analog_count = rec.analog_count # 循环获取模拟通道的名称 for i in range(analog_count): print(rec.analog_channel_ids[i]) # 开关量通道的数量 digital_count = rec.digital_count # 循环获取开关量通道的名称 for i in range(digital_count): print(rec.digital_channel_ids[i]) # 循环输出81个模拟量通道的采集数据 for analog in rec.analog: print(analog) # 打印采集时间 print(rec.time) # 打印采集的时间戳 print(rec.start_timestamp) # 处理前三个通道的波形数据,因数据量过大,此处只取前250个点的采集数据 plt.rcParams['font.family'] = 'SimHei' plt.figure() plt.plot(rec.time[0:250], rec.analog[0][0:250]) plt.plot(rec.time[0:250], rec.analog[1][0:250]) plt.plot(rec.time[0:250], rec.analog[2][0:250]) plt.legend([rec.analog_channel_ids[0], rec.analog_channel_ids[1],rec.analog_channel_ids[2]]) plt.show()

3.1 处理完的图片示例

COMTRADE格式解析

原创文章,作者:happytang,如若转载,请注明出处:https://www.wudianban.com/comtradegsjx.html

(2)
上一篇 2023年3月13日 下午2:48
下一篇 2023年3月14日 上午11:30

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注