【儀器儀表商情網(wǎng) 解決方案】摘要:IEC61850標(biāo)準(zhǔn)是迄今為止變電站自動化領(lǐng)域最為完善的通信標(biāo)準(zhǔn),其中ASN.1編碼規(guī)范是IEC61850使用的MMS協(xié)議最基礎(chǔ)的編碼方式,這里給大家介紹一下IEC61850協(xié)議通信的“基石”— ASN.1編碼。
早期計(jì)算機(jī)通信使用的網(wǎng)絡(luò)協(xié)議棧在傳輸數(shù)據(jù)時,沒有采用統(tǒng)一的編碼規(guī)則,不同編碼規(guī)則的信息如果要再兩臺計(jì)算機(jī)之間通信,開發(fā)人員要實(shí)現(xiàn)不同信息的編解碼。
ASN.1(抽象語法標(biāo)記)規(guī)范的應(yīng)用,對計(jì)算機(jī)網(wǎng)絡(luò)通信來說是一個具有里程碑意義的變革,它使得通信雙方更加關(guān)注信息交換的內(nèi)容,而不是具體編解碼過程。
IEC61850協(xié)議定義的ACSI(抽象通信服務(wù)接口)具體映射至MMS(制造報文規(guī)范)協(xié)議,而MMS協(xié)議正是采用了ASN.1的編碼規(guī)范。IEC61850標(biāo)準(zhǔn)不再關(guān)心具體的通信過程,而是把重點(diǎn)放在變電站內(nèi)IED之間的數(shù)據(jù)交換模型和互操作上,因此ASN.1的應(yīng)用是IEC61850標(biāo)準(zhǔn)在實(shí)用性、規(guī)范性、靈活性和易擴(kuò)展性都強(qiáng)于傳統(tǒng)規(guī)約的原因之一。
主要內(nèi)容
ASN.1規(guī)范位于ISO/OSI七層開放互連模型的第六層表示層,主要分為語法規(guī)則和編碼規(guī)則兩部分:語法規(guī)則用于描述信息對象的具體構(gòu)成,包括數(shù)據(jù)類型、內(nèi)容順序或結(jié)構(gòu);編碼規(guī)則定義了信息的具體編解碼語法。
ASN.1定義的數(shù)據(jù)類型既有簡單的基本數(shù)據(jù)類型,也有復(fù)雜的結(jié)構(gòu)類型,如下表所示。
編碼規(guī)則:
ASN.1提供了多種編碼規(guī)則,如BER(Basic encoding rules)、DER、CER、PER等,本文主要介紹IEC61850在MMS編解碼中使用的基本編碼規(guī)則BER,其他編碼規(guī)則可參考ASN.1官網(wǎng)文檔。
ASN.1基本編碼規(guī)則BER采用的編碼結(jié)構(gòu)由標(biāo)記Tag、長度Length、內(nèi)容Value三部分組成,簡稱TLV結(jié)構(gòu),基本編碼規(guī)則采用8位位組作為基本傳送單元。
標(biāo)記Tag共4種類型,通用類、應(yīng)用類、上下文相關(guān)類以及專用類。分類信息如下:
ASN.1 BER編碼規(guī)則定義了一批簡單類型的Tag值,但這些Tag值無法滿足MMS應(yīng)用需要,如無法區(qū)分整型和無符號整型,因此MMS擴(kuò)展定義了一組專用的Tag值,具體可查閱ISO/IEC 9506-2規(guī)范。
長度Length字段指明Value部分所含的8位位組的數(shù)目。
內(nèi)容Value部分對于簡單類型來說,Value字段是數(shù)據(jù)的實(shí)際值,對于結(jié)構(gòu)類型來說,Value字段是一個或者多個數(shù)據(jù)的TLV結(jié)構(gòu),形成分層嵌套的結(jié)構(gòu)。
ASN.1提供了豐富的數(shù)據(jù)組織形式和靈活的擴(kuò)展機(jī)制,可以描述結(jié)構(gòu)非常復(fù)雜的數(shù)據(jù)。
MMS語法規(guī)范實(shí)現(xiàn):
ISO/IEC 9506 – 1 以及ISO/IEC 9506 – 2 定義了MMS的服務(wù)規(guī)范和協(xié)議規(guī)范,這兩部分是MMS協(xié)議的核心部分,規(guī)范主要由ASN.1語法組成,如:
VariableSpecification ::= CHOICE {