基于DSP和Modbus總線的智能斷路器控制器設(shè)計
1 智能斷路器硬件結(jié)構(gòu)
1.1 硬件總體結(jié)構(gòu)
由斷路器、智能控制器和上位機(jī)構(gòu)成的監(jiān)控系統(tǒng)總體框圖如圖1所示。上位機(jī)與下位機(jī)采用Modbus現(xiàn)場總線相連接,下位機(jī)完成整個測控系統(tǒng)的基礎(chǔ)工作,實(shí)現(xiàn)對輸電線路的保護(hù)以及電力質(zhì)量監(jiān)控;上位機(jī)通過Modbus總線與智能控制器進(jìn)行數(shù)據(jù)傳輸,實(shí)現(xiàn)對多個智能控制器節(jié)點(diǎn)的集中控制和管理。
智能控制器采用TI的高性能DSP芯片TMS320F2812,電路主要由電壓電流輸入信號的調(diào)理電路、自生電源和外部電源控制模塊、RS485通信模塊、顯示和按鍵模塊及外圍檢測信號輸入電路、脫扣控制電路等組成。電流互感器和電阻分壓前端分別檢測供電線路中的電流和電壓信號,并將其轉(zhuǎn)換為數(shù)字電路和DSP可處理的電平信號,經(jīng)過模擬信號調(diào)理電路(隔離、濾波、放大等)送入DSP,DSP自帶的A/D轉(zhuǎn)換單元將模擬信號轉(zhuǎn)換成數(shù)字信號,供DSP進(jìn)行邏輯運(yùn)算和處理。DSP將檢測到的電流信號與整定值相比較,判斷是否脫扣,從而實(shí)現(xiàn)三段保護(hù)功能。同時在系統(tǒng)中采用Modbus總線協(xié)議與上位機(jī)通信,實(shí)現(xiàn)智能控制器的“四遙”功能。
1.2 采樣與信號調(diào)理
采用空芯電流互感器檢測電流信號,以保證有較好的線性范圍。采用串聯(lián)的電阻分壓提供電壓信號。電流和電壓信號經(jīng)過RC濾波后,分2路進(jìn)行采樣,以解決量程變換問題。當(dāng)互感器輸出電壓比較小時,電壓經(jīng)過LM324放大,由A/D采樣;而當(dāng)互感器輸出電壓比較大時,LM324輸出出現(xiàn)飽和,則直接由A/D采樣。其中通道的選擇由軟件完成,以使采樣信號在閥值處能較好銜接起來。電流采樣電路如圖2。R11、R12、R21、R22將交流信號提升為A/D可識別的3.3 V直流信號,D1、D2、D7、D8構(gòu)成限幅保護(hù)電路。電壓通道除了電阻分壓不同,其他部分相似。
1.3 通信接口
采用SP485E芯片的通信接口如圖3。由于斷路器的分?jǐn)鄷﹄娐樊a(chǎn)生干擾,為保證可靠的通信,電路附加了一些保護(hù)。其中8.2 V的TVS管V1、V2、V3都是用來保護(hù)RS485總線的,以避免RS485總線在受外界干擾時(雷擊、浪涌)產(chǎn)生的高壓損壞RS485收發(fā)器。電路中的L1、L2、C7、C8元件,用于提高電路的EMI性能,并對SP485E芯片起到良好的保護(hù)效果。
2 智能控制器軟件設(shè)計
2.1 智能控制器軟件結(jié)構(gòu)
智能控制器軟件主要包括:采樣數(shù)據(jù)處理、通信處理、按鍵和顯示處理及能量記憶處理等模塊。主程序流程圖如圖4。在主程序中,智能控制器上電初始化后,查詢通信事件狀態(tài),處理Modbus協(xié)議狀態(tài)機(jī),并做相應(yīng)的通信處理。通過采樣獲取主線路的電流信號,每周期20 ms采樣40點(diǎn),采用0.5 ms的定時器,實(shí)現(xiàn)非失真采樣。而線路的三段保護(hù),即電流速斷、限時電流速斷、定時過電流均依據(jù)一定的算法在這些采樣點(diǎn)的基礎(chǔ)上進(jìn)行。根據(jù)測得的電流信號進(jìn)行有效值計算(40個采樣點(diǎn)采用加權(quán)平滑濾波,取均值),進(jìn)行熱記憶能量累加或消退,先后比較是否達(dá)到或超過瞬時脫扣整定值Ii、短延時脫扣電流整定值Isd、過載長延時脫扣電流整定值Ir,判斷是否大于整定的脫扣能量從而發(fā)出分?jǐn)嗝睿瑒幼鲿r間延時T根據(jù)斷路器控制器的電流-時間特性曲線決定(可參考斷路器行業(yè)標(biāo)準(zhǔn)[3]),從而實(shí)現(xiàn)對線路中的過載、短路、接地等故障的保護(hù)。
2.2 Modbus協(xié)議棧設(shè)計
控制器能設(shè)置ASCII或RTU兩種傳輸模式中的任何一種在標(biāo)準(zhǔn)的Modbus網(wǎng)絡(luò)中通信。目前最常用的是RTU模式。在消息中的每個8 bit字節(jié)包含2個4 bit的十六進(jìn)制字符,在同樣的波特率下,可比ASCII方式傳送更多的數(shù)據(jù)[1]。本設(shè)計采用Modbus RTU傳輸模式,使用RTU模式的關(guān)鍵是幀字符時間的處理。要求至少為3.5個字符時間的空閑間隔將報文幀區(qū)分開,同時整個報文幀必須作為一個連續(xù)的數(shù)據(jù)流傳輸,2個字符之間的空閑間隔小于1.5個字符時間[2]。
協(xié)議棧采用分層設(shè)計,分為協(xié)議狀態(tài)機(jī)處理部分和硬件相關(guān)部分。協(xié)議狀態(tài)機(jī)部分,通過查詢協(xié)議事件狀態(tài)維護(hù)協(xié)議狀態(tài)機(jī),根據(jù)不同狀態(tài)對接收幀進(jìn)行校驗以及對功能碼的處理函數(shù)。硬件相關(guān)部分包括對定時器和串口的初始化配置以及相應(yīng)的定時器中斷、串口接收發(fā)送中斷。協(xié)議棧程序的流程圖如圖5。應(yīng)用程序?qū)D采樣后處理好的數(shù)據(jù)存儲在特定的緩沖區(qū)中,供上位機(jī)查詢。協(xié)議棧的接收和發(fā)送Modbus RTU數(shù)據(jù)幀是通過一個由硬件提取層的調(diào)用驅(qū)動狀態(tài)機(jī)來實(shí)現(xiàn)的。協(xié)議棧開T3.5字符計時中斷、接收中斷和發(fā)送中斷,在主函數(shù)循環(huán)中對事件標(biāo)志進(jìn)行查詢和處理。
3 上位機(jī)監(jiān)控軟件的設(shè)計
在智能控制器監(jiān)控系統(tǒng)設(shè)計中,智能控制器與上位機(jī)系統(tǒng)通信采用主從方式,上位機(jī)的作用主要是實(shí)現(xiàn)“四遙”功能。智能控制器一方面將實(shí)時數(shù)據(jù)和信息上傳,另一方面接收上位PC機(jī)發(fā)出的控制命令。斷路器智能控制器系統(tǒng)中,上位機(jī)監(jiān)控主要實(shí)現(xiàn)如下功能[4]:
(1)實(shí)時接收下位機(jī)(智能控制器)上傳的數(shù)據(jù),采用數(shù)據(jù)列表和實(shí)時曲線的方式顯示。上位機(jī)接收下位機(jī)定時發(fā)送的數(shù)據(jù),包括:三相電壓、三相電流、中性線電流、有功功率、功率因素及累計電量等;可隨時讀取下位機(jī)中的數(shù)據(jù)。操作人員可在監(jiān)控機(jī)上隨時向下位機(jī)發(fā)送查詢幀,索取當(dāng)前斷路器中的運(yùn)行數(shù)據(jù)。
(2)具有在線設(shè)置下位機(jī)參數(shù)及發(fā)送遠(yuǎn)程合分閘命令功能。這樣便于操作人員在遠(yuǎn)離現(xiàn)場的情況下安全地控制和操縱斷路器的運(yùn)行。
上位機(jī)監(jiān)控軟件可采用VB、VC等高級語言實(shí)現(xiàn),亦或在組態(tài)軟件上進(jìn)行二次開發(fā)??紤]到人機(jī)界面構(gòu)建簡易、程序便于集成和升級,設(shè)計中采用Visual C++ 6.0作為開發(fā)工具。在9 600 b/s波特率下,設(shè)置Modbus幀間間隔為50 ms。超時時間為300 ms時,對節(jié)點(diǎn)地址為10的額定100 A斷路器線路電流有效值進(jìn)行監(jiān)控,監(jiān)控測試界面如圖6。
本文從硬件和軟件上設(shè)計實(shí)現(xiàn)了Modbus智能斷路器,給出了包括監(jiān)控上位機(jī)軟件在內(nèi)的整套應(yīng)用方案,通過上位機(jī)監(jiān)控軟件實(shí)現(xiàn)對斷路器的“四遙”等聯(lián)網(wǎng)應(yīng)用功能。通過現(xiàn)場實(shí)驗測試表明,系統(tǒng)運(yùn)行穩(wěn)定可靠、實(shí)時性高,為斷路器的網(wǎng)絡(luò)互聯(lián)提供一種較好的解決方案。