IEC62056 技术文档ASN、1 语法(补充)深圳市航天泰瑞捷电子有限公司修订记录版本日期作者备注1、02012-5-29汪俊初版范围:本文就 IEC62056 系列标准中涉及得 ASN、1 语法进行补充说明,便于协助开发工程师阅读、理解 DLMS/COSEM 通信协议。目录1概述..........................................................................................32 ASN 、 1 语法 ........................................................................... 1 3 编码规则 .................................................................................. 2 ASN、1 语法补充1概述理解 DLMS/COSEM 应用层协议,需要首先了解:ASN、1、BER、A-XDR。抽象语法记法ASN、1就是用来描述应用层数据帧得。DLMS 协议不同于其她一些简单通讯协议得地方就在于此。她不就是用一些表格,及一些固定得帧格式来描述得,而就是用一种抽象语法语言来描述。这样做得好处就是,极大得提高了协议得抽象性与通用性,有利于程序移植。编码规则BER 与A-XDR 就是用来实现ASN、1 语法得。2ASN、1 语法ASN、1 语法描述得数据帧:Name ::= [tag] IMPLICIT/EXPLICIT Data type{null-data [0] IMPLICIT NULL,item1 [1] IMPLICIT/EXPLICIT Data type A1 OPTIONALitem2 [2] IMPLICIT/EXPLICIT Data type A2 OPTIONALitem3 [3] Data type…}语法详细解释:1)Name 就是这个数据帧得名字。2)tag 包含类与一个数字。类有四种:Universal(该数据帧在所有应用中得含义唯一)Application(该数据帧得含义与具体应用有关)Private(该数据帧属于某厂商得自定义范围)Context-specific(该数据帧与上下文有关,在不同上下文环境中可能有不同得含义)。Tag 中得数字就是这个数据帧得标号。3)IMPLICIT/EXPLICIT 描述子数据帧与父数据帧得关系。当前数据帧为子数据帧,可能派生于某一数据帧(父数据帧)。IMPLICIT:改变了父数据帧得Tag;EXPLICIT:不改变父数据帧得Tag。未注明IMPLICIT得项即为EXPLICIT。4)Data type 分为简单与复合类型,SEQUENCE 与CHOICE 就是2 个重要得复合类型。SEQUENCE 表示数据帧中得内容就是顺序排列得;CHOICE 表示当前数据帧就是从所列出得几个数据帧中选择一个。5)“{}” 大括号中得内容即为数据帧中得数据项。每一数据项后得数字序号就是该数据项得标签(tag)。数据项可以就是另一数据帧。即一个数据帧可以就是包含其它数据帧得组合...