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

?

基于虛擬儀器的溫度采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2014-11-12 20:30:09武祎
無線互聯(lián)科技 2014年10期
關(guān)鍵詞:多線程數(shù)據(jù)采集熱電偶

武祎

摘 要:本文主要介紹了在Windows環(huán)境下,以LabWindows/CVI為軟件開發(fā)平臺(tái),以熱電偶和計(jì)算機(jī)為主要硬件平臺(tái),利用多線程機(jī)制進(jìn)行溫度的采集和存儲(chǔ),最后對(duì)采集到的數(shù)據(jù)加以分析。實(shí)際應(yīng)用表明該系統(tǒng)運(yùn)行穩(wěn)定。

關(guān)鍵詞:LabWindows/CVI;熱電偶;多線程;數(shù)據(jù)采集

1 前言

虛擬儀器是近些年發(fā)展起來的新儀器技術(shù),它利用數(shù)據(jù)采集硬件模塊完成一般儀器的采集功能,利用計(jì)算機(jī)完成數(shù)據(jù)存儲(chǔ)、分析、顯示功能。LabWindows/CVI是目前世界上應(yīng)用最廣泛的虛擬儀器開發(fā)平臺(tái)之一,它以C語言為基本編程語言。為此,本文利用ADAM-4118熱電偶和LabWindows/CVI完成對(duì)數(shù)據(jù)的采集、存儲(chǔ)和分析工作[1]。計(jì)算機(jī)(工控機(jī))通過串口RS-232,中間經(jīng)過RS-232和RS-485的轉(zhuǎn)換器與熱電偶進(jìn)行通訊,被測(cè)參數(shù)的實(shí)時(shí)信號(hào)通過串口傳送給工控機(jī)。

⑴軟件設(shè)計(jì)。系統(tǒng)的應(yīng)用程序開發(fā)采用LabWindows/CVI,它是在Windows環(huán)境下面向計(jì)算機(jī)測(cè)控領(lǐng)域的虛擬儀器軟件開發(fā)平臺(tái)。該程序以ANSI C為核心,將C語言與測(cè)控專業(yè)工具有機(jī)的結(jié)合起來,并且支持多線程機(jī)制,利用它的集成開發(fā)環(huán)境,在編程過程中直接調(diào)用用戶界面函數(shù)并且利用采集卡提供的庫(kù)函數(shù),進(jìn)行系統(tǒng)的軟件設(shè)計(jì)。LabWindows/CVI有許多標(biāo)準(zhǔn)函數(shù)庫(kù),其中的RS-232函數(shù)庫(kù)提供了各種方式的串口通訊函數(shù)和IO函數(shù)。系統(tǒng)軟件主要包括串口初始化與實(shí)現(xiàn),安裝串口回調(diào)函數(shù),讀寫串口操作,數(shù)據(jù)保存,用戶界面5個(gè)部分。⑵硬件設(shè)計(jì)。系統(tǒng)的硬件主要是由熱電偶與工控機(jī)連接進(jìn)行數(shù)據(jù)采集和顯示。

2 基于LabWindows/CVI數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)方案

基于LabWindows/CVI數(shù)據(jù)采集系統(tǒng)的建立分以下幾步:第一步,利用LabWindows/CVI建立用戶界面。此界面包括四個(gè)數(shù)據(jù)采集(熱電偶)模塊,每個(gè)模塊有8個(gè)通道。第二步,在界面上建立控件按鈕,如數(shù)據(jù)采集按鈕(開始采集、停止采集),數(shù)據(jù)確認(rèn)按鈕,保存數(shù)據(jù)按鈕,數(shù)據(jù)顯示按鈕。第三步,在編程過程中使用多線程機(jī)制以保證數(shù)據(jù)采集的實(shí)時(shí)性,和提高CPU的利用率和程序的執(zhí)行效率。

⑴多線程機(jī)制的概念及設(shè)計(jì)。1)多線程概念。在Windows操作系統(tǒng)中,進(jìn)程表示一個(gè)執(zhí)行中的程序,它是CPU的調(diào)度單位。執(zhí)行程序代碼是線程的工作。當(dāng)一個(gè)進(jìn)程建立起來后,主線程也就產(chǎn)生了,所以每個(gè)Windows程序至少存在一個(gè)線程(主線程)。在數(shù)據(jù)采集系統(tǒng)的實(shí)時(shí)控制中,常會(huì)出現(xiàn)多任務(wù)同時(shí)進(jìn)行工作的情況,如數(shù)據(jù)采集,數(shù)據(jù)存儲(chǔ)等工作的并行進(jìn)行。如果采用單線程編程,必須要按數(shù)據(jù)采集-數(shù)據(jù)存儲(chǔ)的順序執(zhí)行程序,只有在數(shù)據(jù)存儲(chǔ)完后才能進(jìn)行下一輪的采集。這樣就會(huì)影響程序執(zhí)行的效率而且可能導(dǎo)致數(shù)據(jù)丟失。而采用多線程機(jī)制,就可以將這些任務(wù)分給幾個(gè)單獨(dú)的線程,一個(gè)線程進(jìn)行數(shù)據(jù)采集,一個(gè)線程進(jìn)行數(shù)據(jù)存儲(chǔ)或其他。2)多線程編程。在LabWindows/CVI編程中,使用主線程進(jìn)行創(chuàng)建、顯示并運(yùn)行用戶界面。使用次線程進(jìn)行數(shù)據(jù)的采集、存儲(chǔ)及其他操作。LabWindows/CVI提供了兩種機(jī)制來運(yùn)行次線程,分別是線程池和異步定時(shí)器。線程池比較適用于一個(gè)死循環(huán)或者是不連續(xù)的任務(wù);異步定時(shí)器適用于執(zhí)行有規(guī)律的中斷。本系統(tǒng)采用線程池機(jī)制[2]。

⑵線程池的使用。線程池中運(yùn)行次線程,首先需要調(diào)用通用函數(shù)庫(kù)中的CmtSchedulePoolFunction函數(shù)。并將需要在次線程中執(zhí)行的函數(shù)的函數(shù)名作為參數(shù)傳遞。其次,調(diào)用線程池等待函數(shù)CmtWaitForThreadPoolFunction等待線程池函數(shù)結(jié)束。最后,調(diào)用線程池釋放函數(shù)CmtReleaseThreadPoolFunctionID釋放空間。

3 溫度采集系統(tǒng)的設(shè)計(jì)

溫度采集系統(tǒng)的設(shè)計(jì)主要包括操作面板設(shè)計(jì)和能夠?qū)崿F(xiàn)數(shù)據(jù)實(shí)時(shí)采集功能的程序設(shè)計(jì)。面板是用于人機(jī)交流、對(duì)面板上的各種控件進(jìn)行操作。后臺(tái)運(yùn)行的功能程序?qū)崿F(xiàn)數(shù)據(jù)采集、存儲(chǔ)等功能。

⑴操作面板設(shè)計(jì)。面板(用戶界面)和面板中的控件如一些按鈕都是被控對(duì)象。面板的設(shè)計(jì)主要是利用了LabWindows/CVI中的用戶界面庫(kù)函數(shù)所提供的函數(shù)及通過改變對(duì)象的屬性來實(shí)現(xiàn)的。采集系統(tǒng)的前面板共有四個(gè)熱電偶模塊,每個(gè)模塊有八個(gè)通道進(jìn)行數(shù)據(jù)采集。這四個(gè)模塊可以任意選擇來采集數(shù)據(jù),即可以全選,也可以選其中的一個(gè),兩個(gè)或三個(gè)。在采集系統(tǒng)的串口通訊面板上發(fā)送接收命令,可改變模塊特性,如設(shè)定地址,輸入量程,波特率,從通道返回?cái)?shù)據(jù)等。此外還有一些模塊的設(shè)置[3]。

⑵實(shí)驗(yàn)結(jié)果。

實(shí)驗(yàn)結(jié)果表明,采集的溫度數(shù)據(jù)穩(wěn)定且具有較好的線性度。這些數(shù)據(jù)很好地反應(yīng)了實(shí)驗(yàn)室當(dāng)前的溫度情況。

4 總結(jié)

本系統(tǒng)在研究虛擬儀器技術(shù)以及數(shù)據(jù)采集技術(shù)相關(guān)理論的基礎(chǔ)上,使用虛擬儀器技術(shù)實(shí)現(xiàn)多通道數(shù)據(jù)采集,并將采集到的數(shù)據(jù)以文件形式進(jìn)行存儲(chǔ),用以數(shù)據(jù)分析。系統(tǒng)經(jīng)過調(diào)試后,運(yùn)行穩(wěn)定可靠。

[參考文獻(xiàn)]

[1]史君成,張淑偉,律淑珍.LabWindows/CVI虛擬儀器設(shè)計(jì)[M].北京:國(guó)防工業(yè)出版社.2007.

[2]余軍,張璐瑩.虛擬現(xiàn)實(shí)技術(shù)及其應(yīng)用[J].河南:天中學(xué)刊.2007-5.

[3]張靚,黃海于.基于LabWindows/CVI的多線程數(shù)據(jù)采集的研究和設(shè)計(jì)[J].北京:中國(guó)儀器儀表.2005-8.

猜你喜歡
多線程數(shù)據(jù)采集熱電偶
一種熱電偶在燃燒室出口溫度場(chǎng)的測(cè)量應(yīng)用
電子制作(2019年19期)2019-11-23 08:41:54
熱電偶時(shí)間常數(shù)檢測(cè)分揀系統(tǒng)設(shè)計(jì)
Java并發(fā)工具包對(duì)并發(fā)編程的優(yōu)化
鐵路客流時(shí)空分布研究綜述
基于廣播模式的數(shù)據(jù)實(shí)時(shí)采集與處理系統(tǒng)
軟件工程(2016年8期)2016-10-25 15:54:18
通用Web表單數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
軟件工程(2016年8期)2016-10-25 15:52:53
基于多線程文件傳輸關(guān)鍵技術(shù)研究與實(shí)現(xiàn)
基于開源系統(tǒng)的綜合業(yè)務(wù)數(shù)據(jù)采集系統(tǒng)的開發(fā)研究
網(wǎng)頁爬蟲技術(shù)的關(guān)鍵技術(shù)研究探索
一種基于多線程的高速磁盤鏡像算法
交口县| 垣曲县| 缙云县| 临城县| 晴隆县| 大洼县| 河南省| 普定县| 准格尔旗| 广宁县| 黔西县| 武宣县| 上蔡县| 洪湖市| 浏阳市| 扬州市| 兴海县| 云南省| 雅江县| 克什克腾旗| 本溪市| 错那县| 无为县| 册亨县| 旌德县| 奇台县| 齐河县| 沾益县| 石狮市| 罗甸县| 保定市| 绥滨县| 许昌县| 南丹县| 华亭县| 松原市| 阜宁县| 兴和县| 辽阳县| 油尖旺区| 镇沅|