一、COMTRADE 二进制文件的解析需要用到cfg文件中的配置信息,以及dat文件中的数据。
二、cfg文件
1、cfg文件整体配置
2、cfg文件实例
厂站名,记录装置,COMTRADE标准版本年号
SMARTSTATION,IED123,2013
总通道数,模拟通道编号,状态通道编号
8,4A,4D
模拟通道
通道号,通道标识,通道相别标识,被监视的电路元件,通道单位,通道增益系数,
通道偏移因子,通道时间时滞,最小值,最大值,一次或二次值P/S
1,IA ,,, A,0.000832454560204436,3.64453125,0,-32767,32767,933,1,s
2,IB ,,, A,0.000709063591990417,5.18206787109375,0,-32767,32767,933,1,s
3,IC ,,, A,6.60402365089114E-05,0.05694580078125,0,-32767,32767,933,1,s
4,3I0,,, A,0.000643023355481506,8.59881591796875,0,-32767,32767,933,1,s
状态通道
状态通道索引编号,通道名,通道相别标识,被监视电路元件,状态通道正常状态0/1
1,51A,,,0
2,51B,,,0
3,51C,,,0
4,51N,,,0
通道频率,HZ
60
数据文件中采样速率
1
采样频率,最终采样数
1200,40
数据文件中第一个数值的时间
12/01/2011,05:55:30.750110
第二个触发点时间
12/01/2011,05:55:30.782610
数据类型
BINARY
时标因子
0.00756699591875076
-5h30,-5h30
B,3
三、数据文件
1、binary格式
采样编号、时标、每个模拟通道的数据值、文件中每个采样的分组状态通道数据
采样编号:4字节
时标:4字节
每个模拟通道的数据值:2字节
文件中每个采样的分组状态通道数据:2字节
全部按照LSB/MSB方式存储
2、数据文件实例
01 00 00 00 00 00 00 00 cf c2 6e 0e 28 2f 93 c6 00 00
02 00 00 00 03 ae 01 00 26 e7 e7 e6 f2 1a f5 c7 00 00
03 00 00 00 8b 5c 03 00 8f 0c 83 c2 00 00 7e cd 00 00
04 00 00 00 8e 0a 05 00 5e 30 88 a7 87 f2 b7 dc 00 00
05 00 00 00 91 b8 06 00 6f 50 1a 99 d8 d0 db f2 00 00
06 00 00 00 19 67 08 00 04 69 d9 97 e6 b5 d6 0d 00 00
07 00 00 00 1c 15 0a 00 1e 7a 83 a2 b0 a1 5b 2e 00 00
08 00 00 00 20 c3 0b 00 ff 7f 1a b9 7a 8d cc 4c 00 00
09 00 00 00 a7 71 0d 00 1e 7a d8 d7 be 86 66 66 00 00
0a 00 00 00 aa 1f 0f 00 04 69 3c fc 01 80 b2 77 00 00
0b 00 00 00 ae cd 10 00 4b 4e 82 22 01 80 ff 7f 08 00
0c 00 00 00 35 7c 12 00 8e 2b e6 46 37 94 89 7c 08 00
0d 00 00 00 38 2a 14 00 25 06 04 65 29 af 64 6f 08 00
0e 00 00 00 3c d8 15 00 22 df d7 77 51 de de 57 0b 00
0f 00 00 00 c3 86 17 00 65 bc ff 7f 79 0d 0b 38 0b 00
10 00 00 00 c6 34 19 00 00 9f 3b 7c 6b 28 ea 0f 0b 00
11 00 00 00 ca e2 1a 00 3a 8b 8c 6c 1a 4a 2b e9 0b 00
12 00 00 00 51 91 1c 00 36 83 32 52 c9 6b 31 c5 0b 00
13 00 00 00 55 3f 1e 00 f4 86 f1 30 42 79 c0 a6 0b 00
14 00 00 00 58 ed 1f 00 fc 96 0a 0a ff 7f 4d 91 0b 00
15 00 00 00 df 9b 21 00 1a b0 83 e2 86 72 d9 84 0b 00
16 00 00 00 e3 49 23 00 b4 d0 7e bd 94 57 c5 82 0b 00
17 00 00 00 e6 f7 24 00 82 f4 c0 9e a1 3c 26 8d 0b 00
18 00 00 00 6d a6 26 00 da 18 6a 89 f2 1a 37 a1 0b 00
19 00 00 00 71 54 28 00 eb 38 01 80 87 f2 32 bc 0b 00
1a 00 00 00 74 02 2a 00 1b 53 01 80 d8 d0 a4 da 0b 00
1b 00 00 00 fc b0 2b 00 35 64 8d 8c e6 b5 d9 fb 0b 00
1c 00 00 00 ff 5e 2d 00 16 6a e3 a1 b0 a1 e8 18 0b 00
1d 00 00 00 02 0d 2f 00 46 65 a1 c0 37 94 33 33 0b 00
1e 00 00 00 8a bb 30 00 3e 55 05 e5 7a 8d e1 45 0b 00
1f 00 00 00 8d 69 32 00 97 3b 0a 0a f3 9a e0 4e 0b 00
20 00 00 00 90 17 34 00 86 1b cd 2d 6c a8 2e 4e 0b 00
21 00 00 00 18 c6 35 00 40 f8 4b 4b 5f c3 1d 43 0b 00
22 00 00 00 1b 74 37 00 72 d4 5f 5f 0e e5 bd 2f 0b 00
23 00 00 00 1e 22 39 00 d8 b3 c8 68 79 0d 5f 13 0b 00
24 00 00 00 a6 d0 3a 00 1f 99 e6 66 6b 28 c7 f0 0b 00
25 00 00 00 a9 7e 3c 00 f4 86 18 59 1a 4a e1 ce 0b 00
26 00 00 00 ad 2c 3e 00 01 80 41 41 0d 65 ab ad 0b 00
27 00 00 00 34 db 3f 00 d0 84 e2 21 86 72 af 92 0b 00
28 00 00 00 37 89 41 00 d9 94 7e fd 42 79 01 80 0b 00
3、单条数据长度解析
计算方式为(A*2)+(2*INT(D/16))+4+4,其中状态通道16个bits为一组,若不满16bits则进行补足;
从cfg文件中可知,本次采样共4个模拟通道,4个状态通道,及8,4A,4D;
单条数据长度为(4*2)+(2*1)+4+4=18
4、采样编号,长度为4字节,cfg中是40组,数据中是01 00 00 00~28 00 00 00因为采用LSB/MSB方式存储,转为正常顺序则为00 00 00 01~00 00 00 28,及1到40.
5、时标有2种计算方式:
(1)cfg文件中,采样速率为1,采样频率为1200,所以采样周期为1/1200=833us,如果第一次采样时标为0,那么第二次为833,后面依次加833;
(2)数据文件中第一次采样时标为0,第二次采样时标为03 ae 01 00,及00 01 ae 03,转换为10进制为110083,cfg文件中时标因子为0.00756699591875076,2者相乘得833us。
6、模拟通道数值
计算方式为:通道增益系数*X + 通道偏移因子
数据文件中,第一次,第一个通道数值为cf c2,及c2 cf,转换为10进制是-15665,所以模拟通道第一个数据值为0.000832454560204436*-15665 + 3.64453125 = -9.3959
7、状态通道数值
(1)状态通道说明
一组6个状态输入(0,0,0,0,1,1),将6个状态输入写为二进制110000
诸通道的排列以低位为先,然后将该数扩展为16位(0000 0000 0011 0000)
将其转换为16进制值(00 30),该数据以LSB/MSB格式存储(30 00)
以第14次采样0b 00为例
0b 00进行转换为00 0b,cfg文件中,可以看到状态通道数量为4个去除补齐的0,即为b,二进制形式为1011,因为通道排列以低位为先,所以1011代表,通道4,通道3,通道2,通道1,也就是通道1为1,通道2为1,通道3为0,通道4为1