| 供電系統(tǒng)無功補償控制中常需要對現(xiàn)場控制器進行遠程控制投切、讀取實時、歷史數(shù)據(jù)和接收故障報警信號等,上位機和無功補償終端之間通訊的命令和數(shù)據(jù)傳輸具有數(shù)據(jù)量小、定時或非定時及實時發(fā)送等特點,一方面需實現(xiàn)數(shù)據(jù)的上傳,另一方面也需要下達各種傳輸、控制指令,即實現(xiàn)雙向的數(shù)據(jù)、指令傳輸。傳統(tǒng)的數(shù)據(jù)傳輸方式主要有數(shù)傳電臺、無線射頻、電力載波等,這些傳輸方式存在覆蓋范圍、實時性、投資及運行維護費用等問題,同時對電網(wǎng)終端的無人值守運行存在較大困難。 由于GSM網(wǎng)絡(luò)的通信技術(shù)成熟,覆蓋面又廣,利用移動運營商提供的無線網(wǎng)絡(luò)實現(xiàn)配電網(wǎng)數(shù)據(jù)采集和監(jiān)控,是電力系統(tǒng)現(xiàn)代化的一個重要發(fā)展方向。如果配備GPRS通用無線分組業(yè)務(wù))無線Modem,無論何時何地,只要有一部可以接入Internet的電腦作為服務(wù)器就能實現(xiàn)對分布各地的無功補償控制器進行監(jiān)控,也能實現(xiàn)移動監(jiān)控。GPRS用于無線數(shù)據(jù)接入具有接入范圍廣、傳輸速率高、接入時間短、收費合理等優(yōu)點,這些特點正適合類似無功補償這種對多個終端實時監(jiān)控的應(yīng)用。 GPRS在GSM的基礎(chǔ)上引入了分組控制單元(PCU)、服務(wù)支持節(jié)點(SGSN)和網(wǎng)關(guān)支持節(jié)點(GGSN)等新部件而構(gòu)成的無線數(shù)據(jù)傳輸系統(tǒng),其用戶能夠在端到端分組方式下發(fā)送和接收數(shù)據(jù);贕PRS網(wǎng)的數(shù)據(jù)傳輸結(jié)構(gòu)如圖1所示。具體的數(shù)據(jù)傳輸流程為: * GPRS終端通過串行接口從客戶系統(tǒng)中取出用戶數(shù)據(jù); * 處理后以GPRS分組數(shù)據(jù)的形式發(fā)送到GSM基站; * 分組數(shù)據(jù)經(jīng)SGSN封裝后,發(fā)送到GPRS IP骨干網(wǎng);  點擊看原圖 圖1 GPRS無線網(wǎng)絡(luò)結(jié)構(gòu)框圖 若PC機服務(wù)器以撥號方式接入Internet,即PC機為移動GPRS內(nèi)部網(wǎng)分配的動態(tài)IP地址,則分組數(shù)據(jù)先發(fā)送到目的SGSN,再經(jīng)GSM基站發(fā)送到與PC機相連的GPRS終端;若PC機以專線接入因特網(wǎng)具有固定IP地址,則將分組數(shù)據(jù)包經(jīng)GGSN進行協(xié)議轉(zhuǎn)換后,發(fā)送到Internet公共網(wǎng)絡(luò)。 由于數(shù)據(jù)通過Internet公網(wǎng)傳輸,為了保證數(shù)據(jù)的安全性,可以申請移動公司為接入用戶建立VPDN(Virtual Private Dial-up Network)即虛擬撥號專網(wǎng)。其專用的網(wǎng)絡(luò)加密和通信協(xié)議,可以在公共網(wǎng)絡(luò)上建立安全的虛擬專網(wǎng),遠程用戶可以通過虛擬的加密通道與服務(wù)器內(nèi)部網(wǎng)絡(luò)連接,而公共網(wǎng)絡(luò)上的用戶則無法穿過虛擬通過訪問服務(wù)器。在基于GPRS網(wǎng)上承載VPDN不受地點限制,只需具有一臺PC機服務(wù)器和GPRS終端即可,具有安全、方便、靈活的特點。 系統(tǒng)組成 本系統(tǒng)由現(xiàn)場無功補償控制器、單片機控制GPRS通訊管理模塊和服務(wù)器上位機三部分構(gòu)成。終端使用基于DSP的無功補償控制器,控制器安裝在電網(wǎng)現(xiàn)場,對電網(wǎng)的電氣參數(shù)進行采集監(jiān)測,同時記錄、分析并計算采集數(shù)據(jù),自動進行電容投切操作,在異常時主動發(fā)出報警信息,同時存儲運行數(shù)據(jù)信息;基于MSP430單片機的GPRS通信管理模塊是服務(wù)器與現(xiàn)場控制器之間的數(shù)據(jù)傳輸?shù)臉蛄?它使控制器獲得的電網(wǎng)參數(shù)通過GPRS網(wǎng)絡(luò)能夠及時傳送到服務(wù)器計算機;上位機服務(wù)器主要完成對終端傳來的數(shù)據(jù)、報警信息進行處理并對各終端的歷史數(shù)據(jù)進行管理,是主要的人機接口。 通訊管理模塊主要由TI公司的16位低功耗單片機MSP430F448及其外圍電路構(gòu)成,GPRS模塊使用Siemens公司的MC35。終端的GPRS無線上網(wǎng)主要通過單片機控制MC35來實現(xiàn)。F448單片機具有2個可編程串行通訊口,其中UART0工作在同步通信方式和DSP的SPI接口相連,DSP工作在主機模式,F448工作在從機模式。UART1通過MAX232電平轉(zhuǎn)換芯片和MC35的串行數(shù)據(jù)口相連作為AT指令和數(shù)據(jù)的傳輸通道。單片機通過串口中斷程序及時處理GPRS終端收到的上位機 指令,并及時傳送給DSP。其硬件結(jié)構(gòu)如圖2所示。 F448帶有液晶驅(qū)動模塊,通過外接一個液晶顯示器和鍵盤,用戶就可以在現(xiàn)場手動進行參數(shù)設(shè)置,并查看電網(wǎng)實時數(shù)據(jù)、電容的投切狀態(tài)和各種故障報警信息。外接flash型數(shù)據(jù)存儲器AT45DB041,存儲容量為528KB,主要作為收發(fā)數(shù)據(jù)的暫存器。  點擊看原圖 圖2 通訊管理模塊結(jié)構(gòu)圖 TCP/IP協(xié)議的實現(xiàn) 在本系統(tǒng)中,需要利用TCP/IP協(xié)議來完成GPRS業(yè)務(wù)數(shù)據(jù)的裝幀和拆幀,在這里我們采用在MSP430F448中軟件嵌入TCP/IP協(xié)議棧uIP的方法來實現(xiàn)TCP/IP協(xié)議。使用TCP/IP協(xié)議進行數(shù)據(jù)通信分為三個階段: 1) 建立連接階段:使用OPEN命令幀控制MC35主動向服務(wù)器發(fā)起連接請求,服務(wù)器在本地偵聽一個端口,收到終端的請求后進行回應(yīng)并最終握手建鏈成功,進入數(shù)據(jù)狀態(tài)。 2) 當連接建立后,就可以在這條連接上進行數(shù)據(jù)收發(fā)。使用SEND命令幀控制MC35發(fā)送數(shù)據(jù),發(fā)送時要指定連接號(由本地端口、目的IP地址和端口唯一確定)。 3) 數(shù)據(jù)發(fā)送完成后不再需要這條連接時,就可以把連接掛斷。 在這里我們采用在MSP430F448中軟件嵌入TCP/IP協(xié)議棧uIP的方法來實現(xiàn)TCP/IP協(xié)議。uIP是一種免費公開源代碼的小型TCP/IP協(xié)議棧,專門為8位和16位MCU編寫。uIP完全是用C語言編寫,它采用了一個事件驅(qū)動接口,通過調(diào)用應(yīng)用程序響應(yīng)事件。uIP的源代碼只有幾KB,RAM占用僅幾百字節(jié),但uIP實現(xiàn)了TCP/IP協(xié)議集的四個基本協(xié)議:ARP地址解析協(xié)議,IP網(wǎng)際互聯(lián)協(xié)議,ICMP網(wǎng)絡(luò)控制報文協(xié)議和TCP傳輸控制協(xié)議。用戶可以方便的調(diào)用接口函數(shù)來實現(xiàn)TCP/IP協(xié)議。 uIP與系統(tǒng)底層的接口包括與設(shè)備驅(qū)動的接口和系統(tǒng)定時器的接口兩類。在程序的主循環(huán)中,底層接口程序循環(huán)檢查是否收到數(shù)據(jù)包和周期定時器是否超時溢出。TCP/IP協(xié)議程序中主控環(huán)程序流程如圖3所示。  點擊看原圖 圖3 TCP/IP協(xié)議中程序主流程 uIP通過函數(shù)uip_input()和全局變量uip_buf、uip_len來實現(xiàn)與設(shè)備驅(qū)動的接口,收發(fā)IP數(shù)據(jù)包時觸發(fā)應(yīng)用程序接口事件。應(yīng)用程序事件1主要是對數(shù)據(jù)包的處理:當數(shù)據(jù)來自MCU時則進行TCP/IP打包然后送GPRS模塊發(fā)送到Internet網(wǎng)絡(luò);當收到來自GPRS模塊的數(shù)據(jù)時則進行相應(yīng)的解包處理,抽出數(shù)據(jù),按發(fā)送前的順序還原,并加以校驗,若發(fā)現(xiàn)錯誤,TCP/IP棧會要求重發(fā),然后將數(shù)據(jù)通過串口送控制器。uIP協(xié)議棧提供了一系列接口函數(shù)供用戶程序調(diào)用,這使得我們不需要了解數(shù)據(jù)的具體處理過程,只需要調(diào)用相應(yīng)的接口函數(shù)把數(shù)據(jù)送上層應(yīng)用程序即可。 系統(tǒng)定時器使用msp430f448的16位定時器Timer_B作為時鐘基準,定時周期設(shè)為1s。定時器主要用于處理數(shù)據(jù)傳輸錯誤重發(fā)、應(yīng)答延時、往返時間(RTT)估計等。應(yīng)用程序事件2主要是對定時器超時事件的處理:當TCP連接建立時,uIP周期性調(diào)用函數(shù)uip_periodic()來驅(qū)動TCP/IP協(xié)議定時器和重發(fā)事件。當數(shù)據(jù)發(fā)送后,轉(zhuǎn)發(fā)定時器進行減計數(shù),如果在一個定時器周期內(nèi)沒收到接收端的確認(ACK)消息,發(fā)送端就認為這個數(shù)據(jù)丟失置標志位,應(yīng)用程序檢查標志則產(chǎn)生上次發(fā)送的數(shù)據(jù)并重發(fā)。 為保證無功補償控制的實時性要求,對于對方主動發(fā)起TCP連接、對方發(fā)來數(shù)據(jù)、對方主動釋放TCP連接、GPRS斷線和重連成功等事件都可以通過中斷通知給F448單片機,以便單片機進行相應(yīng)處理和操作。對于這些事件必須及時進行處理,以便及時反映通信情況,并且避免相關(guān)的事件緩沖區(qū)和數(shù)據(jù)緩沖區(qū)溢出。 &n |