基于DSP和Modbus總線的智能斷路器控制器設(shè)計
2.2 Modbus協(xié)議棧設(shè)計
控制器能設(shè)置ASCII或RTU兩種傳輸模式中的任何一種在標(biāo)準(zhǔn)的Modbus網(wǎng)絡(luò)中通信。目前最常用的是RTU模式。在消息中的每個8 bit字節(jié)包含2個4 bit的十六進制字符,在同樣的波特率下,可比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)機處理部分和硬件相關(guān)部分。協(xié)議狀態(tài)機部分,通過查詢協(xié)議事件狀態(tài)維護協(xié)議狀態(tài)機,根據(jù)不同狀態(tài)對接收幀進行校驗以及對功能碼的處理函數(shù)。硬件相關(guān)部分包括對定時器和串口的初始化配置以及相應(yīng)的定時器中斷、串口接收發(fā)送中斷。協(xié)議棧程序的流程圖如圖5。應(yīng)用程序?qū)D采樣后處理好的數(shù)據(jù)存儲在特定的緩沖區(qū)中,供上位機查詢。協(xié)議棧的接收和發(fā)送Modbus RTU數(shù)據(jù)幀是通過一個由硬件提取層的調(diào)用驅(qū)動狀態(tài)機來實現(xiàn)的。協(xié)議棧開T3.5字符計時中斷、接收中斷和發(fā)送中斷,在主函數(shù)循環(huán)中對事件標(biāo)志進行查詢和處理。
3 上位機監(jiān)控軟件的設(shè)計
在智能控制器監(jiān)控系統(tǒng)設(shè)計中,智能控制器與上位機系統(tǒng)通信采用主從方式,上位機的作用主要是實現(xiàn)“四遙”功能。智能控制器一方面將實時數(shù)據(jù)和信息上傳,另一方面接收上位PC機發(fā)出的控制命令。斷路器智能控制器系統(tǒng)中,上位機監(jiān)控主要實現(xiàn)如下功能[4]:
(1)實時接收下位機(智能控制器)上傳的數(shù)據(jù),采用數(shù)據(jù)列表和實時曲線的方式顯示。上位機接收下位機定時發(fā)送的數(shù)據(jù),包括:三相電壓、三相電流、中性線電流、有功功率、功率因素及累計電量等;可隨時讀取下位機中的數(shù)據(jù)。操作人員可在監(jiān)控機上隨時向下位機發(fā)送查詢幀,索取當(dāng)前斷路器中的運行數(shù)據(jù)。
(2)具有在線設(shè)置下位機參數(shù)及發(fā)送遠程合分閘命令功能。這樣便于操作人員在遠離現(xiàn)場的情況下安全地控制和操縱斷路器的運行。
上位機監(jiān)控軟件可采用VB、VC等高級語言實現(xiàn),亦或在組態(tài)軟件上進行二次開發(fā)??紤]到人機界面構(gòu)建簡易、程序便于集成和升級,設(shè)計中采用Visual C++ 6.0作為開發(fā)工具。在9 600 b/s波特率下,設(shè)置Modbus幀間間隔為50 ms。超時時間為300 ms時,對節(jié)點地址為10的額定100 A斷路器線路電流有效值進行監(jiān)控,監(jiān)控測試界面如圖6。
本文從硬件和軟件上設(shè)計實現(xiàn)了Modbus智能斷路器,給出了包括監(jiān)控上位機軟件在內(nèi)的整套應(yīng)用方案,通過上位機監(jiān)控軟件實現(xiàn)對斷路器的“四遙”等聯(lián)網(wǎng)應(yīng)用功能。通過現(xiàn)場實驗測試表明,系統(tǒng)運行穩(wěn)定可靠、實時性高,為斷路器的網(wǎng)絡(luò)互聯(lián)提供一種較好的解決方案。
斷路器相關(guān)文章:斷路器原理
高壓真空斷路器相關(guān)文章:高壓真空斷路器原理 漏電斷路器相關(guān)文章:漏電斷路器原理
評論