基于DLMS/COSEM協(xié)議的智能電表設(shè)計
以下舉例說明接口對象的程序?qū)崿F(xiàn),考慮單片機(jī)編譯器只支持C語言編程,故設(shè)計用函數(shù)指針來實現(xiàn)類和對象。以有功電能接口對象為例,在圖3所示的儀表模型中,有功電能用寄存器類封裝,OBIS碼就是寄存器類中的屬性1:邏輯名。
4.2.2通信協(xié)議棧的實現(xiàn)
通信協(xié)議棧包括物理層、數(shù)據(jù)鏈路層和應(yīng)用層三層。
(1)物理層的任務(wù)比較簡單,包括連接管理、數(shù)據(jù)收發(fā)和與數(shù)據(jù)鏈路層接口三部分。它對應(yīng)于通信系統(tǒng)的底層驅(qū)動部分。
(2)數(shù)據(jù)鏈路層包括提供鏈路傳輸服務(wù)的LLC子層和負(fù)責(zé)數(shù)據(jù)傳輸可靠性的MAC子層。鏈路層采用HDLC協(xié)議,它是一種透明數(shù)據(jù)傳輸協(xié)議。在DLMS/COSEM協(xié)議模型中,鏈路層負(fù)責(zé)數(shù)據(jù)傳輸可靠性,應(yīng)用層處理用戶數(shù)據(jù)信息。鏈路層程序流程圖如圖4所示。
(3)DLMS/COSEM應(yīng)用層用一種抽象語法語言來描述。這樣做極大的提高了協(xié)議的抽象性和通用性,有利于程序移植。應(yīng)用層規(guī)定用抽象語法記法ASN.1來描述應(yīng)用層數(shù)據(jù)幀,而應(yīng)用層的APDU(應(yīng)用協(xié)議數(shù)據(jù)單元)用編碼規(guī)則BER和A-XDR來實現(xiàn)ASN.1語法。應(yīng)用層作為協(xié)議棧的最上層,負(fù)責(zé)向COSEM應(yīng)用進(jìn)程提供服務(wù),包括建立應(yīng)用連接服務(wù)和接口對象用戶數(shù)據(jù)信息服務(wù),并使用低層支撐協(xié)議提供的服務(wù)。應(yīng)用層程序流程圖如圖5所示。
通過以上的處理,在完成信息編碼后形成的報文即可通過信道進(jìn)行傳輸了。本電能表配置的是抄表系統(tǒng)常用的485總線和紅外口。
5結(jié)論
利用本方法設(shè)計的電能表采用DLMS UA工作組提供的專用測試工具CTT進(jìn)行符合性測試,結(jié)果顯示其符合DLMS/COSEM協(xié)議要求,因此獲得了DLMS UA工作組的認(rèn)證,這也是國內(nèi)第一塊獲得該認(rèn)證的三相電能表?;贒LMS/COSEM的電能表的實現(xiàn),改變了現(xiàn)階段國內(nèi)計量儀表不具有互操作性的缺點,必將推動國內(nèi)自動抄表系統(tǒng)的進(jìn)一步發(fā)展。
本文作者創(chuàng)新點:根據(jù)當(dāng)前電能表要求設(shè)計了儀表模型,程序上利用C語言函數(shù)指針實現(xiàn)類和對象;利用分層方式實現(xiàn)了通信協(xié)議棧,產(chǎn)品通過了DLMS測試認(rèn)證。
項目經(jīng)濟(jì)效益(200萬)。
電能表相關(guān)文章:電能表原理
評論