精品国产成人一区二区三区-女子十八毛片-欧洲性猛交-无码不卡一区二区三区在线观看-www.四虎在线-伊人网国产-国精产品自偷自偷综合下载-不卡av网站-俄罗斯黄色大片-一本久久知道综合久久-国产精品日韩一区二区-日韩精品色-免费人成网ww555kkk在线-黄色在线观看免费-日韩在线免费-久久久久99人妻一区二区三区-十八禁真人啪啪免费网站

當(dāng)前位置:機(jī)電之家首頁 >> PLC技術(shù)>> plc應(yīng)用 >> ab plc應(yīng)用 >> 基于MATLAB的實(shí)時(shí)數(shù)據(jù)采集與分析
基于MATLAB的實(shí)時(shí)數(shù)據(jù)采集與分析

1、引言

         數(shù)據(jù)采集系統(tǒng)涉及多學(xué)科,所研究的對(duì)象是物理或生物等各種非電或電信號(hào)。根據(jù)各種非電或電信號(hào)的特征,利用相應(yīng)的歸一化技術(shù),將其轉(zhuǎn)換為可真實(shí)反映事物特征的電信號(hào)后,經(jīng)A/D轉(zhuǎn)換器轉(zhuǎn)換為計(jì)算機(jī)可識(shí)別的有限長二進(jìn)制數(shù)字編碼,以此作為研究自然科學(xué)和實(shí)現(xiàn)工業(yè)實(shí)時(shí)控制的重要依據(jù),實(shí)現(xiàn)對(duì)宏觀和微觀自然科學(xué)的量化認(rèn)識(shí),典型的數(shù)據(jù)采集系統(tǒng)組成如圖1所示。

         在采集過程中,將傳感器獲取的參數(shù)通過A/D轉(zhuǎn)換送入內(nèi)存,然后由CPU對(duì)其進(jìn)行分析、運(yùn)算和處理,如數(shù)字濾波、量綱變換、誤差修正、數(shù)字顯示等。在本文中,嘗試通過利用MATLAB的數(shù)據(jù)采集工具箱對(duì)自主設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)[1]進(jìn)行模擬仿真,結(jié)果實(shí)現(xiàn)了對(duì)設(shè)計(jì)系統(tǒng)的模擬操作檢驗(yàn)與數(shù)據(jù)分析。為了滿足實(shí)時(shí)采集的要求,采用了Compilier編譯器[2],Compilier以M語言編制的程序?yàn)檩斎?,可以根?jù)需要生成獨(dú)立運(yùn)行的應(yīng)用程序或可以被C/C++程序調(diào)用的動(dòng)態(tài)鏈接庫文件[3]。它支持MATLAB所有的內(nèi)部函數(shù),可使程序變得簡潔高效。

Figure 1 典型數(shù)據(jù)采集系統(tǒng)的組成

2、數(shù)據(jù)采集工具箱介紹

        在MATLAB數(shù)據(jù)采集工具箱里集成了數(shù)據(jù)采集的M文件格式的函數(shù)和MEX文件格式的動(dòng)態(tài)鏈接庫。其主要特征[4][5]如下:

  (1) 提供了將實(shí)時(shí)測(cè)量數(shù)據(jù)從數(shù)據(jù)采集硬件采集到MATLAB中的框架。

  (2) 支持模擬量輸入(AI)、模擬量輸出(AO)以及數(shù)字量I/O子系統(tǒng),包括模擬量I/O實(shí)時(shí)變換。

  (3) 支持PC聲卡和業(yè)界非常流行的數(shù)據(jù)采集設(shè)備如NI卡、并行口(LPT1-LPT3)、Keithley卡等。

  (4) 采用事件驅(qū)動(dòng)模式進(jìn)行數(shù)據(jù)采集。數(shù)據(jù)采集工具箱由三部分組成:M文件格式的函數(shù)、數(shù)據(jù)采集引擎和硬件驅(qū)動(dòng),如圖2所示。這些組成部分使得MATLAB與數(shù)據(jù)采集硬件之間的信息傳遞成為可能。

Figure 2 數(shù)據(jù)采集引擎與硬件驅(qū)動(dòng)

3、數(shù)據(jù)采集過程

3.1 數(shù)據(jù)采集的基本步驟

  (1)創(chuàng)建設(shè)備的一個(gè)對(duì)象。對(duì)象創(chuàng)建函數(shù)列表如下:

Table 1 對(duì)象創(chuàng)建函數(shù)列表


 ?。?)添加通道或數(shù)據(jù)線。模擬量I/O對(duì)象中用應(yīng)添加通道,而數(shù)字量I/O對(duì)象中應(yīng)添加數(shù)據(jù)線,與添加通道或數(shù)據(jù)線有關(guān)的函數(shù)列表如下:

Table 2 與添加通道或數(shù)據(jù)線有關(guān)的函數(shù)列表

(3)配置屬性。屬性分為公共屬性和通道/數(shù)據(jù)線屬性,而兩者又再被分為基本屬性與設(shè)備特有屬性。其中公共屬性為返回設(shè)備對(duì)象的所有可配置的公共屬性名及其可能的屬性值,應(yīng)將對(duì)象作為Set函數(shù)的輸入?yún)?shù);要返回設(shè)備對(duì)象的所有公共屬性及其當(dāng)前值或?yàn)轱@示某個(gè)屬性的當(dāng)前值,應(yīng)將對(duì)象或?qū)傩悦鳛镚et函數(shù)的輸入?yún)?shù)。對(duì)于通道/數(shù)據(jù)線屬性,則使用Channel(Line)屬性。

 

  (4)獲取或輸出數(shù)據(jù)。包括啟動(dòng)設(shè)備對(duì)象,記錄或發(fā)送數(shù)據(jù)及停止設(shè)備對(duì)象三個(gè)步驟。其中啟動(dòng)設(shè)備執(zhí)行Start函數(shù)、提取記錄數(shù)據(jù)使用Getdata函數(shù)、發(fā)送數(shù)據(jù)前的數(shù)據(jù)排列使用Putdata函數(shù)、停止使用用Stop函數(shù);另外運(yùn)行狀態(tài)用Running屬性標(biāo)識(shí)、記錄狀態(tài)由Logging屬性標(biāo)識(shí)、發(fā)送狀態(tài)由Sending屬性標(biāo)識(shí),其取值均為On或Off。對(duì)于數(shù)字量I/O對(duì)象,該部分處理有所不同。

 ?。?)清除。當(dāng)不再需要設(shè)備對(duì)象時(shí),應(yīng)使用刪除函數(shù)Delete將設(shè)備對(duì)象從內(nèi)存中清除,并使用清除命令bbbbb將對(duì)象從MATLAB工作空間中清除。

3.2 應(yīng)用實(shí)例與分析

3.2.1 MATLAB對(duì)RS232 的串口通信設(shè)計(jì)

         MATLAB是一個(gè)跨平臺(tái)軟件,而此處使用的是自主設(shè)計(jì)的數(shù)據(jù)采集卡,因此不具備直接訪問的能力。但MATLAB的面向?qū)ο蠹夹g(shù),已用一個(gè)對(duì)象把計(jì)算機(jī)串口封裝起來,只要用Serial函數(shù)創(chuàng)建串口對(duì)象即可[6]。關(guān)鍵語句為:s=serial(‘COM1’,‘BaudRate’,9600)。MATLAB封裝的串口對(duì)象支持對(duì)串口的異步讀寫操作,通過對(duì)異步讀寫設(shè)置,PC在執(zhí)行讀寫串口函數(shù)時(shí)能立即返回,不必等待串口把數(shù)據(jù)串輸完畢。當(dāng)指定數(shù)據(jù)傳輸結(jié)束時(shí)就觸發(fā)事件,執(zhí)行事件回調(diào)函數(shù),對(duì)事件回調(diào)函數(shù)編程,進(jìn)行數(shù)據(jù)處理,這樣可以大大提高數(shù)據(jù)處理的效率。

         MEX是MATLAB的可執(zhí)行程序,是MATLAB調(diào)用其它語言編寫的程序或算法的接口,在bbbbbbs環(huán)境下是擴(kuò)展名為DLL的動(dòng)態(tài)鏈接庫。對(duì)MEX編譯器進(jìn)行配置的方法是:在MATLAB命令窗口中運(yùn)行mex-setup,選擇VC6.0++作為編譯器。用C語言編寫端口讀、寫的操作程序,程序包含有頭文件mex.h和mexFunction函數(shù),mexFunction函數(shù)中nelhs表示輸出變量的個(gè)數(shù),plhs包含指向輸出變量指針的數(shù)組,nrhs表示輸入變量的個(gè)數(shù),prhs包含指向輸入變量指針的數(shù)組。接口編形成的MEX文件與參考文獻(xiàn)[7][8]類似,在此不再累述。

3.2.2 數(shù)據(jù)采集與分析

 ?。?)數(shù)據(jù)讀取的MATLAB實(shí)現(xiàn)

  主要代碼為:

%讀取通道數(shù)及總數(shù)據(jù)量
fid=fopen(‘cardiogram.add’,‘r’);
Status=fseek(fid,56,‘bof’);
nDataChNum=fread(fid,1,‘long’);
status=fseek(fid,204, ‘bof’);
nAllDataLength=fread(fid,1, ‘long’);
%按通道數(shù)循環(huán)讀出各通道起始地址
status=fseek(fid,76, ‘bof’);%
for i=1: nDataChNum
pChannelAdr(i)=fread(fid,1, ‘long’)
end
%按通道數(shù)循環(huán)讀出各通道數(shù)據(jù)
for i=1:nDataChNum
status=fseek(fid,pChannelAdr(i)+360, ‘bof’)
nSegNum=fread(fid,1, ‘log’)
status=fseek(fid,pChannelAdr(i)+160*nSegNum+1024, ‘bof’);
data=fread(fid,nAllDataLength, ‘short’);
end
sta=fclose(fid);

  (2)數(shù)據(jù)處理與圖形繪制

        利用MATLAB的圖形用戶接口,通過編程可以很方便地構(gòu)建數(shù)據(jù)采集與分析的用戶交互界面。將數(shù)據(jù)采集系統(tǒng)采集的實(shí)際心電圖信號(hào),用RS232導(dǎo)入到PC中。在MATLAB環(huán)境下,運(yùn)行以上已經(jīng)編好的程序,即可得到如下的模擬實(shí)驗(yàn)結(jié)果。不過要說明的是,此處使用的數(shù)據(jù)采集系統(tǒng)是八通道同步采集,而仿真時(shí)僅使用的是其中一個(gè)通道進(jìn)行的操作。

figure 3 實(shí)際心電圖信號(hào)的采集與處理效果圖
 
4、結(jié)語

        使用自主開發(fā)的數(shù)據(jù)采集系統(tǒng),通過合理運(yùn)用串口及MTLAB強(qiáng)大的數(shù)值計(jì)算和分析功能,實(shí)現(xiàn)了基于MATLAB的實(shí)時(shí)數(shù)據(jù)處理和分析。通過模擬實(shí)驗(yàn)表明,該方法對(duì)于其它類似采集卡依然實(shí)用,具有一定的應(yīng)用價(jià)值和發(fā)展前景。

 

作者:未知 點(diǎn)擊:1403次 [打印] [關(guān)閉] [返回頂部]
本文標(biāo)簽:基于MATLAB的實(shí)時(shí)數(shù)據(jù)采集與分析
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報(bào)酬未能及時(shí)支付,在此深表歉意,請(qǐng)《基于MATLAB的實(shí)時(shí)數(shù)據(jù)采集與分析》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊(cè)
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個(gè)人求購

陳經(jīng)理 【求購】  星諾XIN...  2025-12-19
胡勇 【求購】  扎帶機(jī)  2025-12-19
 【求購】  電動(dòng)漲管機(jī)  2025-12-18
 【求購】  洗手池  2025-12-17
馮經(jīng)理 【求購】  PTD電機(jī)  2025-12-17
倪先生 【求購】  液壓馬達(dá)  2025-12-16
練子棟 【求購】  金屬管件  2025-12-16
陳經(jīng)理 【求購】  求購螺母螺...  2025-12-16
VIP公司推薦

兴安盟| 金溪县| 正定县| 铁力市| 共和县| 通城县| 天水市| 当雄县| 抚顺县| 陕西省| 托克逊县| 兴山县| 石泉县| 如皋市| 乡城县| 蒙城县| 海晏县| 兴国县| 察雅县| 成安县| 蓝山县| 惠来县| 教育| 乐平市| 雷波县| 改则县| 东城区| 萝北县| 山东省| 白河县| 浦城县| 拜城县| 鄂尔多斯市| 公主岭市| 渭南市| 三江| 林州市| 岳阳县| 曲阜市| 澄江县| 得荣县|