版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、DNP3.0快速入門白銀魁2002-04-15一、學習DNP規(guī)約的必要性DistributedNetworkProtocol由Harris公司提出,于1993年開始應用。近一段時間,DNP規(guī)約在國內(nèi)的應用有上升的趨勢,特別是大型綜合自動化變電站采用的國外的智能設備,有很多都要求采用DNP規(guī)約。目前,與我們?nèi)肯嚓P(guān)的產(chǎn)品主要是DF1700及DF1331。二、培訓目標通過學習,使大家都達到能夠分析報文的水平。三、DNP規(guī)約的分層結(jié)構(gòu)DNP規(guī)約雖然很龐大,但它層次清晰,只要掌握好DNP的分層結(jié)構(gòu),DNP規(guī)約就非常好理解了。DNP規(guī)約共分為3層:鏈路層、傳輸層和應用層。以下面的一包報文為例(16進制顯
2、示,下同):0564FE4403000300CE52(固定格式幀頭)F1A58100000102010000EC00010101016DDB01010101010101010101010101010101BBC301010101010101010101010101010101BBC30101010101010101010181818181810118F101010101010101010101010101010101BBC301010101010101010101010181018181F47281010101010101010101010101010101B7F481010101810101
3、010101010101010101F0FF010101018101818101010101010181010611010181010101010101010101010101019A4A0101810101018101010101010101010146830101010101010181818101810101018184DC810101018181010101818101010181811ECE01010181810101018181010101818101458501018101010101018101010181810101503C0181810101018181019925報文例(
4、1)上面曰是一一包完整報文的分行顯示。整個這一包報文我們稱之為鏈路層報文。其中的粉紅色部分為16位的CRC校驗碼,上面這條報文的第一行共10個字節(jié),我們稱之為鏈路報文頭,其中含2個字節(jié)的CRC校驗碼,所有的DNP鏈路層報文都有一個這樣的鏈路報文頭。鏈路報文頭以外的部分每18個字節(jié)為一組,其中用戶數(shù)據(jù)為16個字節(jié),最后2個字節(jié)為CRC校驗碼,最后一組最少為3個字節(jié),其中最后的2個字節(jié)仍為CRC校驗碼。鏈路層報文中,去掉CRC校驗碼及鏈路報文頭,剩下的部分為傳輸層報文,也就是桔黃色部分加上一個字節(jié)的藍色部分。這個藍色字節(jié)稱為傳輸層報文頭字節(jié)。傳輸層報文中,去掉傳輸層報文頭字節(jié),剩下的部分為應用層報
5、文,也就是桔黃色部分(在以后的學習中我們將認識到,這一部分不一定是一條完整的應用層報文,有時,它只是一條應用層報文的一個塊)。鏈路報文頭是所有的DNP報文都有的,但并不是所有的DNP報文都有傳輸層報文及應用層報文。而在DNP報文中傳輸層報文與應用層報文是同時存在或同時不存在的。各層報文間的關(guān)系為:鏈路層報文中可以封裝有傳輸層報文,也可以沒有傳輸層報文;傳輸層報文內(nèi)封裝了應用層報文。各層之間除了封裝與被封裝關(guān)系外,沒有其它的關(guān)系。四、鏈路層報文結(jié)構(gòu)以報文例(1)為例,粉紅色部分為16位的CRC校驗碼,這條報文的第一行共10個字節(jié),我們稱之為鏈路報文頭,其中最后2個字節(jié)為CRC校驗碼,所有的DNP
6、報文都有這樣一個鏈路報文頭。鏈路報文頭以外的部分每18個字節(jié)為一組,其中用戶數(shù)據(jù)為16個字節(jié),最后2個字節(jié)為CRC校驗碼,最后一組最少為3個字節(jié),其中最后的2個字節(jié)仍為CRC校驗碼。這就是鏈路層報文的框架。其中關(guān)鍵的部分就是鏈路報文頭。鏈路報文頭的結(jié)構(gòu)05640500030003005DD1報文例(2)05645F44030003002807報文例(3)0564為起始標志字,類似于CDT92規(guī)約中的EB90。05及5F為鏈路層報文長度,為1個字節(jié),它包括鏈路報文頭中的5個字節(jié),超出5個字節(jié)的部分為傳輸層報文的長度,也就是說,鏈路層報文長度計數(shù)中不含CRC校驗碼字節(jié)。鏈路層報文長度的最小值為5,
7、最大值為255。一條DNP鏈路層報文的最短長度為鏈路報文頭的長度:10個字節(jié)。一條DNP鏈路層報文的最大長度為10+(250/16)X18+(250%16+2)=292字節(jié)。00及44為鏈路控制字節(jié),它用來指出本條鏈路層報文要實現(xiàn)的鏈路層功能。對于封裝有應用層報文的鏈路層報文來說,根據(jù)鏈路控制字節(jié)并不能判斷出應用層要實現(xiàn)的功能。應用層報文的含義要根據(jù)應用控制字節(jié)及應用層功能碼等信息共同判斷。鏈路控制字節(jié)的具體定義,將在下面講解。兩個0300為目的地址。兩個0300為源地址。粉紅色部分為16位的CRC校驗碼。綜上所述,鏈路報文頭的結(jié)構(gòu)為:(注:每格為1個字節(jié))05H64HXXXXXXXXXXXX
8、XXXX起始字起始字鏈路報鏈路控目的地目的地源地址源地址CRCCRC節(jié)1節(jié)2文長度制字節(jié)址L址HLH校驗L校驗H鏈路控制字節(jié)定義鏈路控制字節(jié)是鏈路層中的難點,不過看過之后你就會覺得非常簡單。首先,我們先來了解一下源方站(發(fā)啟站,PrimaryStation)與副方站(響應站,SecondaryStation)的概念。源方站與副方站僅僅是相對于一次通訊過程而言,我們不能說主站就是源方站,子站就是副方站,反過來,我們也不能說子站就是源方站,主站就是副方站。實際上,主站和子站都是既可以作為源方站也可以作為副方站。但在一次通訊過程中,主站和子站中只能有一個作為源方站,另一個作為副方站。在一次通訊過程中
9、,源方站處于主導地位,源方站實現(xiàn)的功能有:檢測副方鏈路層是否在線,復位副方鏈路,向副方發(fā)送應用層數(shù)據(jù)、應用層命令以及實現(xiàn)應用層的其它功能;副方站在通訊過程中處于被動響應地位,副方站實現(xiàn)的功能有:處理收到的數(shù)據(jù)及命令,在需要的時候給出對源方站鏈路層報文的鏈路層響應。下面,以主站向子站召喚變化遙測為例,說明一下源方、副方的交替。.主站作為源方站,向子站召喚變化遙測數(shù)據(jù)。f一此時子站作為副方站,正確接收到這條命令后,發(fā)出鏈路層肯定確認給主站。本次通訊過程結(jié)束。一子站作為源方站,向主站發(fā)送變化遙測數(shù)據(jù)。.此時主站作為副方站,在正確接收到這些數(shù)據(jù)后,發(fā)出鏈路層肯定確認給子站f本次通訊過程結(jié)束。.主站作為
10、源方站,向子站發(fā)出變化遙測已正確接收的應用層確認f一此時子站作為副方站,正確接收到這條命令后,發(fā)出鏈路層肯定確認給主站。召喚變化遙測過程結(jié)束。在實際的通訊過程中,、這兩條報文是肯定要有的,有時、這兩條報文并不出現(xiàn),這取決于、這兩條報文是否需要鏈路層的確認。這條報文是否存在,取決于這條報文是否需要應用層的確認。這條報文只有當這條報文存在并且需要鏈路層確認時才會存在。源方站的鏈路控制字節(jié)結(jié)構(gòu)D7D6D5D4D3D2D1D0DIRPRMFCBFCV鏈路層功能碼副方站的鏈路控制字節(jié)結(jié)構(gòu)D7D6D5D4D3D2D1D0DIRPRMRESDFC鏈路層功能碼DIR:方向位,1:本條報文為主站到子站的報文;0
11、:本條報文為子站到主站的報文。PRM:源方站標志位,1:本條報文為源方站報文;0:本條報文為副方站報文。FCV:幀計數(shù)有效位,1:接收方收到本報文后,應檢查FCB位的正確性。0:接收方收到本報文后,不檢查FCB位的正確性。FCB:幀計數(shù)位,只有當FCV=1時,F(xiàn)CB才有意義。對于發(fā)送方而言,如果本條報文的FCV=1,那么FCB位的狀態(tài)應為上次FCV=1時FCB位狀態(tài)的翻轉(zhuǎn)。RES:保留位。DFC:數(shù)據(jù)流控制位,1:發(fā)出此報文的一方接收緩沖區(qū)已滿,不能再接收數(shù)據(jù)了。鏈路層功能碼:要結(jié)合PRM位進行分析。源方站鏈路層功能碼(PRM=1)功能碼幀類型服務功能FCV位0SEND/期待CONFIRM使遠
12、方鏈路復位01SEND/期待CONFIRM使用戶過程復位02SEND/期待CONFIRM對鏈路的測試功能13SEND/期待CONFIRM用戶數(shù)據(jù)14SEND/不期待回信非確認的用戶數(shù)據(jù)09查詢/期待響應查詢鏈路狀態(tài)05-8未用10-15未用副方站鏈路層功能碼(PRM=O)功能碼幀類型服務功能0肯定確認ACK=肯定的確認1否定確認NACK=報文未收到;鏈路忙11響應鏈路的狀態(tài)(DFC=0或DFC=1)2-10未用12-13未用14鏈路服務不工作了15未用鏈路服務,或未實現(xiàn)鏈路服務思考題:分析下面這條報文,并回答下列問題:056414F303000300709AD9C5013C02063C0306
13、3C04063C0106065E、請列出本條報文中的應用層報文、本條報文是發(fā)向主站的還是發(fā)向子站的?、本條報文需要接收方給出鏈路層確認嗎?ApplicationControlApplicationFunCodeIINLIINH對于所有的應用層報文而言,應用層報文頭是必需的,而數(shù)據(jù)對象部分是否存在是與應用層報文頭的內(nèi)容相關(guān)的。主站發(fā)出的應用層報文與子站發(fā)出的應用層報文在結(jié)構(gòu)上總體上是一致的,其中,數(shù)據(jù)對象部分完全一致,而在應用層報文頭部分,子站比主站多了2個字節(jié)的內(nèi)部信號標志(InternalIndication,簡稱IIN)。下面以子站發(fā)出的應用層報文的報文頭為例,講一下應用層報文頭的結(jié)構(gòu)。(
14、1格表示1字節(jié))五、應用層報文結(jié)構(gòu)應用層報文的結(jié)構(gòu)可以分為應用層報文頭和數(shù)據(jù)對象兩部分應用層報文頭數(shù)據(jù)對象部分ApplicationControlApplicationFunCodeIINLIINH應用控制字節(jié)應用層功能碼IIN低字節(jié)IIN高字節(jié)應用控制字節(jié)的結(jié)構(gòu)D7D6D5D4D3D2D1D0FIRFINCON應用層報文序號FIR:首包標志。1:本條應用層報文為完成某應用層功能或傳送某些應用層數(shù)據(jù)的所有報文中的第一包。0:本條應用層報文不是第一包。FIN:尾包標志。1:本條應用層報文為完成某應用層功能或傳送某些應用層數(shù)據(jù)的所有報文中的最后一包。0:本條應用層報文不是最后一包。如果某包應用層報
15、文的FIR=1并且FIN=1,則表示完成此應用層功能只需1包報文就夠了。CON:需要應用層確認標志。1:本條報文需要接收方給出對這條報文的應用層確認。0:本條報文不需要接收方給出對這條報文的應用層確認。應用層報文序號:對于普通報文,值的范圍為015,對于主動上送報文,值的范圍為1631。發(fā)送方每發(fā)出一包應用層報文后,此值就加1,當計滿15后就歸0(或計滿31后就從16繼續(xù)計起)。如果本包報文是完成某應用層功能的第一包報文(FIR=1),那么應用層報文序號采用015(或1631)中的任何一個值都是合法的,其余的包要在第一包序號的基礎上依次加1,并且仍要遵循計滿15后歸0(或計滿31后就從16繼續(xù)
16、計起)原則。引入FIR、FIN標志及應用層報文序號的目的:對于所有的主站或子站而言,應用層的收、發(fā)緩沖區(qū)是有限的,它的典型大小為2048字節(jié)。我們就以2048字節(jié)為例,2048字節(jié)只能傳輸16位的遙測量1024個或帶品質(zhì)描述的遙信量2048個等等。這些數(shù)據(jù)量在大型綜合自動化系統(tǒng)中還遠遠不夠。當2048字節(jié)的容量不能滿足要求時,我們就要用多條應用層的報文來實現(xiàn)同一個應用層的功能。為了讓接收方能夠區(qū)分出實現(xiàn)同一個應用層功能的多包報文的起、止以及報文是否有重復或丟失現(xiàn)象,就引入了FIR、FIN標志,它們與應用層報文序號配合,就可以使接收方很容易的判斷出報文的起、止以及報文是否有重復或丟失現(xiàn)象。應用層
17、功能碼子站到主站方向的應用層功能碼如下表功能碼值功能解釋0對收到的應用層報文的肯定確認,此報文不需要應用層響應。129響應主站請求的報文。130非請求響應(主動上送)報文。主站到子站方向的應用層功能碼比較多,最常用的部分如下表:功能碼值功能解釋0對收到的應用層報文的肯定確認,此報文不需要應用層響應。1讀命令,請求子站上送所指定的數(shù)據(jù)項2寫命令,賦予子站的指定數(shù)據(jù)項以指定的值3輸出選擇命令(遙控預置)4輸出先前已選擇了的控制點(遙控執(zhí)行)5直接輸出,不需要有先前的選擇命令(遙控直接執(zhí)行)想要了解全部的應用層功能碼,可參閱馬君華等人翻譯的Dnpv30應用層.doc13頁14頁。IIN標志:再次重申
18、一下,主站發(fā)出的應用層報文中無IIN標志。子站上傳的報文中,應該把自身當前的狀態(tài)在IIN標志中體現(xiàn)出來。主站接收到子站的IIN標志后,要依據(jù)這個標志對子站進行數(shù)據(jù)召喚或進行其它的操作。IIN共有16位,各位的含義參閱Dnpv30應用層.doc15頁16頁。數(shù)據(jù)對象部分前面已經(jīng)提到過,數(shù)據(jù)對象部分的存在與否是與應用層報文頭的內(nèi)容相關(guān)的,在這里可以說得確切一些,它實際上是與應用層功能碼相關(guān)的。最常用的應用層功能碼中只有“0:確認”后面沒有數(shù)據(jù)對象部分。主站發(fā)出的報文與子站發(fā)出的報文在數(shù)據(jù)對象部分的結(jié)構(gòu)是完全相同的。這一部分又分為攜帶數(shù)據(jù)元素的情況與不攜帶數(shù)據(jù)元素的情況。例如:主站向子站下發(fā)的對鐘報
19、文中,就是要向子站中的系統(tǒng)時鐘數(shù)據(jù)項中寫入指定的值,這條報文的數(shù)據(jù)對象部分就是攜帶數(shù)據(jù)元素的;子站為了響應主站的召喚數(shù)據(jù)命令,向主站傳送的各種數(shù)據(jù)報文,無疑也是攜帶數(shù)據(jù)元素的。而主站下發(fā)給子站的召喚數(shù)據(jù)報文中的數(shù)據(jù)對象部分僅僅指定了數(shù)據(jù)項的范圍而已,因此是不攜帶數(shù)據(jù)元素的。先講一下不攜帶數(shù)據(jù)元素的情況。(用于數(shù)據(jù)召喚命令)ObjGroupObjVariationQualifierRange附加的點號描述部分數(shù)據(jù)對象組別數(shù)據(jù)對象變體限定詞變程長度不定1字節(jié)1字節(jié)1字節(jié)08字節(jié)數(shù)據(jù)對象組別與數(shù)據(jù)對象變體的組合,是DNP規(guī)約特有的數(shù)據(jù)對象分類的編碼方式。這兩者一定要組合使用。需要特別指出的是,DNP
20、規(guī)約中,把系統(tǒng)時鐘、分級數(shù)據(jù)等都當作是一種數(shù)據(jù)類型來處理,對于對鐘操作,就是向相應的時鐘數(shù)據(jù)項內(nèi)寫入指定的值。還有對象變體可以為0,此時數(shù)據(jù)對象組別與數(shù)據(jù)對象變體的組合所指的數(shù)據(jù)類型為從屬于此數(shù)據(jù)對象組中的所有數(shù)據(jù)類型。但是,對象變體為0的情形只能用于請求報文(即數(shù)據(jù)召喚報文)中。DNP規(guī)約對數(shù)據(jù)對象組別及變體的具體描述,參閱DNP對象庫.doc。最常用的數(shù)據(jù)類型見下表:(下表為10進制編碼)對象組別對象變體數(shù)據(jù)對象描述11不帶品質(zhì)描述的單點輸入,即壓縮格式的遙信量,8點/字節(jié)12帶品質(zhì)描述的單點輸入,1字節(jié)/點的遙信量21帶品質(zhì)描述不帶時標的單點變位信息,1字節(jié)/點22帶品質(zhì)描述帶絕對時標的
21、單點變位信息,7字節(jié)/點121繼電器輸出控制(遙控)對象,11字節(jié)/點30216位帶品質(zhì)描述不帶時標的靜態(tài)當前模擬量,3字節(jié)/點30416位不帶品質(zhì)描述不帶時標的靜態(tài)當前模擬量,2字節(jié)/點32216位帶品質(zhì)描述不帶時標的變化當前模擬量,3字節(jié)/點20132位帶品質(zhì)描述不帶時標的靜態(tài)累加脈沖量,5字節(jié)/點20532位不帶品質(zhì)描述不帶時標的靜態(tài)累加脈沖量,4字節(jié)/點22132位帶品質(zhì)描述不帶時標且變化了的累加脈沖量,5字節(jié)/點501表示日歷鐘的絕對時間對象,6字節(jié)/點6010級數(shù)據(jù),即靜態(tài)數(shù)據(jù),僅用于召喚命令,無確切的對象6021級數(shù)據(jù),優(yōu)先級最高的變化數(shù)據(jù),僅用于召喚命令6032級數(shù)據(jù),優(yōu)先級僅
22、次于1級數(shù)據(jù)的變化數(shù)據(jù),僅用于召喚命令6043級數(shù)據(jù),優(yōu)先級次于2級數(shù)據(jù)的變化數(shù)據(jù),僅用于召喚命令所有數(shù)據(jù)對象的點號都由0點計起。對象類型相近且點號相同的數(shù)據(jù)點,有時所指的就是同一數(shù)據(jù)元素。最常用的數(shù)據(jù)類型中這樣的情形有注:下面描述數(shù)據(jù)對象時采用的格式為:“(對象組別,對象變體)”:(1,1)、(1,2)、(2,1)、(2,2)這4個數(shù)據(jù)類型當其點號相同時,所指的為同一個數(shù)據(jù)元素;(30,2)、(30,4)、(32,2)這3個數(shù)據(jù)類型當其點號相同時,所指的為同一個數(shù)據(jù)元素。限定詞、變程及附加的點號描述部分是用于描述數(shù)據(jù)對象的點號的。有時變程部分或附加的點號描述部分或是其兩者是不存在的,這取決于
23、限定詞的內(nèi)容。限定詞,簡單的說,就是對變程部分及附加的點號描述部分的限定。現(xiàn)在把最常用的限定詞列表解釋如下:限定詞表(其中,附加的點號描述部分注釋僅適用于不攜帶數(shù)據(jù)對象的報文)限定詞值變體類型變體部分附加的點號描述部分0 x00起止模式2個字節(jié),第一個字節(jié)為起始點號(含),第二個字節(jié)為終止點號(含)。無0 x01起止模式4個字節(jié),前2個字節(jié)為起始點號(含),后2個字節(jié)為終止點號(含)。無0 x02起止模式8個字節(jié),前4個字節(jié)為起始點號(含),后4個字節(jié)為終止點號(含)。無0 x07數(shù)量模式1個字節(jié),記其值為N,所涉及到的點號為:0N-1無0 x08數(shù)量模式2個字節(jié),記其值為N,所涉及到的點號為
24、:0N-1無0 x09數(shù)量模式4個字節(jié),記其值為N,所涉及到的點號為:0N-1無0 x17數(shù)量模式1個字節(jié),記其值為N為N個點號,每個點號占1個字節(jié)0 x18數(shù)量模式2個字節(jié),記其值為N為N個點號,每個點號占1個字節(jié)0 x19數(shù)量模式4個字節(jié),記其值為N為N個點號,每個點號占1個字節(jié)0 x27數(shù)量模式1個字節(jié),記其值為N為N個點號,每個點號占2個字節(jié)0 x28數(shù)量模式2個字節(jié),記其值為N為N個點號,每個點號占2個字節(jié)0 x29數(shù)量模式4個字節(jié),記其值為N為N個點號,每個點號占2個字節(jié)0 x37數(shù)量模式1個字節(jié),記其值為N為N個點號,每個點號占4個字節(jié)0 x38數(shù)量模式2個字節(jié),記其值為N為N個
25、點號,每個點號占4個字節(jié)0 x39數(shù)量模式4個字節(jié),記其值為N為N個點號,每個點號占4個字節(jié)0 x06全部模式無。僅用于召喚命令。涉及的點號為接收方支持的所召喚的數(shù)據(jù)類型的所有點無對于攜帶數(shù)據(jù)元素的情況,其應用層報文的數(shù)據(jù)對象部分的結(jié)構(gòu)如下:ObjGroupObjVariationQualifierRange數(shù)據(jù)兀素部分數(shù)據(jù)對象組別1字節(jié)數(shù)據(jù)對象變體1字節(jié)限定詞1字節(jié)變程18字節(jié)長度不定在數(shù)據(jù)對象組別與數(shù)據(jù)對象變體部分(數(shù)據(jù)類型部分)與攜帶數(shù)據(jù)元素的情況相差無幾。兩者在這一部分的區(qū)別是:攜帶數(shù)據(jù)元素的情況必須明確指出所攜帶的數(shù)據(jù)類型,因此不能使用數(shù)據(jù)對象變體值0。基于與上一條相同的原因,攜帶數(shù)
26、據(jù)元素的情況不能使用分級數(shù)據(jù)對象類型(60,1)、(60,2)、(60,3)、(60,4)。在限定詞部分,攜帶數(shù)據(jù)元素的情況必須明確指出所攜帶的數(shù)據(jù)的點號,因此不能使用限定詞6。在變程部分,因攜帶數(shù)據(jù)元素的情況不能使用限定詞6了,而只有限定詞6對應的變程為0字節(jié),所以變程為0字節(jié)的情況就是非法的了。不攜帶數(shù)據(jù)元素的情況中,變程后面可能跟隨有附加的點號描述部分,而攜帶數(shù)據(jù)元素的情況中,變程后面必定要跟隨數(shù)據(jù)元素部分。數(shù)據(jù)元素部分與附加的點號描述部分雖說在結(jié)構(gòu)上不一致,但它們之間的關(guān)系是非常密切的。下面按附加的點號描述部分的幾種形式分別討論一下數(shù)據(jù)元素部分的結(jié)構(gòu)。沒有附加的點號描述部分的情況。這種
27、情況下,所涉及到的數(shù)據(jù)元素的點號都是連續(xù)的。變體部分為“起止模式”的不必細說,變體部分為“數(shù)量模式”且沒有附加的點號描述部分時,其涉及的數(shù)據(jù)元素的點號也可以歸入起止模式,即:起始點為0終止點為N-1。與之對應的數(shù)據(jù)元素部分的結(jié)構(gòu)為:變體中指定的相關(guān)點號的數(shù)據(jù)元素的順序排列。附加的點號描述部分為N個點號規(guī)模為X字節(jié)/點號的點號描述的情況。(X取值為1、2或4)這種情況下,我們可以把“X字節(jié)/點號”這樣的一個點號描述稱為一個小組,那么,附加的點號描述部分就是由N個這樣的小組組成的。與之對應的數(shù)據(jù)元素部分也是由N個小組組成的,只不過這時每個小組的結(jié)構(gòu)變成了“X字節(jié)的點號+該點號對應的數(shù)據(jù)元素”了。不
28、論是否攜帶數(shù)據(jù)元素,應用層報文的數(shù)據(jù)對象部分都可以有多個。結(jié)構(gòu)如下:應用層報文頭數(shù)據(jù)對象部分1數(shù)據(jù)對象部分2數(shù)據(jù)對象部分m六、傳輸層報文結(jié)構(gòu)在主站與子站間傳輸?shù)娜魏蚊罴皵?shù)據(jù)最終都要以鏈路層報文的面目出現(xiàn)。一條鏈路層的報文最多只能攜帶250字節(jié)的用戶數(shù)據(jù),而一條應用層報文超出1000字節(jié)是很常見的。怎樣才能傳輸這么大的應用層報文而又能防止出錯呢?DNP規(guī)約中采用了下面的方式:傳送應用層報文的一方,先把整條應用層報文分成若干個塊,每一塊不超過249字節(jié)(當然,每塊的長度沒有過多的限制),然后在每一塊的最前面加上一個字節(jié),這個字節(jié)稱為傳輸層報文頭。在第一塊前面的傳輸層報文頭中有首塊標志及起始的塊序
29、號,在中間塊前面的傳輸層報文頭中有該塊的塊序號,在最后一塊前面的傳輸層報文頭中有末塊標志及該塊的塊序號。相鄰兩個塊的塊序號是連續(xù)的。接收應用層報文的一方,先把傳輸層報文取出來,分析傳輸層報文頭,如果先前未收到過具有首塊標志的傳輸層報文頭就先不處理應用層數(shù)據(jù)塊,直到收到了首塊標志為止,收到首塊標志后,就記錄該塊的序號并取出應用層報文塊開始組裝,當收到下一塊時檢測其序號是否與上次收到的序號連續(xù),如果連續(xù)就接著組裝,并判斷它是不是末塊,直到收到末塊,才把這些塊組裝成了一條完整的應用層報文,這時才開始應用層的處理。當然,在接收時還應考慮應用層報文只分為一塊的情況以及傳輸出錯的情況。傳輸層報文頭的結(jié)構(gòu)D
30、7D6D5D4D3D2D1D0FINFIR應用層報文塊序號FIN:首塊標志。1:本塊為首塊;0:本塊非首塊。FIR:末塊標志。1:本塊為末塊;0;本塊非末塊。注意:傳輸層報文頭的FIN及FIR標志的位置與應用控制字節(jié)中的FIN及FIR標志的位置是不同的。應用層報文塊序號:范圍為:063,計滿63后歸0。傳輸層報文的結(jié)構(gòu)為:傳輸層報文頭應用層報文塊1字節(jié)1249字節(jié)思考題:分析下面這條報文,并回答下列問題:056414F303000300709AD9C5013C02063C03063C04063C0106065E、本條報文中的應用層報文是一條完整的應用層報文呢還是應用層報文的一個塊?、本條報文中
31、的應用層報文是應用層報文的首塊還是末塊?、本條報文要完成的應用層功能是什么?七、通訊過程描述注:與順序有關(guān)部分,其先后順序以前面的序號標注。粉紅色為必需過程,藍色為可選過程。因DNP是一個很靈活的規(guī)約,下面的召喚數(shù)據(jù)部分的順序僅供參考。、主站作為源方站復位子站的鏈路。復位子站鏈路的目的有2個:確認子站是否在線、統(tǒng)一主站到子站方向的FCB位。主站發(fā)出:056405C0050006009508如果站號為5的子站在線,它正確接收了這條復位命令后,就把自己下次接收到FCV=1的報文的FCB期望值置為1,同時返回鏈路層肯定確認報文給主站:子站返回:0564050006000500B1E3主站正確接收后,
32、把自己下次發(fā)往該站的FCV=1的報文時的FCB位置為1。如果主站接有多個子站,主站就要分別復位各子站的鏈路,并分別記錄發(fā)向各子站的FCB位。、子站作為源方站復位主站的鏈路。復位主站鏈路是為了統(tǒng)一子站到主站方向的FCB位。當子站發(fā)往主站的所有報文均不需要主站對其的鏈路層確認時,可以沒有這一過程。子站發(fā)出:0564054006000500XXXX注:為什么要強調(diào)“主站到子站方向”呢?因為主站和子站都可以作為源方站,當源方站發(fā)出的報文中FCV=1時,其FCB位的狀態(tài)應為上次FCV=1時FCB位狀態(tài)的翻轉(zhuǎn),副方站當接收到FCV=1的報文時就要判斷一下FCB位的狀態(tài)與副方站自己存儲的FCB位期望值是否一
33、致,不一致就認為傳送過程中出現(xiàn)錯誤。主站正確接收了這條復位命令后,就把自己下次接收到該站FCV=1的報文的FCB期望值置為1。同時返回一條鏈路層肯定確認報文給該子站。主站發(fā)出:0564058005000600XXXX子站正確接收后,把自己下次發(fā)送的FCV=1的報文時的FCB位置為1。如果主站不復位子站的鏈路,子站不響應主站發(fā)出的其它任何報文。而如果子站不復位主站的鏈路,主站卻可以接收該子站的FCV=O的報文。雙方相互復位鏈路后,就可以相互接收FCV=1的報文了。正常通訊時,一旦檢測出通訊中斷,都要重新復位鏈路。、主站復位子站的用戶進程。主站發(fā)出:056405C105000600XXXX子站接收
34、后,進行相應的處理,并返回肯定確認報文給主站。子站返回:0564050006000500B1E3、主站測量通道延時。主站發(fā)出:056408C405000600XXXXC0C017XXXX、主站對子站對時。對時有兩種方式,一種是一一對時方式,另一種是廣播對時方式。兩者的區(qū)別是:目的站址不同,一一對時方式的地址就是該子站的地址,廣播對時要用廣播地址:OxFFFF。下面的報文為對時方式,時間為2002年4月19日15時0分0秒0毫秒:TOC o 1-5 h z主站發(fā)出:056413C405000600XXXXC1E102320117010000E0D45CED00XXXX子站應答:05640AC40
35、5000600XXXXC1C1000000XXXX、主站召喚子站的全數(shù)據(jù)。這一過程雖然是必定要有的,但不同的主站下發(fā)命令時采用的對象組與對象變體不同。例如,以分級數(shù)據(jù)召喚的報文:主站發(fā)出:05640BC405000600XXXXC2C2013C0106XXXX以遙測、遙信的具體對象類型下發(fā)的報文:主站發(fā)出:05640EC405000600XXXXC2C2010100061E0006XXXX子站在應答時,必需采用確切的對象類型。05645E4406000500XXXXF1E58100000102010000230001010101XXXX01010101010101010101010101010101BBC301010101010101010101010101010101BBC31E040100001000000000000000000000XXXX00000000000000000000000000000000FFFF000000000000000000FFFF、主站召喚子站的變化數(shù)據(jù)。這一過程雖然是必定要有的,但不同的主站下發(fā)命令
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 無窮大填空題目及答案
- 藥品庫房工作制度
- 養(yǎng)老院老人心理關(guān)愛制度
- 養(yǎng)老院老人日常生活照料制度
- 養(yǎng)老院緊急救援制度
- 奇哥作文題目及答案
- 辦公室員工培訓經(jīng)費使用制度
- 鎮(zhèn)安全生產(chǎn)管理制度
- 混合物的物理題目及答案
- 肺脹病中醫(yī)護理方案
- 安岳縣防汛抗旱應急預案
- 2025年航空工業(yè)行業(yè)航空工業(yè)數(shù)字化轉(zhuǎn)型研究報告
- 白城市2025年下半年吉林白城洮北區(qū)面向應征入伍高校全日制本科畢業(yè)生招聘事業(yè)單位筆試題帶
- 醫(yī)院非暴力溝通課件
- 聽覺生理學基礎與聽力檢查
- 園林綠化養(yǎng)護標準與作業(yè)流程說明
- 收購五金輔料店協(xié)議合同
- 噴砂車間管理辦法
- 梨狀肌綜合癥康復指導講課件
- 【SA8000標準(社會責任標準)對我國勞動密集型產(chǎn)業(yè)的影響及應對措施研究12000字(論文)】
- 醫(yī)療行業(yè)知識產(chǎn)權(quán)教育的必要性
評論
0/150
提交評論