多通道配電網(wǎng)同步相量測(cè)量裝置模擬器的設(shè)計(jì)
引言
隨著基于同步相量測(cè)量裝置(PMU)的電力系統(tǒng)廣域測(cè)量系統(tǒng)(WAMS)在技術(shù)上逐漸成熟及其在省級(jí)以上電力調(diào)度中心的普遍應(yīng)用,PMU/WAMS已經(jīng)成為電力調(diào)度自動(dòng)化系統(tǒng)必要的組成部分。WAMS用于有源配電網(wǎng),其對(duì)配電網(wǎng)各環(huán)節(jié)的PMU進(jìn)行檢測(cè)、控制和保護(hù),將明顯提高主動(dòng)配電網(wǎng)的安全運(yùn)行水平和供電可靠性,更有助于配電網(wǎng)消納分布式電源的容量和能力。在這個(gè)過(guò)程中,通信是關(guān)鍵,需要大量PMU采集并發(fā)送數(shù)據(jù),并且需要采用多種通信方式完成。若全部使用PMU實(shí)體裝置,成本很高,且缺乏靈活性。
針對(duì)以上問(wèn)題,本文使用ARMcortex-A8處理器作為硬件平臺(tái),基于Linux操作系統(tǒng)開(kāi)發(fā)了一種低成本、支持多種通信方式、可模擬多臺(tái)PMU的多通道配電網(wǎng)同步相量測(cè)量裝置模擬器,只需一臺(tái)PMU模擬器便可替代眾多實(shí)體PMU提供相量數(shù)據(jù),且不需要配置基于GPS的同步時(shí)鐘裝置,可實(shí)現(xiàn)與數(shù)據(jù)集中器PDC或WAMS主站之間高速度、高可靠性的數(shù)據(jù)傳輸。
1總體設(shè)計(jì)方案
該裝置總體設(shè)計(jì)可分為軟件和硬件兩部分,軟件模塊是基于Linux操作系統(tǒng)完成數(shù)據(jù)的集中與計(jì)算、多線程通道的建立、各種幀的封裝與傳輸,硬件模塊是以ARMcortex-A8為處理器的硬件開(kāi)發(fā)平臺(tái)。
在這個(gè)PMU模擬器中,軟件根據(jù)《電力系統(tǒng)實(shí)時(shí)動(dòng)態(tài)監(jiān)測(cè)系統(tǒng)第2部分:數(shù)據(jù)傳輸協(xié)議》(GB/T26865.2一2011)通信規(guī)約和TCP/IP技術(shù),設(shè)置模擬PMU的各項(xiàng)參數(shù)產(chǎn)生大量數(shù)據(jù)或以文件的形式導(dǎo)入獲得現(xiàn)場(chǎng)所采集的數(shù)據(jù),形成符合通信規(guī)約傳輸要求的數(shù)據(jù)報(bào)文,然后通過(guò)Socket所建立的通信連接發(fā)送給PDC主站。由于在PMU通信中,一個(gè)完整的TCP需對(duì)應(yīng)建立一個(gè)Socket實(shí)現(xiàn)數(shù)據(jù)的發(fā)送與接收,因此,為實(shí)現(xiàn)模擬多臺(tái)PMU相量高頻傳輸?shù)囊?軟件采用多線程非阻塞模式,以提高通信的效率。
2軟件設(shè)計(jì)
2.1軟件整體設(shè)計(jì)
在這個(gè)PMU模擬器中,軟件通過(guò)創(chuàng)建一個(gè)可以同時(shí)接受多條TCP請(qǐng)求(即建立多個(gè)Socket連接)的進(jìn)程模擬建立多臺(tái)PMU子站,在人機(jī)界面中可以設(shè)置參數(shù)完成站點(diǎn)信息(指模擬廠站名稱)、數(shù)據(jù)量測(cè)信息(指相量、開(kāi)關(guān)量和模擬量數(shù)據(jù))和PMU傳輸信息(指模擬PMU數(shù)量、數(shù)據(jù)端口號(hào)和傳輸幀數(shù))的配置并選擇數(shù)據(jù)來(lái)源的方式,從而以軟件自動(dòng)生成的方式或以文件導(dǎo)入的形式生成符合《電力系統(tǒng)實(shí)時(shí)動(dòng)態(tài)監(jiān)測(cè)系統(tǒng)第2部分:數(shù)據(jù)傳輸協(xié)議》(GB/T26865.2一2011)通信協(xié)議規(guī)范的數(shù)據(jù)源文件和配置文件。每一個(gè)模擬子站由兩個(gè)線程進(jìn)行模擬通信,分別處理命令傳輸和數(shù)據(jù)傳輸事務(wù)。在整個(gè)通信傳輸過(guò)程中,PDC主站作為客戶端,相應(yīng)的模擬PMU子站作為服務(wù)端,在命令連接中完成命令報(bào)文和配置報(bào)文等的傳輸,在數(shù)據(jù)連接中完成實(shí)時(shí)的數(shù)據(jù)幀傳輸。軟件設(shè)計(jì)流程圖如圖1所示。
2.2模擬PMU子站的建立
本文中根據(jù)用戶在人機(jī)界面關(guān)于模擬PMU子站數(shù)量的設(shè)定,在一個(gè)端口中建立滿足用戶需求的多個(gè)并發(fā)Socket連接(即可以同時(shí)接受來(lái)自客戶端PDC主站的多條TCP請(qǐng)求),以此來(lái)模擬建立多臺(tái)PMU子站。在每臺(tái)模擬PMU子站的建立過(guò)程中,完成Socket的初始化,綁定(bind)程序所分配的特定端口,并監(jiān)聽(tīng)(liSten)來(lái)自PDC主站的請(qǐng)求。當(dāng)接收(accept)到客戶端請(qǐng)求后,經(jīng)連接成功后,執(zhí)行操作。詳細(xì)程序如下:
for(i=0:i<PMUSERVERNUM:i++)
(
//Socket初始化
Socketini()
//Socket綁定
bind(cmdS[i]一Si,eoz(1oca1cmd[i])):
bind(dataS[i]一Si,eoz(1oca1data[i])):
//命令、數(shù)據(jù)通道偵聽(tīng)
1iSten(cmdS[i]一BBACLoG)
1iSten(dataS[i]一BBACLoG)
//命令、數(shù)據(jù)通道接收
accept(cmdS[i]一&zrom[i]一&1en[i]):
accept(dataS[i]一&zrom[i+10]一&1en[i+10]):
//關(guān)閉Socket
c1oSe(cmdc[i]):c1oSe(datac[i]):
c1oSe(cmdS[i]):c1oSe(dataS[i]):
}
2.3時(shí)間控制
時(shí)間控制模塊的設(shè)計(jì)目的是控制每臺(tái)PMU按照設(shè)置的通信速率實(shí)時(shí)傳輸數(shù)據(jù)。本軟件調(diào)用了Linux系統(tǒng)下Setitimer函數(shù)中的ITIMERPRoF定時(shí)模式。當(dāng)定時(shí)到達(dá)后,產(chǎn)生SIGPRoF信號(hào),并通過(guò)Sigaction函數(shù)來(lái)設(shè)置觸發(fā)該信號(hào)的處理函數(shù)timezunc,在timezunc函數(shù)中對(duì)PMU命令通道和數(shù)據(jù)通道發(fā)送處理進(jìn)行精確控制。詳細(xì)程序如下:
//間隔發(fā)送SIGRoF信號(hào)
Setitimer(ITIMERPRoF一&va1一NULL):
//定時(shí)結(jié)束接收SIGRoF信號(hào)
Sigaction(SIGPRoF一&act一NULL):
//定時(shí)器執(zhí)行函數(shù)
2.4實(shí)時(shí)傳輸報(bào)文傳輸
本文選用的通信協(xié)議為《電力系統(tǒng)實(shí)時(shí)動(dòng)態(tài)監(jiān)測(cè)系統(tǒng)第2部分:數(shù)據(jù)傳輸協(xié)議》(GB/T26865.2一2011)中的數(shù)據(jù)傳輸協(xié)議,根據(jù)規(guī)定,需要生成的傳輸報(bào)文有四種類型,分別是數(shù)據(jù)幀、配置幀、頭幀和命令幀。下面以數(shù)據(jù)幀為例對(duì)實(shí)時(shí)報(bào)文的通信傳輸進(jìn)行介紹。
2.4.1幀的封裝過(guò)程
模擬PMU子站需根據(jù)主站下發(fā)文件中描述的要求,將量測(cè)數(shù)據(jù)、數(shù)據(jù)時(shí)標(biāo)和數(shù)據(jù)名稱等信息按技術(shù)規(guī)范封裝成數(shù)據(jù)幀,如圖2所示。
2.4.2幀的傳輸過(guò)程
在PMUServerTAPR函數(shù)中,PMU子站根據(jù)主站發(fā)送的命令請(qǐng)求確定需要傳輸?shù)膱?bào)文類型,并改變相應(yīng)的標(biāo)志位,觸發(fā)命令通道或數(shù)據(jù)通道發(fā)送處理函數(shù)將傳輸報(bào)文發(fā)送給PDA主站。如子站接收到開(kāi)啟實(shí)時(shí)數(shù)據(jù)傳輸命令,則觸發(fā)數(shù)據(jù)連接通道定時(shí)上傳本地生成的實(shí)時(shí)數(shù)據(jù)報(bào)文給PDA主站。當(dāng)主站成功接收實(shí)時(shí)數(shù)據(jù)報(bào)文后,則此次實(shí)時(shí)數(shù)據(jù)傳輸流程完成。詳細(xì)程序如下:
//PMU服務(wù)器端數(shù)據(jù)通道發(fā)送處理
intServerData(chardatazrame[]一inti)
(
//子站收到"開(kāi)啟實(shí)時(shí)數(shù)據(jù)傳輸"命令
iz(TxtaSk[i].SDBTBoNF=1)
createpmudatazrame(i一data):
//配置生成數(shù)據(jù)幀并發(fā)送給主站
TxtaSk[i].SDBTBoNF=0:
+
3硬件選型
從裝置總體設(shè)計(jì)角度考慮,經(jīng)綜合比較后選用BRMcortex-B8處理器的工控機(jī),其各模塊連接圖如圖3所示。
其中,各部分的使用功能說(shuō)明如下:
(1)BRMcortex-B8最小系統(tǒng)板:即為BRMcortex-B8處理器及其相關(guān)部分。其使用功能為:與其他各模塊相連,對(duì)各模塊發(fā)出命令,完成PMU模擬器與WBMS主站或PDA之間的數(shù)據(jù)處理過(guò)程。
(2)通信接口:包括以太網(wǎng)口、Wi-Fi裝置和RS232串口三部分。其使用功能為:用戶可在軟件中選擇有線或無(wú)線兩種通信方式來(lái)實(shí)現(xiàn)PMU模擬器與PDA或WBMS主站之間的網(wǎng)絡(luò)連接與數(shù)據(jù)傳輸。其中,以太網(wǎng)口和Wi-Fi裝置分別實(shí)現(xiàn)有線方式和無(wú)線方式的連接。
(3)數(shù)據(jù)讀取接口:包括USB接口和TF卡接口兩部分。其使用功能為:用戶可在軟件中選擇外部導(dǎo)入和內(nèi)部讀取兩種方式來(lái)作為PMU模擬器的數(shù)據(jù)來(lái)源,其中USB接口和TF卡接口實(shí)現(xiàn)讀取外部已有的PMU相量數(shù)據(jù)文件的功能,內(nèi)部讀取功能則用于讀取PMU模擬裝置內(nèi)部存儲(chǔ)中已預(yù)先放入的PMU相量數(shù)據(jù)的文件。
4實(shí)驗(yàn)與結(jié)果
通電后,裝置可自動(dòng)啟動(dòng)PMU模擬程序,并進(jìn)入相關(guān)參數(shù)設(shè)置頁(yè)面。以模擬10臺(tái)PMU為例,詳細(xì)說(shuō)明如下:
(1)在模擬PDC軟件中設(shè)置與模擬PMU子站連接的相關(guān)參數(shù),如圖4所示。
(2)連接成功后,PMU子站與PDC主站實(shí)時(shí)傳輸數(shù)據(jù),如圖5所示。
(3)以模擬10臺(tái)PMU子站為例成功運(yùn)行,如圖6所示。
5結(jié)語(yǔ)
本文針對(duì)實(shí)體PMU裝置用于測(cè)試的缺陷,設(shè)計(jì)了基于ARMcortex-A8處理器和Linux操作系統(tǒng)的多通道配電網(wǎng)同步相量測(cè)量裝置模擬器,詳細(xì)描述了數(shù)據(jù)報(bào)文從產(chǎn)生到傳輸?shù)膶?shí)現(xiàn)過(guò)程。經(jīng)實(shí)際檢測(cè),本裝置可以很好地滿足測(cè)試要求。用戶可以靈活選擇模擬PMU裝置的數(shù)量,配置相關(guān)參數(shù),從而實(shí)現(xiàn)與數(shù)據(jù)集中器PDC或WAMS主站之間的高速度、高可靠性的數(shù)據(jù)傳輸。





