国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于IEC60870-5-104協(xié)議的電力監(jiān)控系統(tǒng)設(shè)計(jì)

2021-06-16 06:30蔣騰龍
電子技術(shù)與軟件工程 2021年8期
關(guān)鍵詞:廠站主站字節(jié)

蔣騰龍

(上海電氣自動化設(shè)計(jì)研究所有限公司智慧交通事業(yè)部 上海市 200023)

電力監(jiān)控系統(tǒng)是城市軌道交通綜合監(jiān)控系統(tǒng)最重要的系統(tǒng)之一,也是保障軌道交通供電安全,可靠穩(wěn)定運(yùn)行的重要基礎(chǔ)。通過電力監(jiān)控系統(tǒng),調(diào)度中心可以實(shí)時(shí)監(jiān)測全線各個(gè)變電站的設(shè)備運(yùn)行情況,并可以直接對設(shè)備進(jìn)行操作。目前電力行業(yè)普遍應(yīng)用的是IEC60870-5-104 協(xié)議,城市軌道交通的電力監(jiān)控系統(tǒng)也廣泛使用這種協(xié)議。本文結(jié)合工程實(shí)踐,簡述了一個(gè)基于IEC60870-5-104 協(xié)議的電力監(jiān)控系統(tǒng)主站程序的設(shè)計(jì)及其應(yīng)用。

1 IEC60870-5-104協(xié)議簡介

IEC60870-5 系列通信協(xié)議體系是國際電工委員會第57 技術(shù)委員會第3 工作組(IEC TC57WG 03)于1990年開始制訂的用于變電站遠(yuǎn)動通信的協(xié)議體系,即“遠(yuǎn)動設(shè)備和系統(tǒng)”的第5 部分:傳輸規(guī)約。IEC60870-5系列協(xié)議根據(jù)應(yīng)用領(lǐng)域定義了一系列配套標(biāo)準(zhǔn):IEC60870-5-101 用于變電站與控制中心之間或不同系統(tǒng)之間的串行數(shù)據(jù)通信,IEC60870-5-102 用于電能計(jì)量信息的接入;IEC60870-5-103 用于繼電保護(hù)信號接入,IEC60870-5-104 是IEC60870-5-101的網(wǎng)絡(luò)版本。

2 IEC60870-5-104協(xié)議分析

2.1 過程與接口

IEC60870-5-104 協(xié)議采用平衡傳輸模式,不論網(wǎng)絡(luò)中的設(shè)備屬于主站還是廠站,都有權(quán)發(fā)起通訊?;揪W(wǎng)絡(luò)通訊的發(fā)起和終止,包括連接的建立、握手、數(shù)據(jù)的傳輸和連接的斷開都遵循TCP/IP協(xié)議標(biāo)準(zhǔn)。協(xié)議采用TCP/IP 地址,其標(biāo)準(zhǔn)通訊端口號為2404,在任何情況下,廠站通過監(jiān)聽端口2404 來獲取接入連接。

2.2 通訊過程控制及數(shù)據(jù)傳輸

IEC60870-5-104 協(xié)議通過一系列“控制信息”的交換來對整個(gè)通訊過程進(jìn)行控制,確保傳輸?shù)臏?zhǔn)確性。在進(jìn)行任何有效設(shè)備數(shù)據(jù)傳輸前,首先要進(jìn)行啟動通訊操作,同理,在終止一個(gè)連接前,需要進(jìn)行結(jié)束通訊操作。在數(shù)據(jù)傳輸過程中,有基于收、發(fā)計(jì)數(shù)的應(yīng)答機(jī)制來確保傳輸數(shù)據(jù)的完整性、不重復(fù)性和連續(xù)性。對于閑置時(shí)間較長的連接,有通訊測試機(jī)制以隨時(shí)確定通訊鏈路的有效性。

2.3 應(yīng)用數(shù)據(jù)內(nèi)容

應(yīng)用協(xié)議數(shù)據(jù)單元APDU,是IEC60870-5-104 協(xié)議最大的數(shù)據(jù)傳輸單位。一個(gè)APDU 包含了一次數(shù)據(jù)傳輸?shù)娜繑?shù)據(jù)內(nèi)容,是傳輸數(shù)據(jù)包的總稱,通常稱為幀,APDU 由應(yīng)用規(guī)約控制信息APCI 和應(yīng)用服務(wù)數(shù)據(jù)單元ASDU 組成。

2.3.1 APCI

APCI 具有固定的幀長度和幀結(jié)構(gòu),分別是起始字節(jié)(68H),APDU 長度字節(jié)(最大253)和4 個(gè)控制域字節(jié)。根據(jù)4 個(gè)控制域字節(jié)攜帶信息和結(jié)構(gòu)的不同,APCI 被分為3 種類型,分別是:編號的信息傳輸(簡稱為I 幀);編號的監(jiān)視功能(簡稱為S 幀);未編號的控制功能(簡稱為U 幀)。APCI 的類型同時(shí)決定了整個(gè)APDU 的類型。

I 幀,控制域標(biāo)志:第一位八位位組的第一位bit=0,第三位八位位組的第一位bit=0。I 幀至少必須包含一個(gè)ASDU。I 幀報(bào)文必須有發(fā)送序號計(jì)數(shù)和給對方I 幀信息確認(rèn)的接收序號計(jì)數(shù)。凡是傳送遙測、遙信、遙控信息只能使用I 幀。

圖1:網(wǎng)絡(luò)通信結(jié)構(gòu)

I 幀的報(bào)文結(jié)構(gòu)如表1 所示。

S 幀:第一個(gè)八位位組的第一位bit=1 并且第二位bit=0,第三個(gè)八位位組的第一位bit=0。S 幀只包含APCI,只能用來給對方的報(bào)文序號確認(rèn),不傳送任何信息。

S 幀的報(bào)文結(jié)構(gòu)如表2 所示。

U 幀:第一個(gè)八位位組的第一位bit=1 并且第二位bit=1,第三個(gè)八位位組的第一位bit=0。U 幀只包含APCI,只能用來給對方的報(bào)文序號確認(rèn),用于控制鏈路傳輸開始或者終止信息,或者鏈路測試信息等:V 表示生效,C 表示確認(rèn),START:啟動命令、STOP:停止命令,TEST:測試命令。同一時(shí)刻,TESTFR,STOPDT 或STARTDT 中只有一個(gè)功能可能被激活。

U 幀的報(bào)文結(jié)構(gòu)如表3 所示。

2.3.2 ASDU

ASDU 包括數(shù)據(jù)單元標(biāo)志符和信息體兩部分組成。

(1)數(shù)據(jù)單元標(biāo)志符包括:類型標(biāo)志(1 個(gè)字節(jié));可變結(jié)構(gòu)限定詞(1個(gè)字節(jié));傳送原因(2個(gè)字節(jié));ASDU公共地址(2個(gè)字節(jié))。

(2)信息體包括:信息對象地址(3 個(gè)字節(jié));信息元素集(若干字節(jié));時(shí)標(biāo)(7 個(gè)字節(jié)(可選))。

類型標(biāo)志定義了后續(xù)信息對象的結(jié)構(gòu)、類型和格式??勺兘Y(jié)構(gòu)限定詞,其最高位等于0 表示后續(xù)的信息體的地址是不連續(xù)的,等于1 表示后續(xù)的信息體的地址是連續(xù)的。其余7 位表示信息體的數(shù)量。

在本文中提到的電力監(jiān)控系統(tǒng)中需要實(shí)現(xiàn)如下ASDU:

監(jiān)視方向的ASDU,見表4。

控制方向的ASDU,見表5。

3 電力監(jiān)控系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)

上海軌道交通18 號線沿線有主變電站、開關(guān)站、混合變電站、降壓變電站4 鐘類型的變電站。環(huán)網(wǎng)電纜將主站變電站與車站變電站串成供電網(wǎng)絡(luò),各變電站內(nèi)均采用變電站綜合自動化系統(tǒng),在車站綜合弱電機(jī)房通過車站級的以太網(wǎng)交換機(jī)接入綜合監(jiān)控系統(tǒng)。

變電站綜合自動化系統(tǒng)設(shè)有通訊管理機(jī),完成所內(nèi)各設(shè)備監(jiān)控及遠(yuǎn)程通訊。通訊管理機(jī)配置兩個(gè)以太網(wǎng)口,經(jīng)過兩個(gè)交換機(jī)后,再分別接入到車站綜合弱電機(jī)房的主備通道上,通過專用傳輸網(wǎng)絡(luò)完成與綜合監(jiān)控系統(tǒng)的遠(yuǎn)程通信,通信協(xié)議采用IEC60870-5-104規(guī)約。網(wǎng)絡(luò)通信結(jié)構(gòu)如圖1 所示。

表1:I 幀的報(bào)文結(jié)構(gòu)

表2:S 幀的報(bào)文結(jié)構(gòu)

表3:U 幀的報(bào)文結(jié)構(gòu)

表4:監(jiān)視方向的ASDU

表5:控制方向的ASDU

4 電力監(jiān)控系統(tǒng)軟件設(shè)計(jì)及應(yīng)用

4.1 軟件結(jié)構(gòu)和開發(fā)環(huán)境

軌道交通電力監(jiān)控系統(tǒng)由兩大部分構(gòu)成:綜合監(jiān)控系統(tǒng)和變電站綜合自動化系統(tǒng)。本文只介紹綜合監(jiān)控系統(tǒng)部分。根據(jù)IEC60870-5-104 協(xié)議,主站與廠站之間的通信是一種基于TCP/IP網(wǎng)絡(luò)通用協(xié)議的典型的C/S 模式,其中廠站(即廠站端RTU)是服務(wù)器端,控制站(綜合監(jiān)控系統(tǒng))是客戶機(jī)端。這里在VS2010 開發(fā)環(huán)境上,采用C++編程語言,運(yùn)用ACE 庫實(shí)現(xiàn)TCP/IP 網(wǎng)絡(luò)編程。

ACE 庫提供了ACE_INET_Addr 類,ACE_SOCK_Connector 類,ACE_SOCK_Stream 類等用于網(wǎng)絡(luò)編程。其中ACE_INET_Addr 類用于處理網(wǎng)絡(luò)地址,ACE_SOCK_Connector 類用于客戶端與服務(wù)端建立網(wǎng)絡(luò)連接,ACE_SOCK_Stream 類用于數(shù)據(jù)傳輸,包括發(fā)送和接收數(shù)據(jù)以及斷開連接等。通過應(yīng)用ACE_SOCK_Connector 類的connect()方法,可以控制主站跟廠站得網(wǎng)絡(luò)連接,通過應(yīng)用ACE_SOCK_Stream 類的recv()方法,可以控制接收和發(fā)送通信鏈路上的APDU。

4.2 程序主線程設(shè)計(jì)

綜合監(jiān)控系統(tǒng)程序運(yùn)行以后,由主站端發(fā)起連接請求后與變電站綜合自動化系統(tǒng)建立TCP 連接。當(dāng)TCP 連接成功后,主站發(fā)送U 幀中的STARTDT 后,等待廠站回應(yīng)該命令報(bào)文后,然后發(fā)送I幀中的總召報(bào)文,開始接收廠站發(fā)來的變位信息和周期性掃描數(shù)據(jù)。根據(jù)廠站發(fā)送數(shù)據(jù),進(jìn)行有效性檢查:確定報(bào)文的數(shù)據(jù)格式,報(bào)文序列校驗(yàn),對象地址以及屬性值。數(shù)據(jù)流程圖如圖2 所示。對于廠站上傳的數(shù)據(jù),進(jìn)行有效性檢查:確定報(bào)文序號、數(shù)據(jù)類型、信息對象地址是否有效。

圖2

4.2.1 I 幀序號檢驗(yàn)及處理

當(dāng)通訊正常時(shí),發(fā)送方每發(fā)送一個(gè)格式報(bào)文,其發(fā)送序號應(yīng)加1,接收方每接收到一個(gè)與其接收序號相等的I 幀,其接收序號應(yīng)加1,每次重新建立TCP 連接后,主站和廠站的接收序號和發(fā)送序號都清零。因此主站程序加入了計(jì)數(shù)器,存儲接收序號。當(dāng)主站程序每接收一個(gè)發(fā)送序號與其接收序號相等的I 幀后,計(jì)數(shù)器加1。若收到的I 幀不等于計(jì)數(shù)器,則認(rèn)為是報(bào)文丟失或者報(bào)文重復(fù),該I 幀將會被丟棄。若連續(xù)出現(xiàn)12 個(gè)序號不正確的I 幀,則主站斷開連接并復(fù)位。

I 幀的接收和發(fā)送序號連續(xù)編號,終究是要溢出的。溢出之后的I 幀將會被丟棄。根據(jù)I 幀的定義,接收和發(fā)送序號的最大值是32767。為了確保序號連續(xù),循環(huán)不止,首先主站程序?qū)?2767 后序號為0 的I 幀判斷為連續(xù)編號,I 幀為有效幀,然后設(shè)定當(dāng)計(jì)數(shù)器達(dá)到32767 時(shí),下一個(gè)接收序號為0。這樣就確保了在主站和廠站的通信過程中不會出現(xiàn)序號到達(dá)上限有效I 幀做無效處理的情況。

4.2.2 超時(shí)定義及處理

根據(jù)協(xié)議定義,主程序設(shè)定4 個(gè)定時(shí)器,分別設(shè)置為T0,T1,T2,T3。主站與廠站若未能在T0 時(shí)間內(nèi)建立TCP 連接,程序自動復(fù)位進(jìn)行TCP 重連。主站程序在發(fā)送U 幀或者I 幀后,若在T1 時(shí)間內(nèi)未收到U 幀或者I 幀,則主動斷開連接。主站程序在收到I 格式報(bào)文后,會在T2 時(shí)間內(nèi)發(fā)送一個(gè)S 格式確認(rèn)報(bào)文給廠站。主站若在T3 時(shí)間內(nèi)未能收到任何報(bào)文,將向廠站發(fā)送U 格式的測試幀。

4.3 關(guān)鍵代碼

4.3.1 對象定義

(1)全局對象定義:

ACE_SOCK_Connectorm_TCPConn;

ACE_SOCK_Streamm_TCPPeer;

(2)臨時(shí)對象定義:

ACE_INET_Addraddr;(2404(通信端口), IP 地址(字符串類型,廠站地址));

(3)隊(duì)列定義:

::PubSvr::OctetSeqm_ShowRecv, m_CurRecv;

::PubSvr::OctetSeqm_DataSend;

4.3.2 主要方法應(yīng)用

(1)connect()

ACE_Time_Value timeout (T0, 0); //超時(shí)設(shè)置

intnRet= m_TCPConn.connect(m_TCPPeer,addr,& timeout);// 建立網(wǎng)絡(luò)連接

(2)recv()

ACE_Time_Value timeout (1000/1000, (1000%1000)*1000);// 超時(shí)設(shè)置

ssize_tnRet = m_TCPPeer.recv(m_CurRecv.get_buffer(), m_CurRecv.length(), &timeout);//接收數(shù)據(jù)

(3)send()

ssize_t nRet1 = m_TCPPeer.send(m_DataSend.get_buffer(), m_DataSend.length());//發(fā)送數(shù)據(jù)

5 結(jié)語

IEC60870-5-10 協(xié)議具有兼容性好,穩(wěn)定性強(qiáng),可靠性好的特點(diǎn),對于城市軌道交通的電力監(jiān)控系統(tǒng),應(yīng)用IEC60870-5-104 協(xié)議能確保整個(gè)系統(tǒng)的穩(wěn)定和實(shí)時(shí)數(shù)據(jù)的準(zhǔn)確。本文提到的基于IEC60870-5-104 協(xié)議的電力監(jiān)控系統(tǒng)的設(shè)計(jì)方案能有效的處理應(yīng)用協(xié)議時(shí)出現(xiàn)的幾個(gè)常見問題。并且運(yùn)用ACE 庫相關(guān)內(nèi)容能簡化程序中網(wǎng)絡(luò)編程代碼,提高程序網(wǎng)絡(luò)通信性能。本文中的主站程序,已應(yīng)用到實(shí)際工程中,整體系統(tǒng)運(yùn)行高效穩(wěn)定。

猜你喜歡
廠站主站字節(jié)
基于供區(qū)的輸電網(wǎng)接線圖廠站網(wǎng)格布局算法
BIM技術(shù)在燃?xì)鈴S站的應(yīng)用
No.8 字節(jié)跳動將推出獨(dú)立出口電商APP
No.10 “字節(jié)跳動手機(jī)”要來了?
簡談MC7字節(jié)碼
基于OS2主站系統(tǒng)的海量數(shù)據(jù)共享技術(shù)研究
多表遠(yuǎn)程集抄主站系統(tǒng)
電工技術(shù)學(xué)報(bào)(2014年12期)2014-11-15
基于改進(jìn)經(jīng)濟(jì)壓差算法的主站AVC的研究
關(guān)口電能計(jì)量故障監(jiān)測報(bào)警裝置及主站研究
延长县| 子洲县| 丹凤县| 英超| 青铜峡市| 奎屯市| 红河县| 扬中市| 噶尔县| 安泽县| 九寨沟县| 饶河县| 保山市| 柞水县| 景泰县| 安图县| 许昌市| 东丰县| 友谊县| 开鲁县| 西吉县| 正镶白旗| 清徐县| 河津市| 边坝县| 诸暨市| 三亚市| 大城县| 沾益县| 勃利县| 阿瓦提县| 玉环县| 和政县| 石家庄市| 新泰市| 龙里县| 泊头市| 图们市| 讷河市| 苍南县| 岱山县|