當前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導讀]1、引言 數(shù)據(jù)采集系統(tǒng)涉及多學科,所研究的對象是物理或生物等各種非電或電信號。根據(jù)各種非電或電信號的特征,利用相應的歸一化技術(shù),將其轉(zhuǎn)換為可真實反映事物特征的電信號后,經(jīng)A/D轉(zhuǎn)換器轉(zhuǎn)換為計算機可識

1、引言

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

  (5)清除。當不再需要設(shè)備對象時,應使用刪除函數(shù)Delete將設(shè)備對象從內(nèi)存中清除,并使用清除命令Clear將對象從MATLAB工作空間中清除。

3.2 應用實例與分析

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

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

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

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

 ?。?)數(shù)據(jù)讀取的MATLAB實現(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)采集的實際心電圖信號,用RS232導入到PC中。在MATLAB環(huán)境下,運行以上已經(jīng)編好的程序,即可得到如下的模擬實驗結(jié)果。不過要說明的是,此處使用的數(shù)據(jù)采集系統(tǒng)是八通道同步采集,而仿真時僅使用的是其中一個通道進行的操作。

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

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

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉