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