《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于LabVIEW改進狀態機的數據采集系統設計
基于LabVIEW改進狀態機的數據采集系統設計
來源:微型機與應用2014年第7期
王 智,李 智
(四川大學 電子信息學院,四川 成都 610064)
摘要: 分析標準狀態機的不足,提出一種改進事件狀態機的LabVIEW程序主框架。驅動USB 2.0采集卡進行數據實時采集,聯合MATLAB混合編程進行數據分析,期間,用戶可對數據按時間進行自動保存或手動保存。此外,該系統具有界面友好、操作方便及功能易擴充等優點。
Abstract:
Key words :

摘  要: 分析標準狀態機的不足,提出一種改進事件狀態機的LabVIEW程序主框架。驅動USB 2.0采集卡進行數據實時采集,聯合MATLAB混合編程進行數據分析,期間,用戶可對數據按時間進行自動保存或手動保存。此外,該系統具有界面友好、操作方便及功能易擴充等優點。
關鍵詞: LabVIEW;改進狀態機;混合編程;數據采集

1 采集卡硬件簡介
 采集卡利用USB 2.0接口進行數據傳輸,數據傳輸率可達480 Mb/s。相對于其他接口USB 2.0具有突出的優點:它是一種便攜接口,可以對外提供2.5 W的電源,不需要外部供電。一般的筆記本電腦沒有PCI、ISA等常規接口,而USB接口是筆記本電腦的標準配置。
 采集卡ADC精度為12位、采樣速率達6 MHz。并且在采集卡上集成了一個100 MHz的高速數字信號處理器(DSP)作為控制器。同時提供了一組C語言開發的API,用于復雜功能的開發。
2 軟件設計
2.1 LabVIEW程序設計框架

 LabVIEW是一種以G語言(圖形化)編程的軟件開發平臺[1-2],界面直觀并提供了大量的組件和庫函數,特別適合數據采集分析軟件系統的開發。
G語言比較容易掌握,但是LabVIEW程序框架設計卻很少有文獻提到。一個合理而高效的程序框架是開發高質量軟件的基石,因此想要開發一款性能優良的軟件程序框架設計是第一步。
在LabVIEW中提出了單循環應用程序、對話框和標準狀態機等框架。
 圖1所示框架可以滿足一些軟件開發的需求,但對于數據采集軟件系統還不夠,因為該框架缺乏對事件的處理,如打開設備、單次采集和文件保存等。

 在圖2中加入事件輪詢和事件處理程序,每一個事件處理完后又開始不斷查詢事件。利用該框架可以完成數據采集、文件保存和文件讀取等功能。但是其中不足之處在于處理事件時不能執行事件之外的程序,如更新狀態和數據顯示等。尤其在連續采集中,按照這種框架那么就必須為連續采集單獨提供一個示波器,如果還有數據處理則又需要單獨提供一個示波器,因此示波器不能復用,導致用戶界面模塊增加。

 針對上述不足,改進一種事件狀態機的框架如圖3所示,其中超時事件即當一個事件完成后經過設定的時間后會自動執行超時事件。利用超時事件可以提供事件外程序執行的機會,而每個事件只需要提供事件名稱的枚舉,然后進入超時事件,在超時事件里根據事件名稱執行相應功能。采用移位寄存器作為數據傳遞媒介,這樣狀態及波形圖可以實時更新。這種程序框架清晰而且易于擴展,擴展一個新的功能只需要3步。

 (1)為新功能提供事件處理。
 (2)在事件處理中把自身的事件名稱更新到事件枚舉中去。
 (3)在超時事件中新增事件狀態,并完成相應功能。
 在這個框架中,可以簡化前面板的設計,程序框圖的設計也模式化,使用極為方便。
2.2 MATLAB混合編程
 在信號處理上MATLAB功能強大,在LabVIEW中可以通過MATLAB Script與MATLAB服務器通信,從而完成信號處理和數據的傳遞。
 需要注意的是計算機中必須安裝有MATLAB 5.0及以上版本,而且只能用于Windows平臺,還有就是二者在數據通信時數據類型需要匹配[3]。此外,MATLAB會占用過多的內存,因此這種混合編程最好用于復雜的信號處理上。
3 設計實例
3.1 前面板

 美觀而友好的界面是軟件開發重要的一個環節,本套系統最終設計界面如圖4所示。從功能上主要分為采集卡控制、波形顯示、文件處理和信號處理4個模塊,其他輔助設計如狀態欄、進度條、指示燈和系統時間等。
3.2 采集卡控制
 根據改進的事件狀態機程序框架,為采集卡控制提供開啟設備、關閉設備、單次采集和連續采集4個事件。每個事件調用采集卡相應的API,這里需要用到LabVIEW中的調用庫函數[4]。具體做法是把提供的dll文件拷貝到工程中,然后在庫函數中配置路徑和輸入輸出參數。輸入參數由前面板提供。圖4中ReadAdc為讀取數據采集卡的庫函數調用,由返回參數的正確性判斷是否繼續執行,這樣能增加程序的魯棒性。

 圖5為單次采集事件在超時事件中的響應。首先將事件枚舉更新為等待用戶操作,再利用API讀取ADC緩沖,如果讀取成功,則利用的MATLAB腳本對數據進行處理,也可以用LabVIEW提供的數組函數進行處理。然后將處理后的數據傳遞到事件外,事件處理完畢后會進行大循環執行狀態欄和示波器的更新,然后執行超時事件的等待用戶操作。其他事件的處理也類似。

3.3 波形顯示
 利用LabVIEW的波形圖可以完成大部分顯示功能,但是對于頻域顯示,則需要用到XY波形圖。波形顯示放到大循環中,每調用一個事件時,執行超時事件之后,會執行波形更新,這就使用較少的示波器顯示所需的數據。
 對于LabVIEW的波形圖,在運行時不能很好地交互,如伸縮X、Y軸,利用屬性節點編程,可以解決該問題。
3.4 文件處理
 對于不管是單次采集、連續采集還是調用算法處理后的數據,當用戶希望保存時都要對用戶請求進行響應。單次采集比較容易,可以利用文件對話框選擇路徑和文件名,然后保存數據。但是在連續采集中,打開文件對話框會中斷連續采集事件的處理,因此需要設計出一種自動保存文件的程序如圖6所示。

 

 

 在程序啟動時,生成一個默認的文件路徑。考慮到數據文件比較多,在文件路徑中加入日期,文件名由用戶確定,同時在文件名中加入采集的時間;若考慮連續采集,還需要由用戶確定保存的文件數。本系統采用的單次采集文件名格式如:data_12_00_00。
 需要注意的是,時間每隔1 s更新一次,所以在連續采樣中當采樣間隔小于1 s時,數據文件在1 s內數據會被覆蓋,如果需要更短的時間,那么應該用毫秒級的時間作為文件名。另外,在文件名中不能出現‘:’,因此需要將‘:’替換為其他字符,在本系統中用下劃線做的替換。此外還加入了進度條和狀態欄,顯示文件保存的情況。
3.5 信號處理
 對采集到的信號進行分析和處理是本系統的后期任務,前期完成的有FFT變換、小波去噪和加噪等,如圖7所示,將處理后的信號輸出到示波器中便可。對于復雜信號的處理借助MATLAB混合編程可以輕松實現。
本文分析了LabVIEW程序設計的框架問題,根據其中的不足提出了一種改進的事件狀態機程序框架,并在該框架下開發了一套功能完善的實時數據采集分析系統。該系統性能良好且已投入使用,友好美觀的界面和文件自動保存設計是本系統的一大特色。利用該程序設計模式可以快速高效地開發相應的軟件系統,并且后期算法處理也極為簡單,只要MATLAB算法即可,因此可以使算法設計獨立開來。
參考文獻
[1] 戴敬.LabVIEW基礎教程[M].北京:科學出版社,2004.
[2] 楊樂平,李海濤.LabVIEW程序設計與應用(第2版)[M].北京:電子工業出版社,2004.
[3] 柴敬安,廖克儉.LabVIEW和MATLAB混合編程方法的研究與實現[J].計算機測量與控制,2008,16(5):737-739.
[4] 戴新.數據采集卡在LabVIEW中的驅動方法[J].計算機應用與軟件,2008,25(3):156-158.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美1区视频| 最新国产乱人伦偷精品免费网站| 性久久久久久久久| 亚洲一区二区影院| 国产欧美日韩免费| 久久精品三级| 久久激情五月丁香伊人| 亚洲黄色成人| 欧美三级欧美一级| 性欧美办公室18xxxxhd| 这里只有视频精品| 亚洲永久精品大片| 黄色日韩网站视频| 欧美国产91| 亚洲欧美日韩综合国产aⅴ| 欧美一区二区在线免费观看| 伊人一区二区三区久久精品| 一区二区三区四区五区精品视频| 国产欧美日韩三级| 国产精品久久久久久超碰| 欧美专区日韩视频| 亚洲精品社区| 在线一区欧美| 一区二区三区欧美日韩| 一本色道久久综合亚洲精品按摩 | 欧美成人三级在线| 亚洲专区在线视频| 亚洲国产精品va| 99国内精品久久久久久久软件| 国产日产欧美精品| 国产农村妇女毛片精品久久莱园子 | 国产日产精品一区二区三区四区的观看方式| 国产精品久久久久久久7电影| 国产精品日韩在线观看| 另类图片国产| 午夜精品国产精品大乳美女| 午夜精品视频一区| 久久久亚洲精品一区二区三区| 夜夜嗨av色综合久久久综合网| 欧美亚洲免费电影| 亚洲伦理在线| 1024欧美极品| 国产色产综合色产在线视频 | 麻豆久久婷婷| 午夜精品在线看| 久久国产精品网站| 在线综合亚洲欧美在线视频| 亚洲无限av看| 99国产精品私拍| 亚洲一区二区久久| 久久精品国产视频| 欧美另类在线观看| 久久一区二区三区国产精品| 亚洲伊人伊色伊影伊综合网| 欧美一区二区三区喷汁尤物| 一区二区三区不卡视频在线观看| 亚洲国产精品成人综合| 一区二区三区波多野结衣在线观看| 亚洲一本大道在线| 久久久久久999| 欧美激情一区二区三区高清视频| 久久久精品动漫| 欧美成人久久| 国产精品免费在线| 亚洲精品一区二区三区樱花 | 好吊妞**欧美| 亚洲免费久久| 欧美在线一级视频| 亚洲欧美日韩一区在线观看| 夜夜爽av福利精品导航 | 亚洲伊人伊色伊影伊综合网| 久久久久网站| 国产精品白丝av嫩草影院| 欧美精品免费观看二区| 国产精品自拍网站| 亚洲精品无人区| 欧美在线亚洲一区| 亚洲在线视频一区| 欧美成人小视频| 国产亚洲综合精品| 国产在线乱码一区二区三区| 国产欧美亚洲日本| 亚洲精品中文字幕在线| 欧美在线免费一级片| 亚洲网站视频| 欧美高清在线视频| 国内久久精品视频| 亚洲午夜精品网| 99国内精品久久| 免费h精品视频在线播放| 国产欧美精品一区二区色综合| 91久久久国产精品| 亚洲精品视频在线看| 久久精品国产99国产精品| 午夜精品999| 欧美日韩中文另类| 国产精品久久久久久久久动漫| 亚洲第一精品福利| 久久丁香综合五月国产三级网站| 午夜电影亚洲| 欧美性大战xxxxx久久久| 亚洲精品一二| 亚洲免费成人| 亚洲视频在线一区| 你懂的国产精品永久在线| 国内精品国产成人| 欧美一区成人| 欧美一区=区| 国产精品乱人伦中文| 日韩视频三区| 夜夜精品视频| 欧美精品三级在线观看| 亚洲大胆av| 91久久精品www人人做人人爽| 久久亚洲精品一区| 国产一区二区三区日韩欧美| 午夜精品福利一区二区蜜股av| 欧美一区二区网站| 欧美与欧洲交xxxx免费观看 | 久久激情五月婷婷| 亚洲性线免费观看视频成熟| 在线视频欧美日韩精品| 欧美精品一区在线| 亚洲精品婷婷| 亚洲天堂av在线免费观看| 欧美日韩免费看| 一区二区欧美在线观看| 亚洲午夜久久久久久久久电影网| 欧美日韩国产成人精品| 国产精品日韩专区| 亚洲一区二区三区四区五区午夜| 亚洲欧美久久| 免播放器亚洲| 亚洲国产成人精品女人久久久 | 在线亚洲激情| 欧美网站在线观看| 中文一区二区| 亚洲第一网站| 久久综合激情| 亚洲第一在线综合在线| 亚洲精品美女91| 久久成人精品无人区| 国产精品视频网| 欧美一级播放| 毛片精品免费在线观看| 亚洲精品久久久久久久久久久| 一区二区av| 国产精品麻豆欧美日韩ww| 亚洲欧美日韩精品久久亚洲区| 久久精品国产久精国产爱| 在线播放豆国产99亚洲| 日韩天天综合| 国产精品久久综合| 欧美在线播放| 欧美大片免费观看| a91a精品视频在线观看| 性欧美videos另类喷潮| 伊人激情综合| 亚洲欧美日产图| 久久天堂国产精品| 91久久精品国产91性色| 亚洲午夜电影网| 国产有码一区二区| 亚洲精品一区二区三区不| 欧美日一区二区在线观看| 亚洲欧美精品在线| 美女精品视频一区| 一本到高清视频免费精品| 欧美制服丝袜| 亚洲国产一区二区a毛片| 亚洲欧美影音先锋| 伊人精品成人久久综合软件| 亚洲一区在线观看免费观看电影高清| 国产亚洲精品自拍| 日韩午夜精品视频| 国产日韩欧美在线看| 亚洲精品久久久久久久久久久久| 欧美午夜在线观看| 亚洲黑丝一区二区| 久久精品99国产精品日本| 伊人成年综合电影网| 亚洲综合成人婷婷小说| 一区二区三区我不卡| 国产一区二区在线免费观看| 久久精品亚洲| 久久久97精品| 99精品国产在热久久下载| 久久久777| 一本色道**综合亚洲精品蜜桃冫 | 国产一区二区三区在线观看视频 | 亚洲电影成人| 欧美在线观看www| 亚洲精品国产精品国自产观看| 欧美一区二区在线观看| 亚洲肉体裸体xxxx137| 久久久久久久一区| 中文av字幕一区| 欧美护士18xxxxhd| 欧美中日韩免费视频| 国产精品劲爆视频|