《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于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亚洲国产精品_日韩亚洲一区二区
亚洲激情在线| 亚洲精品国产精品久久清纯直播| 国产一级久久| 欧美日韩在线影院| 欧美精品亚洲二区| 麻豆freexxxx性91精品| 久久视频一区二区| 欧美一二三区精品| 欧美一区日韩一区| 亚洲一区二区成人| 亚洲天堂av在线免费| 欧美一区二区啪啪| 亚洲中字在线| 一本色道久久综合精品竹菊| 亚洲欧洲免费视频| 亚洲伦伦在线| 亚洲精品国产日韩| 一本大道久久精品懂色aⅴ| 亚洲精一区二区三区| 在线观看欧美日韩| 国语自产精品视频在线看抢先版结局| 国产精品久久久久久久7电影 | 欧美1区免费| 久久久久99| 欧美一区二区三区的| 午夜亚洲福利在线老司机| 亚洲永久网站| 亚洲字幕一区二区| 亚洲综合国产| 亚洲男人的天堂在线观看| 亚洲一级二级在线| 亚洲男人影院| 一本久道久久综合狠狠爱| 亚洲国产日韩精品| 欧美中文字幕在线| 午夜视频久久久久久| 一本色道久久综合亚洲精品高清| 亚洲电影av| 亚洲福利视频网站| 亚洲黄色在线| 亚洲精品永久免费| 99国产精品久久久久久久久久| 亚洲精品中文字幕女同| 亚洲免费观看高清完整版在线观看| 1024亚洲| 亚洲全黄一级网站| 亚洲美女精品久久| 一区二区不卡在线视频 午夜欧美不卡在 | 欧美成人精品影院| 免费视频亚洲| 欧美午夜精品伦理| 国产精品嫩草影院av蜜臀| 黄网站免费久久| 亚洲国产精品成人综合色在线婷婷| 一区二区三区免费观看| 亚洲淫性视频| 亚洲精品国精品久久99热一| 亚洲午夜精品在线| 亚洲专区一二三| 亚洲第一免费播放区| 亚洲裸体在线观看| 亚洲一区二区三区久久| 欧美一区2区视频在线观看| 久久久久久久久岛国免费| 久热国产精品| 欧美日韩日韩| 国产精品一区免费观看| 国户精品久久久久久久久久久不卡 | 欧美日本在线| 国产精品成人免费| 国产一区二区精品| 1769国产精品| 99re国产精品| 午夜精品一区二区三区四区| 亚洲国产精品ⅴa在线观看| 日韩一区二区免费高清| 亚洲综合精品四区| 久久综合久色欧美综合狠狠| 欧美日韩国产色综合一二三四 | 亚洲日本黄色| 亚洲综合成人婷婷小说| 亚洲第一天堂av| 一区二区三区你懂的| 欧美亚洲一区二区在线| 男同欧美伦乱| 国产精品美女主播在线观看纯欲| 国模 一区 二区 三区| 最新中文字幕亚洲| 午夜精品视频一区| 日韩亚洲欧美成人一区| 欧美一区二区网站| 欧美福利在线观看| 国产精品青草综合久久久久99| 一区在线电影| 国产精品99久久久久久人| 亚洲电影成人| 亚洲欧美日韩综合| 欧美大片免费观看在线观看网站推荐 | 久久国产精品久久久久久久久久 | 欧美理论电影在线播放| 国产一区二区三区日韩| 一个人看的www久久| 91久久在线视频| 亚洲视频一二三| 女人天堂亚洲aⅴ在线观看| 国产精品国产精品国产专区不蜜| 国产日韩欧美a| 亚洲日本一区二区| 欧美亚洲一级片| 日韩视频在线观看国产| 香蕉免费一区二区三区在线观看| 美脚丝袜一区二区三区在线观看 | 国产精品综合色区在线观看| 亚洲国产成人久久| 久久精品国产77777蜜臀| 亚洲影院免费| 欧美片网站免费| 伊人天天综合| 欧美一区二区三区播放老司机| 亚洲男人av电影| 欧美日韩喷水| 亚洲区一区二区三区| 亚洲人成在线播放| 久久久久久久97| 国产日韩一区二区| 亚洲一区二区在线视频 | 欧美一区二区三区视频| 午夜亚洲精品| 国产精品久久久久久久久久免费 | 欧美呦呦网站| 欧美精品在线视频观看| 1204国产成人精品视频| 久久精品一本| 久久亚洲综合色| 国产有码一区二区| 欧美亚洲综合在线| 久久成年人视频| 国产欧美日韩综合| 午夜老司机精品| 性久久久久久久久久久久| 国产精品欧美一区二区三区奶水 | 一区二区三区四区五区视频| 亚洲区中文字幕| 久久综合九色| 激情偷拍久久| 亚洲第一黄网| 久久综合亚洲社区| 精品91免费| 亚洲激情网址| 欧美激情一区二区三区四区| 最新精品在线| 一个色综合av| 欧美色另类天堂2015| 亚洲视频免费在线| 香蕉国产精品偷在线观看不卡| 国产精品日韩在线观看| 亚洲欧美精品suv| 欧美一级午夜免费电影| 国产亚洲欧洲一区高清在线观看| 性8sex亚洲区入口| 久久另类ts人妖一区二区| 亚洲第一网站免费视频| 亚洲最新视频在线播放| 欧美手机在线视频| 亚洲一区视频在线观看视频| 久久国产精品久久精品国产 | 1024国产精品| 99re66热这里只有精品3直播| 欧美理论大片| 亚洲一区二区精品在线| 久久精品在这里| 在线不卡a资源高清| av不卡免费看| 国产精品入口夜色视频大尺度| 性色一区二区三区| 免费不卡视频| 一本色道久久综合| 久久国内精品视频| 一区二区三区在线观看欧美| 99国产精品久久久久老师| 国产精品久久久久秋霞鲁丝| 欧美亚洲网站| 欧美国产日韩二区| 亚洲午夜电影在线观看| 久久久精品五月天| 亚洲国产中文字幕在线观看| 亚洲一区影音先锋| 国产一区二区精品在线观看| 亚洲精品国精品久久99热| 国产精品福利久久久| 亚洲精品字幕| 国产精品视频yy9299一区| 亚洲看片网站| 国模大胆一区二区三区| 午夜精品久久久久久久久久久久久| 亚洲高清在线精品| 久久免费国产| 亚洲欧美激情一区| 国产精品99一区二区| 日韩一区二区精品|