基于LabWindows/CVI和ADAM—4118热电偶的温度采集系统
2013-04-29雷潇严蕾高闯
雷潇 严蕾 高闯
摘 要:本文主要介绍了在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.