摘要:IEC TC57所推出的IEC 870-5-1和IEC 870-5-2關(guān)于遠(yuǎn)動(dòng)系統(tǒng)內(nèi)數(shù)據(jù)傳輸?shù)臉?biāo)準(zhǔn)構(gòu)成了DNP V3.00數(shù)據(jù)鏈路層的基礎(chǔ),DNP 3.0規(guī)約使SCADA進(jìn)行有了國(guó)際標(biāo)準(zhǔn)規(guī)約。標(biāo)準(zhǔn)規(guī)約的適用面廣,功能強(qiáng)大,可以大大減少電力網(wǎng)維護(hù)的工作強(qiáng)度。饋線終端單元(FTU)是配電自動(dòng)化系統(tǒng)中的重要組成部分。
關(guān)鍵詞:分布式網(wǎng)絡(luò)規(guī)約DNP3.0 無線FTU 配電自動(dòng)化
DNP 3.0(Distributed Network Protocol Version 3.0)規(guī)約是目前在歐洲及北美比較流行的一種開放性結(jié)構(gòu)的規(guī)約,在國(guó)內(nèi)正逐漸成為主流性通信規(guī)約之一。它可用于電力系統(tǒng)子站系統(tǒng)、RTU、智能電子設(shè)備(IEDS)以及主站系統(tǒng)之間的通信。由于目前大部分國(guó)外配電自動(dòng)化(DA)設(shè)備都支持DNP3.0,為使電力設(shè)備具有兼容性和標(biāo)準(zhǔn)性,大部分與國(guó)外電力主站配套的FTU都使用DNP3.0通訊規(guī)約。
FTU作為配電自動(dòng)化系統(tǒng)的重要部分,不但要實(shí)現(xiàn)基本的測(cè)量與監(jiān)控功能,還要實(shí)現(xiàn)與遠(yuǎn)方主站的通信。本設(shè)計(jì)以ARM為主處理器,以多處理器的方式將功能項(xiàng)模塊化,各自獨(dú)立互不干擾,主處理器控制和協(xié)調(diào)各個(gè)功能單元的操作和數(shù)據(jù)交互,這樣既減少了設(shè)備的維護(hù)也可以利用設(shè)備的冗余來保證電力設(shè)備的正常運(yùn)行。
1 無線FTU系統(tǒng)構(gòu)成
無線FTU系統(tǒng)的構(gòu)成,利用GPRS/CDMA等無線網(wǎng)絡(luò)作為通訊載體,移動(dòng)服務(wù)商數(shù)據(jù)通過無線或者Internet網(wǎng)絡(luò)傳輸?shù)诫娏ΡO(jiān)控中心的局域網(wǎng)絡(luò)的電腦上,通過這種科學(xué)的方式來實(shí)現(xiàn)遠(yuǎn)程自動(dòng)化監(jiān)控。
由于電力終端設(shè)備工作的特殊性,其安裝位置、工作環(huán)境以及對(duì)可靠性、穩(wěn)定性的要求,傳統(tǒng)的有線網(wǎng)絡(luò)已很難滿足電力設(shè)備網(wǎng)絡(luò)化的要求。無線FTU在實(shí)現(xiàn)標(biāo)準(zhǔn)通訊規(guī)約的基礎(chǔ)上加以改進(jìn),通過GPRS/CDMA網(wǎng)絡(luò)實(shí)現(xiàn)電力設(shè)備的網(wǎng)絡(luò)化,在實(shí)現(xiàn)正常工作的同時(shí),提高電力網(wǎng)絡(luò)的自動(dòng)化程序,也更高效地實(shí)現(xiàn)了電力監(jiān)控設(shè)備的網(wǎng)絡(luò)化。
2 DNP3.0規(guī)約介紹
DNP3.0規(guī)約是在國(guó)際電子電工協(xié)會(huì)(IEC)的TC57協(xié)議基礎(chǔ)上制定的通信規(guī)約,它支持ISO的OSI/EPA模型。這種模型規(guī)定了物理層、數(shù)據(jù)鏈路層和應(yīng)用層。然而,為了支持高級(jí)的RTU功能和大于最大幀長(zhǎng)的報(bào)文,DNP3.0的數(shù)據(jù)鏈路采用一個(gè)偽傳輸層去完成最短報(bào)文的組裝與分解。圖2為通訊模型的比較。
2.1 DNP3.0的框架結(jié)構(gòu)
DNP3.0規(guī)約的文本共分4部分:數(shù)據(jù)鏈路層規(guī)約、傳輸功能、應(yīng)用層規(guī)約及數(shù)據(jù)對(duì)象庫。
由于匯編語言在硬件控制和處理速度上的高效性,在對(duì)規(guī)約處理時(shí),整個(gè)CRC部分用匯編實(shí)現(xiàn),似乎很麻煩,但由于匯編語言在位控制上可以類似C語言中聯(lián)合體的操作,所以在協(xié)議的控制上使用整體賦值分位判斷的方法,協(xié)議處理簡(jiǎn)單明了。C與匯編的混合使用,各取其長(zhǎng),實(shí)現(xiàn)了DNP通信的同時(shí)也提高了響應(yīng)速度和代碼質(zhì)量。
DNP3.0規(guī)約的幀格式的基本單元是字節(jié)的,所以按照DNP3.0規(guī)約的層次結(jié)構(gòu)分別是定義鏈路層控制字、偽傳輸層控制字、應(yīng)用層控制字、應(yīng)用層功能碼、FTU內(nèi)部狀態(tài)1、FTU內(nèi)部狀態(tài)2等。
按照DNP3.0規(guī)約的數(shù)據(jù)流程,分層搭建處理程序流程。DNP3.0規(guī)約詳細(xì)規(guī)定了協(xié)議的層次結(jié)構(gòu)及每一層的功能,程序只要完成全與規(guī)約一致即可實(shí)現(xiàn)通訊的標(biāo)準(zhǔn)化。
DNP協(xié)議鏈路層處理流程如圖3所示。
2.2 DNP3.0中CRC算法的實(shí)現(xiàn)
CRC校驗(yàn)是保證通信可靠性的關(guān)鍵處理部分,在協(xié)議中必須對(duì)報(bào)文的報(bào)頭、每個(gè)數(shù)據(jù)塊都進(jìn)行校驗(yàn),并將校驗(yàn)碼與數(shù)據(jù)一起捆綁發(fā)送,主站接收時(shí)可以對(duì)報(bào)文的信息進(jìn)行分析,判斷通信是否正常。下面是結(jié)合實(shí)現(xiàn)應(yīng)用給出的分析方法和匯編語言的CRC校驗(yàn)程序。
CRC的生成函數(shù)為:
P=G(X)=X16+X13+X12+X11+X10+X8+X6+X5+X2+1
CRC=(M2 16)/G(X)
具體實(shí)現(xiàn)細(xì)節(jié)分為:
發(fā)送一個(gè)數(shù)據(jù)塊:
·取用戶數(shù)據(jù)塊M,其長(zhǎng)度為K比特。
·將M乘以2 16得2 16M。
·將比數(shù)除以(模2除)P(17比特),得余數(shù)R(16比特)。
·對(duì)R取反,得R'。
·將R'掛在2 16M之后,并作為數(shù)據(jù)塊(T')發(fā)送出去。
接收一個(gè)數(shù)據(jù)塊:
·接收一個(gè)數(shù)據(jù)塊(T'),它具有(K+16)比特。
·將T'中的R'取反后得T,仍為(K+16)比特。
·將T除以P,得出它的余數(shù)。
·若余數(shù)為非零,則數(shù)據(jù)塊出錯(cuò),否則數(shù)據(jù)塊無誤。
用匯編語言實(shí)現(xiàn):(用查表法實(shí)現(xiàn),具體表格。
PROC ASKCRC
;入口參數(shù):要轉(zhuǎn)換的個(gè)數(shù);0A0H:數(shù)據(jù)的起始位置
;出口參數(shù):CRCL CRCH
;需保護(hù)的參數(shù):10H,11H,12H,13 14H R6 R1 A ASKCR:
MOV R1,#0A0H
MOV DPTR,#CRCTAB
MOV 10H,#0 ;CRCL
MOV 11H,#0 ;CRCH
CRC1:
MOV A,@R1
MOVC A,@A+DPTR
MOV 12H,10H
MOV 13H,#0
ANL 12H,#0FFH
XRL 10H,#0
XRL 11H,A
MOV A,12H
ORL 10H,A
MOV A,13H
ORL 11H,A
MOV R6,#8
CRC2:
MOV 14H,11H
ANL 14H,#80H
CLR C
MOV A,10H
RLC A
MOV 10H,A
MOV A,11H
RLC A
MOV 11H,A
MOV A,14H
CJNE A,#80H,CRC3
XRL 10H,#65H
XRL 11H,#3DH
CRC3:
DJNZ R6,CRC2
INC R1
DJNZ R7,CRC1
XRL 10H,#0FFH
XRL 11H,#0FFH
MOV 12H,10H
MOV 13H,11H
MOV A,10H
MOVC A,@A+DPTR
MOV 13H,A
MOV A,11H
MOVC A,@A+DPTR
MOV CRCL,A
MOV CRCH,13H
RET
2.3 DNP3.0的對(duì)象庫設(shè)定
采用DNP應(yīng)用層規(guī)約的智能化設(shè)備可以監(jiān)視控制,在軟、硬件方面均產(chǎn)生大量的數(shù)據(jù),這些數(shù)據(jù)被稱之為“信息單元”。不論它的數(shù)據(jù)源是什么,設(shè)備的簡(jiǎn)要文件(Profile documents)都需要為每個(gè)遠(yuǎn)動(dòng)設(shè)備的數(shù)據(jù)對(duì)象指明其確切的數(shù)據(jù)源及意義。FTU需要對(duì)電網(wǎng)進(jìn)行測(cè)量和監(jiān)控,所以必須明確DNP信息單元或用于DNP應(yīng)用層的數(shù)據(jù)對(duì)象之編碼規(guī)范。圖4是實(shí)現(xiàn)應(yīng)用時(shí)采用的一種通信格式。
FTU現(xiàn)行的通信規(guī)約有多種。由于DNP3.0規(guī)約是國(guó)際通用的,所以一般的電力設(shè)備上都要有此項(xiàng)功能。又考慮到DNP3.0規(guī)約功能強(qiáng)大,涉及到很多方面,所以在不同要求的FTU設(shè)備上可以根據(jù)現(xiàn)場(chǎng)需要實(shí)現(xiàn)不同的功能單元,而不必將所有的功能都完成。
隨著工業(yè)總線網(wǎng)絡(luò)化的發(fā)展和工業(yè)自動(dòng)化程度的提高,依托無線網(wǎng)絡(luò)的工業(yè)設(shè)備必然會(huì)得到更一步的發(fā)展,通信協(xié)議也會(huì)向著通用的方向發(fā)展。