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