第10章:COMTRADE标准——文件格式详解与版本差异

各位同行,今天我们来聊聊COMTRADE标准。说实话,这个标准在电力系统里就像“通用语言”一样。你想想看,不同厂家、不同型号的保护装置,录波数据怎么交换?全靠它。

COMTRADE的全称是Common Format for Transient Data Exchange,中文叫“暂态数据交换通用格式”。我最早接触它是在2005年,那时候刚入行,被一堆.bin、.cfg文件搞得晕头转向。后来才明白,其实它就是把故障录波数据拆成几个文件,各司其职。

10.1 四个核心文件,一个都不能少

一个完整的COMTRADE数据集,包含四个文件。我习惯把它们比作“四兄弟”:

  • 标题文件(.hdr):记录谁、什么时候、为什么录波。说白了就是“元数据”。
  • 配置文件(.cfg):告诉你怎么解读数据。通道数量、采样率、比例因子都在这里。
  • 数据文件(.dat):真正的波形数据。二进制或ASCII格式。
  • 信息文件(.inf):额外说明,比如故障原因、保护动作情况。

重要提醒:实际工程中,.cfg和.dat是必须的。.hdr和.inf可以没有,但我建议你尽量保留。我在现场调试时,遇到过好几次因为缺少.hdr文件,导致事后分析时搞不清录波来源的尴尬情况。

10.2 配置文件(.cfg)—— 最关键的“说明书”

配置文件是COMTRADE的灵魂。没有它,数据文件就是一堆乱码。它的格式非常严格,每一行都有固定含义。

我给大家看一个典型的配置文件片段:

StationName,DeviceID,1999
1,1A,1,1,1
2,1B,1,1,1
3,1C,1,1,1
4,2A,2,1,1
5,2B,2,1,1
6,2C,2,1,1
7,3A,3,1,1
8,3B,3,1,1
9,3C,3,1,1
10,4A,4,1,1
11,4B,4,1,1
12,4C,4,1,1
13,5A,5,1,1
14,5B,5,1,1
15,5C,5,1,1
16,6A,6,1,1
17,6B,6,1,1
18,6C,6,1,1
19,7A,7,1,1
20,7B,7,1,1
21,7C,7,1,1
22,8A,8,1,1
23,8B,8,1,1
24,8C,8,1,1
25,9A,9,1,1
26,9B,9,1,1
27,9C,9,1,1
28,10A,10,1,1
29,10B,10,1,1
30,10C,10,1,1
31,11A,11,1,1
32,11B,11,1,1
33,11C,11,1,1
34,12A,12,1,1
35,12B,12,1,1
36,12C,12,1,1
37,13A,13,1,1
38,13B,13,1,1
39,13C,13,1,1
40,14A,14,1,1
41,14B,14,1,1
42,14C,14,1,1
43,15A,15,1,1
44,15B,15,1,1
45,15C,15,1,1
46,16A,16,1,1
47,16B,16,1,1
48,16C,16,1,1
49,17A,17,1,1
50,17B,17,1,1
51,17C,17,1,1
52,18A,18,1,1
53,18B,18,1,1
54,18C,18,1,1
55,19A,19,1,1
56,19B,19,1,1
57,19C,19,1,1
58,20A,20,1,1
59,20B,20,1,1
60,20C,20,1,1
61,21A,21,1,1
62,21B,21,1,1
63,21C,21,1,1
64,22A,22,1,1
65,22B,22,1,1
66,22C,22,1,1
67,23A,23,1,1
68,23B,23,1,1
69,23C,23,1,1
70,24A,24,1,1
71,24B,24,1,1
72,24C,24,1,1
73,25A,25,1,1
74,25B,25,1,1
75,25C,25,1,1
76,26A,26,1,1
77,26B,26,1,1
78,26C,26,1,1
79,27A,27,1,1
80,27B,27,1,1
81,27C,27,1,1
82,28A,28,1,1
83,28B,28,1,1
84,28C,28,1,1
85,29A,29,1,1
86,29B,29,1,1
87,29C,29,1,1
88,30A,30,1,1
89,30B,30,1,1
90,30C,30,1,1
91,31A,31,1,1
92,31B,31,1,1
93,31C,31,1,1
94,32A,32,1,1
95,32B,32,1,1
96,32C,32,1,1
97,33A,33,1,1
98,33B,33,1,1
99,33C,33,1,1
100,34A,34,1,1
101,34B,34,1,1
102,34C,34,1,1
103,35A,35,1,1
104,35B,35,1,1
105,35C,35,1,1
106,36A,36,1,1
107,36B,36,1,1
108,36C,36,1,1
109,37A,37,1,1
110,37B,37,1,1
111,37C,37,1,1
112,38A,38,1,1
113,38B,38,1,1
114,38C,38,1,1
115,39A,39,1,1
116,39B,39,1,1
117,39C,39,1,1
118,40A,40,1,1
119,40B,40,1,1
120,40C,40,1,1
121,41A,41,1,1
122,41B,41,1,1
123,41C,41,1,1
124,42A,42,1,1
125,42B,42,1,1
126,42C,42,1,1
127,43A,43,1,1
128,43B,43,1,1
129,43C,43,1,1
130,44A,44,1,1
131,44B,44,1,1
132,44C,44,1,1
133,45A,45,1,1
134,45B,45,1,1
135,45C,45,1,1
136,46A,46,1,1
137,46B,46,1,1
138,46C,46,1,1
139,47A,47,1,1
140,47B,47,1,1
141,47C,47,1,1
142,48A,48,1,1
143,48B,48,1,1
144,48C,48,1,1
145,49A,49,1,1
146,49B,49,1,1
147,49C,49,1,1
148,50A,50,1,1
149,50B,50,1,1
150,50C,50,1,1
151,51A,51,1,1
152,51B,51,1,1
153,51C,51,1,1
154,52A,52,1,1
155,52B,52,1,1
156,52C,52,1,1
157,53A,53,1,1
158,53B,53,1,1
159,53C,53,1,1
160,54A,54,1,1
161,54B,54,1,1
162,54C,54,1,1
163,55A,55,1,1
164,55B,55,1,1
165,55C,55,1,1
166,56A,56,1,1
167,56B,56,1,1
168,56C,56,1,1
169,57A,57,1,1
170,57B,57,1,1
171,57C,57,1,1
172,58A,58,1,1
173,58B,58,1,1
174,58C,58,1,1
175,59A,59,1,1
176,59B,59,1,1
177,59C,59,1,1
178,60A,60,1,1
179,60B,60,1,1
180,60C,60,1,1
181,61A,61,1,1
182,61B,61,1,1
183,61C,61,1,1
184,62A,62,1,1
185,62B,62,1,1
186,62C,62,1,1
187,63A,63,1,1
188,63B,63,1,1
189,63C,63,1,1
190,64A,64,1,1
191,64B,64,1,1
192,64C,64,1,1
193,65A,65,1,1
194,65B,65,1,1
195,65C,65,1,1
196,66A,66,1,1
197,66B,66,1,1
198,66C,66,1,1
199,67A,67,1,1
200,67B,67,1,1
201,67C,67,1,1
202,68A,68,1,1
203,68B,68,1,1
204,68C,68,1,1
205,69A,69,1,1
206,69B,69,1,1
207,69C,69,1,1
208,70A,70,1,1
209,70B,70,1,1
210,70C,70,1,1
211,71A,71,1,1
212,71B,71,1,1
213,71C,71,1,1
214,72A,72,1,1
215,72B,72,1,1
216,72C,72,1,1
217,73A,73,1,1
218,73B,73,1,1
219,73C,73,1,1
220,74A,74,1,1
221,74B,74,1,1
222,74C,74,1,1
223,75A,75,1,1
224,75B,75,1,1
225,75C,75,1,1
226,76A,76,1,1
227,76B,76,1,1
228,76C,76,1,1
229,77A,77,1,1
230,77B,77,1,1
231,77C,77,1,1
232,78A,78,1,1
233,78B,78,1,1
234,78C,78,1,1
235,79A,79,1,1
236,79B,79,1,1
237,79C,79,1,1
238,80A,80,1,1
239,80B,80,1,1
240,80C,80,1,1
241,81A,81,1,1
242,81B,81,1,1
243,81C,81,1,1
244,82A,82,1,1
245,82B,82,1,1
246,82C,82,1,1
247,83A,83,1,1
248,83B,83,1,1
249,83C,83,1,1
250,84A,84,1,1
251,84B,84,1,1
252,84C,84,1,1
253,85A,85,1,1
254,85B,85,1,1
255,85C,85,1,1
256,86A,86,1,1
257,86B,86,1,1
258,86C,86,1,1
259,87A,87,1,1
260,87B,87,1,1
261,87C,87,1,1
262,88A,88,1,1
263,88B,88,1,1
264,88C,88,1,1
265,89A,89,1,1
266,89B,89,1,1
267,89C,89,1,1
268,90A,90,1,1
269,90B,90,1,1
270,90C,90,1,1
271,91A,91,1,1
272,91B,91,1,1
273,91C,91,1,1
274,92A,92,1,1
275,92B,92,1,1
276,92C,92,1,1
277,93A,93,1,1
278,93B,93,1,1
279,93C,93,1,1
280,94A,94,1,1
281,94B,94,1,1
282,94C,94,1,1
283,95A,95,1,1
284,95B,95,1,1
285,95C,95,1,1
286,96A,96,1,1
287,96B,96,1,1
288,96C,96,1,1
289,97A,97,1,1
290,97B,97,1,1
291,97C,97,1,1
292,98A,98,1,1
293,98B,98,1,1
294,98C,98,1,1
295,99A,99,1,1
296,99B,99,1,1
297,99C,99,1,1
298,100A,100,1,1
299,100B,100,1,1
300,100C,100,1,1

嗯,这里要注意,每一行的格式是:通道编号,通道名称,通道类型,增益,偏移量。通道类型里,1代表模拟量,2代表数字量。我见过有人把数字量通道的类型写成1,结果解析出来的数据全是错的。

个人经验:我习惯在配置文件里把通道名称写得尽量规范,比如“Ia”、“Ib”、“Ic”代表三相电流,“Ua”、“Ub”、“Uc”代表三相电压。这样后期分析时一眼就能看懂,不用再去翻图纸。

10.3 数据文件(.dat)—— 二进制 vs ASCII

数据文件有两种格式:二进制和ASCII。二进制文件小,解析快;ASCII文件可读性强,但体积大。

我给大家一个对比:

特性 二进制格式 ASCII格式
文件大小 小(约1/3)
解析速度
可读性
常见场景 嵌入式装置 PC端分析

二进制格式的数据文件,每一帧包含:采样序号、时间戳、各通道数据值。我遇到过一个问题:某厂家把时间戳的单位写错了,导致波形整体偏移了半个周波。排查了好久才发现。

10.4 标题文件(.hdr)和信息文件(.inf)

标题文件记录的是“谁录的、什么时候录的、为什么录”。格式比较自由,一般用文本编辑器就能看。

信息文件则更详细,会记录保护动作情况、故障类型、故障距离等。我建议大家在配置保护装置时,把信息文件的内容写详细点。有一次,我分析一个复杂的跨线故障,全靠信息文件里的“故障测距结果”才定位到具体杆塔。

10.5 标准版本差异——1991、1999、2013

COMTRADE标准有三个主要版本:1991版、1999版、2013版。我最早接触的是1999版,现在新装置基本都支持2013版了。

主要差异在哪里?

  • 1991版:最基础,只支持模拟量和数字量,采样率固定。
  • 1999版:增加了多采样率支持,可以同时记录不同采样率的通道。比如,电流通道用80点/周波,电压通道用40点/周波。
  • 2013版:最大的变化是支持XML格式的配置文件。另外,增加了对GPS时间同步的支持,时间精度更高。

避坑指南:我曾经在项目里遇到过一个坑——某进口装置输出的COMTRADE文件是2013版,但我们的分析软件只支持1999版。结果配置文件解析失败,数据全读不出来。后来我写了个转换工具才搞定。所以,不同厂家的装置对接时,一定要确认COMTRADE版本是否兼容。

10.6 实际应用中的注意事项

最后,我总结几个实际工程中容易踩的坑:

  1. 文件名必须一致:四个文件的主文件名必须相同,只是扩展名不同。比如“fault_001.cfg”、“fault_001.dat”。
  2. 通道数量要匹配:配置文件里声明的通道数量,必须和数据文件里的实际通道数一致。多一个少一个都不行。
  3. 比例因子别搞错:模拟量的比例因子(增益和偏移量)必须正确。我见过有人把CT变比写反了,结果电流波形放大了20倍。
  4. 时间戳要统一:如果用了GPS对时,所有文件的时间基准要一致。否则波形对齐会出问题。

好了,关于COMTRADE文件格式,今天就聊到这里。下一章我们讲讲怎么用Python解析COMTRADE文件,到时候我会分享一个我自己写的解析脚本。