新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > GPRS無線通訊在無功補償控制系統中的應用

        GPRS無線通訊在無功補償控制系統中的應用

        作者: 時間:2013-07-04 來源:網絡 收藏

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

        3) 數據發送完成后不再需要這條連接時,就可以把連接掛斷。

        在這里我們采用在MSP430F448中軟件嵌入TCP/IP協議棧uIP的方法來實現TCP/IP協議。uIP是一種免費公開源代碼的小型TCP/IP協議棧,專門為8位和16位MCU編寫。uIP完全是用C語言編寫,它采用了一個事件驅動接口,通過調用應用程序響應事件。uIP的源代碼只有幾KB,RAM占用僅幾百字節,但uIP實現了TCP/IP協議集的四個基本協議:ARP地址解析協議,IP網際互聯協議,ICMP網絡控制報文協議和TCP傳輸控制協議。用戶可以方便的調用接口函數來實現TCP/IP協議。

        uIP與系統底層的接口包括與設備驅動的接口和系統定時器的接口兩類。在程序的主循環中,底層接口程序循環檢查是否收到數據包和周期定時器是否超時溢出。TCP/IP協議程序中主控環程序流程如圖3所示。

        TCP

        圖3 TCP/IP協議中程序主流程

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

        系統定時器使用msp430f448的16位定時器Timer_B作為時鐘基準,定時周期設為1s。定時器主要用于處理數據傳輸錯誤重發、應答延時、往返時間(RTT)估計等。應用程序事件2主要是對定時器超時事件的處理:當TCP連接建立時,uIP周期性調用函數uip_periodic()來驅動TCP/IP協議定時器和重發事件。當數據發送后,轉發定時器進行減計數,如果在一個定時器周期內沒收到接收端的確認(ACK)消息,發送端就認為這個數據丟失置標志位,應用程序檢查標志則產生上次發送的數據并重發。

        為保證無功補償控制的實時性要求,對于對方主動發起TCP連接、對方發來數據、對方主動釋放TCP連接、斷線和重連成功等事件都可以通過中斷通知給F448單片機,以便單片機進行相應處理和操作。對于這些事件必須及時進行處理,以便及時反映通信情況,并且避免相關的事件緩沖區和數據緩沖區溢出。由于電力系統無功補償測控終端一般都安裝野外環境中,地點偏遠,無人值守,設備必須能夠在特殊的環境下長期、穩定工作。因此在軟件上設定系統具有自動撥號、斷線重撥功能。在GPRS網絡狀態不穩定時,具有自動恢復通訊能力,保證系統穩定工作,無需人為干預。另外在電源抗干擾及散熱等方面也要特殊設計,使終端設備能適應惡劣工作環境。

        服務器軟件設計

        服務器端人機接口為用戶提供一個可視化的監測界面,可以直觀、方便、快捷地了解電網和控制器的運行狀態,及時發現處理異常和故障情況。軟件采用圖形化編程界面軟件C++ Builder開發,根據不同的功能分為用戶界面子系統、數據管理子系統和網絡通訊服務子系統。主要完成的功能有處理,數據處理,報表分析統計等。

        用戶界面子系統作為主要的人機交互界面,可以根據

        用戶查詢實時顯示終端電網三相電壓、電流、功率和功率因數等參數,并可采用模擬指示燈、圖表、動態曲線跟蹤等直觀的顯示方式,用戶可針對終端的運行情況發出各種控制指令;數據管理子系統實現整點數據、投切記錄、停電數據、故障數據等信息的數據庫存儲,可以根據要求調出控制器和電網的三個月內的運行數據,用戶通過該子系統可以選擇查詢歷史紀錄、歷史曲線、歷史報警記錄、歷史報警曲線,實施權限修改、插入、報表打印等功能。

        網絡通訊服務子系統采用C++ Builder的Socket控件和多線程技術來實現。由于服務器采用一對多的通訊方式,為防止當有多個終端同時和服務器進行通訊時發生信息阻塞,以保證通訊的實時性和可靠性,程序中使用線程技術來處理服務器與每一個終端的連接。啟動GPRS并初始化完成后,使用輔助線程來監聽Socket端口,當有數據到達時,輔助線程通過事件通知主線程處理收到的網絡協議數據包。主線程創建副線程來處理該次連接,在副線程中讀取數據并判斷是否正確,正確則保存數據,錯誤就將該數據包丟棄,數據處理完成后終止副線程,繼續監聽斷開。

        結語

        本文介紹的GPRS無線數據傳輸系統經西安達泰電子公司進行了長達半年的運行測試,主機在西安市區,16個控制終端分布在近郊各地的變電站。測試結果表明系統的組網費用節約40%_50%,人工出修率不到以前的1/3。其總體的精度指標、實時性指標、容量指標、可靠性指標均優于或等同于傳統數傳系統。只是系統有時會因移動通信網絡的覆蓋范圍和信號質量問題而出現響應超時或停止響應,但這種情況發生的概率很低,可以通過軟件容錯和重發機制解決。

        采用GPRS網絡遠程數據通訊比其它專線或射頻通訊方式有不可比擬的優越性,該通信系統具有連接方便、擴充性好、成本低、維護工作量小等特點。在電力系統電網自動化管理和實時監控中使用GPRS無線網絡通過Internet傳輸數據,將會具有很好的應用前景。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 栾川县| 大埔县| 长海县| 新乡县| 北票市| 宣城市| 台南市| 乐山市| 桃源县| 迁西县| 沅陵县| 安康市| 新宾| 新密市| 宜章县| 海南省| 灵川县| 平江县| 始兴县| 谷城县| 衡东县| 威海市| 文安县| 安泽县| 尚义县| 延长县| 汉川市| 隆化县| 泸定县| 陈巴尔虎旗| 平定县| 故城县| 莒南县| 满洲里市| 红原县| 仪征市| 吴川市| 松潘县| 新余市| 枣阳市| 楚雄市|