新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于LabVIEW 7.0的某實時監控軟件設計與實時性分

        基于LabVIEW 7.0的某實時監控軟件設計與實時性分

        作者: 時間:2011-07-25 來源:網絡 收藏

        摘要:針對某試飛課題,在NI 7.0平臺下進行了某試飛科目軟件系統開發。飛行試驗中,實驗了影響該系統試飛參數時間歷程圖實時刷新的原因,提出了在飛行試驗中,采用優化VI及對Chart控件二次編程的方法解決Chart曲線圖實時刷新的問題。在此充分挖掘中Chart控件的屬性進行二次編程,解決試飛參數時間歷程圖實時刷新、顯示問題,具有很高的實用價值。
        關鍵詞:VI的性能;VI執行速度;數據更新;實時顯示

        0 引言
        軟件是一種可視化程度較高的圖形化編程工具,以其直觀清晰、簡明易學的優點被作為初級編程者的首選。迄今為止,LabVIEW軟件已在石油、煤炭、工業自動測量與控制、航空及醫學儀器等領域相繼得到了成功應用。飛行試驗軟件是針對具體試飛科目而開發的專用型軟件,它要求數據傳輸安全、穩定可靠及實時性好。目前,我院飛行試驗遙測實時監控數據處理系統的客戶端實時監控軟件,絕大多數情況下是采用NI LabVIEW的軟件開發平臺進行開發。該類型客戶端軟件,一般滿足了試飛課題的需求,保障了科研試飛。但是,針對一些實時性要求較高,試飛風險較大的特定試飛科目,如何開發高性能的試飛科目時間歷程實時監控軟件是本文研究的重點。

        1 影響VI性能的因素
        VI性能的好壞主要由VI的執行時間、數據的刷新速度和VI內存的使用三方面決定。
        文件讀和寫、使用GPIB、數據采集及網絡應用都影響VI的執行時間。數據在屏幕上的刷新速度與程序中控制控件、顯示控件及與控制控件相關聯的控件數目有關。此外,合理使用和高效管理VI的內存可以提高VI的性能。

        2 提高VI執行效率的方法
        針對以上影響VI性能的因素,為提高VI的執行效率,在進行某客戶端實時監控軟件系統設計時,采用了以下編程技術來增強程序的可讀性。
        (1)程序避免在循環體里計算。能在循環體外計算時,盡量將公式計算安排在循環體外。
        (2)在滿足要求的前提下,將前面板顯示控件較多,畫面布局大于屏幕尺寸的VI分割成幾個VI進行設計;或者將大的VI分割成子VI。
        (3)當VI程序框圖中使用較多矩陣(Array)或字符串(string)函數時,程序框圖中盡量少用全局變量或局部變量;且輸入矩陣和輸出矩陣盡量使用相同的數據類型。
        (4)設計程序框圖時,盡量使輸出函數能復用輸入函數的內存空間,尤其是使用矩陣、矩陣子集或字符串函數時。
        (5)如果子VI的前面板不需要顯示,去掉子VI中不用的屬性節點。
        (6)設計VI時,避免使用復雜的數據類型,開發高效的程序結構。
        (7)在VI屬性的“執行”選項里面,將子VI的優先級設置成“子程序”(subroutine),將主VI的優先級設置為“優先執行”(time criti-cal Priority)的最高優先級。

        3 實時監控中的應用
        在NI LabVIEW 7.0平臺下基于以上編程思想,進行了某課題實時監控軟件的系統開發。以下是其中的部分監控畫面。監控畫面中用Waveform Chart控件來實時顯示參數的時間歷程曲線。根據軟件的設計要求,將Chart圖表的y軸設置成自動,x軸利用控件本身的可見屬性x Scrollbar來及時刷新圖表顯示。
        圖1描述了數據源以1倍速率從服務器向客戶端VI發送網絡數據,正常條件下,兩參數Par1和Par2的典型Chart趨勢圖。

        本文引用地址:http://www.104case.com/article/194824.htm

        a.JPG


        保持客戶端與服務器的網絡通信狀態不變,將數據源以4倍速率從服務器向客戶端發送網絡數據,客戶端監控畫面中兩個參數曲線出現臺階式的跳點,對此現象不做任何處理,該現象一直持續。實時監控中兩參數的曲線效果如圖2所示。產生圖2現象后,斷開服務器,停止向客戶端發送數據,同時將客戶端VI重新打包生成.exe可執行文件,然后服務器重新開始以4倍速率向客戶端發送網絡數據。VI執行時,圖2所示現象消失,客戶端實時監控畫面恢復良好。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 新丰县| 塘沽区| 台江县| 镇江市| 丹东市| 宝鸡市| 巴林右旗| 呼图壁县| 全椒县| 宜宾市| 定西市| 隆林| 东丰县| 凌云县| 库尔勒市| 板桥市| 微博| 东丽区| 化德县| 甘谷县| 康马县| 大英县| 长岛县| 清徐县| 荃湾区| 资源县| 南丰县| 大连市| 丹寨县| 常州市| 凯里市| 汤原县| 城固县| 抚州市| 玉门市| 阿荣旗| 福鼎市| 石门县| 忻城县| 南投市| 奇台县|