楊 寧,李 紅,左 鵬
(中國鐵道科學(xué)研究院 機(jī)車車輛研究所,北京100081)
在高速動(dòng)車組輔助變流器的國產(chǎn)化進(jìn)程中,控制器作為核心部件,具有舉足輕重的作用,因此對控制器的引進(jìn)、消化、吸收、再創(chuàng)新意義重大?;诜奖阊芯枯o助變流器控制器控制思想與邏輯的考慮[1-2],采用真實(shí)控制器加虛擬外圍回路的形式[3],構(gòu)建了一個(gè)便捷的半實(shí)物仿真環(huán)境的控制器分析平臺(tái)。為了對半實(shí)物仿真數(shù)據(jù)進(jìn)行采集、監(jiān)測、存儲(chǔ),需要半實(shí)物仿真數(shù)據(jù)的監(jiān)測臺(tái)[4]進(jìn)行具有針對性的數(shù)據(jù)處理,便于后期分析工作的展開。
除去系統(tǒng)的供電部分與模擬輔助變流器電路中的接觸器部分,半實(shí)物仿真[4]的總體結(jié)構(gòu)簡圖見圖1。它由輔助變流器控制器、工控機(jī)1與顯示器、工控機(jī)2與顯示器組成。由于輔助變流器主電路的仿真需要占用大量的資源,因此由工控機(jī)1負(fù)責(zé)主電路的軟件仿真??刂破魍ㄟ^向工控機(jī)1發(fā)出控制信號和脈沖,并接收工控機(jī)1反饋的傳感器信號,形成輔助變流器的閉環(huán)控制系統(tǒng)。在控制過程中所有控制器與工控機(jī)1交互的控制信號、脈沖、傳感器信號都是分析輔助變流器控制方法的重要數(shù)據(jù)。數(shù)據(jù)監(jiān)測臺(tái)起到了對上述重要數(shù)據(jù)采集、顯示與保存的作用,它由工控機(jī)2和顯示屏組成。

圖1 半實(shí)物仿真總體結(jié)構(gòu)簡圖
根據(jù)動(dòng)車組輔助變流器的控制開關(guān)頻率較低的特性,監(jiān)測臺(tái)的數(shù)據(jù)采集系統(tǒng)采用PCI總線的數(shù)據(jù)采集卡結(jié)合工控機(jī)的結(jié)構(gòu),采集接口見圖2。這種方案簡化了設(shè)計(jì)結(jié)構(gòu),降低設(shè)計(jì)成本,無需額外的硬件設(shè)備就可以使用基于PC機(jī)的系統(tǒng)架構(gòu)。由于需要采集11路模擬通道、6路數(shù)字通道,在采集卡的選擇上,需要選擇采集速度較高、帶有FIFO緩存、具備直接訪問內(nèi)存空間存儲(chǔ)數(shù)據(jù)功能的高速采集卡,便于實(shí)現(xiàn)大量數(shù)據(jù)的實(shí)時(shí)顯示與搬運(yùn)。

圖2 數(shù)據(jù)采集接口
工控機(jī)的軟件開發(fā)平臺(tái)是基于Windows操作系統(tǒng)下的開發(fā)環(huán)境。在這種開發(fā)環(huán)境下,實(shí)現(xiàn)PCI數(shù)據(jù)采集的操作、制作人機(jī)交互界面比較常見的方法有使用G語言的labview軟件,或使用C語言的Visual C++軟件,亦或使用 VB語言的 Visual Basic軟件[5]。Labview是一款基于圖形編程的軟件[6],擅長于控制類編程,具有開發(fā)周期短,專業(yè)控件齊全等優(yōu)點(diǎn);Visual C++編程較靈活,對于程序開發(fā)者而言,具有更大的自由度,在速度、穩(wěn)定性方面很占優(yōu)勢。Visual Basic則是介于Labview和Visual C++兩者之間,相對于Labview,程序開發(fā)有更大的自由度,相對于Visual C++,程序具備圖形界面必要的控件與直接操作數(shù)據(jù)采集卡的功能。所以,在設(shè)計(jì)方案上采用VB語言的Visual Basic軟件作為開發(fā)環(huán)境。
采集系統(tǒng)共有6路數(shù)字信號、11路模擬信號。根據(jù)香農(nóng)采樣定理,為了不失真的恢復(fù)被采集的信號,采樣頻率應(yīng)該不小于模擬信號頻譜中最高頻率的2倍。為了對采集到的信號進(jìn)行很好的顯示與存儲(chǔ),采集卡在內(nèi)部時(shí)鐘下,數(shù)字通道采用2 MHz的時(shí)鐘讀取頻率,模擬通道采用480 k Hz的采樣頻率,因此數(shù)據(jù)吞吐量較大。Windows操作系統(tǒng)是多任務(wù)分時(shí)復(fù)用的系統(tǒng),在Visual Basic軟件的數(shù)據(jù)實(shí)時(shí)讀取上經(jīng)常被操作系統(tǒng)的其他進(jìn)程所打斷[7],因此在采集卡實(shí)時(shí)連續(xù)讀取數(shù)據(jù)的問題上遇到了難題。
為了解決這一問題,對數(shù)據(jù)的讀取可采用直接內(nèi)存存取方式。DMA(Direct Memor y Access,直接內(nèi)存存?。┦乾F(xiàn)代PC機(jī)高速數(shù)據(jù)傳輸?shù)囊环N方式,它不需要占用CPU的資源,可以直接訪問內(nèi)存,在DMA數(shù)據(jù)傳輸時(shí),由DMA控制器直接管理總線,完成數(shù)據(jù)的寫入。在對數(shù)據(jù)采集卡的數(shù)據(jù)讀取過程中,可以設(shè)置兩片用戶內(nèi)存中的大容量buffer,使用DMA的讀取方式,將數(shù)據(jù)寫入buff er中,在Visual Basic軟件編程中,通過對buff er前半滿和后半滿的查詢將數(shù)據(jù)從buffer中讀出。這樣可以保證采集到的數(shù)據(jù)連續(xù),不會(huì)丟失。數(shù)據(jù)讀取程序流程框圖見圖3。

圖3 模擬、數(shù)字?jǐn)?shù)據(jù)采集流程框圖
首先,通過Visual Basic軟件在程序中設(shè)置兩塊內(nèi)存數(shù)組空間。然后,將數(shù)據(jù)采集卡初始化,完成VB與采集卡驅(qū)動(dòng)的連接。隨后,對采集卡的參數(shù)進(jìn)行配置,采用DMA數(shù)據(jù)傳輸模式,映射數(shù)據(jù)到數(shù)組空間。最后,啟動(dòng)AD或者數(shù)字采集卡的定時(shí)器,即完成DMA傳輸下采集卡的配置,數(shù)據(jù)會(huì)自動(dòng)連續(xù)寫入先前定義好的內(nèi)存數(shù)組空間。
將需要分析的數(shù)據(jù)從buffer中讀出后寫入到用戶的存儲(chǔ)空間,然后需要將這些數(shù)據(jù)直觀依次地通過顯示屏顯示給用戶。波形的顯示程序包括波形的實(shí)時(shí)顯示和波形的回放程序。雖然VB具有較好的圖形界面和顯示控件,但是在波形的實(shí)時(shí)顯示上存在兩個(gè)較大的難點(diǎn):顯示與采集程序的匹配問題和顯示波形的閃爍問題。
(1)關(guān)于顯示與采集程序的匹配問題的解決方法。由于屏幕上需要顯示數(shù)據(jù)量的不確定性,顯示的速率總是快于或者慢于采集速度。為了能解決這一問題,在顯示環(huán)節(jié)加入了一個(gè)較大的顯示緩存,緩存的存儲(chǔ)量為顯示窗口最大能顯示的數(shù)據(jù)量。采集程序會(huì)不斷刷新顯示緩存,保證顯示緩存里存儲(chǔ)的是連續(xù)采集到的數(shù)據(jù)。顯示程序可以自由的顯示出緩存里任意比例的數(shù)據(jù)。
(2)關(guān)于顯示波形閃爍問題的解決方法。VB波形顯示的方式可通過向Visual Basic中的Picture控件中繪制連續(xù)線段的方式來實(shí)現(xiàn)的,這種方法比較適用于顯示數(shù)據(jù)量較小,顯示實(shí)時(shí)性要求不高的場合。對于高速采集到的大量數(shù)據(jù),而且實(shí)時(shí)性要求較高的系統(tǒng),此方法會(huì)造成人眼無法接受的閃爍并且占用大量的CPU資源。為了更好的解決該問題,將顯示方法進(jìn)行了改進(jìn),通過在VB中調(diào)用Windows API函數(shù),使用Bit Blt函數(shù)雙緩存顯示的方式大大改善了閃爍問題。雙緩存的顯示思想是在界面中設(shè)置兩塊顯示區(qū),第一塊顯示區(qū)是作為緩顯(用戶看不到),第二塊顯示區(qū)作為顯示界面呈現(xiàn)給用戶。首先將數(shù)據(jù)畫在第一塊顯示區(qū)上,當(dāng)畫完第一塊顯示區(qū)后再將第一塊顯示區(qū)的所有數(shù)據(jù)復(fù)制到第二塊顯示區(qū)上,顯示給操作用戶。延長了刷新間隔,降低了閃爍,顯示效果與示波器類似。波形的回放較為簡單,直接設(shè)置一塊和顯示緩存一樣大小的回放緩存,當(dāng)需要回放的時(shí)候,將回放的數(shù)據(jù)直接畫到顯示緩存區(qū)即可。
數(shù)據(jù)存儲(chǔ)為了便于后期對采集到的數(shù)據(jù)進(jìn)行分析,數(shù)據(jù)的存儲(chǔ)必不可少,同時(shí)還應(yīng)該具備數(shù)據(jù)的完整性和實(shí)時(shí)性。擬將數(shù)據(jù)存入到Micr osoft Office Excel 2003工作表中,VB對工作表的讀寫已經(jīng)很成熟、便捷,但是在大量的數(shù)據(jù)讀寫下,由于VB直接對工作表的操作響應(yīng)慢,效率低,數(shù)據(jù)的存儲(chǔ)完全影響了其他程序的運(yùn)行。為了解決這個(gè)問題可以采用讀寫文本文件的方式向Microsoft Office Excel 2003工作表中存儲(chǔ)數(shù)據(jù),這樣速度快、可靠性高,并且在存儲(chǔ)過程中將數(shù)據(jù)進(jìn)行有效的分割,便于后期的數(shù)據(jù)處理。
數(shù)據(jù)監(jiān)測臺(tái)的顯示界面實(shí)現(xiàn)了對輔助變流器重要信號的直觀顯示,實(shí)現(xiàn)了同示波器一樣的多通道輸入顯示測量功能,其顯示部分包括:波形顯示區(qū)、功能按鈕區(qū)、輔助變流器主電路示意圖區(qū)。
波形顯示區(qū)類似于示波器的顯示窗口,可以同時(shí)顯示數(shù)據(jù)采集卡11個(gè)模擬通道和6個(gè)數(shù)字通道讀取上來的數(shù)據(jù)波形。根據(jù)試驗(yàn)需要觀測的波形要求,可以通過勾選不同的信號,去掉或者顯示所選中的信號,并且可對選中的信號進(jìn)行水平展寬與垂直移動(dòng)。波形顯示區(qū)還具備水平時(shí)間的差值測量,便于波形分析。
功能按鈕區(qū)是人機(jī)操作的平臺(tái),用戶可以根據(jù)相應(yīng)的操作功能,達(dá)到對波形觀察的目的。水平調(diào)整部分可以調(diào)整波形顯示區(qū)橫坐標(biāo)的時(shí)基,可以對顯示波形進(jìn)行水平縮放。垂直調(diào)整部分可以使波形上下移動(dòng),顯示在垂直不同的區(qū)域,便于波形的觀察。信號選擇部分前排復(fù)選框代表顯示對應(yīng)的波形。后一排復(fù)選框代表選中需要垂直移動(dòng)的波形。采集控制部分中開始按鈕是激活示波器,并且啟動(dòng)每個(gè)采集卡。再次點(diǎn)擊,停止示波器與采集卡。保存按鈕可以根據(jù)窗口上方編輯欄的選擇,保存當(dāng)前每個(gè)通道5 000個(gè)采樣點(diǎn)的數(shù)據(jù)或者固定時(shí)長的數(shù)據(jù)。復(fù)位按鈕是將整個(gè)采集系統(tǒng)復(fù)位,系統(tǒng)部分顯示當(dāng)前時(shí)間,光標(biāo)部分測量顯示被測波形的頻率和周期。

圖4 VB顯示界面
輔助變流器主電路示意圖區(qū),顯示主電路的原理圖。原理圖中開關(guān)的狀態(tài)可以直觀的顯示出來,圖中還標(biāo)志出了每個(gè)顯示波形所代表的含義。當(dāng)輔助變流器控制器啟動(dòng)時(shí),主電路開關(guān)的閉合順序,主電路中關(guān)鍵的電氣參數(shù),都可以實(shí)時(shí)的在原理圖中顯示出來,起到直觀顯示的效果。VB顯示界面見圖4。
半實(shí)物仿真數(shù)據(jù)監(jiān)測臺(tái)實(shí)現(xiàn)了對通用示波器顯示方式的很好替代,解決了示波器通道較少、造價(jià)昂貴的問題。并且,在顯示界面中加入了主電路原理圖,使得波形與主電路關(guān)鍵參數(shù)相對應(yīng),能達(dá)到更好的直觀觀測效果。同時(shí),數(shù)據(jù)監(jiān)測臺(tái)還具備對波形進(jìn)行歷史存儲(chǔ)與定時(shí)存儲(chǔ)功能,便于對輔助變流器控制器整體波形與瞬時(shí)狀態(tài)的分析,促進(jìn)了高速動(dòng)車組輔助變流器國產(chǎn)化研究的進(jìn)程。
[1]康 熊,管天保,黎國清,等.滬寧線行車安全綜合監(jiān)控系統(tǒng)的研究[J].中國鐵道科學(xué),2002,23(3):1-5.
[2]康 熊,錢立新,王 瀾.既有鐵路行車綜合安全監(jiān)控系統(tǒng)的研究[C].康熊,錢立新.鐵道科學(xué)技術(shù)新進(jìn)展——鐵道科學(xué)研究院55周年論文集,北京:中國鐵道出版社,2005:14-20.
[3]李 紅,左 鵬,劉偉志,等.地鐵車輛輔助逆變電源分析研究[J].中國鐵道科學(xué),2004,25(1):52-55.
[4]宋術(shù)全,王永翔,楊 寧.CRH3型動(dòng)車組輔助變流器半實(shí)物仿真系統(tǒng)[J].中國鐵道科學(xué),2012,33(2):138-144.
[5]王明軍,錢 煒,沈景鳳,等.基于VB的測控系統(tǒng)實(shí)時(shí)顯示模塊設(shè)計(jì)[J].微計(jì)算機(jī)信息,2007,(10):32-34.
[6]王夢玲,王思明.基于PCI-1713和Lab VIEW的高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].微工控機(jī)信息,2006,(7):120-123.
[7]李江全,張 麗,岑紅蕾.Visual Basic串口通信與測控應(yīng)用技術(shù)實(shí)戰(zhàn)講解[M].北京:人民郵電出版社,2007.