趙淵,沈智健
(重慶大學電氣工程學院電力系,重慶 400044)
摘 要:根據國際電工委員會制定的IEC-60870-5-101和IEC-60870-5-104遠動規約,我國已經制定了相應的配套標準DL/T634-1997和 DL/T634.5104-2002。IEC-60870-5-101遠動規約已經在我國電力系統中得到了較為廣泛的應用,而IEC-60870-5-104作為采用標準傳輸協議子集的IEC60870-5-101的網絡訪問,由于涉及到網絡編程以及頒布時間較短,在電力系統中應用很少。作者詳細介紹了IEC-60870-5-104的網絡參考模型﹑幀格式結構和TCP連接建立過程,并根據工程實踐,分析了IEC-60870-5-104的實現方法以及應注意的要點,最后提出了拓展IEC-60870-5-104使用范疇的一些設想。
關鍵詞:IEC60870-5-104;IEC60870-5-101;遠動規約;網絡訪問
1 概述
遠動規約是站端RTU和調度系統進行信息交互的接口,隨著軟硬件技術的發展,遠動規約也在不斷地變化和發展。國際和國內使用的遠動規約多種多樣,即使對于同一種規約,其傳輸格式也會因不同國家﹑不同生產廠家而不同;為了統一這種混亂局面,實現遠動規約的標準化,國際電工委員會TC-57技術委員會制定了一系列遠動規約的基本標準[1-5],并在此基礎上制定了IEC60870-5-101遠動規約,我國在非等效采用此規約的基礎上制定了相應的配套標準DL/T634-1997[6]。IEC60870-5-101為了提高通信的實時性,采用了只有物理層、數據鏈路層、應用層3層的增強性規約結構(EPA)[6],應用層直接映射到數據鏈路層,加強了信息的實時性。在點對點和多個點對點的全雙工配置下,此配套標準可以采用平衡式傳輸以發揮其內在潛力,此情況下由主站啟動的鏈路傳輸服務有[7]:
(1)由主站向子站循環詢問越限的測量值的二級用戶數據;
(2)由主站定期召喚和詢問全數據(包括狀態量、測量值、變壓器分接頭位置、水位、頻率);
(3)由主站定期召喚電度量;
(4)由主站向子站定期進行時鐘同步;
(5)由主站向子站發送控制斷路器命令、調節步命令、設點命令、裝載命令等;
(6)當事故發生后,由主站向子站召喚事故順序記錄,包括狀態量和繼電保護信號的事故順序記錄;
(7)支持文件傳輸,主站可以召喚故障錄波裝置記錄擾動數據的數據文件。
由從站觸發啟動的鏈路傳輸服務主要是:
(1)子站發生狀態變位時主動傳送的一級用戶數據;
(2)定時向主站傳送子站的全數據,傳送周期由子站的參數確定。如果子站長時間沒有接受到主站的信息,子站將縮短向主站傳送全數據的周期,并變為向主站循環傳送全數據。
采用子站主動向主站傳送狀態變位和全數據有兩個優點;
(1)子站發生狀態變位后向主站傳送的時間大大縮短;
(2)如果由主站向子站傳輸的下行通道質量不好或中斷情況下,上行信息的全數據和狀態變位尚能保證向主站傳送。
IEC60870-5-101提供了在主站和遠動RTU之間發送基本遠動報文的通信文件集,它適用的網絡拓撲結構為點對點﹑多個點對點﹑多點共線﹑多點環形和多點星形網絡配置的遠動系統中,但它要求在主站和每個遠動子站之間采用固定連接的數據電路,這意味著必須使用固定的專用遠動通道。隨著歐美一些國家調度主站與變電站RTU的通信已逐步采用以太數據網,遠動報文可能通過一些可以進行報文存貯和轉發的數據網絡進行傳輸,這些數據網絡僅僅在主站和遠動子站之間提供虛擬的數據電路,因此這種網絡類型將使得報文傳輸出現延時,其延時可在相當大的時間范圍內變化并和網絡的通信負荷有關。一般而言,可變的報文延時時間意味著不可能采用在IEC60870-5-101中所定義的主站和遠動子站之間的鏈路層,為此,國際電工委員會(IEC)第57技術委員會(TC57)的第3工作組(WG03)于1998年8月制定了IEC60870-5-104標準(CDV),我國也制定了相應的配套標準 DL/T634.5104-2002。IEC60870-5-104協議的名稱為“采用標準傳輸協議子集的IEC60870-5-101的網絡訪問”(Network access for IEC 60870-5-101 using standard transport profiles)。此協議是將IEC60870-5-101標準用于TCP/IP網絡,當調度主站與變電站連接到以太數據網,變電站RTU與調度主站通信時,通信規約則應采用IEC60870-5-104標準。
2 IEC60870-5-104遠動規約詳述
2.1 IEC-60870-5-104的規約結構
IEC-60870-5-104遠動規約使用的參考模型源出于開放式系統互聯的ISO-OSI參考模型,但它只采用其中的5層,其結構如圖1所示,圖2為TCP/IP規約組(RFC2200)選用的標準結構[8,9]。
由圖1可見,IEC60870-5-104實際上是將IEC60870-5-101與TCP/IP(Transmission Control Protocol/Internet Protocol)提供的網絡傳輸功能相組合,使得IEC60870-5-101在TCP/IP內各種網絡類型都可使用,包括X.25、FR(幀中繼Frame Relay)、ATM(異步轉移模式Asynchronous Transfer Mode)和ISDN(綜合業務數據網Integrated Service Data Network)。在圖1的5層參考模型中,IEC60870-5-104實際上處于應用層協議的位置;基于TCP/IP的應用層協議很多,每一種應用層協議都對應著一個網絡端口號,根據其在傳輸層上使用的是TCP協議(傳輸控制協議)還是UDP協議(用戶數據報文協議),端口號又分為TCP端口號和UDP端口號,其中TCP協議是一種面向連接的協議,為用戶提供可靠的、全雙工的字節流服務,具有確認、流控制、多路復用和同步等功能,適用于數據傳輸,而UDP協議則是無連接的,每個分組都攜帶完整的目的地址,各分組在系統中獨立地從數據源走到終點,它不保證數據的可靠傳輸,也不提供重新排列次序或重新請求功能,為了保證可靠地傳輸遠動數據,IEC60870-5-104規定傳輸層使用的是TCP協議,因此其對應的端口號是TCP端口。常用的TCP端口有:ftp文件傳輸協議,使用21號端口;telnet遠程登錄協議,使用23號端口;SMTP簡單郵件傳送協議,使用25號端口;http超文本傳送協議,使用80號端口;IEC60870-5-104規定本標準使用的端口號為2404,并且此端口號已經得到IANA(互聯網地址分配機構,Internet Assigned Numbers Authority)的確認。對于基于TCP的應用程序來說,存在兩種工作模式,即服務器模式和客戶機模式。服務器模式和客戶機模式的區別是,在建立TCP連接時,服務器從不主動發起連接請求,它一直處于偵聽狀態,當偵聽到來自客戶機的連接請求后,則接受此請求,由此建立一個TCP連接 ,服務器和客戶機就可以通過這個虛擬的通信鏈路進行數據的收發。IEC60870-5-104規定控制站(即調度系統)作為客戶機,而被控站(即站端RTU)作為服務器;因此無論是調度端軟件還是RTU端軟件都必然涉及到基于TCP/IP的網絡編程。可喜的是,Microsoft已經提供了一個WINDOWS下的TCP/IP網絡通信的API(應用編程接口),這個API就是Socket接口(套接字);不但如此,Microsoft還提供了兩個MFC類,即CAsyncSocket類和派生于CAsyncSocket 的CSocket類,它們完全封裝了TCP/IP協議,傳輸層、網絡層、鏈路層的工作都由它自動完成。當使用Windows的socket套接字進行網絡編程時,發送方將每一個APDU都作為一個TCP包發送出去,接收方的socket套接字接收到一個完整的TCP包并將其中的APDU解析出來后,將調用socket的OnReceive ( ) 函數,在應用程序中通過重載此函數,應用程序就能接收到一個完整的APDU,這將顯著簡化編程工作。
2.2 IEC-60870-5-104的應用規約數據單元的結構
IEC-60870-5-104的應用規約數據單元(APDU)的結構如圖3所示[8,9],它由應用規約控制信息(APCI)和應用服務數據單元(ASDU)組成,和IEC-60870-5-101的幀結構相比,其中應用服務數據單元是相同的,相異之處在于,IEC-60870-5-104使用應用規約控制信息(APCI),而IEC-60870-5-101使用鏈路規約控制信息(LPCI)。在APDU中,啟動字符68H定義了數據流內的起始點,應用規約數據單元的長度定義了APDU主體的長度;需要注意的是,IEC 60870-5-104規定一個APDU報文(包括啟動字符和長度標識)不能超過255個字節,因此APDU最大長度為253(等于255減去啟動和長度標識共兩個8位位組),ASDU的最大長度為249,這個要求限制了一個APDU報文最多能發送121個不帶品質描述的歸一化測量值或243個不帶時標的單點遙信信息,若RTU采集的信息量超過此數目,則必須分成多個APDU進行發送。
APDU控制域包括4個8位位組,根據其定義,可以將APDU分成3種報文格式,即I格式、S格式和U格式,詳見圖4所示。控制域的第一個8位位組的第1比特=0定義了I格式,它表明APDU中包含應用服務數據單元ASDU;控制域的第一個8位位組的第1比特為1,第2比特為0定義了S格式,此種格式的APDU不包含ASDU,當報文接收方收到發送方的I格式報文后,如果沒有I格式報文需要發送給對方,可以向對方發送S格式報文以對所接收到的報文進行確認;控制域的第一個8位位組的第1比特=1,第2比特=1定義了U格式,此種格式的APDU也不含ASDU,其作用主要在于實現3種控制功能,即啟動子站進行數據傳輸(STARTDT)、停止子站的數據傳輸(STOPDT)和TCP鏈路測試(TESTFR)。
2.3 應用規約數據單元(APDU)的發送和接收序號的維護
IEC 60870-5-104采用RFC 793/RFC791(即TCP/IP)協議。IP協議負責將數據從一處傳往另一處,TCP負責控制數據流量,并保證傳輸的正確性。由于在最底層的計算機通信網絡提供的服務是不可靠的分組傳送,所以當傳送過程中出現錯誤以及在網絡硬件失效或網絡負荷太重時,數據包有可能丟失、延遲、重復和亂序,因此應用層協議必須使用超時和重傳機構。為了防止I格式報文在傳送過程中丟失或重復傳送 ,IEC 60870-5-104的I格式報文的控制域定義了發送序號N(S)和接收序號R(S),發送方每發送一個I格式報文,其發送序號應加1,接收方每接收到一個與其接收序號相等的I格式報文后,其接收序號也應加1。需要注意的是,每次重新建立TCP連接后,調度主站和子站RTU的接收序號和發送序號都應清零,因此在雙方開始數據傳送后,接收方若收到一個I格式報文,應判斷此I格式報文的發送序號是否等于自己的接收序號。若相等則應將自己接收序號加1,若此I格式報文的發送序號大于自己的接收序號,這說明發送方發送的一些報文出現了丟失;若此I格式報文的發送序號小于自己的接收序號,這意味著發送方出現了重復傳送。此外,I格式和S格式報文的接收序號表明了發送該報文的一方對已接收到的I格式報文的確認,若發送方發送的某一I格式報文后長時間無法在對方的接收序號中得到確認,這就意味著發生了報文丟失。當出現上述這些報文丟失、錯序的情況時,通常意味著TCP連接出現了問題,發送方或接收方應關閉現在的TCP連接然后再重新建立新的TCP連接,并在新的TCP連接上重新開始會話過程。
在主站端和子站RTU端進行通信時,接收方可以使用S格式報文(當有應用服務單元需要發送給對方時,可使用I格式報文)對已接收到的I格式報文進行確認,以免發送方超時收不到確認信息而重新建立TCP連接。這就存在一個接收方收到多少個I格式報文進行一次確認的問題,以及發送方應在多少個I格式報文未得到確認時停止發送數據。IEC 60870-5-104規定了兩個參數k和w,其取值范圍為1到32767,其中k表示發送方在有k個I格式報文未得到對方的確認時,將停止數據傳送,w表示接收方最遲在接收了w個I格式報文后應發出認可;IEC 60870-5-104規定k和w的默認值分別為12個APDU和8個APDU。在實際中,k和w的具體取值可以根據TCP連接雙方的數據通信量來加以確定,對于子站RTU端來說,每收到一個調度端的I格式報文都應立即進行響應,其w的取值實際上為1,由于RTU端可以循環向調度端發送遙信、遙測等信息,因此k的取值與其循環發送的定時周期有關,通常12到20個APDU就足夠了;對于主站端,由于不停接收到RTU的數據,因此應及時地給以確認,通常w取小于8個APDU的值。
2.4 關于超時時間的理解
為了能對TCP連接進行檢查和維護,IEC 60870-5-104規定了幾個超時時間,即t0、t1、t2、t3,它們的取值范圍為1~255s,準確度為1s,其缺省定義如表1所示。
t0規定了主站端和子站RTU端建立一次TCP連接的最大允許時間,主站端和子站RTU端之間的TCP連接在實際運行中可能經常進行關閉和重建,這發生在4種情況下: ① 主站端和子站RTU端之間的I格式報文傳送出現丟失、錯序或者發送U格式報文得不到應答時,雙方均可主動關閉TCP連接,然后進行重建; ② 主站系統重新啟動后將與各個子站重新建立TCP連接; ③ 子站RTU合上電源或由于自恢復而重新啟動后,將重建連接; ④ 子站RTU收到主站端的RESET_PROCESS(復位遠方終端)信號后,將關閉連接并重新初始化,然后重建連接。每次建立連接時,RTU都調用socket的listen( )函數進行偵聽,主站端調用socket的connect( )函數進行連接,如果在t0時間內未能成功建立連接,可能網絡發生了故障,主站端應該向運行人員給出警告信息。t1規定發送方發送一個I格式報文或U格式報文后,必須在t1的時間內得到接收方的認可,否則發送方認為TCP連接出現問題并應重新建立連接。t2規定接收方在接收到I格式報文后,若經過t2時間未再收到新的I格式報文,則必須向發送方發送S格式幀對已經接收到的I格式報文進行認可,顯然t2必須小于t1。t3規定調度端或子站RTU端每接收一幀I幀、S幀或者U幀將重新觸發計時器t3,若在t3內未接收到任何報文,將向對方發送測試鏈路幀TESTFR。
2.5 IEC-60870-5-104的實施過程
IEC 60870-5-104包括非常豐富的應用服務數據單元(ASDU),它不但選取了絕大部分IEC 60870-5-101規約的ASDU,而且還擴展了類型標識為58到64,以及類型標識為107的新的ASDU。但在實際使用中,能夠用到的僅僅是其中一小部分。
其實施過程為:
(1)TCP連接的建立過程。站端RTU作為服務器,在建立TCP連接前,應一直處于偵聽狀態并等待調度端的連接請求,當TCP連接已經建立,則應持續地監測TCP連接的狀態,以便TCP連接被關閉后能重新進入偵聽狀態并初始化一些與TCP連接狀態有關的程序變量;調度端作為客戶機,在建立TCP連接前,應不斷地向站端RTU發出連接請求,一旦連接請求被接收,則應監測TCP連接的狀態,以便TCP連接被關閉后重新發出連接請求。需要注意的是,每次連接被建立后,調度端和站端RTU應將發送和接收序號清零,并且子站只有在收到了調度系統的STARTDT后,才能響應數據召喚以及循環上送數據,但在收到STARTDT之前,子站對于遙控、設點等命令仍然應進行響應。
(2)循環遙測數據傳送。對于遙測量,可以使用類型標識為9(歸一化值)、11(標度化值)和13(短浮點數)的ASDU定時循環向調度端發送。
(3)總召喚過程。調度主站向子站發送總召喚命令幀(類型標識為100,傳輸原因為6),子站向主站發送總召喚命令確認幀(類型標識為100,傳輸原因為7),然后子站向主站發送單點遙信幀(類型標識為1)和雙點遙信幀(類型標識為3),最后向主站發送總召喚命令結束幀(類型標識為100,傳輸原因為10)。
(4)校時過程。調度主站向子站發送時間同步幀(類型標識為104,傳輸原因6),子站收到后立即更新系統時鐘并向主站發送時間同步確認幀(類型標識為104,傳輸原因7)。需要注意的是,在以太網上進行時鐘同步,要求最大的網絡延時小于接收站時鐘所要求的準確度,即如果網絡提供者保證在網絡中的延時不會超過400ms(典型的X.25 WAN值),在子站所要求的準確度為1s,這樣時鐘同步才有效。使用這個校時過程可以避免成百上千地在子站安裝GPS衛星定位系統,但如果網絡延時很大或者子站所要求的準確度很高(例如1ms),則變電站綜合自動化系統必須安裝精確度很高的全球定位系統(GPS),而以上的時鐘同步過程實際上就沒有意義了。
(5)子站事件主動上傳。以太網對于調度端和子站端都是一個全雙工高速網絡,因此IEC6080-5-104必然使用平衡式傳輸。當子站發生了突發事件,子站將根據具體情況主動向主站發送下述報文:遙信變位幀(單點遙信類型標識為1, 雙點遙信類型標識為3,傳輸原因為3)、遙信SOE幀(單點遙信類型標識為30, 雙點遙信類型標識為31,傳輸原因為3)、調壓變分接頭狀態變化幀(類型標識為32,傳輸原因為3)、繼電保護裝置事件(類型標識為38)、繼電保護裝置成組啟動事件(類型標識為39)、繼電保護裝置成組輸出電路信息(類型標識為40)。
(6)遙控/遙調過程。主站發送遙控/遙調選擇命令(類型標識為46/47,傳輸原因為6,S/E=1),子站返回遙控/遙調返校(類型標識為46/47,傳輸原因為7,S/E=1),主站下發遙控/遙調執行命令(類型標識為46/47,傳輸原因為6,S/E=0),子站返回遙控/遙調執行確認(類型標識為46/47,傳輸原因為7,S/E=0),當遙控/遙調操作執行完畢后,子站返回遙控/遙調操作結束命令(類型標識為46/47,傳輸原因為10,S/E=0)。
(7)召喚電度過程。主站發送電度量凍結命令(類型標識為101,傳輸原因為6),子站返回電度量凍結確認(類型標識為101,傳輸原因為7),然后子站發送電度量數據(類型標識為15,傳輸原因為37),最后子站發送電度量召喚結束命令(類型標識為101,傳輸原因為10)。
3 結語
IEC60870-5-101和IEC60870-5-104的使用及相關伴隨標準的頒布,標志著我國積極向國際標準靠攏,但由于IEC60870-5-101和IEC60870-5-104畢竟是引進的標準,尚存在一些工程實踐上的問題,例如國內電力企業常常要求能夠遠方修改保護定值和對保護動作信號進行遠方復位以及要求子站端能夠主動上送保護動作的詳細信息(包括動作時間、動作類型、動作值)[10]。以前在使用部頒CDT91規約時,為了實現這個功能,通常擴展了一些與保護有關的幀類型或者制定了與
CDT91規約極其類似但內容更豐富的規約,例如9702規約。如今如何利用IEC60870-5-101和IEC60870-5-104實現這些功能,如何拓展其應用范疇則是值得探討的問題。本文詳細介紹了IEC60870-5-104規約的基本內容,并根據工程實踐分析了IEC60870-5-104實現的過程以及需要注意的問題,希望能為有關工程和研究人員理解和使用IEC60870-5-104提供一定的幫助。
參考文獻
[1] IEC-60870-5-1 Telecontrol equipment and systems,Part 5:Transmission protocols,Section 1:Transmission frame formats (IEC-60870-5-1遠動設備及系統,第5部分:傳輸規約,第1篇:傳輸幀格式)[S].
[2] IEC-60870-5-2,Telecontrol equipment and systems,Part 5:Transmission protocols,Section 2:Link transmission procedure (IEC-60870-5-2 遠動設備及系統,第5部分:傳輸規約,第2篇:鏈路傳輸規則)[S].
[3] IEC-60870-5-3,Telecontrol equipment and systems,Part 5:Transmission protocols,Section 3:General structure of application data(IEC-60870-5-3 遠動設備及系統,第5部分:傳輸規約,第3篇:應用數據的一般結構)[S].
[4] IEC-60870-5-4,Telecontrol equipment asnd systems,Part 5:Transmission protocols,Section 4:Definition and coding of applicationinformation elements(IEC-60870-5-4 遠動設備及系統,第5部分:傳輸規約,第4篇:應用數據的定義和編碼)[S].
[5] IEC-60870-5-5,Telecontrol equipment and systems,Part 5:Transmission protocols,Section 5:Basic application functions (IEC-60870-5-5 遠動設備及系統,第5部分:傳輸規約,第5篇:基本應用功能)[S].
[6] DL/T634-1997.遠動設備及系統第5部分:傳輸規約,第101篇:基本遠動任務配套標準[S].
[7] 譚文恕(Tan Wenshu).變電站自動化系統的結構和傳輸規約(Configurantion and transmission protocol of substation automation system)[J].電網技術(Power System Technology),1998,22(9):1-4.
[8] DL/T634.5104-2002.遠動設備及系統第5-104部分:傳輸規約采用標準傳輸協議子集的IEC60870-5-101網絡訪問[S].
[9] IECTC57 WG03. IEC60870-5-104:Network access for IEC 60870-5-101 using standard transport profiles[R].1998,57/382A/CDV.
[10] 吳滌,楊常府,趙瑞航(Wu Di,Yang Changfu,Zhao Ruihang).IEC-60870-5-101遠動規約在國內的應用與實踐(Application andPractice of IEC-60870-5-101 Telecontrol Protocol in China)[J].電力自動化設備(Electric Power Automation Equip-ment),2002,22(2):48-51.,傳輸原因為10)。