《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于LabVIEW 7.0的某實時監控軟件設計與實時性分析
基于LabVIEW 7.0的某實時監控軟件設計與實時性分析
Icbuy
Icbuy
摘要:   LabVIEW軟件是一種可視化程度較高的圖形化編程工具,以其直觀清晰、簡明易學的優點被作為初級編程者的首選。迄今為止,LabVIEW軟件已在石油、煤炭、工業自動測量與控制、航空及醫學儀器等領域相繼得到了成功應用。飛行試驗實時監控軟件是針對具體試飛科目而開發的專用型軟件,它要求數據傳輸安全、穩定可靠及實時性好。
Abstract:
Key words :
  0 引言

  LabVIEW軟件是一種可視化程度較高的圖形化編程工具,以其直觀清晰、簡明易學的優點被作為初級編程者的首選。迄今為止,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趨勢圖。

a.JPG

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

b.JPG

  或者利用Chart的屬性節點函數編程將Chart歷史數據清空,同樣地,客戶端實時監控Chart圖表曲線正常,參數Par1,Par2實時曲線如圖3所示。

  對上述現象反復試驗多次,結論仍然成立。研究、對比分析后,得出如下結論:

  (1)實時監控軟件是網絡應用程序,它本身對VI的內存開銷較大,影響VI的執行速度。當服務器向客戶端發送數據的速率較高時,即單位時間內VI前面板需要更新,顯示數據的頻率較快。

  (2)Chart圖表數據更新的原理是將新的數據添加在舊數據之后,該VI中Chart的y軸使用了自動刻度。當參數Par1,Par2的y值隨時間瞬時變化時,Chart繪圖的基準點在不斷變化,使得繪圖曲線呈臺階式的現象。

  (3)Chart圖表的數據緩存區能夠記憶顯示的數據點數。所以,當服務器數據發送中斷再重新開始發送時,原VI的Chart數據緩存區累計記憶著歷史數據,當歷史數據累積到一定程度,數據緩存區又沒有完全釋放。此時,雖然數據緩存區還在不斷更新數據,但新到的數據在Chart圖上未及時刷新繪制,同樣使得曲線呈臺階式跳點的現象。

  (4)當斷開服務器,將VI重新打包時,打包后的VI所有數據緩存區都是置零的原始狀態,重新接收數據,Chart圖表曲線恢復良好。

  (5)或者利用Chart控件的屬性節點,通過編程方法定時將Chart圖表的歷史數據清空,實際飛行試驗實時監控中,Chart圖表曲線實時顯示正常。

  (6)該實時監控軟件,根據其設計要求,VI前面板使用了18個Chart圖表和大量字符串顯示控件,Chart圖表分別對稱置于前面板中,9個Chart圖表的垂直總高度尺寸大于顯示器屏幕的高度,這降低了VI的性能,很大程度上也影響了Chart圖表的刷新和實時顯示。

  此外,Chart圖表的y軸使用了自動刻度(Auto Scale y),圖表啟用了圖例標記(Plot Legend),這些都對Chart圖表的刷新速度有一定程度的影響,但不是主要影響因素。

  4 結語

  NI LabVIEW作為一種圖形化的編程工具,以虛擬儀器、圖形化的編程語言等優點降低了軟件的入門門檻。同時作為一種快速的軟件開發工具,縮短了軟件開發時間,節省了開發成本。本文從影響LabVIEW程序的性能因素出發,結合手動編程巧妙地解決了Chart圖表數據實時刷新的問題。此外,在開發大型復雜的基于網絡應用的飛行試驗實時監控系統方面,應將NI LabVIEW軟件平臺與Microsoft Visual studio和Borland C++等開發工具有機結合起來,靈活地進行應用程序的開發。



 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 天天射天天 | 国产精品91av | 精品视频一区在线观看 | 涩涩漫画网 | 国产成人h福利小视频在线观看 | 日本九色 | 久青草视频在线观看 | 老头边吃奶边做边爱 | 又黄又免费的网站 | 免费看午夜高清性色生活片 | 国产精品亚洲片在线观看麻豆 | 日日操夜夜 | 蝌蚪网在线观看 | 日韩三级大片 | 色噜噜狠狠狠狠色综合久一 | 欧美成人全部费免网站 | 男人女人的免费视频网站 | 国产啪精品| 中文字幕综合在线 | 三级网址在线 | 欧美videosex娇小hd | 456极品嫩模在线视频 | 91久久天天躁狠狠躁夜夜 | 亚洲欧美一区二区三区在线播放 | 一级毛片私人影院 | 伊人网大| 人妖三人交69欧美 | 久久午夜鲁丝片午夜精品 | 欧美人妖xxx| 成人综合视频网 | 91精品国产美女福到在线不卡 | 亚洲激情视频图片 | 欧美影院一区二区 | 久久精品国产免费中文 | 成人免费网站久久久 | 精品一区二区三区在线观看 | 亚洲毛片网站 | 一级做a爱过程免费视频韩国 | 免看一级一片一在线看 | 中文字幕一区二区三区免费看 | aⅴ在线免费观看 |