news 2026/10/14 3:30:40

国网CMS(变电站二次系统通信报文规范)逐字节解码例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
国网CMS(变电站二次系统通信报文规范)逐字节解码例

国网CMS(变电站二次系统通信报文规范)逐字节解码例

这方面的资料网上较少,AI解答比较碎片化,所以本人查阅了多个规范,比对抓包的报文做了一个典型的分析,供大家参考

数据编码

数据编码使用GB/T 16263.2或GB/T 33602规定的编码规则。使用GB/T 16263.2编码规则时,应采用BASIC-PER对齐编码方式。
和 BER 完全不同:PER 不传输 Tag,编码 / 解码必须预先知道 ASN.1 类型定义,不能脱离 schema 裸流自解析,也就是说结构体中的成员与需要与协议语法一一对应。
SEQUENCE 里 OPTIONAL/DEFAULT 成员:用存在位图(presence bitmap)标记哪些字段存在。

报文解析

下面是一段GetBRCBValues(读缓存报告控制块值) (91),ASDU应答报文:
0000 a9 00 80 01 e2 a0 4c 44 30 2f 4c 4c 4e 30 24 42
0010 52 24 62 72 63 62 41 6c 61 72 6d 8b 80 54 53 53
0020 31 30 30 4d 4c 44 30 2f 4c 4c 4e 30 2e 64 73 41
0030 6c 61 72 6d 01 01 7d 80 01 00 00 0b 48 03 04 93
0040 e0 00 00 00 00 00 00 00 00 0b 20 24 01 10 06 00
0050 80 64 0e 19 20 16 80 27 01 99 00

a9 00 ReqID(服务请求序号): 169 80 01 80表示moreFollows(80=false;00=true)从规范中没有找到出处,01表示brcb[1..n]数组大小n e2 a0 brcb可选项PresenceBitmap(0b1),value可选项PresenceBitmap(0b11),rptID描述串的长度VisibleString129长度用1字节表示21(0b00010101),剩下补齐5位 (00000),0b1110 0010 1010 0000 … LD0/LLN0$BR$brcbAlarm 8b 80 rptEna:true(1),datSet描述串的长度VisibleString129长度用1字节表示23(0b0001 0111) ,剩下补齐6位(00000),0b1000 1011 1000 0000 … TSS100MLD0/LLN0.dsAlarm 01 01 confRev INT32U可变长编码01表示长度,01为值 7d 80 optFlds RCBOptFlds(SIZE10)占2字节 01 00 bufTm INT32U,可变长编码01表示长度,00为值 00 0b sqNum INT16U,固定2字节 48 trgOps TriggerConditions(SIZE6)占1字节 03 04 93 e0 intgPd INT32U,可变长编码03表示长度 00 gi ,purgeBuf 00 00 00 00 00 00 00 0b EntryID长度固定为8字节 20 24 01 10 06 00 EntryTime长度固定为6字节 80 64 resvTms INT16,有符号数 0e 19 20 16 80 27 01 99 owner OCTET STRING(SIZE(0..64)),长度为7位(0b0000111) 00 moreFollows,false(0)这个与上面的moreFollows相反???

wireshark抓包:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/14 3:30:35

2026年最火AI岗:零门槛高薪!小白也能转的AI Agent智能体开发工程师

AI Agent智能体开发工程师是2026年需求增长244%、薪资比同级AI岗位高15-30%的岗位。该岗位要求低于算法岗,高于应用开发岗,技术生命周期长。工作内容包括智能体架构设计、工具调用开发、RAG知识库配套、多智能体协同、容错与安全。该岗位不强制要求深厚数…

作者头像 李华
网站建设 2026/10/14 3:30:34

本体(Ontology)在行业与技术上的发展、演变与平台架构实践

1. 本体的基本概念与定位 在计算机科学与企业架构中,本体(Ontology) 是对某一领域共享概念体系的明确、形式化规范说明(Tom Gruber, 1993)。它定义: 概念:类/实体,如「客户」「订单」…

作者头像 李华
网站建设 2026/10/14 3:30:27

瞬维AI技术团队:GEO优化系统的架构设计与实现

GEO(Generative Engine Optimization,生成式引擎优化)是近年来兴起的一个技术领域,目标是让品牌在 AI 搜索的回答中被提及和推荐。本文分享瞬维AI技术团队在GEO优化系统上的架构设计与实现经验。 一、技术背景 传统 SEO 优化的是网…

作者头像 李华
网站建设 2026/10/14 3:30:22

AIOps智能运维实战:从告警收敛到根因定位的完整落地指南

1. 从一次深夜告警说起:AIOps到底在解决什么问题凌晨两点,手机突然震动,监控群里弹出一连串告警:某核心服务的响应时间从200毫秒飙到3秒,错误率突破5%,紧接着数据库连接池告急、上游调用方开始超时、缓存命…

作者头像 李华
网站建设 2026/10/14 3:30:14

《Rust程序设计》学习笔记八:结构体

^^ 下面是介绍《榴芒客服系统》的博客,它是我们工作室开发的在线客服系统,欢迎下载试用: https://blog.csdn.net/look4liming/article/details/164755808https://blog.csdn.net/look4liming/article/details/164755808 结构体将多个不同类型的…

作者头像 李华
网站建设 2026/10/14 3:29:55

Rust GPUI 桌面应用开发入门:Menu 菜单

菜单往往是我们创建一个桌面应用时第一个需要编写的组件,本文我们系统地介绍一下如何在 GPUI 中创建菜单。特别说明:本文探讨的是 Zed 项目内而非 crates.io 上的 GPUI ,鉴于 Zed 项目迭代迅速且不保证 GPUI 模块向前兼容,验证和测试时要特别注意版本。本文基于的是 Zed 当…

作者头像 李华