王洪偉 夏明超 北京交通大學(xué)電氣工程學(xué)院
電力機車能耗以及由于無功造成的罰款是電力機務(wù)段的主要運營成本[1] ?,F(xiàn)在各型電力機車使用的機械式電度表測量精度低,必須采用人工抄表,而且人工抄表只能反映機車整趟作業(yè)的功耗,無法確知機車在運行各階段的區(qū)間瞬時能耗。而區(qū)間瞬時能耗是評價司機操作是否合理以及電力機車牽引部件狀態(tài)是否良好,從而實現(xiàn)機車從定修向狀態(tài)修過渡的重要性能指標。本文設(shè)計的遠程能耗監(jiān)測系統(tǒng)可以對電力機車運行過程中的能耗進行定時定點記錄,并通過GPRS自動發(fā)送到地面服務(wù)器,通過軟件可以實現(xiàn)電量的分人、分車、分段的自動統(tǒng)計。
本系統(tǒng)采用專用電能測量芯片,高速準確采集能耗信息,提高了能耗計量的分辨率和準確度??梢詫崿F(xiàn)有功、無功電能的正、反向計量,在替代了機車上原有3只機械式電表的同時,增加了反向無功計量功能;此外,本裝置還可以實時檢測弓網(wǎng)電壓、電流、頻率以及離線率等弓網(wǎng)供電參數(shù),通過對以上參數(shù)的監(jiān)測,為供電系統(tǒng)維護提供科學(xué)的實測數(shù)據(jù),改善供電品質(zhì)??梢詫崿F(xiàn)分區(qū)間用電記錄,作為不同供電段以及不同路局之間電能結(jié)算的依據(jù)。由于系統(tǒng)基于GPRS進行數(shù)據(jù)轉(zhuǎn)儲,極大地降低了工作人員的工作強度,節(jié)約了管理成本。
電力機車遠程能耗監(jiān)控系統(tǒng)的總體結(jié)構(gòu)如圖1所示,包括上部的車載電能采集終端和下部的監(jiān)控中心服務(wù)器軟件兩部分。
圖1 系統(tǒng)總體結(jié)構(gòu)框圖
車載電能采集終端適合于電力機車主變壓器副邊額定頻率50 Hz、交流100 V電能的計量,可測量電力機車的正向有功、正向無功、反向有功、反向無功、供電頻率、網(wǎng)壓、離線率以及機車級位手柄等電參數(shù)。并通過RS-485接口從機車上的安全綜合信息平臺TAX箱(簡稱TAX箱)獲取機車號、機車型號、時間、車次、司機號、牽引總重、記長、輛數(shù)、公里標、區(qū)間段、站號、速度等機車運用信息,這些運行信息作為電參數(shù)記錄的標尺。記錄的信息通過GPRS遠程傳輸?shù)奖O(jiān)控中心,服務(wù)器軟件對接收的能耗及狀態(tài)參數(shù)實時顯示,并記入ORACLE數(shù)據(jù)庫,實現(xiàn)分人、分時、分車、分區(qū)段的統(tǒng)計與計量,機務(wù)、供電及路局等各級用戶還可根據(jù)自己的權(quán)限通過網(wǎng)絡(luò)實現(xiàn)數(shù)據(jù)的查詢與管理。
車載電能采集終端是系統(tǒng)的核心,其原理框圖如圖2所示。
圖2 車載能耗監(jiān)測裝置原理圖
該裝置采用16位單片機MC9S12A64作為CPU,利用SA9904B作為電能測量芯片,為提高抗干擾能力,在CPU和SA9904B之間利用光耦加以隔離。CPU通過RS485通訊從機車兩端的TAX箱獲取機車運行信息,由于列車運行過程中只有一端的TAX箱上電工作,因此CPU需要在兩個TAX箱間自動切換直至找到正確的數(shù)據(jù)源。同時CPU還利用A/D變換采集機車操作手柄的級位,采集的信息通過6位LED數(shù)碼管進行顯示,并將符合條件的數(shù)據(jù)記錄到非易失RAM芯片AT45DB041中,記錄的數(shù)據(jù)可以通過GPRS或IC卡兩種方式進行轉(zhuǎn)儲。同時,為了對能耗裝置進行校準,保留了校準脈沖的輸出。
電量測量主要通過SA9904B實現(xiàn),它可測量三相交流電的有功功率、無功功率、電壓、頻率及電能,CPU通過SPI串行接口訪問其內(nèi)部寄存器的測量值。對SA9904B來說,其電流輸入端可連接電流互感器的副邊,電壓輸入端需要通過如圖3所示的電阻網(wǎng)絡(luò)配置其電壓感應(yīng)輸入。流入電壓感應(yīng)輸入端(虛擬輸入端)的電流應(yīng)在額定條件設(shè)為14 μARMS,電壓感應(yīng)輸入飽和于±25 μA峰值的輸入電流。
分壓網(wǎng)絡(luò)(見圖3)應(yīng)將C5之前的電壓分為14 VRMS,R8用于設(shè)定電壓感應(yīng)輸入的電流,阻值為1 MΩ。
設(shè):
當(dāng)電力機車相電壓為100 V時,為了能夠在C5前分得14 V的電壓,有如下關(guān)系:
當(dāng) R13 為 24 kΩ 時,RB=23.44 kΩ,RA=143.98 kΩ。
因此,只要將R16、R19及R22的串聯(lián)電阻值配置為144 kΩ即可。
圖3 電壓感應(yīng)輸入通道配置網(wǎng)絡(luò)
本系統(tǒng)采用AT45DB041進行車載數(shù)據(jù)的記錄。由于空間有限,既要保證數(shù)據(jù)的完整又要盡可能少的記錄數(shù)據(jù)。因此,必須采用合理的數(shù)據(jù)壓縮記錄算法。
本系統(tǒng)需要記錄的數(shù)據(jù)包括機車運用信息和機車能耗狀態(tài)信息兩部分。機車運用信息中,除了時間、站號和公里標等隨車輛運動變化的數(shù)據(jù)以外,其它數(shù)據(jù)變化頻率很低,大約每8~10h才會變化一次,在運行過程中不需要重復(fù)記錄,能耗信息則需要在每包數(shù)據(jù)中都加以記錄。
為了實現(xiàn)分人、分車、分區(qū)段的能耗計量,本系統(tǒng)將上電、交路號、司機號、總重、站號及過分相點作為數(shù)據(jù)記錄條件。每條記錄26個字節(jié),由數(shù)據(jù)頭(2 Bytes)、變化數(shù)據(jù)(2 Bytes)、公共數(shù)據(jù)(21 Bytes)和校驗字節(jié)(1 Bytes)組成。由于26個字節(jié)無法完全記錄上電時所有的機車運用及能耗狀態(tài)信息,因此通過"@0"和"@1"兩個不同數(shù)據(jù)頭的數(shù)據(jù)幀進行記錄。此后,只有關(guān)注的機車運用信息發(fā)生變化后才進行記錄,交路號、司機號、總重、站號和分相點的變化分別用"@2~@6"作為數(shù)據(jù)頭加以區(qū)別,數(shù)據(jù)頭格式及具體含義見表1。
表1 記錄數(shù)據(jù)頭及含義
車載裝置采用GPRS無線模塊進行數(shù)據(jù)發(fā)送。GPRS模塊實際是一款內(nèi)嵌TCP/IP協(xié)議的GPRS Modem,具有訪問Internet的能力。車載裝置通過CPU的串行接口連接GPRS模塊,將存儲的數(shù)據(jù)逐條發(fā)送到監(jiān)控中心。數(shù)據(jù)發(fā)送采用指針發(fā)送方式,AT45DB041中同時保存著數(shù)據(jù)記錄指針和數(shù)據(jù)發(fā)送指針,只要發(fā)送指針小于記錄指針,就說明有數(shù)據(jù)等待發(fā)送。
所有的數(shù)據(jù)通訊均由車載GPRS模塊主動發(fā)起。本系統(tǒng)采用GPRS透明傳輸模式下的短連接功能,該模式下GPRS內(nèi)部配置了接收服務(wù)器的IP地址及端口。當(dāng)模塊接收到CPU串口發(fā)送的數(shù)據(jù)后,若模塊未在線,則自動建立與地面服務(wù)器之間的鏈接。鏈接一旦建立,地面服務(wù)器不僅可以接收GPRS模塊傳送的數(shù)據(jù),還可以向車載設(shè)備發(fā)送時間校準值或者要求模塊發(fā)送地面所需的數(shù)據(jù)。當(dāng)多臺車載GPRS模塊向服務(wù)器提出連接請求時,服務(wù)器會給每個模塊分配一個唯一的句柄號,通過該句柄,即可實現(xiàn)一對多的通訊。
車載GPRS模塊與地面服務(wù)器通訊遵循事先約定的通訊協(xié)議。服務(wù)器接收到GPRS發(fā)送一包數(shù)據(jù)后,先對數(shù)據(jù)進行CRC校驗,若校驗正確,將給車載終端發(fā)送應(yīng)答幀。車載終端接收到正確應(yīng)答幀后,模塊的發(fā)送指針調(diào)整到下一包要發(fā)送數(shù)據(jù)的首地址。否則,車載設(shè)備重新檢查所發(fā)數(shù)據(jù)包,并重新發(fā)送數(shù)據(jù)。通過這些嚴格的校驗、握手措施,可以保證準確的收發(fā)數(shù)據(jù)。若網(wǎng)絡(luò)繁忙或連接中斷,由于接不到應(yīng)答,車載終端會重發(fā)同一包數(shù)據(jù),因此不會出現(xiàn)數(shù)據(jù)丟失的情況。若網(wǎng)絡(luò)空閑,CPU將一直發(fā)送數(shù)據(jù)直到發(fā)送指針與記錄指針重合,此時表明記錄的數(shù)據(jù)已全部發(fā)送完畢,系統(tǒng)會自動停止發(fā)送。
服務(wù)器軟件的設(shè)計環(huán)境為Visual 2003.NET,其內(nèi)部的Socket提供了訪問TCP和UDP網(wǎng)絡(luò)服務(wù)的方便途徑。Visual 2003.NET通過設(shè)置WinSock控件的屬性并調(diào)用其方法就可輕易地實現(xiàn)網(wǎng)絡(luò)連接。在Visual 2003.NET中,Winsock有2種數(shù)據(jù)傳送格式:字符串型和字節(jié)流型,本系統(tǒng)采用字節(jié)流型。
為了在服務(wù)器端創(chuàng)建Socket應(yīng)用程序,需要設(shè)置一個收聽端口(LocalPort屬性)并調(diào)用Listen方法。當(dāng)客戶計算機需要連接時就會發(fā)生ConnectionRequest事件。為了完成連接,可調(diào)用ConnectionRequest事件內(nèi)的Accept方法。一旦連接建立,兩端均可使用SendData或GetData進行數(shù)據(jù)的發(fā)送或接收。格式如下:
功能為向當(dāng)前連接發(fā)送SendText中的字符串;功能為接收字符串,并保存在變量GetText中。
當(dāng)多個車載終端同時向地面服務(wù)器發(fā)送數(shù)據(jù)時,每發(fā)生一個ConnectionRequest事件,WinSock1的Index就加1,這樣每個ConnectionRequest事件就對應(yīng)唯一的Index,因此可以實現(xiàn)一對多的通訊。當(dāng)Index達到設(shè)定值后,清除所有Socket連接,由于GPRS模塊會自動重新上線,因此能夠保持接收軟件正常運行。服務(wù)器端應(yīng)用Socket控件接收數(shù)據(jù)的程序流程如圖4所示。
圖4 Socket數(shù)據(jù)接收程序流程
由于Socket控件接收的都是二進制數(shù),為了弄清各字節(jié)的含義,需要進行解壓處理,解壓即按照原始數(shù)據(jù)的壓縮存儲格式進行反向解釋。對于還原出來的信息,還需要進行合法性檢驗,例如,若解壓出來的時間中分鐘大于60,說明數(shù)據(jù)不合法,應(yīng)予剔除。只有通過合法性檢驗的數(shù)據(jù)包才能寫入數(shù)據(jù)庫。
服務(wù)器采用0racle 9i數(shù)據(jù)庫來存儲數(shù)據(jù)。Oracle關(guān)系數(shù)據(jù)庫是一種高效、可靠的適應(yīng)高吞吐量的數(shù)據(jù)庫解決方案。Oracle數(shù)據(jù)庫采用ADO方法操作,其核心是Connection,Recordset和Command對象。首先利用Connection與服務(wù)器建立連接,然后用Command對象執(zhí)行諸如查詢、更新等命令,用Recordset對象來操作和查看查詢結(jié)果。
數(shù)據(jù)顯示是人機界面的主體,顯示的內(nèi)容分為動態(tài)信息和數(shù)據(jù)庫查詢結(jié)果兩大部分。動態(tài)信息顯示接收的機車運行及狀態(tài)信息;用戶可以實現(xiàn)對司機、機車、區(qū)段和時間的組合查詢,對于查詢的結(jié)果,采用DataReport控件生成相應(yīng)的報表,便于查看和打印。
論文針對當(dāng)前電力機車能耗計量中的諸多不足,設(shè)計了電力機車遠程能耗監(jiān)測系統(tǒng),通過車載終端實時采集機車電能等狀態(tài)參數(shù)和運行參數(shù),并通過GPRS傳送到地面服務(wù)器,服務(wù)器端通過Visual 2003.NET編制的軟件實現(xiàn)了數(shù)據(jù)的接收、存儲及查詢,可通過不同條件的組合實現(xiàn)電力機車能耗的分人、分時、分車、分段的統(tǒng)計與計量。