版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、四通道温度数据采集论文摘 要虚拟仪器是将仪器技术、计算机技术、总线技术和软件技术紧密地融合在一起,利用计算机强大的数字处理能力实现仪器的大部分功能,打破了传统仪器的框架,形成的一种新的仪器模式。本设计是基于LabVIEW 2010开发平台而简单模拟设计的一个四通道数据采集系统,其中下位机是采用单片机模拟产生实时温度数据,上位机系统则具有数据同时采集、采集数据实时显示、存储与管理、报警系统、数据记录查看等功能,实现了四通道温度数据采集的目的。本文首先概述了虚拟仪器技术,LabVIEW开发平台,然后简单那介绍了数据采集的相关理论,最后具体讲解了本设计的各个模块在LabVIEW 上是如何实现的。关键
2、字:虚拟仪器;数据采集;LabVIEWAbstractVirtual instrument(VI) combines computer science, bus technology, software engineering with measurement instrumentation technology, making use of the computer powerful digital processing ability realize most of the functions of the instrument, breaking the traditional inst
3、rument, forming the framework of a new instrument model.This design is based on LabVIEW 2010 development platform and simple simulation design of a four channel data acquisition system, including lower machine is produced by single chip microcomputer simulation real-time temperature data, PC system
4、has data collection, data collection and real-time display, storage and management, alarm system, data record check, and other functions, realize the four channel temperature data collection purpose.This paper first summarizes the virtual instrument technology, LabVIEW development platform, and then
5、 simple that introduces the data acquisition of relevant theory, and finally to explain in detail the design of each module in LabVIEW on how it is done.Key words: Virtual Instrument; Data acquisition;LabVIEW 目 录摘 要- 1 -Abstract- 2 -目 录- 3 -第一章 绪论- 5 -1.1 引言- 5 -1.2 数据采集的意义和任务- 5 -1.3 虚拟仪器在数据采集中的应用价
6、值- 5 -1.4 本设计所做的工作- 6 -第二章 设计原理- 6 -2.1 数据产生- 6 -2.2 串口接收- 7 -2.3 分通道显示- 8 -2.3.1 数据分离- 8 -2.3.2 门限设置- 8 -2.3.3 波形显示- 9 -2.4 华氏转换- 9 -2.5 报警系统- 10 -2.6 数据文件存储- 10 -2.6.1 建立头文件- 10 -2.6.2 数据TXT存储- 11 -2.7 记录数据读取- 11 -2.8 面板设计- 12 -第三章 程序的调试- 12 -3.1 调试结果- 13 -3.1.1 波形显示- 13 -3.1.2 缓冲区字符串- 13 -3.1.3 数
7、据存储文件- 13 -3.1.4 报警- 14 -3.1.5 华氏转换- 14 -3.1.6 波形回显- 14 -3.2 调试问题与解决方案- 15 -3.2.1 字符串缓冲区- 15 -3.2.2 文件存储- 15 -3.2.3 华氏转换- 15 -3.2.4 波形回显- 16 -3.3 调试心得和建议- 16 -第四章 总结- 17 -参考文献- 18 -附录(一) 单片机程序代码- 19 -附录(二) 部分程序框图- 22 -第一章 绪论1.1 引言测控技术在现代科学技术、工业生产和国防科技等诸多领域中应用十分广泛,它的现代化已被认为是科学技术、国防现代化的重要条件和明显标志。近年来,以
8、计算机为中心、以网络为核心的网络化测控技术与网络化测控系统得到越来越多的应用,而数据采集系统则是完成测控任务的主力,虚拟仪器的出现很大程度上可以替代传统仪器的测量,本文正是设计实现了一款基于LabVIEW的温度数据采集系统。1.2 数据采集的意义和任务数据采集是计算机与外部物理世界连接的桥梁。数据采集就是将被测对象的各种参量(可以是物理量,也可以是化学量,生物量等)通过各种传感器和变送器做适当的转换后,以及信号调理、采样保持等步骤后,转化成数字信号给处理器进行数据处理,存储记录和显示打印的过程。随着计算机技术的发展和普及以及网络技术的发展,总线吞吐能力的提高,CPU处理能力的增强,数据采集系统
9、的技术水平大大提高。在生产过程中,应用数据采集系统,可以对生产现场的工艺变量进行采集,监控和记录,为提高产品质量,降低成本提供信息和手段。在科学研究领域中,应用数据采集系统可获得大量的动态信息,是研究瞬间物理过程的有力工具。数据采集的任务,就是采集传感器输出的模拟信号并转换成为计算机能识别的数字信号,然后送入计算机,进行相应的计算和处理,得到所需要的结果。1.3 虚拟仪器在数据采集中的应用价值虚拟仪器是以计算机为基础,配以相应测试功能的硬件作为信号输入/输出的接口,完成信号的采集,测量与调理,从而完成各种测试功能的一种计算机化仪器系统,是现代通讯技术与计算机技术结合的产物,是当今计算机辅助测试
10、领域的一项重要的技术。虚拟仪器通过软件将计算机硬件资源和仪器硬件资源有机的融合一体,从而把计算机强大的计算机处理能力和仪器的硬件测试,控制能力结合在一起,大大缩小了仪器硬件成本和体积,并通过软件实现对数据的显示,存储以及分析处理。“软件就是仪器”,这就是对虚拟仪器最好的定义。下图很好的描述了虚拟仪器数据采集的过程。图1-1 虚拟仪器数据采集过程1.4 本设计所做的工作本设计是用单片机做为下位机端,模拟产生四个通道的实时温度数据,通过串口发送到上位机LabVIEW端,上位机系统实时对下位机发送过来的温度数据进行处理和波形显示,同时有报警系统可检测温度数据是否超限,以实现可视化的实时数据观测,最后
11、波形重现系统可很好地实现对已存储数据的调用观察。第二章 设计原理本设计以实现四通道温度数据的采集和处理为目的,具体模块包括数据产生、串口通讯接收、分通道显示、报警系统、华氏转换、数据文件存储、记录数据读取、面板设计共八个部分。以下是各个模块的具体实现原理:2.1 数据产生 四个通道的温度数据,是通过在单片机上编写发送程序实现的,所用单片机型号为P89V51RD2,程序是在keil uvision3上编写C语言程序实现数据发送的,并通过串口专家来进行调试。 具体思路为,通过51单片机的T1来设置串口波特率为9600,通过T0实现一秒的时间间隔,在中断服务程序中将事先写好的四组数据依次间隔一秒地通
12、过串口发送出去。串门专家接收情况如图2-1:图 2-1 单片机程序调试2.2 串口接收本部分是实现下位机发送的温度数据在LabVIEW上的接收,具体是在LabVIEW上用VISA配置串口对串口进行配置、VISA写入(引用IF结构语句实现分别写入TF)、VISA读取、VISA关闭,将接收到的字符串数据在接收缓冲区显示,并通过字符串连接实现10KB的数据显示,大于10KB,对字符串显示控件清除。 图 2-2 串口配置2.3 分通道显示本部分实现四组数据的实时波形显示,并实现数据上下限的设定,同时让三条曲线显示在一个波形图表中,以达到实时观测数据的目的。2.3.1 数据分离VISA读取得到的字符串包
13、含四组温度信息,依次通过字符串截取控件,然后把截取到的字符串转换为一位数组,达到从字符串到数字转换的目的,数据就可以在波形图表上显示了。其中很关键的一步是把截取到的字符转换为数字,我用到了一个常量数组,依次让字符串对应的ASCII码减去0对应的码值得到额数字再相应重新组合为数字。图 2-3 字符串到数值的转化2.3.2 门限设置温度上下限的设置都是通过一个滑杆数值输入控件实现的,通过一个创建数组的控件可把数值常量创建成为一个常量数组,这样,上下限的数据类型就和温度数据一致了。同时引入一个数值比较运算,以方便判断数据是否超限,同时用来设置报警系统。 图 2-4 门限设置2.3.3 波形显示将三组
14、数组捆绑成簇,引入波形图表(如上图),即可显示三条图线,在前面板可通过设置波形图表的属性改变图线颜色和样式。显示效果如图2-5:图 2-5 波形显示把当前时间控件的输出(绝对时间),转换为双精度浮点数,然后输出给波形图表X轴的偏移量属性,然后再调节波形图表的标尺显示格式属性为绝对时间,即可达到波形图表横轴显示为实时时间的目的。2.4 华氏转换根据摄氏温度和华氏温度数据的数学关系,引用表达式节点可方便快速实现以上目的,但是这仅仅能实现数值的转换,要想实现系统显示(波形图表,温度显示盘数值)的改变,则必须引入IF结构,通过一个布尔控件控制是否转换,这个程序应放在波形图表以及其他显示控件的前面,这样
15、,只通过改变布尔的值就可以改变所有的显示。具体程序框图见附录(二)。2.5 报警系统报警系统我设置了三个层次,已达到当有温度值过限时,一目了然切能快速找到过限源的目的。首先,针对每一通道的数据,有单独的过限报警系统(主要是闪烁),其次,高一层次地,设置了两个报警灯,分别为上限报警和下限报警,报警源都来自四个通道各自上下限的“与”操作,即只要有任一通道过限即会报警,最感层次是一个报警灯和声音提示,只要是有过限数据,即会报警。这样,从高层次往下看,当有数据过限时,就可以很快地找到过限源,进行相应处理。图 2-6 报警系统2.6 数据文件存储 数据文件存储包括两个部分,头文件的建立和数据txt存储。
16、2.6.1 建立头文件本功能以及下面的数据存储,都主要用到以下控件:打开/创建/替换文件、格式化写入文件和关闭文件。头文件的创建包括两步:第一是文件路径,根据设计要求,先引用当前时间,转化为字符串,然后把具体路径字符串捆绑(当前时间是变化的),输出给文件路径的值属性;第二就是头文件了,这个可以引用格式化写入文件,注意头文件字符间隔与数据对应,很容易就实现了。程序框图如图2-7:图 2-7 建立头文件2.6.2 数据TXT存储数据的存储是实时的,动态的,所以把写入操作放在IF循环里面,与格式化写入头文件类似,先以一定格式写入当前时间,然后就是四组数据,我采用以字符串的形式写入。程序如下图。值得注
17、意的是每次写入文件时有一个判断文件大小的,然后和一个常量相比较的操作,该操作是为了实现新文件的创建,从程序框图很容易看出,当文件大小大于10200B时,则跳出if和while循环,这样,在下次数据到来之前,就可以执行再次创建一个文件的操作。图 2-8 格式化写入文件2.7 记录数据读取这部分是为了实现对以前存储数据的读取,数据是存储在txt文件中的,要想把数据读取出来,我采用的是和上面串口读取类似的读取方式,这个比较复杂,但是思路是很明确的。首先,打开、读取文件,然后用截取字符串控件,只把头文件截取掉,对以下的每行数据采用for循环(执行次数至少等于存储的数据组数)截取,这里应用到移位寄存器,
18、可以很方便地实现数据的逐行逐行截取。最后在for循环里面把截取到的字符串转换为数值数组,然后显示在波形图表上,达到读取存储数据的目的。具体程序框图见附录。2.8 面板设计面板设计对于一个仪器系统来说也是比较重要的,它一方面是为了整体美观,另一方面也是为了增强设计的可读性。面板的设计分为前面板设计和后面板设计,具体应遵循以下几点原则:第一,整齐、美观、无多余控件;第二,主要部分靠左上的原则;第三,就是颜色了,前面板颜色要有对比度,而且不宜超过三种颜色。最后值得注意的是,后面板的排列应尽量按照数据流从左到右的次序,实现某一功能的模块控件可放紧凑点,不同模块之间要有一定间隔,这样可大大提高程序可读性
19、,也方便设计者更改和完善程序。第三章 程序的调试程序调试过程就是运行一个设计好的程序,看是否能实现预期功能,并不断改进的过程。设计本采集系统时,我是分模块一步步进行设计的,一个模块实现一个功能,这样若某一模块功能无法实现,就可以很方便地立即更改。当然整个设计过程也遇到了不少问题,以下是各模块调试的结果,调试中遇到的一些问题解决方案和我的一点调试心得。3.1 调试结果3.1.1 波形显示 图 3-13.1.2 缓冲区字符串 图 3-23.1.3 数据存储文件图 3-33.1.4 报警 图 3-4 3.1.5 华氏转换 图 3-5 3.1.6 波形回显图 3-6 3.2 调试问题与解决方案程序调试
20、过程中遇到的问题是比较多的,设计用的时间也比较长,以下仅拿出我遇到的几个典型的问题,并说明我的解决办法。3.2.1 字符串缓冲区 下位机端的数据是每隔一秒发送一次的,这样的话,若直接用一个字符串显示控件显示缓冲区,则会出现只显示最后一组数据和不断刷新的现象,不能实现接收数据在显示控件中显示的效果。为了解决这个问题,我引用了反馈节点和if条件结构(具体可见该部分程序),设置if的条件为连接字符串的大小是否大于10KB,在if结构中运用反馈对每次接收到的字符串进行连接显示,达到了预期效果。3.2.2 文件存储 一开始,实现这部分时,在if语句的引用上我出现了错误,我把文件存储部分放在了if外面,这
21、样的后果就是,每来一组数据就会创建一个文件,无法连续存入,这是因为,程序执行时,每来一组数据,就会执行一次if语句并跳出,这样,每次跳出if结构,就会创建一个文件,并把一组数据存入。其实只需要把写入文件放入循环内部,并且很关键地要在if外放置一个while循环,并把文件创建程序放在while外面,设置while跳出条件为txt文件大于10KB,这样就会每存够10KB数据,才会进行下一个文件的创建。3.2.3 华氏转换这部分遇到的问题,前面已经提到过,就是一开始我设计华氏转换时,只是实现了一个显示控件数据的转换,并没有实现系统单位华氏的整体转换,其实前面我只是简单进行了一个数学的转换,然后显示,
22、后来我用一个if结构,这样可以用一个布尔控件实现整体单位的转换,布尔为F时,数据没有进行转换,为T时,不但数据进行了转换,同时显示仪表的量程等也要相应作出改变。3.2.4 波形回显波形回显是单独的一个模块,与前面没有数据流交换,如何实现前面部分与波形回显部分为类似于物理上电阻的并联结构,同时实现波形回显后程序进入前面部分(即接着进行数据采集)十分关键。一开始,我写的程序,这两个模块执行时存在矛盾,后来才发现,其实,在程序上,这个问题的关键就是波形回显部分放置的位置问题,只有把波形回显部分放置在与前面部分相同的层次上,才能解决问题,于是我把波形回显部分放在了里面这个while循环的内部,解决了这
23、个问题。 3.3 调试心得和建议对于LabVIEW的学习,我们往往在调试程序,遇到错误,然后自己慢慢解决的过程中才会有很大收获,这部分东西才是我们学习的宝贵财富。上面5.2部分我已详细讲解了我自己在调试本设计程序过程中遇到的问题,以及我解决这些问题的过程和方案,以下是我的一些心得和建议:1)我们用LabVIEW编写程序时,一定要多动手操作,多摸索实践。这也是我们学习应用性软件的很好的方法,以前学习C语言时,可能没有意识到这个问题,结果学的并不怎么样,而在完成上面整个程序的设计的过程中,我深深感受到了这一点,老师在课堂上带我们做东西,教给我们的只是学习这个东西的方法,只有我们自己加强动手操作,才
24、能学好LabVIEW。2)除了要学会如何使用LabVIEW中的基础控件(字符串、数值、数组等),我们还要熟练掌握程序的三种结构的应用,特别是条件结构、循环结构(while、event等),往往要写出一个好的程序,这些东西才是关键。编写程序的过程中,我慢慢意识到框架的建立是写好一个程序的关键,也能大致反应出我们的思路,开始时,我对while循环应用的理解存在误区,好多次程序出现问题时,总是不明白为什么程序会出现错误,通过和同学交流,才慢慢明白其中的原因。3)要编写一个LabVIEW程序,我们要有层次和数据流的概念,想做好一个东西,首先要想好我们要做的东西的框架,然后一点点往里面填写每个部分的框图
25、。我刚开始做这个数据采集系统时,整个思路都是比较模糊的,在做的过程中总是出现反复修改的问题,后面要与前面连接时,才发现前面部分有不符合要求的地方,所以,最好在一开始时,我们就在纸上尽量详细地画出框架,然后慢慢分模块符合要求地做出来,最后连接时才不会出现大的纰漏。4)通过深入了解一些LabVIEW的资料,我意识到,对于LabVIEW,我目前只是学习了一些基础,冰山一角,还有很多很多东西没有接触到,LabVIEW作为一种图行化程序设计语言,可以说走在了当今测量仪器设计的前列,能实现的功能是十分强大的,值得继续深入研究。5)最后,单就LabVIEW的学习来说,我觉着在整个学习的过程中,老师可以每教完一部分东西,就给我们布置一个小的任务,这样不仅可以加强我们对课堂知识的巩固应用,而且特别有利于我们后面的学习。好多同学因为前面的东西没有学明白,后面学习吃力而没有好好学,错过了很多重要的东西,到最后学完了,真正做东西的时候才发现什么都不会。第四章 总结本设计是在学习了LabVIEW基础编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030年新版中国刀具痤套项目可行性研究报告
- 2024-2030年撰写:中国联甲氧基苯胺行业发展趋势及竞争调研分析报告
- 2024-2030年撰写:中国替普瑞酮行业发展趋势及竞争调研分析报告
- 2024-2030年撰写:中国平流沉淀池项目风险评估报告
- 2024-2030年撰写:中国PP多层共挤管项目风险评估报告
- 2024-2030年吾琰搬迁改造项目可行性研究报告
- 2024-2030年卤素和油加热器搬迁改造项目可行性研究报告
- 2024-2030年兽医手术钳行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2024-2030年全球及中国高尔夫橡胶握把行业销售态势及竞争趋势预测报告
- 2024-2030年全球及中国钢筋网焊接机行业供需现状及投资前景展望报告
- 2024-2025学年高二上学期期末复习【第五章 一元函数的导数及其应用】十一大题型归纳(拔尖篇)(含答案)
- 湖北省咸宁市通城县2022-2023学年八年级上学期期末质量检测数学试卷(含解析)
- 【MOOC】法理学-西南政法大学 中国大学慕课MOOC答案
- 2024年新湘教版七年级上册数学教学课件 第4章 图形的认识 章末复习
- 2024年民用爆炸物品运输合同
- 2024-2030年中国离合器制造行业运行动态及投资发展前景预测报告
- 【MOOC】大学生创新创业教育-云南大学 中国大学慕课MOOC答案
- 《个体防护装备安全管理规范AQ 6111-2023》知识培训
- 客户管理系统技术服务合同
- 北京交通大学《成本会计》2023-2024学年第一学期期末试卷
- 治疗皮肤病药膏市场需求与消费特点分析
评论
0/150
提交评论