3. SV报文结构解析:以太网帧头、APPID、SV PDU、采样值与通道映射
好,咱们接着聊SV报文。说实话,SV报文在智能变电站里就是个“数据搬运工”——它把合并单元采集到的电压电流值,原封不动地搬到保护、测控装置里去。我刚开始接触SV时,总觉得它跟GOOSE长得差不多,后来仔细一拆解才发现,这俩家伙的“内脏”完全不一样。
3.1 以太网帧头:SV的“快递包装”
SV报文的第一层,还是咱们熟悉的以太网帧头。你想想看,任何数据要在网络上跑,都得先套上这个“标准包装盒”。
SV的以太网帧头长这样:
- 目的MAC地址:通常是组播MAC,比如01-0C-CD-04-00-01到01-0C-CD-04-00-FF。我个人习惯用Wireshark抓包时,直接过滤这个MAC段,一眼就能认出SV流。
- 源MAC地址:合并单元自己的MAC,这个一般不用太关注。
- 以太网类型:SV报文用的是0x88BA。嗯,这里要注意,GOOSE是0x88B8,千万别搞混了。我在现场调试时,就见过有人把SV配成了GOOSE的以太网类型,结果装置死活不认数据。
关键点:SV的以太网类型是0x88BA,跟GOOSE的0x88B8就差一个数,但功能天差地别。
3.2 APPID:报文的“身份证号”
紧跟在以太网帧头后面的,是APPID字段。说白了,这就是SV报文的唯一标识。
APPID占2个字节,范围从0x0000到0x3FFF。我建议你在配置时,给每个合并单元分配一个独立的APPID,这样抓包分析时一眼就能看出数据来自哪个间隔。
举个例子:
- 主变高压侧合并单元:APPID = 0x4001
- 主变低压侧合并单元:APPID = 0x4002
- 线路合并单元:APPID = 0x4003
我曾经遇到过一个坑:两个合并单元配了相同的APPID,结果保护装置收到数据后直接报“APPID冲突”,导致保护闭锁。排查了整整一个下午才找到原因——就是配置表里复制粘贴时忘了改这个ID。
避坑指南:APPID必须全网唯一!我曾经因为两个合并单元APPID重复,导致保护装置闭锁,排查了一下午才发现是配置表复制粘贴惹的祸。
3.3 SV PDU:报文的“核心数据区”
SV PDU(Protocol Data Unit)是SV报文真正有价值的部分。它遵循IEC 61850-9-2标准,结构上有点像俄罗斯套娃——一层套一层。
SV PDU的基本结构如下:
SV PDU {
noASDU : 整数 (表示ASDU的数量)
ASDU列表 : 一个或多个ASDU
}
ASDU {
svID : 字符串 (数据集标识)
datSet : 字符串 (数据集引用)
smpCnt : 整数 (采样计数器)
confRev : 整数 (配置版本号)
refrTm : 时间戳 (可选)
dataSet : 采样值数据
}
这里我重点说一下smpCnt(采样计数器)。它从0开始,每发送一帧就加1,到39999后归零重新计数。为什么是39999?因为50Hz工频下,每周期80个采样点,50×80=4000,再乘以10就是40000个点,计数器从0到39999刚好一圈。
嗯,这个计数器特别有用。我在现场调试时,如果发现保护装置报“采样数据异常”,第一件事就是看smpCnt是否连续。如果中间有跳变,说明合并单元丢点了;如果一直不变,说明报文卡住了。
3.4 采样值与通道映射:数据怎么“对号入座”
SV报文里最核心的,就是采样值数据。一个合并单元通常有多个通道,比如:
- 通道1:A相电压
- 通道2:B相电压
- 通道3:C相电压
- 通道4:A相电流
- 通道5:B相电流
- 通道6:C相电流
- 通道7:零序电压(可选)
- 通道8:零序电流(可选)
每个通道的采样值用4字节浮点数表示,单位是二次值。比如额定电压57.74V,额定电流1A或5A。
通道映射,说白了就是告诉接收装置:“我这个通道1是A相电压,通道2是B相电压……”这个映射关系在ICD文件里定义,通过SCD文件下发给装置。
我建议你在做通道映射时,画一张表格,贴在屏柜门上:
| 通道序号 | 物理量 | 额定值 | 备注 |
|---|---|---|---|
| 1 | Ua | 57.74V | A相电压 |
| 2 | Ub | 57.74V | B相电压 |
| 3 | Uc | 57.74V | C相电压 |
| 4 | Ia | 1A | A相电流 |
| 5 | Ib | 1A | B相电流 |
| 6 | Ic | 1A | C相电流 |
为什么要这么做?因为现场调试时,经常遇到通道接反的情况。比如把A相电流接到了B相通道上,保护装置算出来的差流就不对。有了这张表,查起来快得多。
个人经验:我曾经在某个220kV变电站调试时,发现保护装置一直报“差流越限”。查了整整两天,最后发现是合并单元的通道映射表跟保护装置的不一致——合并单元把A相电流放在了通道2,但保护装置认为通道2应该是B相电流。从此以后,我每次调试前都会先核对通道映射表。
3.5 SV报文结构全景图
为了让你更直观地理解SV报文的整体结构,我画了一张图:
这张图把SV报文的四个层次都展示出来了。从上到下依次是:以太网帧头、APPID、SV PDU、采样值数据。每一层都有自己固定的格式和含义。
最后说一句,SV报文解析其实不难,关键是理解每一层的作用。你只要记住:以太网帧头负责传输,APPID负责标识,SV PDU负责组织,采样值负责承载数据。把这四层搞明白了,SV报文在你眼里就是透明的。
总结:SV报文 = 以太网帧头(0x88BA) + APPID(唯一标识) + SV PDU(含ASDU) + 采样值(多通道浮点数)。通道映射是调试中的关键环节,务必核对清楚。
公众号:蓝海资料掘金营,微信deep3321