《電子技術應用》
您所在的位置:首頁 > 其他 > 业界动态 > MATIAB数据采集工具箱

MATIAB数据采集工具箱

2008-04-08
作者:凌华科技(中国)有限公司

前言
MATLAB 被廣泛的使用在工程學和科學的領域, 從數據采集" title="數據采集">數據采集和分析到應用程序開發。MATLAB 環境集合了數學計算, 圖形化輸出, 和強有力的計算機程序語言。內建的接口讓使用者可以從儀器、檔案、和外部數據庫和程序中讀取數據。另外, MATLAB 應用程序還可以整合使用其它著名的計算機語言所開發出來的函式庫如C 、C++ 、FORTRAN, 和Java。

本文主要將會介紹MATLAB數據采集工具箱的內部結構, 和外部的使用接口, 熟悉數據采集工具箱的使用方法將會了解如何使用同一組指令去操作各種不同硬件的數據采集卡" title="數據采集卡">數據采集卡以進行模擬輸入(AI), 模擬輸出" title="模擬輸出">模擬輸出(AO), 數字輸出" title="數字輸出">數字輸出入(DIO)的各種操作. 對于MATLAB的使用者而言將是一項有力的工具。

何謂MATLAB數據采集工具箱(Data Acquisition Toolbox)
數據采集工具箱是一組M-File 函式集和MEX-File 等動態鏈接鏈接庫所組成的, 專門使用在數據采集方面的一組函式庫. 它提供了以下主要的功能
1. 以相同的指令操作 模擬輸入(AI), 模擬輸出(AO), 數字輸出入(DIO)和同步模擬輸出入轉換各式功能, 不會因不同硬件而產生不同的指令.
2. 一個及時數據采集環境, 被測量的數據不需經由轉換可直接進入MATLAB 直接進行分析.
3. 支持主要的數據采集卡的廠商, 如:凌華, Agilent, ComputerBoards 和 National Instruments.
4. 支持事件驅動(Event-driven)的數據采集.

MATLAB數據采集工具箱的內部結構
數據采集工具箱包括三個模塊分別為: M-File 函式集, 數據采集引擎(Data Acquisition Engine), 和硬件轉接驅動程序(Hardware Driver Adaptors)。如下圖所示, 這些模塊允許使用者在MATLAB 內和使用者的數據采集硬件之間交換數據。

圖一: 數據采集工具箱的三大模塊和數據流動的關系

屬性和事件是內部溝通的方式, 數據是主要傳送的標的, 分述如下:

屬性(Property values)
使用者能經由屬性的改變而改變使用者的數據采集行為, 經由數據采集工具箱屬性的改變將會影響到硬件驅動程序的行為, 使硬件的工作符合使用者的實際需要。

資料(Data)
使用者能從感應器獲取數據并存放它在MATLAB內, 或從MATLAB 輸出數據" title="輸出數據">輸出數據到作動器。 此外使用者能在數字(1和0)和數字的輸出入(DIO)之間進行數據轉換。

事件(Events)
事件發生在當某個特定的情況符合之后, 通常在使用者設定屬性后使用者可以指定一個或更多的回呼函數(Callback function)去處理不同的事件。使用者能使用事件的一些方式包括預先決定相當數量的數據被采集之后立刻進行分析, 或當硬件驅動程序有錯誤發生時顯示一個錯誤訊息到MATLAB的工作區。

開始進行數據采集
或許最有效學習數據采集工具箱的方式為, 連接使用者的硬設備然后開始使用數據采集工具箱實際的進行數據采集的工作. 實際進行如何輸入或輸出數據。這個部分提供使用者一個簡單的例子說明怎么從實際的硬件上采集數據(AI), 又如何從MATLAB中產生數據并輸出到實際的硬件(AO), 另一種常見的數據采集是使用數字I/O(DIO)。

以上均為典型的數據采集范例并且會對個范例作說明。使用者應該記住這些步驟并修改成為自己的數據采集應用。

注意模擬輸入和模擬輸出范例使用一張凌華 DAQ2010的數據采集卡, 如果使用者使用一種另外支持的硬件裝置, 使用者應該修改硬件轉接驅動程序的名稱(Hardware Driver Adaptor Name.)和設備識別碼(Hardware Device Identifier)。


如果使用者想要所有函數的相關說明, 可以參考MATLAB的函數說明。

如果使用者想要其它的屬性相關說明, 可以參考MATLAB的基本屬性說明。

如果使用者已經安裝好凌華 DAQ2010的數據采集卡, 安裝好硬件驅動程序. 就可在光盤中或是到凌華科技網站http://www.凌華tech.com 中 尋找D2K-MTLB的DAQ2000系列的硬件轉接驅動程序, 安裝D2K-MTLB后就算完成了準備動作.

模擬輸入(AI)范例
這個范例將會使用數據采集工具箱對真實的數據采集卡進行設定, 操作, 采集數據, 并以圖表顯示出來.,只要稍為修改設定屬性值, 即可使用在真實的應用中.

1.宣告一個裝置對象 – 宣告一個可以代表DAQ2010的模擬輸入對象(ai)
ai = analoginput('凌華',1);

2.增加輸入信道(Add channels) – 增加一個硬件信道到ai
chan = addchannel(ai, 0);

3.設定屬性值 – 設定取樣頻率和觸發來源和條件
set(ai,'SampleRate',2000)
set(ai,'TriggerType', 'Immediate')
set(ai,'TriggerChannel', chan) %不一定要執行此指令因為會需要Trigger訊號
set(ai,'TriggerConditionValue', 2.0) %不一定要執行此指令因為會需要Trigger訊號

4.開始采集數據 – 當數據采集結束時, ai會自動停止數據采集并傳回數據.此時亦可使用圖表將數據顯示.
. start(ai)
data = getdata(ai);
plot(data)

5.清除宣告的對象變量 – 當使用者不再需要使用ai 裝置對象變量時, 使用者必需清除并釋放ai 所占用的內存.
delete(chan)
clear chan
delete(ai)
clear ai

圖二: 數據采集模擬輸入(AI)范例的執行結果

模擬輸出(AO)范例
這個范例將會使用數據采集工具箱對真實的數據采集卡進行設定, 操作, 輸出數據, 并以圖表顯示準備要輸出的波形.,只要稍為修改設定屬性值, 即可使用在真實的應用中.

1.宣告一個裝置對象 – 宣告一個可以代表DAQ2010的模擬輸出對象(ao)
ao = analogoutput ('凌華',1);

2.增加輸出通道(Add channels) – 增加一個或二個硬件信道到ao
chan = addchannel(ao, 0); %或 addchannel(ao,0:1);

3.設定屬性值 – 設定更新頻率
set(ao,'SampleRate',2000)

4.開始輸出資料 – 首先先在MATLAB內產生所要輸出的波形, 然后可以把波形數據寫入ao, 一次可以寫入一個通道或是寫入二個通道.
data = 10*sin(linspace(0,2*pi*10,8000)');
plot(data)
putdata(ao, data) %或 putdata(ao,[data data])

5.清除宣告的對象變量 – 當使用者不再需要使用ao 裝置對象變量時, 使用者必需清除并釋放ao 所占用的內存.
stop(ao)
delete(chan)
clear chan
delete(ao)
clear ao

圖三: 數據模擬輸出(AO)范例的輸出波形

數字輸出入(DIO)范例
這個范例將會使用數據采集工具箱對真實的數據采集卡進行數字的輸出, 同時讀回那些值.

1.宣告一個裝置對象 – 宣告一個可以代表DAQ2010的數字輸出入對象(dio)
dio = digitalio ('凌華',1);

2.增加數字訊號線(Add lines) – 增加八個數字訊號線到dio, 同時將數字訊號線設定為”輸出”
addline(dio,0:7,'out');

3.讀和寫數值 – 產生一個數值的數組, 并將它送到dio裝置對象, 注意讀和寫數字訊號線通常不必再對其輸出入的方向重新設定.
pval = [1 1 1 1 0 1 0 1];
putvalue(dio,pval)
gval = getvalue(dio);
plot(gval)

5.清除宣告的對象變量 – 當使用者不再需要使用dio 裝置對象變量時, 使用者必需清除并釋放dio 所占用的內存.
delete(dio)
clear dio

結論
在此簡單的介紹MATLAB數據采集工具箱的內部結構和使用方法,使用此種方式在MATLAB內控制數據采集卡是最直接的方式,同時可以完全和MATLAB整合并進行實時的數據存取和實時的分析,使用資料采集工具箱再加上一片可以在工具箱內使用的數據采集卡是所有需要作數據采集的工程師必備的工具。

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 日本一区二区高清视频| 亚洲一区在线直播| 欧美日韩精品免费在线观看视频 | 欧美专区在线视频| 精品无码久久久久久久动漫| 国产福利不卡| 国产精品专区在线| 日韩精品av一区二区三区| 国产精品视频免费观看www| 91精品国产91久久久久久吃药 | 国产精品日本精品| 久久天天躁夜夜躁狠狠躁2022| 日韩有码免费视频| 99精彩视频在线观看免费| 国产精品美女网站| 国产专区精品视频| 国产精品九九九| 国产日韩第一页v| 国产中文字幕免费观看| 国产精品久久网| 日韩中文有码在线视频| 亚洲一区在线直播| 国产欧美在线播放| 国产欧美一区二区三区视频| 国产一区玩具在线观看| 国产a∨精品一区二区三区不卡| 日本一区视频在线播放| 国产精品91在线| 日韩三级在线播放| 久久精品在线视频| 国产精品久久久久久久久久久不卡| 国产精品免费成人| 亚洲精品日韩在线观看| 欧美精品免费观看二区| 日本午夜精品一区二区三区| 美女精品久久久| 欧美日韩视频在线一区二区观看视频 | 国产日产亚洲精品| 国产精品成人av性教育| 国产精品久久久久av免费| 久久99久久精品国产|