雷瀟 嚴蕾 高闖
摘 要:本文主要介紹了在Windows環(huán)境下,以LabWindows/CVI為開發(fā)平臺,以ADAM-4118熱電偶和計算機為主要硬件平臺組成溫度采集系統(tǒng),利用多線程機制進行溫度的采集和存儲,最后對采集到的數(shù)據(jù)加以分析。實際應用表明該系統(tǒng)運行穩(wěn)定。
關鍵詞:LabWindows/CVI;ADAM-4118熱電偶;多線程;數(shù)據(jù)采集
1 前言
LabWindows/CVI是以C語言為基本編程語言的虛擬儀器軟件。利用ADAM-4118熱電偶和LabWindows/CVI完成對數(shù)據(jù)的采集、存儲和分析工作[1]。工控機通過RS-232,中間經(jīng)過RS-232和RS-485的轉(zhuǎn)換器與熱電偶進行通訊,被測參數(shù)的實時信號通過串口傳送給工控機。
1.1 軟件設計
程序開發(fā)用LabWindows/CVI,它是Windows環(huán)境面向計算機測控領域的虛擬儀器軟件開發(fā)平臺[2]。在編程過程中直接調(diào)用用戶界面函數(shù)并且利用熱電偶提供的函數(shù),進行系統(tǒng)的軟件設計。其中RS-232函數(shù)庫提供了各種方式的串口通訊函數(shù)和IO函數(shù)。
1.2 硬件設計
硬件主要由ADAM-4118熱電偶模塊與工控機連接進行數(shù)據(jù)采集和顯示。ADAM-4118將熱電偶轉(zhuǎn)換為RS-485信號,傳輸?shù)诫娔X上。又普通機有RS-232接口,而無RS-485,所以需采用RS-232到RS-485的轉(zhuǎn)換器。
2 基于CVI和ADAM-4118熱電偶的數(shù)據(jù)采集設計方案
本數(shù)據(jù)采集系統(tǒng)的建立分以下幾步:
第一步,利用LabWindows/CVI建立用戶界面。其包括四個數(shù)據(jù)采集模塊,每個模塊有8個通道。
第二步,在界面上建立控件按鈕,如數(shù)據(jù)采集按鈕,數(shù)據(jù)確認按鈕、保存、顯示按鈕。
第三步,在編程過程中使用多線程機制以保證數(shù)據(jù)采集的實時性,提高CPU的利用率和程序的執(zhí)行效率。
在LabWindows/CVI編程中,使用主線程進行創(chuàng)建、顯示并運行用戶界面。使用次線程進行數(shù)據(jù)的采集、存儲及其他操作。本系統(tǒng)在編程時除使用主線程外,還采用了3個不同的次線程,分別進行數(shù)據(jù)采集與分析,數(shù)據(jù)顯示,數(shù)據(jù)存儲[4]。
3 溫度采集系統(tǒng)的設計
本系統(tǒng)主要包括操作面板設計和實現(xiàn)數(shù)據(jù)實時采集功能的程序設計。
3.1 操作面板設計
用戶操作面板如圖1所示。
面板的設計主要是利用了LabWindows/CVI中的用戶界面庫函數(shù)所提供的函數(shù)及通過改變對象的屬性來實現(xiàn)的。圖1是采集系統(tǒng)的前面板。
3.2 溫度采集
用ADAM-4118熱電偶采集到的溫度是以℃為單位。編程時,熱電偶提供了一些命令來實現(xiàn)功能,以準確掌握計算機配置相關信息,達到對數(shù)據(jù)的準確控制。
3.3 數(shù)據(jù)存儲
由于ADAM-4118熱電偶內(nèi)部擁有信號轉(zhuǎn)換模塊,就不用對采集到的數(shù)據(jù)進行曲線擬合了。數(shù)據(jù)的存儲,是分別以四個數(shù)組Read1,Read2,Read3,Read4來存儲4個模塊采集的溫度。此外,本程序采用fprintf函數(shù)建立一個后綴為dat的動態(tài)數(shù)據(jù)保存文件?!癕1234”表示采用四個熱電偶模塊同時采集數(shù)據(jù);“1”表示確認采集數(shù)據(jù)的次數(shù)為1次(因為采用的存儲方式為手動存儲)。
4 總結(jié)
本文以LabWindows/CVI為開發(fā)平臺,以ADAM-4118熱電偶和工控機為主要硬件平臺進行數(shù)據(jù)采集系統(tǒng)的建立。此系統(tǒng)能夠及時采集和存儲數(shù)據(jù)。故可以到不同的實際環(huán)境中對溫度的變化進行實時監(jiān)控。實踐表明,此系統(tǒng)利用人機界面簡化了操作步驟。可以代替許多復雜的硬件系統(tǒng),節(jié)省開支。
[參考文獻]
[1]史君成,張淑偉,律淑珍.LabWindows/CVI虛擬儀器設計[M].北京:國防工業(yè)出版社,2007.
[2]余軍,張璐瑩.虛擬現(xiàn)實技術及其應用[J].河南:天中學刊,2007-5.
[3]馬瑞新,田琳琳,賴曉晨.基礎C++程序分析與設計[M].大連:大連理工大學出版社,2007.
[4]劉君華.基于LabWindows/CVI的虛擬儀器設計[J].北京:電子工業(yè)出版社,2003.