新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > GPRS無(wú)線通訊在無(wú)功補(bǔ)償控制系統(tǒng)中的應(yīng)用

GPRS無(wú)線通訊在無(wú)功補(bǔ)償控制系統(tǒng)中的應(yīng)用

作者: 時(shí)間:2013-07-04 來(lái)源:網(wǎng)絡(luò) 收藏

2) 當(dāng)連接建立后,就可以在這條連接上進(jìn)行數(shù)據(jù)收發(fā)。使用SEND命令幀控制MC35發(fā)送數(shù)據(jù),發(fā)送時(shí)要指定連接號(hào)(由本地端口、目的IP地址和端口唯一確定)。

3) 數(shù)據(jù)發(fā)送完成后不再需要這條連接時(shí),就可以把連接掛斷。

在這里我們采用在MSP430F448中軟件嵌入TCP/IP協(xié)議棧uIP的方法來(lái)實(shí)現(xiàn)TCP/IP協(xié)議。uIP是一種免費(fèi)公開源代碼的小型TCP/IP協(xié)議棧,專門為8位和16位MCU編寫。uIP完全是用C語(yǔ)言編寫,它采用了一個(gè)事件驅(qū)動(dòng)接口,通過調(diào)用應(yīng)用程序響應(yīng)事件。uIP的源代碼只有幾KB,RAM占用僅幾百字節(jié),但uIP實(shí)現(xiàn)了TCP/IP協(xié)議集的四個(gè)基本協(xié)議:ARP地址解析協(xié)議,IP網(wǎng)際互聯(lián)協(xié)議,ICMP網(wǎng)絡(luò)控制報(bào)文協(xié)議和TCP傳輸控制協(xié)議。用戶可以方便的調(diào)用接口函數(shù)來(lái)實(shí)現(xiàn)TCP/IP協(xié)議。

uIP與系統(tǒng)底層的接口包括與設(shè)備驅(qū)動(dòng)的接口和系統(tǒng)定時(shí)器的接口兩類。在程序的主循環(huán)中,底層接口程序循環(huán)檢查是否收到數(shù)據(jù)包和周期定時(shí)器是否超時(shí)溢出。TCP/IP協(xié)議程序中主控環(huán)程序流程如圖3所示。

TCP

圖3 TCP/IP協(xié)議中程序主流程

uIP通過函數(shù)uip_input()和全局變量uip_buf、uip_len來(lái)實(shí)現(xiàn)與設(shè)備驅(qū)動(dòng)的接口,收發(fā)IP數(shù)據(jù)包時(shí)觸發(fā)應(yīng)用程序接口事件。應(yīng)用程序事件1主要是對(duì)數(shù)據(jù)包的處理:當(dāng)數(shù)據(jù)來(lái)自MCU時(shí)則進(jìn)行TCP/IP打包然后送模塊發(fā)送到Internet網(wǎng)絡(luò);當(dāng)收到來(lái)自模塊的數(shù)據(jù)時(shí)則進(jìn)行相應(yīng)的解包處理,抽出數(shù)據(jù),按發(fā)送前的順序還原,并加以校驗(yàn),若發(fā)現(xiàn)錯(cuò)誤,TCP/IP棧會(huì)要求重發(fā),然后將數(shù)據(jù)通過串口送控制器。uIP協(xié)議棧提供了一系列接口函數(shù)供用戶程序調(diào)用,這使得我們不需要了解數(shù)據(jù)的具體處理過程,只需要調(diào)用相應(yīng)的接口函數(shù)把數(shù)據(jù)送上層應(yīng)用程序即可。

系統(tǒng)定時(shí)器使用msp430f448的16位定時(shí)器Timer_B作為時(shí)鐘基準(zhǔn),定時(shí)周期設(shè)為1s。定時(shí)器主要用于處理數(shù)據(jù)傳輸錯(cuò)誤重發(fā)、應(yīng)答延時(shí)、往返時(shí)間(RTT)估計(jì)等。應(yīng)用程序事件2主要是對(duì)定時(shí)器超時(shí)事件的處理:當(dāng)TCP連接建立時(shí),uIP周期性調(diào)用函數(shù)uip_periodic()來(lái)驅(qū)動(dòng)TCP/IP協(xié)議定時(shí)器和重發(fā)事件。當(dāng)數(shù)據(jù)發(fā)送后,轉(zhuǎn)發(fā)定時(shí)器進(jìn)行減計(jì)數(shù),如果在一個(gè)定時(shí)器周期內(nèi)沒收到接收端的確認(rèn)(ACK)消息,發(fā)送端就認(rèn)為這個(gè)數(shù)據(jù)丟失置標(biāo)志位,應(yīng)用程序檢查標(biāo)志則產(chǎn)生上次發(fā)送的數(shù)據(jù)并重發(fā)。

為保證無(wú)功補(bǔ)償控制的實(shí)時(shí)性要求,對(duì)于對(duì)方主動(dòng)發(fā)起TCP連接、對(duì)方發(fā)來(lái)數(shù)據(jù)、對(duì)方主動(dòng)釋放TCP連接、斷線和重連成功等事件都可以通過中斷通知給F448單片機(jī),以便單片機(jī)進(jìn)行相應(yīng)處理和操作。對(duì)于這些事件必須及時(shí)進(jìn)行處理,以便及時(shí)反映通信情況,并且避免相關(guān)的事件緩沖區(qū)和數(shù)據(jù)緩沖區(qū)溢出。由于電力系統(tǒng)無(wú)功補(bǔ)償測(cè)控終端一般都安裝野外環(huán)境中,地點(diǎn)偏遠(yuǎn),無(wú)人值守,設(shè)備必須能夠在特殊的環(huán)境下長(zhǎng)期、穩(wěn)定工作。因此在軟件上設(shè)定系統(tǒng)具有自動(dòng)撥號(hào)、斷線重?fù)芄δ?。在GPRS網(wǎng)絡(luò)狀態(tài)不穩(wěn)定時(shí),具有自動(dòng)恢復(fù)通訊能力,保證系統(tǒng)穩(wěn)定工作,無(wú)需人為干預(yù)。另外在電源抗干擾及散熱等方面也要特殊設(shè)計(jì),使終端設(shè)備能適應(yīng)惡劣工作環(huán)境。

服務(wù)器軟件設(shè)計(jì)

服務(wù)器端人機(jī)接口為用戶提供一個(gè)可視化的監(jiān)測(cè)界面,可以直觀、方便、快捷地了解電網(wǎng)和控制器的運(yùn)行狀態(tài),及時(shí)發(fā)現(xiàn)處理異常和故障情況。軟件采用圖形化編程界面軟件C++ Builder開發(fā),根據(jù)不同的功能分為用戶界面子系統(tǒng)、數(shù)據(jù)管理子系統(tǒng)和網(wǎng)絡(luò)通訊服務(wù)子系統(tǒng)。主要完成的功能有處理,數(shù)據(jù)處理,報(bào)表分析統(tǒng)計(jì)等。

用戶界面子系統(tǒng)作為主要的人機(jī)交互界面,可以根據(jù)

用戶查詢實(shí)時(shí)顯示終端電網(wǎng)三相電壓、電流、功率和功率因數(shù)等參數(shù),并可采用模擬指示燈、圖表、動(dòng)態(tài)曲線跟蹤等直觀的顯示方式,用戶可針對(duì)終端的運(yùn)行情況發(fā)出各種控制指令;數(shù)據(jù)管理子系統(tǒng)實(shí)現(xiàn)整點(diǎn)數(shù)據(jù)、投切記錄、停電數(shù)據(jù)、故障數(shù)據(jù)等信息的數(shù)據(jù)庫(kù)存儲(chǔ),可以根據(jù)要求調(diào)出控制器和電網(wǎng)的三個(gè)月內(nèi)的運(yùn)行數(shù)據(jù),用戶通過該子系統(tǒng)可以選擇查詢歷史紀(jì)錄、歷史曲線、歷史報(bào)警記錄、歷史報(bào)警曲線,實(shí)施權(quán)限修改、插入、報(bào)表打印等功能。

網(wǎng)絡(luò)通訊服務(wù)子系統(tǒng)采用C++ Builder的Socket控件和多線程技術(shù)來(lái)實(shí)現(xiàn)。由于服務(wù)器采用一對(duì)多的通訊方式,為防止當(dāng)有多個(gè)終端同時(shí)和服務(wù)器進(jìn)行通訊時(shí)發(fā)生信息阻塞,以保證通訊的實(shí)時(shí)性和可靠性,程序中使用線程技術(shù)來(lái)處理服務(wù)器與每一個(gè)終端的連接。啟動(dòng)GPRS并初始化完成后,使用輔助線程來(lái)監(jiān)聽Socket端口,當(dāng)有數(shù)據(jù)到達(dá)時(shí),輔助線程通過事件通知主線程處理收到的網(wǎng)絡(luò)協(xié)議數(shù)據(jù)包。主線程創(chuàng)建副線程來(lái)處理該次連接,在副線程中讀取數(shù)據(jù)并判斷是否正確,正確則保存數(shù)據(jù),錯(cuò)誤就將該數(shù)據(jù)包丟棄,數(shù)據(jù)處理完成后終止副線程,繼續(xù)監(jiān)聽斷開。

結(jié)語(yǔ)

本文介紹的GPRS無(wú)線數(shù)據(jù)傳輸系統(tǒng)經(jīng)西安達(dá)泰電子公司進(jìn)行了長(zhǎng)達(dá)半年的運(yùn)行測(cè)試,主機(jī)在西安市區(qū),16個(gè)控制終端分布在近郊各地的變電站。測(cè)試結(jié)果表明系統(tǒng)的組網(wǎng)費(fèi)用節(jié)約40%_50%,人工出修率不到以前的1/3。其總體的精度指標(biāo)、實(shí)時(shí)性指標(biāo)、容量指標(biāo)、可靠性指標(biāo)均優(yōu)于或等同于傳統(tǒng)數(shù)傳系統(tǒng)。只是系統(tǒng)有時(shí)會(huì)因移動(dòng)通信網(wǎng)絡(luò)的覆蓋范圍和信號(hào)質(zhì)量問題而出現(xiàn)響應(yīng)超時(shí)或停止響應(yīng),但這種情況發(fā)生的概率很低,可以通過軟件容錯(cuò)和重發(fā)機(jī)制解決。

采用GPRS網(wǎng)絡(luò)遠(yuǎn)程數(shù)據(jù)通訊比其它專線或射頻通訊方式有不可比擬的優(yōu)越性,該通信系統(tǒng)具有連接方便、擴(kuò)充性好、成本低、維護(hù)工作量小等特點(diǎn)。在電力系統(tǒng)電網(wǎng)自動(dòng)化管理和實(shí)時(shí)監(jiān)控中使用GPRS無(wú)線網(wǎng)絡(luò)通過Internet傳輸數(shù)據(jù),將會(huì)具有很好的應(yīng)用前景。


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉