摘要:IEC61850 标准是迄今为止变电站自动化领域最为完善的通信标准,其中 ASN.1 编码规范是 IEC61850 使用的 MMS 协议最基础的编码方式,这里给大家介绍一下 IEC61850 协议通信的“基石”— ASN.1 编码。


早期计算机通信使用的网络协议栈在传输数据时,没有采用统一的编码规则,不同编码规则的信息如果要再两台计算机之间通信,开发人员要实现不同信息的编解码。


ASN.1(抽象语法标记)规范的应用,对计算机网络通信来说是一个具有里程碑意义的变革,它使得通信双方更加关注信息交换的内容,而不是具体编解码过程。


IEC61850 协议定义的 ACSI(抽象通信服务接口)具体映射至 MMS(制造报文规范)协议,而 MMS 协议正是采用了 ASN.1 的编码规范。IEC61850 标准不再关心具体的通信过程,而是把重点放在变电站内 IED 之间的数据交换模型和互操作上,因此 ASN.1 的应用是 IEC61850 标准在实用性、规范性、灵活性和易扩展性都强于传统规约的原因之一。

 

 

主要内容
ASN.1 规范位于 ISO/OSI 七层开放互连模型的第六层表示层,主要分为语法规则和编码规则两部分:语法规则用于描述信息对象的具体构成,包括数据类型、内容顺序或结构;编码规则定义了信息的具体编解码语法。


ASN.1 定义的数据类型既有简单的基本数据类型,也有复杂的结构类型,如下表所示。

 

 

编码规则:
ASN.1 提供了多种编码规则,如 BER(Basic encoding rules)、DER、CER、PER 等,本文主要介绍 IEC61850 在 MMS 编解码中使用的基本编码规则 BER,其他编码规则可参考 ASN.1 官网文档。


ASN.1 基本编码规则 BER 采用的编码结构由标记 Tag、长度 Length、内容 Value 三部分组成,简称 TLV 结构,基本编码规则采用 8 位位组作为基本传送单元。
标记 Tag 共 4 种类型,通用类、应用类、上下文相关类以及专用类。分类信息如下:

 

 

ASN.1 BER 编码规则定义了一批简单类型的 Tag 值,但这些 Tag 值无法满足 MMS 应用需要,如无法区分整型和无符号整型,因此 MMS 扩展定义了一组专用的 Tag 值,具体可查阅 ISO/IEC 9506-2 规范。


长度 Length 字段指明 Value 部分所含的 8 位位组的数目。


内容 Value 部分对于简单类型来说,Value 字段是数据的实际值,对于结构类型来说,Value 字段是一个或者多个数据的 TLV 结构,形成分层嵌套的结构。
ASN.1 提供了丰富的数据组织形式和灵活的扩展机制,可以描述结构非常复杂的数据。

 

 

MMS 语法规范实现:
ISO/IEC 9506 – 1 以及 ISO/IEC 9506 – 2 定义了 MMS 的服务规范和协议规范,这两部分是 MMS 协议的核心部分,规范主要由 ASN.1 语法组成,如:
VariableSpecification ::= CHOICE {
    name   ObjectName, 
    invokeID  Unsigned32,
    variableDescription  IMPLICIT SEQUENCE {
        address  Address,
        typeSpecification  TypeSpecification
    }, 
}


定义了一个选择复杂结构类型 VariableSpecification,第一个成员是一个 BITSTRING 位串,第二个成员是无符号 32 位整型,第三个成员是一个强调成员顺序的复杂类型的序列。


由上述内容可看出,ASN.1 规范在 MMS 协议实现过程中起到非常重要的作用,正确的数据编码是确保 IEC61850 应用的重要前提。


致远电子 E8000、E8300 电能质量分析监测终端率先通过开普实验室 IEC61850 一致性测试认证,每一组 MMS 报文都是经过精心设计而且高度符合 ASN.1 编码规范,使得设备与主站通信更加健壮稳定。