李松巖,劉 品
(駐203所軍事代表室,西安 710065)
?
基于RTX和雙進程共享內存的實時檢測系統設計
李松巖,劉 品
(駐203所軍事代表室,西安 710065)
針對Windows系統下檢測系統普遍存在的實時性問題,提出了一種基于RTX和雙進程共享內存技術的實時性解決方案;系統以X86架構通用計算機為平臺,采用PXI接口數據采集卡,在Windows XP操作系統下采用RTX擴展插件,設計實現了一套具有實時信號檢測功能的檢測系統;經測試和實際應用,該檢測系統性能穩定、測量實時性可達0.01 ms。
檢測系統;RTX;實時性;共享內存
采用通用測試平臺,簡化檢測設備并且實現檢測設備的統一化和通用化是目前提高裝備保障力的發展方向。某火箭炮發控系統檢測一直以來依靠工控機平臺和PXI數據采集卡在Windows系統下設計實現,普遍存在時序信號檢測精度低、時序控制時間精度達不到要求等問題。文中以RTX(real time extense)和共享內存(shared memory)技術為基礎,設計實現了一套具有很高實時性的發控設備檢測系統。
檢測系統選用NI公司PXI計算機和數據采集卡為平臺,通過信號調理板將被測信號進行調理后送入數據采集卡。系統運行Windows XP OS,設計了RTX進程和MFC進程[1-3],進程間通過共享內存進行數據交換[4]。采集信號和時序控制由RTX進程實現,波形回放及檢測結果判定等功能由MFC進程實現。
為了盡可能使檢測系統標準化和通用化,檢測系統硬件平臺以普通計算機和數據采集卡為主,輔以自研信號調理卡,實現信號的采集。檢測系統硬件原理框圖見圖1所示。

圖1 硬件功能框圖
2.1 多樣性信號調理電路設計
適配器采用被測信號以差分方式輸入、電源“懸浮”隔離、自校準與被測狀態自適應轉換和線性比例衰減信號調理等技術,實現被測信號的線性衰減與電平匹配、被測信號間和電源間電性能隔離,完成對26路被測信號與電源的接入、輸出和信號調理。其中差分/線性衰減級采用BURR-BROWN公司INA146差分輸入模塊,隔離放大/限位保護級采用AD公司AD215隔離型運算放大模塊。
2.2 信道隔離
26路被檢測信號通過信號通道電路板以差分輸入方式信號調理,實現了被測信號電路之間電性能隔離。
2.3 電平匹配
由于PXI-6225 A/D采集板卡的模擬信號電壓輸入范圍為±10 V,針對被檢測的電壓信號大大超過其輸入范圍的情況,通過線性比例衰減的信號調理,實現被測信號電壓與PXI-6225 A/D采集板卡模擬信號電壓輸入范圍之間的電平匹配。
2.4 自校準狀態與檢測狀態自適應轉換
利用適配器前面板上接插件的針腳和電源(插頭上閑置的2個針腳短接,對應的插座上2個針腳分別接繼電器線圈和電源地)構成繼電器控制電路,完成14路信號調理通道的自校準狀態與檢測狀態自適應轉換。即:
1)當插頭未插入插座時繼電器不動作,14路信號調理通道均通過繼電器的常閉觸點接入自校準電路的標準電壓,適配器可以自動進入系統上電自檢和自校準工作狀態。
2)當插頭插入插座上時繼電器觸點動作,14路信號調理通道均通過繼電器的常開觸點轉換接入被測信號輸入通道,適配器可以自動進入檢測工作狀態。
3.1 軟件架構
檢測系統軟件由兩個進程組成,見圖2所示。其中MFC進程主要完成人機交互、界面顯示、數據分析與處理、報表實現等非實時任務功能,而RTX進程則完成實時數據傳輸與采集、實時任務控制等功能。兩個進程間通過Named Event和Shared Memory實現數據和任務的交互[5-6]。
3.2 RTX進程
RTX是Ardence公司(已被IntervalZero公司收購)
為解決Windows操作系統的實時性問題而推出的一套實時插件。RTX被實現為一套庫的集合(動態庫與靜態庫),并提供了一套RtWinAPI的實時API實現對這些對象的訪問方法。通過RTX擴展技術可以在Windows非實時系統上實現10 ns的定時精度和0.01 ms的任務精度,可以實現絕大多數的實時任務需求。RTX技術的架構見圖3所示。
RTX進程由兩個工作線程和一個定時器組成。其中一個主線程主要完成初始化配置,與MFC進程進行通信等任務;一個數據采集線程主要完成數據實時采集任務;定時器模塊則處理所有對時序有嚴格要求的指令。RTX進程的軟件流程圖如圖4所示。

圖2 檢測系統軟件架構

圖3 RTX體系架構

圖4 RTX進程軟件流程圖
3.3 MFC進程
MFC進程采用結構化、模塊化的編程方式,形成4個模塊化子程序:自檢自校準故障診斷軟件、檢測參數輸入識別軟件、波形擬合顯示軟件和檢測結果輸出軟件。
1)自檢自校準界面:控制適配器的+5 V、+15 V加電,進入系統自檢和自校準工作程序;控制適配器斷電,系統自檢和自校準工作結束,顯示自檢和自校準結果(包括背景噪聲數值)。
2)檢測監控界面:進入檢測工作程序。從系統軟件界面輸入檢測參數、選擇測試管號,并選擇開始,由系統軟件調用測試平臺的相關資源為適配器供電,調用信號采集模塊對26路被檢測信號進行實時采集、數據處理和顯示出檢測結果。其中,火箭炮走12管連射時序,通過軟件預設的標準信號對被采集進來的信號進行比對,顯示出結果(實時顯示并量化和判斷是否正常)。
3)波形顯示界面:在檢測結束后,對26路被檢測信號波形在不同的分類子頁面中-85 s~0 s~+120 s時間軸上按照檢測時序進行回放見圖5所示。
4)打印報表界面:輸入打印參數,輸出檢測報表。

圖5 波形回放界面
3.4 檢測流程
檢測系統通過機箱后面板VPC-9025接口與測試平臺的電源模塊、PXI-6225A/D采集板卡連接,通過機箱前面板插座、測試線纜、對接裝置與火箭炮口尾連接構成回路。通過測試平臺的PXI主控計算機及平臺總軟件調用檢測軟件,進入發控系統檢測判斷總菜單界面,從系統總菜單界面上可選擇進入相應功能界面。系統軟件結束檢測,同時被測產品斷電,數據存儲在PXI主控計算機中。發控系統檢測軟件檢測控制流程見圖6所示。

圖6 發控檢測系統檢測控制流程圖
該檢測系統以解決某型火箭炮發控系統檢測實際問題為出發點,提出的雙進程和共享內存技術,解決了Windows系統下實時檢測的難題,實現了某型火箭發控系統的自動化檢測,不僅提高了檢測的準確度,也大大提高了檢測效率。
[1] 高澤東, 李建軍, 高教波. 基于RTX的實時伺服控制系統 [J]. 計算機應用, 2011, 31(增利2): 212-215.
[2] 楊維, 石德乾, 趙凱, 等. 基于Windows XP+RTX的火控調試平臺軟件設計 [J]. 火炮發射與控制學報, 2013(4): 30-34.
[3] 韓玉芹. 基于RTX子系統的導彈試驗實時測控系統研發 [D]. 西安: 西安電子科技大學, 2003.
[4] 李小, 趙慧斌, 孫玉芳. 進程間通信機制的分析與比較 [J]. 計算機科學, 2002, 29(11): 16-21.
[5] 李琴. 共享內存與有名管道在實時系統中的應用 [J]. 大眾科技, 2008(4): 71-72.
[6] 鄭艷. 利用共享內存, 實現進程間高效率數據共享 [J]. 城市建設理論研究, 2012(2).
Design and Realization of Real-time Test System Based on RTX and Double Thread Shared Memory
LI Songyan,LIU Pin
(Military Representative Office of Army Aviationin in No.203 Institute, Xi’an 710065, China)
For the real-time problem of test system in Windows OS, a kind of RTX and shared memory method has been put forward. A new real-time test system has been developed based on X86 general computer and RTX for windows. Experiments show that, the real-time test system performance is stable and its precision of time-test arrives at 0.01 ms.
Test system; RTX; real-time; shared memory
2015-03-05
李松巖(1963-),男,山西臨猗人,高級工程師,研究方向:彈藥工程,火箭彈、導彈研制過程質量監督。
TP306.2
A