国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于VC++的室內(nèi)環(huán)境測試系統(tǒng)

2013-11-05 06:42:18高秋燕姚舜才
電子測試 2013年2期
關(guān)鍵詞:采集卡溫度傳感器開發(fā)者

高秋燕 姚舜才 李 健 閆 穎

(中北大學(xué) 信息與通信工程學(xué)院,山西 太原 030051)

1 引言

串行通行是工業(yè)監(jiān)控系統(tǒng)中直觀重要的環(huán)節(jié),而且,在通常的控制系統(tǒng)中,上位機與下位機之間實現(xiàn)通信的方法和應(yīng)用平臺很多,而且不同的方法具有不同的特點[1]。在眾多集成可視化開發(fā)環(huán)境中,Visual C++是編程環(huán)境的最佳選擇,其中MFC它提供了相當齊備的類和友好的界面環(huán)境,應(yīng)用Visual C++可以輕松開發(fā)出功能強大、速度快、應(yīng)用廣泛、占用資源少的應(yīng)用程序。本文主要是在Visual C++環(huán)境下,借助iUSBDAQ - U120816采集卡和NTC熱敏溫度傳感器進行連接來進行數(shù)據(jù)采集的,在這里使用的是熱敏溫度傳感器的模塊,經(jīng)過熱敏溫度傳感器后,溫度信號轉(zhuǎn)換成相應(yīng)的電壓信號,然后經(jīng)過iUSBDAQ- U120816采集卡,把該電壓信號送進AI0,即模擬量輸入的第一個通道,進過采集卡的信號然后進過串口送給USB接口直接與PC機連接,通過對Visual C++編程來進行溫度采集、曲線的繪制,以及采集數(shù)據(jù)的存儲[2-3]。

1.1 Visual C++的集成開發(fā)環(huán)境/MFC開發(fā)Windows程序的優(yōu)勢

Visual C++是Windows平臺上的C++編程環(huán)境,VC作為一個主流的開發(fā)平臺一直深受編程愛好者的喜愛,VC++應(yīng)用程序的開發(fā)主要有兩種模式,一種是WIN API方式,另一種則是MFC方式,傳統(tǒng)的WIN API開發(fā)方式比較繁瑣,而MFC則是對WIN API再次封裝,所以MFC相對于WIN API開發(fā)更具備效率優(yōu)勢,MFC是Win32API的包裝類,需要理解文檔視圖類的結(jié)構(gòu),窗口類的結(jié)構(gòu),消息流向等等[4]。

MFC借助C++的優(yōu)勢為Windows開發(fā)開辟了一片新天地,同時也借助ApplicationWizzard使開發(fā)者擺脫離了那些每次都必寫基本代碼,借助ClassWizard和消息映射使開發(fā)者擺脫了定義消息處理時那種混亂和冗長的代碼段。更令人興奮的是利用C++的封裝功能使開發(fā)者擺脫Windows中各種句柄的困擾,只需要面對C++中的對象,這樣一來使開發(fā)更接近開發(fā)語言而遠離系統(tǒng)[5]。

正因為MFC是建立在C++的基礎(chǔ)上,所以我強調(diào)C/C++語言基礎(chǔ)對開發(fā)的重要性。利用C++的封裝性開發(fā)者可以更容易理解和操作各種窗口對象;利用C++的派生性開發(fā)者可以減少開發(fā)自定義窗口的時間和創(chuàng)造出可重用的代碼;利用虛擬性可以在必要時更好的控制窗口的活動。而且C++本身所具備的超越C語言的特性都可以使開發(fā)者編寫出更易用,更靈活的代碼。在MFC中對消息的處理利用了消息映射的方法,該方法的基礎(chǔ)是宏定義實現(xiàn),通過宏定義將消息分派到不同的成員函數(shù)進行處理[6-7]。

2 硬件部分設(shè)計

室內(nèi)環(huán)境測試系統(tǒng)的溫度采集的硬件部分如下圖1所示:

圖1 溫度數(shù)據(jù)采集硬件連接圖

2.1 NTC熱敏溫度傳感器

在上圖1中,小的那個模塊是NTC熱敏溫度傳感器的模塊,MF52 型熱敏電阻器是采用新材料、新工藝生產(chǎn)的小體積的樹脂包封型NTC 熱敏電阻器,具有高精度和快速反應(yīng)等優(yōu)點.在實際中,我們使用的是該溫度傳感器的模塊,經(jīng)過溫度傳感器后,溫度信號轉(zhuǎn)換成了相應(yīng)的電壓信號,模擬量輸出的電壓0-3.5V之間,并且該傳感器模塊需要5V的直流電源進行供電。NTC 熱敏電阻器特點:測試精度高;體積小、反應(yīng)速度快;.能長時間穩(wěn)定工作;互換性、一致性好。

2.2 iUSBDAQ - U120816采集卡

USBDAQ – U120816可用于工業(yè)過程監(jiān)控,,它的主要功能有一下幾點:

1.USB 2.0/1.1 全 速 界 面(full speed interface)以及USB電纜線供電;

2.8 個單端(Single-Ended),12-Bit 模擬輸入(Analog Inputs),100Ks/s ADC ;

3.0 -4.096 V 模擬輸入電壓范圍(Analog Input Range),解析度為 1mv ;

4.在連續(xù)STREAMING模式下能實時將數(shù)據(jù)不間斷的采集到PC,總通過率多至32 kSamples/Sec,單通道的通過率多至13 kSamples/Sec for Streaming Mode多 至13kSamples/Second for Streaming Mode采集輸入。

5.一個外部觸發(fā)線供給STREAMING模式下數(shù)據(jù)采集和一個16-Bit計數(shù)器(Counter);

3 軟件設(shè)計部分

在這里設(shè)計的是工程名為“單通道溫度數(shù)據(jù)采集”的單文檔應(yīng)用程序,其中在MFC AppWizard-Step 6 of 6 對話框中,我們選擇的CMyView的基類是CFormView。

3.1 采集系統(tǒng)分一個用戶登錄界面和一個實時數(shù)據(jù)采集顯示界面

(1)用戶登錄界面的設(shè)計

系統(tǒng)登錄模塊用于驗證用戶登錄系統(tǒng)時輸入的用戶名、密碼是否正確,只有合法的用戶才可以進入系統(tǒng)。

圖2 用戶登錄界面

首先點擊視圖欄中ResourceView按鈕,單擊Dialog樹狀文件夾展開,右擊,插入一個Dialog子對話框,用于繪制用戶登錄對話框,可以按照如下圖對登錄界面對按鈕進行編程。

圖3 登錄界面流程圖

(2)主界面的設(shè)計

通過采集卡的USB數(shù)據(jù)線實現(xiàn)模擬量到數(shù)字量的轉(zhuǎn)換,輸入到計算機,通過該系統(tǒng)對輸入的信號進行處理,其中包括實時動態(tài)曲線顯示模塊,均值、最大值、最小值模塊,采集個數(shù),數(shù)據(jù)存儲模塊。繪制流程圖如圖3.1所示:

圖4 標準的軟件流程圖

根據(jù)上面如圖所示的流程圖來進行對每個區(qū)域的編程,下面介紹詳細的如何進行數(shù)據(jù)采集以及實時曲線繪制:

第一,先將iUsbApi.h和iUSBDAQ.h加入到工程文件中。

第二,在“單通道溫度數(shù)據(jù)采集View.cpp”的開 頭 處 添 加 #include“iUsbApi.h”和 #include“iUSBDAQ.h”。

第三,在開始對數(shù)據(jù)采集前,必須先視類的初始 化 時 OnInitialUpdate()中 添 加 LoadLibrary(“iUSBDAQ”),加載 iUSBDAQ - U120816采集卡的庫函數(shù)、打開采集卡以及打開要采集的數(shù)據(jù)通道,之后在該函數(shù)中讀取該采集卡和打開設(shè)備。

第四,開始對數(shù)據(jù)進行采集是還得先用IUSBDAQReadChannels,來設(shè)置打開的通道是哪個通道,在該采集系統(tǒng)中設(shè)計的是用第一個通道,來進行該通道數(shù)據(jù)的讀取。

第五,在讀取數(shù)據(jù)時,還必須定義一個時鐘,在這里設(shè)計的是每1000ms采集一次數(shù)據(jù),我們設(shè)計了兩個采集數(shù)據(jù)的按鈕,一個連續(xù)采集的按鈕,一個間斷采集的按鈕,可以根據(jù)需要來選擇使用哪種方式進行數(shù)據(jù)的采集[8]。

第六,對界面進行編程時,對實時數(shù)據(jù)采集的顯示,在對溫度進行采集時,得到的是單位為V的對應(yīng)的電壓值,方便及直觀我們,在圖像上的縱坐標顯示的是1400-1000*m_caiji(MV);橫坐標對應(yīng)的是時間[9]。

第七,界面設(shè)計中包括圖像顯示區(qū)、按鈕選擇區(qū)、實時數(shù)據(jù)顯示區(qū)和上下限指示區(qū),在界面的右下角我們還設(shè)計了一個當時的時間顯示。每一個區(qū)都分為一個模塊,使得我們的界面更加清晰,漂亮。

最后,我們還對所采集的數(shù)據(jù)進行了數(shù)據(jù)的存儲等的編程,以便為了以后對數(shù)據(jù)進行分析研究。下面為數(shù)據(jù)存儲的代碼,可以在0nPaint()函數(shù)中添加:

{

CString strTmp;

strTmp.Format(“%d“,m_caiji);

str += strTmp;

CStdioFile file(“d :data.txt “,CFile::modeWrite);

// 數(shù)據(jù)存儲位置

file.WriteString(str);// 數(shù)據(jù)寫入

file.Close(); // 關(guān)閉文件夾

}

數(shù)據(jù)采集界面以及實時曲線如圖5所示:

圖5 溫度數(shù)據(jù)采集的界面顯示

4 結(jié)論

使用NTC熱敏溫度傳感器對室內(nèi)的溫度進行采集,再使用USB數(shù)據(jù)采集板與基于VC++6.0的PC機進行通信。通過溫度傳感器將溫度信號轉(zhuǎn)換成電壓信號,通過采集板的AI0通道將模擬信號輸進來,經(jīng)過采集板將該模擬信號轉(zhuǎn)換成數(shù)字量傳輸?shù)接嬎銠C上在界面中顯示出來。利用MFC的編程思想,在可視化的界面中,可以直觀的看見我們需要采集的數(shù)據(jù)。

在該系統(tǒng)中,我們使用的USB數(shù)據(jù)采集卡是多通道輸入的,而在這里我們只是利用單通道對室內(nèi)環(huán)境溫度進行測試,很有很多需要改進的地方,在以后的工作中,可以利用多通道對室內(nèi)的多個量進行采集分析,然后做出更加多功能的可視化界面,并且可以對采集到的數(shù)據(jù)來借助MATLAB進行濾波等的數(shù)據(jù)分析與研究。

[1] 陳天華.面向?qū)ο蟪绦蛟O(shè)計與Visual C++6.0教程.北京:清華大學(xué)出版社,2006.7-20.

[2] 孫鑫 .VC++深入詳解.[M].北京: 電子工業(yè)出版社,2012;100-160.

[3] 田敏,鄭瑤,李江全.Visual C++數(shù)據(jù)采集與串口通信測試應(yīng)用實踐.人民郵電出版社.2010.7-81.

[4] 陳志泊,王春玲,孟偉.北京.面對對象的程序設(shè)計語言,人民郵電出版社.2007.8-20.

[5] 鄭阿奇,丁有和.Visual C++應(yīng)用教程.北京:人民郵電出版社,2008.100-123.

[6] 張立科.Visual C++6.0程序設(shè)計與開發(fā)技術(shù)大全.北京:人民郵電出版社,2004.70-81.

[7] 幸長安,梅林.VC++編程技術(shù)與難點剖析.北京:清華大學(xué)出版社,2002.32-45.

[8] 羅斌.Visual C++編程技巧精選.北京:中國水利水電出版社,2005.101-132.

[9] 湛為芳.高效實用Visual C++庫函數(shù)設(shè)計.北京:清華大學(xué)出版社.2010.50-54.

猜你喜歡
采集卡溫度傳感器開發(fā)者
高精度AD采集卡性能測試及評價方法研究
中國測試(2022年2期)2022-03-19 09:57:30
溫度傳感器DS18B20在溫度計設(shè)計中的應(yīng)用
電子制作(2019年12期)2019-07-16 08:45:44
一種高性能CMOS溫度傳感器
XTR105電流變送器在溫度傳感器中的應(yīng)用
電子制作(2018年12期)2018-08-01 00:47:40
面向數(shù)控機床的多通道傳感數(shù)據(jù)采集卡設(shè)計
并行高速采樣在地震物理模擬采集中的應(yīng)用
16%游戲開發(fā)者看好VR
CHIP新電腦(2016年3期)2016-03-10 13:06:42
PCI-e高速數(shù)據(jù)采集卡的驅(qū)動與上位機軟件設(shè)計
電子器件(2015年5期)2015-12-29 08:43:12
iOS開發(fā)者調(diào)查
電腦迷(2015年8期)2015-05-30 12:27:10
iOS開發(fā)者調(diào)查
電腦迷(2015年4期)2015-05-30 05:24:09
普宁市| 濉溪县| 泾阳县| 浪卡子县| 镇坪县| 洪湖市| 太仆寺旗| 鲁甸县| 黔西县| 寿光市| 连山| 鄂托克旗| 萨嘎县| 江华| 浙江省| 金塔县| 吉林省| 奉新县| 星子县| 阜阳市| 东乌珠穆沁旗| 凌海市| 明星| 绥江县| 舟山市| 门头沟区| 潼关县| 嘉祥县| 昌江| 太和县| 黄龙县| 锡林浩特市| 岳普湖县| 称多县| 乌拉特前旗| 田东县| 丰宁| 长治市| 伊宁县| 新平| 揭东县|