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

摘  要: 分析標(biāo)準(zhǔn)狀態(tài)機(jī)的不足,提出一種改進(jìn)事件狀態(tài)機(jī)的LabVIEW程序主框架。驅(qū)動(dòng)USB 2.0采集卡進(jìn)行數(shù)據(jù)實(shí)時(shí)采集,聯(lián)合MATLAB混合編程進(jìn)行數(shù)據(jù)分析,期間,用戶可對(duì)數(shù)據(jù)按時(shí)間進(jìn)行自動(dòng)保存或手動(dòng)保存。此外,該系統(tǒng)具有界面友好、操作方便及功能易擴(kuò)充等優(yōu)點(diǎn)。
關(guān)鍵詞: LabVIEW;改進(jìn)狀態(tài)機(jī);混合編程;數(shù)據(jù)采集

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

 LabVIEW是一種以G語言(圖形化)編程的軟件開發(fā)平臺(tái)[1-2],界面直觀并提供了大量的組件和庫函數(shù),特別適合數(shù)據(jù)采集分析軟件系統(tǒng)的開發(fā)。
G語言比較容易掌握,但是LabVIEW程序框架設(shè)計(jì)卻很少有文獻(xiàn)提到。一個(gè)合理而高效的程序框架是開發(fā)高質(zhì)量軟件的基石,因此想要開發(fā)一款性能優(yōu)良的軟件程序框架設(shè)計(jì)是第一步。
在LabVIEW中提出了單循環(huán)應(yīng)用程序、對(duì)話框和標(biāo)準(zhǔn)狀態(tài)機(jī)等框架。
 圖1所示框架可以滿足一些軟件開發(fā)的需求,但對(duì)于數(shù)據(jù)采集軟件系統(tǒng)還不夠,因?yàn)樵摽蚣苋狈?duì)事件的處理,如打開設(shè)備、單次采集和文件保存等。

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

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

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

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

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

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

 

 

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
欧美激情办公室aⅴ_国产欧美综合一区二区三区_欧美午夜精品久久久久免费视_福利视频欧美一区二区三区

          久久国产精品一区二区三区| 91久久精品国产91久久性色tv| 欧美婷婷久久| 午夜一区二区三区不卡视频| 亚洲三级色网| 亚洲免费大片| 久久久亚洲人| 国产精品第十页| 亚洲精品视频啊美女在线直播| 国产日韩欧美一区二区| 久久久亚洲人| 国内激情久久| 国产精品亚洲综合久久| 欧美阿v一级看视频| 亚洲精选国产| 男人的天堂成人在线| 欧美日韩一区二区三区四区在线观看 | 久久av一区二区三区| 欧美日韩一区二区三| 午夜亚洲影视| 国产欧美日韩一区二区三区在线| 国产精品久久久久久久免费软件 | 99日韩精品| 欧美国内亚洲| 国产欧美一区二区色老头| 香蕉久久夜色精品国产| 1024日韩| 欧美午夜不卡| 亚洲欧美久久久久一区二区三区| 国产精品啊v在线| 亚洲深夜影院| 亚洲免费观看| 91久久夜色精品国产九色| 欧美日一区二区在线观看| 先锋影音一区二区三区| 99亚洲伊人久久精品影院红桃| 欧美日韩一区二区国产| 欧美精品aa| 午夜欧美理论片| 女人香蕉久久**毛片精品| 国产精品免费在线| 一本久道综合久久精品| 99精品国产一区二区青青牛奶 | 性欧美xxxx大乳国产app| 91久久黄色| 亚洲欧洲久久| 亚洲免费影视| 久久精品国产第一区二区三区最新章节| 亚洲精品一区二区三区av| 激情综合自拍| 欧美伊人久久| 午夜在线精品偷拍| 亚洲少妇在线| 麻豆av一区二区三区久久| 午夜在线一区| 欧美不卡三区| 伊人激情综合| 亚洲一区二区三区欧美| 免费看黄裸体一级大秀欧美| 欧美一区激情| 亚洲国产高清一区二区三区| 亚洲国产婷婷香蕉久久久久久99| 亚洲国产一区二区三区在线播| 极品中文字幕一区| 亚洲精品无人区| 午夜在线一区二区| 欧美日韩国产高清| 激情久久中文字幕| 国产九九精品| 国产综合婷婷| 国产日韩1区| 欧美激情亚洲| 国产欧美精品久久| 午夜免费电影一区在线观看| 亚洲美女91| 午夜久久资源| 国产农村妇女精品一二区| 欧美久久一区| 午夜一区二区三视频在线观看 | 国产精品久久久对白| 久久久福利视频| 亚洲图片在线观看| 亚洲永久免费精品| 激情婷婷亚洲| 老牛国产精品一区的观看方式 | 老**午夜毛片一区二区三区| 久久国产手机看片| 国产综合第一页| 模特精品在线| 一本不卡影院| 亚洲性图久久| 国产精品啊v在线| 久久国产成人| 99视频日韩| 一区在线观看| 欧美日韩免费高清| 噜噜爱69成人精品| 国产精品美女久久久| 精品不卡视频| 激情综合视频| 精品二区久久| 欧美日韩无遮挡| 欧美 日韩 国产在线| 国产模特精品视频久久久久| av成人黄色| 在线看无码的免费网站| 午夜日韩av| 欧美久久成人| 国产精品地址| 国产精品sss| 欧美日韩三级电影在线| 午夜精品剧场| 欧美精品亚洲精品| 欧美国产高清| 国产在线日韩| 亚洲精品麻豆| 一区二区三区成人精品| 国产精品一区二区欧美| 国产亚洲一级| 免费视频一区| 国产日韩一区二区三区| 一区二区亚洲精品| 亚洲婷婷免费| 亚洲精品乱码久久久久久蜜桃麻豆 | 日韩亚洲欧美精品| 伊人激情综合| 亚洲黄色精品| 国产精品亚洲综合久久| 亚洲欧美日本日韩| 久久狠狠婷婷| 黑丝一区二区三区| 亚洲免费久久| 性感少妇一区| 午夜免费电影一区在线观看| 国内自拍视频一区二区三区| 在线欧美三区| 亚洲欧美精品在线观看| 久热这里只精品99re8久| 亚洲欧美综合| 亚洲精品一级| 牛夜精品久久久久久久99黑人| 欧美婷婷久久| 国产精品久久九九| 欧美精品日本| 国产欧美日韩综合精品二区| 久久一区二区三区四区五区| 韩日午夜在线资源一区二区| 亚洲国产高清视频| 毛片一区二区| 99在线观看免费视频精品观看| 在线欧美日韩| 你懂的国产精品永久在线| 亚洲日本免费| 欧美成人免费在线| 亚洲少妇一区| 国产精品分类| 麻豆av一区二区三区久久| 国产一区观看| 免费日韩视频| 国产欧美另类| 亚洲国产婷婷| 欧美先锋影音| 久久天堂成人| 亚洲综合丁香| 国产一区导航| 亚洲三级影院| 亚洲欧美国产不卡| 欧美精品大片| 国产欧美91| 亚洲高清av| 欧美日韩一区自拍| 久久久国产亚洲精品| 国产精品美女xx| 伊人久久综合| 激情欧美一区| 黄色综合网站| 激情综合网址| 国产精品红桃| 国内精品嫩模av私拍在线观看| 狼狼综合久久久久综合网 | 亚洲国产精品第一区二区| 久久久久久穴| 久久av二区| 国产伦理一区| 亚洲一区视频| 午夜亚洲精品| 亚洲欧美日韩一区在线观看| 中文亚洲免费| 一本色道久久综合亚洲精品婷婷| 1024成人| 国产日韩免费| 亚洲在线成人| 欧美专区18| 美女爽到呻吟久久久久| 亚洲免费在线| 久久在线精品| 欧美日一区二区三区在线观看国产免| 久久精品导航| 午夜性色一区二区三区免费视频 | 欧美精品日本| 激情一区二区| 99亚洲精品| 国产日韩专区| 性一交一乱一区二区洋洋av| 免费亚洲视频| 你懂的视频一区二区| 欧美日韩综合久久| 伊人精品在线| 中国成人亚色综合网站| 欧美亚洲三区| 久热综合在线亚洲精品| 欧美三区美女| 国产日韩一区二区三区在线播放| 午夜在线一区| 欧美午夜国产| 国产精品毛片一区二区三区| 久久一二三区| 极品日韩久久| 亚洲大片av| 欧美私人啪啪vps| 亚洲乱码视频| 久久国产高清| 激情综合亚洲| 久久九九99| 99精品欧美| 欧美在线免费| 国产婷婷精品| 欧美精品网站| 国产精品日韩久久久| 欧美久久电影| 国产精品一区免费观看| 欧美啪啪一区| 亚洲一区尤物| 亚洲人成人一区二区三区| 麻豆亚洲精品| 亚洲另类视频| 欧美性久久久| 欧美一区亚洲二区| 国产精品区免费视频| 国产精品v日韩精品v欧美精品网站 | 亚洲精品一区二区三区蜜桃久 | 欧美在线播放一区二区| 亚洲美女一区| 亚洲私拍自拍| 欧美精品一线| 久久综合影视| 欧美一级网站| 国产毛片一区| 亚洲久色影视| 91久久亚洲| 91久久中文| 在线看片一区| 欧美日韩亚洲在线| 欧美一区免费视频| 欧美专区18| 免费日韩av片| 国产一区二区三区久久久久久久久| 欧美日韩在线观看一区二区三区| 欧美一进一出视频| 在线一区免费观看| 国产欧美日韩综合精品二区| 亚洲精品婷婷| 精品不卡一区二区三区| 国产一区二区三区自拍| 久久亚洲不卡| 久久久水蜜桃| 欧美一区不卡| 欧美日韩一视频区二区| 国产精品videossex久久发布| 欧美日韩mv| 狠狠入ady亚洲精品| 国产精品分类| 亚洲免费激情| 国产精品亚洲产品| 香蕉精品999视频一区二区| 每日更新成人在线视频| 久久久水蜜桃| 狠狠色综合一区二区| 亚洲第一精品影视| 国产日韩综合| 老司机精品久久| 国产在线不卡| 中文有码久久| 牛牛国产精品| 伊人成人在线| 午夜影院日韩| 欧美午夜电影在线观看| 亚洲精品九九| 久久久久在线| 亚洲特级毛片| 翔田千里一区二区| 欧美日韩国产三区| 91久久精品www人人做人人爽| 国产精品夜夜夜一区二区三区尤| 国产一区二区三区久久| 午夜国产精品视频| 99精品久久| 欧美日韩少妇| 国产精品一区二区三区四区五区| 久久婷婷麻豆| 亚洲欧洲日夜超级视频| 久久精品毛片| aa级大片欧美三级| 久久综合中文| 一区二区精品国产| 欧美黄色aaaa| 国产精品尤物| 伊人成人网在线看| 久久综合九色| 国产伦精品一区二区三区视频黑人| 午夜精品免费| 欧美亚洲免费高清在线观看| 在线播放不卡| 欧美视频导航| 久久综合久久久| 国产精品毛片在线| 欧美日韩国产色综合一二三四| 国产日本精品| 亚洲二区在线| 黑人一区二区三区四区五区| 久久精品系列| 国产亚洲一级| 99热免费精品在线观看| 狠狠88综合久久久久综合网| 老司机免费视频久久| 亚洲欧美久久| 国产精品毛片在线| 亚洲国产精品一区在线观看不卡 | 亚洲黄色一区| 国内精品久久久久久久影视蜜臀| 老鸭窝91久久精品色噜噜导演| 99精品欧美| 亚洲日本久久| 亚洲毛片网站| 99日韩精品| 亚洲色诱最新| 国产精品呻吟| 免费久久久一本精品久久区 | 久久免费一区| 久久久综合香蕉尹人综合网| 欧美一区=区| 先锋亚洲精品| 久久国产直播| 老司机精品导航| 欧美精品亚洲精品| 欧美日韩一区二区国产| 欧美日韩精选| 亚洲国产精品一区在线观看不卡| 激情欧美亚洲| 一本色道久久精品| 国产精品亚洲综合色区韩国| 性伦欧美刺激片在线观看| 免播放器亚洲| 欧美在线免费| 尹人成人综合网| 亚洲精品男同| 国产美女在线精品免费观看| 久久国产一二区| 欧美三级免费| 一本久道久久综合婷婷鲸鱼| 国产亚洲高清视频| 久久久av水蜜桃| 禁久久精品乱码| 亚洲欧美日韩综合国产aⅴ| 久久综合九色综合网站| 国产精品大片| 国产精品午夜av在线| 久久资源在线| 亚洲精品极品| 乱人伦精品视频在线观看| 欧美激情1区| 99精品视频免费观看视频| 亚洲伊人网站| 欧美日韩在线一区二区三区| 99精品国产在热久久| 美女黄色成人网| 影音先锋日韩资源| 免费在线观看成人av| 精品91久久久久| 久久久久久亚洲精品杨幂换脸 | 国内精品久久久久久久97牛牛| 亚洲片区在线| 久久综合五月| 中文日韩在线| 精品动漫3d一区二区三区免费版| 亚洲一区日韩在线| 国色天香一区二区| 久久久人人人| 99精品国产高清一区二区| 欧美91精品| 亚洲欧美成人| 99国产精品久久久久久久成人热 | 一本色道久久综合亚洲精品不卡 | 韩国久久久久| 欧美日韩1区2区3区| 国产欧美成人| 91久久中文| 久久综合九色综合欧美狠狠| 国产亚洲精品自拍| 在线欧美日韩|