廖曉群,秦 靜,馬 莉
(西安科技大學,西安710054)
?
智能配電終端遙信單元的設計與實現(xiàn)*
廖曉群,秦靜*,馬莉
(西安科技大學,西安710054)
摘要:采用STM32F103VE和i.MX287高性能處理芯片,設計了基于ARM9與Cortex-M3雙處理器的遙信單元,對硬件總體的結構和遙信輸入回路進行了詳細的硬件設計,并對遙信單元和通信單元進行了相應的軟件設計。依照IEC60870-5-104協(xié)議,對整個遙信單元實現(xiàn)了遙信的采集、數(shù)據(jù)存儲及上傳、SOE、系統(tǒng)對時、通信等功能。測試證明,遙信單元的設計符合需求規(guī)定,具有較好的應用價值。
關鍵詞:雙處理器;配電終端;IEC60870-5-104電力規(guī)約;遙信單元;SOE
項目來源:陜西省教育廳科技專項項目(14JK1486)
根據(jù)國家電網(wǎng)目前對智能電網(wǎng)的發(fā)展部署,我國將全面推進智能電網(wǎng)的建設[1]。遙信作為配電終端的重要功能,主要為配電監(jiān)控中心提供變電站的開關、繼電器以及斷路器等的狀態(tài)信息,直接反應電網(wǎng)、變電站的運行狀態(tài),是調度人員診斷電網(wǎng)故障的直接依據(jù)。然而配電網(wǎng)絡在一些干擾情況下會出現(xiàn)遙信的誤報,擾亂了調度人員對電網(wǎng)故障的判斷,從而引起不必要的損失,甚至出現(xiàn)重大電力事故。加強遙信可靠性的研究,對提高我國供電的可靠性具有重要意義。在這樣的背景,本文提出了一整套遙信解決方案,滿足遙信在雪崩情況下能夠正確上報遙信SOE、遙信SOE的分辨率達到1 ms的國家電力行業(yè)DL/T721-2013標準[2]。
本文在對IEC60870-5-104規(guī)約[3]和電力行業(yè)標準DL/T721-2013進行深入研究的基礎上,選用ARMv7架構的32 bit芯片STM32F103VE處理器來設計遙信電路模塊,然后采用基于ARM9內核的i.MX287處理器來設計CPU模塊,遙信模塊位于遙信板,CPU模塊位于CPU板,遙信板還可配置不同的數(shù)量,來實現(xiàn)多路遙信的采集,多板卡設計可以滿足不同的配電場合,具有很強的擴展性。然后在基于硬件的基礎上完成遙信模塊和CPU模塊的軟件編程,最后實現(xiàn)了CPU模塊與遙信模塊的通信、控制、遙信的數(shù)據(jù)采集與處理等任務。
IEC60870-5-104電力規(guī)約(簡稱104規(guī)約),主要用于變電站遠動設備和調度計算機系統(tǒng)之間以太網(wǎng)數(shù)據(jù)傳輸協(xié)議[4]。104規(guī)約是將IEC60870-5-101和TCP/IP提供的傳輸功能結合在一起,通過以太網(wǎng)實現(xiàn)遠動設備和主站的通信功能[5]。
1.1104規(guī)約結構
104規(guī)約在傳輸層和網(wǎng)絡層采用的是TCP協(xié)議,應用層傳輸?shù)氖菑?04規(guī)約和101規(guī)約中選取的應用服務數(shù)據(jù)單元[6],104規(guī)約結構如圖1所示。
圖1 104規(guī)約結構
1.2應用規(guī)約數(shù)據(jù)單元(APDU)
應用規(guī)約數(shù)據(jù)單元結構如圖2所示。
圖2 應用規(guī)約數(shù)據(jù)單元結構
104規(guī)約結構中應用規(guī)約數(shù)據(jù)單元(APDU)由應用規(guī)約控制單元(APCI)和應用服務數(shù)據(jù)單元(ASDU)組成[7]。APDU定義了啟動字符、應用服務數(shù)據(jù)單元的長度規(guī)范,啟動字符表示數(shù)據(jù)的開始,而應用服務數(shù)據(jù)單元的長度可以用來傳輸一個完整的應用規(guī)約數(shù)據(jù)單元。
2.1遙信系統(tǒng)總體結構設計
遙信單元主要包括兩大部分,遙信模塊和CPU核心模塊,遙信模塊主要負責遙信的采集以及將遙信信息通過CAN總線傳輸?shù)紺PU模塊,而CPU模塊則完成遙信信息的處理以及將遙信信息通過104規(guī)約的幀格式上報到主站。遙信單元總體結構框圖如圖3所示。
圖3 遙信系統(tǒng)總體結構框圖
2.2遙信模塊硬件電路設計
遙信模塊設計為32路遙信輸入信號,主要對所監(jiān)控線路的開關以及通信是否正常和儲能完成情況等重要狀態(tài)信息進行采集。遙信輸入信號經過光耦PS2501L-1隔離,然后通過SN74HC245D緩沖芯片送到STM32F103VE處理器的FSMC總線上,F(xiàn)SMC將會自動讀取遙信數(shù)據(jù),最后送入CPU進行遙信的處理。第1路遙信回路如圖4所示。其他31路與第1路相同。
圖4 遙信輸入回路
2.3 CPU核心模塊的硬件設計
CPU模塊的主要核心模塊采用Emtronix公司的EM9287工控主板,上面搭載了FreeScale公司基于ARM9內核的iMX287處理器,454 MHz主頻,計算能力強[8]。CPU模塊主要完成遙信的采集、數(shù)據(jù)存儲及上傳、SOE、系統(tǒng)對時、通信等功能。CPU模塊通過母板連接插座與遙信模塊進行連接。
注:CPU模塊主要采用集成好的核心模塊,所以CPU板的開發(fā)主要涉及基于Linux-3.9.3操作系統(tǒng)下的軟件開發(fā),負責整個系統(tǒng)的通信,數(shù)據(jù)處理與傳輸,控制等任務。這將在軟件設計與實現(xiàn)的通信模塊軟件實現(xiàn)部分做詳細論述。
系統(tǒng)軟件包括了遙信模塊軟件實現(xiàn)、通信模塊軟件實現(xiàn)2個主要部分。下面對這個2個部分的主要功能及它們之間的聯(lián)系進行詳細的分析與設計。
遙信模塊主要實現(xiàn)了CAN通信,遙信的采集與處理,向CPU模塊發(fā)送遙信SOE,在遙信模塊設計中對遙信的SOE處理做了詳細的設計。給出了CAN通信的詳細數(shù)據(jù)格式。
通信模塊主要包括主線程,網(wǎng)口線程和CAN線程3個部分。主要完成CPU模塊與維護軟件及遙信模塊的通信、控制、數(shù)據(jù)處理。該設計主要采用多線程設計,由主線程對子線程進行調用,從而使各線程去完成各自的任務。軟件系統(tǒng)框圖如圖5所示。
圖5 軟件系統(tǒng)框圖
3.1遙信模塊軟件設計與實現(xiàn)
遙信模塊采用CAN總線與CPU核心模塊進行通信,在設計中對CAN協(xié)議給出了具體的應用格式,基于CAN總線的系統(tǒng)結構如圖6所示。
圖6 基于CAN總線的系統(tǒng)結構
CAN幀報文數(shù)據(jù)由數(shù)據(jù)包組成,其長度固定,為8個字節(jié),下面給出具體的遙信SOE數(shù)據(jù)包具體定義如表1所示。
表1 遙信SOE數(shù)據(jù)包
基于上述CAN的數(shù)據(jù)傳輸格式,下面給出具體的CAN收發(fā)流程如圖7所示。
圖7 CAN收發(fā)流程
遙信的數(shù)據(jù)處理主要是遙信SOE分辨率判別處理,而遙信SOE(事件發(fā)生順序)分辨率是指能正確區(qū)分遙信變位事件發(fā)生順序的最小時間間隔[9]。在設計中將遙信判別處理函數(shù)置于定時中斷服務子程序中,每隔1 ms的時間間隔,對全部的遙信量進行一次掃查,完成對遙信的變位檢測[10]。當程序檢測到有遙信變位,首先記錄變位遙信,然后去判斷變位遙信點的持續(xù)時間是否大于遙信防抖時間,如果大于遙信防抖時間,說明是有效的遙信變位,同時發(fā)送遙信SOE,否則是錯誤遙信,放棄當前變位遙信點,繼續(xù)進行檢測。
定時中斷中遙信檢測時序如圖8所示。
圖8 遙信檢測時序
遙信SOE分辨率處理是通過SOE的判別處理函數(shù)SOE_HAVEDELAY(void)實現(xiàn),函數(shù)在實現(xiàn)時首先需置對時標志,然后循環(huán)讀取板卡遙信狀態(tài),直到讀到穩(wěn)定的板卡遙信狀態(tài)退出循環(huán),將上述讀到的狀態(tài)轉存到遙信當前狀態(tài)中,接著進行當前態(tài)與先前態(tài)的比較,有遙信變位則置位遙信變位標志位,遙信變位標志位的值為1時,表示發(fā)生了遙信變位,繼續(xù)循環(huán)32點檢測具體哪一路遙信發(fā)上了變位,并將具體發(fā)生遙信變位的信息儲存到臨時32點狀態(tài)中,此時開始遙信變位時間計時,接下來對32點遙信狀態(tài)循環(huán)檢測,如果發(fā)生變位的遙信狀態(tài)持續(xù)時間大于遙信的防抖時間,則認為是有效遙信變位,將當前態(tài)覆蓋先前態(tài),并將此時的遙信狀態(tài)加時標進行CAN組包,將組好的數(shù)據(jù)包寫入緩存,這樣就完成了遙信SOE分辨率的判別處理[11]。遙信SOE分辨率處理流程如圖9所示。
圖9 遙信SOE分辨率處理
3.2通信模塊軟件設計與實現(xiàn)
通信模塊,采用Linux的多線程編程技術,多線程程序采用多任務、并發(fā)的工作方式,提高了應用程序響應時間并且程序結構清晰。通信模塊通過3個線程來實現(xiàn),通信主線程、CAN子線程和網(wǎng)口子線程,所有線程共享CAN數(shù)據(jù)緩存區(qū)的數(shù)據(jù),并設置互斥鎖來確保一個時間段內只有一個線程在訪問臨界區(qū)的數(shù)據(jù),達到線程間的同步[11]。
通信主線程在上電后,首先完成一些初始化工作以及規(guī)約參數(shù)的配置,然后就打開CAN口和網(wǎng)口,并分別創(chuàng)建CAN線程和網(wǎng)口線程,各自的線程創(chuàng)建好之后,各線程就會跳到自己的接收線程完成自己的功能。而主線程接著進入主循環(huán)體,完成CAN的數(shù)據(jù)發(fā)送,規(guī)約組包和定時監(jiān)測功能。通信主線程流程圖如圖10所示。
圖10 通信主線程流程圖
CAN線程采用Socket CAN方式,Socket CAN不像基于字符設備那樣每更換CAN控制器,都需要更換設備驅動并且調整應用程序來適應新驅動的應用程序接口。Scoket CAN使用的是socket接口和Linux網(wǎng)絡協(xié)議棧,這種方法使得CAN設備驅動可以通過網(wǎng)絡接口函數(shù)來調用,這樣就可以采用Linux網(wǎng)絡編程來實現(xiàn)CAN通訊[12]。
在主程序中打開CAN口,然后就進入CAN的接收線程。CAN接收線程如圖11所示。在CAN的接收線程中進行CAN的數(shù)據(jù)處理[13]。
圖11 CAN接收線程流程圖
CAN設備在讀取數(shù)據(jù)時,CAN總線與標準套接字通信有所不同,每一次通信都采用can_frame結構體將數(shù)據(jù)封裝成幀用來接收數(shù)據(jù)。結構體定義如下:
struct can_frame {
canid_tcan_id;//CAN標識符
__u8 can_dlc;//數(shù)據(jù)長度
__u8 data[8]__attribute__((aligned(8)));//數(shù)據(jù)
};
定義CAN發(fā)送結構體如下:
typedef struct{
struct can_frame CanTx;//發(fā)送數(shù)據(jù)幀
PACKET CanSend[CANSNUM];//發(fā)送報文數(shù)組
PACKET *wr;//發(fā)送寫指針
PACKET *rd;//發(fā)送讀指針
pthread_mutex_t Lock;//定義互斥鎖,防止多線程同時寫入
}CANSEND
網(wǎng)口線程主要是用來傳輸基于104規(guī)約的幀結構數(shù)據(jù),在主線程中打開網(wǎng)口,等待網(wǎng)絡進行連接,當連接以后就會創(chuàng)建網(wǎng)口的線程,創(chuàng)建網(wǎng)口線程的流程圖如圖12所示。
圖12 創(chuàng)建網(wǎng)口線程的流程圖
在104規(guī)約解析中,將會調用固定幀解包函數(shù)sFRAME(void*pcomm)和數(shù)據(jù)幀解包函數(shù)dFRAME (void*pcomm)來分別處理U幀、S幀、I幀的數(shù)據(jù)。104規(guī)約公用數(shù)據(jù)單元結構體定義如下:
struct IEC101_104_ASDU{Uchar Type;//類型標識
union VOS_REG Vos;//可變幀結構協(xié)定詞
union COT_REG Cot;//傳輸原因低字節(jié)
UcharCotH;//傳輸原因高字節(jié)
UcharCaddrL;//公共地址低地址
UcharCaddrH;//公共地址高地址
UcharRa[256];//信息對象可變數(shù)組
}
新遙信SOE的產生在設計中采用信號量機制,因為遙信SOE的產生有時會很大,但通常情況下遙信又不是時刻會發(fā)生變位,為了去判斷新遙信SOE的產生,調用遙信板狀態(tài)獲取函數(shù)CheckIO(),只要有新的遙信SOE就置遙信事件,釋放遙信信號量,對遙信信號量作加1操作,而在網(wǎng)口線程中去申請遙信信號量,一旦申請到遙信信號量就去發(fā)送遙信SOE,這樣就實現(xiàn)了遙信有變位發(fā)送無變位不發(fā)送,很好地完成了遙信的上報任務。
遙信單元主要對遙信雪崩和遙信SOE分辨率進行測試。最終測試要達到遙信在雪崩之后,全部遙信點能夠正確上報,遙信SOE分辨率能達到1 ms的標準,下面給出兩項測試的結果和分析。
(1)遙信雪崩測試
遙信雪崩測試為極限情況下,所有的遙信點發(fā)生變位后都能夠準確無誤地上報。測試通過對全部的32個遙信點進行一次分合操作,在維護軟件的遙信SOE界面觀察遙信雪崩情況如圖13所示。
圖13 遙信雪崩測試結果
對于遙信雪崩測試,由于開關分別進行了分合操作,點號33-64的32個遙信點分和狀態(tài)之和恰好為64條遙信SOE。測試結果表明,64條遙信SOE在雪崩情況下準確無誤上報。
(2)遙信SOE分辨率測試
圖14 遙信SOE分辨率測試結果
遙信SOE分辨率的測試主要是測試開關在相間隔一個固定的時間間隔,遙信SOE是否能準確上報,其中這個固定時間就是遙信SOE的分辨率。在測試中,使用繼電保護測試儀輸出3路開關量,分別代表開關1、開關2、開關3,它們之間合閘的時間相差1 ms,然后同時斷開,它們之間合的狀態(tài)持續(xù)時間分別為102 ms、101 ms、100 ms,這就表明遙信SOE的分辨率達到了1 ms的標準。在維護軟件中觀察遙信SOE界面結果如下圖14所示。
由維護軟件顯示結果可知,測試中選擇了3路遙信,對應的遙信點號9、10、11,點號9、10、11它們的時分秒時間都相同,只需分析ms即可。分的時間均為108 ms,然后對應的合時間分別為008 ms、007 ms、006 ms,分合狀態(tài)對應的時間之差則為開關合的持續(xù)時間,它們對應的合閘持續(xù)時間為100 ms,101 ms、102 ms。3個開關合閘時間相差1 ms,合閘持續(xù)時間相差1 ms,測試結果表明遙信SOE分辨率為1 ms。
本文在分析研究IEC60870-5-104規(guī)約幀結構的基礎上,結合嵌入式技術,設計了上述配電終端遙信單元的軟硬件。最后,利用所研發(fā)的遙信單元,通過以太網(wǎng)在維護軟件下進行測試,驗證遙信在雪崩情況下能夠正確上報,并且遙信SOE分辨率滿足1 ms的技術指標。
參考文獻:
[1]智能配電網(wǎng)關鍵技術及工程實踐[J].華東電力,2014,42(7):1346-1350.
[2] DL/T721-2013.電力行業(yè)標準[S].北京:中華人民共和國電力工業(yè)部,2013:4-9.
[3] DL/T634.5104-2002/IEC60870-5-104:2000.遠動設備及系統(tǒng)第5-104部分:傳輸規(guī)約采用標準傳輸協(xié)議子集IEC6O870-5-101網(wǎng)絡訪問[S].北京:中國電力出版社,2002:88-93.
[4]閆飛飛.基于IEC60870-5-101規(guī)約和104規(guī)約的FTU的設計與實現(xiàn)[D].西安:西安科技大學,2012.
[5]王雷.基于IEC 61850標準的開閉所監(jiān)控終端DTU模型研究[D].北京:華北電力大學,2012.
[6]DL/T 634.5101-2002/IEC 60870-5 101:2002基本遠動任務配套標準[S].北京:中國電力出版社,2002:14-18.
[7]趙淵,沈智健.基于TCP/IP的IEC60870-5-104遠動規(guī)約在電力系統(tǒng)中的應用[J].電網(wǎng)技術,2003,27(10):56-60.
[8]張連生.基于ARM的綜合電力網(wǎng)絡監(jiān)控儀表的研制[D].山東:山東大學,2012.
[9]周斌,魯國剛,黃國方.變電站遠動裝置SOE時間標注方法分析[J].江蘇電機工程,2007,26(1):61-62.
[10]謝大衛(wèi),楊曉忠.調度自動化系統(tǒng)中遠動技術網(wǎng)絡化的實現(xiàn)[J].電網(wǎng)技術,2004,28(8):34-37.
[11]柳永智,劉曉.電力系統(tǒng)遠動[M].北京:中國電力出版社,2005:80-83.
[12]陳誠.寬帶電力線視頻監(jiān)控系統(tǒng)設計[D].重慶:重慶大學,2011.
[13]徐小聰.電能質量監(jiān)測儀通信程序設計[D].武漢:華中科技大學,2012.
廖曉群(1968-),男,陜西籍,高級工程師,研究方向為行業(yè)信息化;
秦靜(1985-),男,山西籍,在讀碩士,研究方向為基于嵌入式的DTU智能電網(wǎng)監(jiān)控終端,175986039@qq.com。
Research on Digital FPGA-Based Control Method of Brushless DC Motor
JING Guanghong*
(Department of Mechanical and Electrical Engineering,Chengdu Vocational College of Agricultural Science and Technology,Chengdu 611130,China)
Abstract:In order to achieve a simple and efficient brushless DC(BLDC)motor drive system of the brushless DC motor,a simple model of FPGA is presented based on the digital pulse width modulation(PWM)controller,model and control algorithm. The controller will take BLDC motor flux distribution of the ladder as a digital system,low power and the alternate use of high-powered speed adjustment,it is easy to realize the design and implement. In ad?dition,a current sensor design is proposed only by using the DC link to reduce the cost and the complexity of hard?ware. And through the simulation experiment of the proposed control method was verified,the results show that the maximum error of the proposed method is decreased below 5%. Therefore,the control technology is very suitable for applications that don't require high accuracy.
Key words:BLDC;field programmable gate array;motion control;pulse width modulation
doi:EEACC:832010.3969/j.issn.1005-9490.2016.01.023
收稿日期:2015-04-02修改日期:2015-05-06
中圖分類號:TN710
文獻標識碼:A
文章編號:1005-9490(2016)01-0104-07