張巧娟,張瑞峰,張吉斌,路 瑤,楊高興,柴璐軍
(西安中車永電電氣有限公司,陜西 西安 710016)
隨著綠色低碳發展成為各國發展的趨勢,清潔能源成為各行業大力開發的方向。車載儲能式導軌電車使用超大電容為整車提供能量,既實現了能量的高效循環利用,同時也達到了綠色環保的目的。在整個項目進行中,根據試驗項點的不同,需要測試的參數發生變化,收發地址可能會不同,對接收數據的實時性要求也不同。一款監控軟件也不可能一直隨之改動,而使用多個軟件成本又會增加。為驗證程序的可靠性、有用性、穩定性和安全性,設計了一款實用的監控軟件。該軟件能在很大幅度上減少調試人員工作時間,提高工作效率,降低成本。
車載儲能式導軌電車的牽引系統由高壓箱、牽引逆變器1、牽引逆變器2、DC/DC電路、超級電容等組成。牽引系統結構如圖1所示。電車運行過程中超級電容放電,通過DC/DC電路變換為牽引逆變器1和牽引逆變器2供電。電車到站后,750 V直流電通過高壓箱變電為超級電容充電。

圖1 牽引系統結構圖
在牽引系統的各個部位,安裝了多個電壓、電流傳感器來檢測各個位置的參數,A/D板卡定時采集數據給數字信號處理化(digital signal processing,DSP)。DSP定時(30 ms)將所需數據發送給監控軟件用于調試。在調試過程中,若不能及時接收數據,則會出現數據覆蓋或溢出,使得用戶不能及時掌握系統變化,從而出現不可預知的結果。因此,牽引系統監控軟件的設計對數據的實時性要求較高。
監控軟件通過CAN卡與TCU上的DSP芯片進行通信、DSP根據用戶指令產生信號傳送給現場可編程門陣列(field programmable gate array,FPGA)。FPGA發送脈沖給絕緣雙核型晶體管(insnlated gate bipolar transistor,IGBT)模塊來控制電機動作。這個過程中:牽引逆變器和電機中的參數通過傳感器將數據反饋給FPGA,FPGA與DSP之間進行數據傳輸,DSP將即時數據通過CAN卡實時發送給監控軟件,形成閉環回路達到實時監控的目的,便于調試人員根據數據及時作出判斷。數據交互如圖2所示。

圖2 數據交互圖
車載儲能式導軌電車牽引系統監控軟件采用Visual Basic語言[1-8]開發軟件。該語言開發周期短,易入手。而牽引系統對實時性要求較高,使用VB.Net[3],可有效解決VB不支持繼承、無原生支持多線程、異常處理不完善等缺點[4]。
由于CAN總線[5]具有實時性強、傳輸距離遠、抗電磁干擾能力強等優點,采用雙線串行通信方式,檢錯能力強,可在高噪聲干擾環境中工作[4],非常適用于牽引系統調試現場。本文使用Visual Basic 2013作為開發軟件,通過選擇運行CPU,可解決在不同系統上安裝的兼容性問題;選用周立功的USB-CAN2A型號實現CAN卡與DSP之間的通信。
牽引系統對監控軟件[6-7]的功能要求主要分為以下幾個方面:通信、根據調試環境來修改顯示參數、下發指令、顯示故障信息、顯示曲線、存儲數據。監控軟件功能要求結構如圖3所示。

圖3 監控軟件功能要求結構圖
根據軟件的功能要求,對軟件界面布局,模塊大致可分為通信模塊、修改參數模塊(包括修改地址、修改顯示參數和修改故障信息參數)、數據顯示模塊、曲線顯示模塊和數據存儲模塊。監控軟件設計界面結構如圖4所示。

圖4 監控軟件設計界面結構圖
通信模塊使用ZLG CAN卡實現軟件與DSP之間的通信;修改參數模塊包括修改接收地址,修改顯示數據參數,修改故障信息參數;數據顯示模塊數據顯示和故障燈顯示;曲線顯示模塊可根據需要選擇顯示的曲線; 發送數據模塊將指令發送給DSP;數據存儲模塊用來保存接收到的數據。
軟件啟動后,程序首先初始化,賦初值;通過相應按鈕來觸發事件,依次點擊“修改接收地址”按鈕、“修改參數名稱”按鈕和“修改故障名稱”按鈕,分別執行讀取接收地址、修改參數名稱、修改故障名稱等修改參數子模塊;調用通信子模塊后,判斷軟件是否處于通信狀態,正常通信后,根據實際操作,自動建立子線程1進行數據接收子模塊程序,將接收到的數據存儲到緩存區中后,判斷是否停止接收。若是,則子線程1結束;否則循環進行該流程。在接收數據的過程中,可觸發事件按鈕用于判斷是否有其他操作,如發送數據、存儲數據、操作曲線顯示界面等。若有,則執行相應事件;若無,則結束。系統流程如圖5所示。

圖5 系統流程圖
軟件通信時,使用CAN卡連接DSP和牽引系統監控軟件。打開監控軟件后,需要先選好設備類型、設備索引號、所使用的CAN卡通道等參數。使用ZLG的二次開發接口函數庫中的OpenDevice函數連接CAN卡,傳輸波特率設為250 KB,無屏蔽碼,數據全部接收,實現對CAN卡的初始化。打開設備,啟動CAN卡后,若通信正常,則接收數據。接收數據設為一次接收1 600幀數據來保證數據能夠及時讀取,數據不會丟失和溢出。
在監控軟件中,根據項目的進度,每個階段調試的項目不同、收發數據的地址不同、需要顯示的參數也不同,界面顯示參數能隨之變化。而程序不可能一直改動,故需借助Excel來實現此功能。
首先,實現與Excel的連接[9]。在項目中先對Excel進行引用。其次,對Excel進行操作,主要是讀取Excel表信息。選用OpenFileDialog控件使用戶能自由選擇讀取文檔,窗口正常顯示后,打開選擇的Excel文檔,設置Excel表不可見,將表中單元格的值賦值給相應變量或控件來顯示。操作完成后,將當前活動表格關閉,釋放資源。為了調試便于查找故障源,加入Try…Catch ex as Exception…End Try語句來捕捉調試過程中出現的異常情況。
數據存儲功能使用FileStream操作I/O口進行讀寫文檔,頭文件中導入 System.I/O,定義文件名的格式,設置存儲數據標志位為布爾型變量。若為False,則存儲數據計數值為0,先寫入標題,后存入數據。若存儲數據計數值超過50 000,則將存儲數據標志位設為True,否則False;儲存數據標志位為True,則重復上述過程。在接收數據時,可點擊“開始存儲”按鈕來保存數據,點擊“停止存儲”則結束。
曲線顯示功能要求在同一界面上顯示多條曲線[10],曲線可以根據需要選擇是否顯示。該軟件使用第三方插件RTTrend控件來繪制曲線,使用CheckBox控件實現可選曲線。通過ComboBox控件實現對數據的縮放。
所設計的車載儲能式導軌電車牽引系統監控軟件從用戶的角度思考問題,完全能夠滿足用戶的現場需求,為調試提供便利,最大限度地減少后期工作。目前,該軟件已應用于車載儲能式導軌電車牽引系統現場調試中,獲得了良好的反饋。