2022年2022年基于LabVIEW的红外传感器的多路数据采集系统设计 .pdf
-
资源ID:27214565
资源大小:545.81KB
全文页数:24页
- 资源格式: PDF
下载积分:4.3金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年2022年基于LabVIEW的红外传感器的多路数据采集系统设计 .pdf
郑州大学毕业设计(论文)题目:基于 LabVIEW的红外传感器的多路数据采集系统设计指导教师:赵红梅职称:讲师学生姓名:逯静丹学号:20092250118 专业:电子信息科学与技术院(系):物理工程学院完成时间:2013.5.24 2013 年 5 月 24 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 24 页 - - - - - - - - - I 摘要虚拟仪器是当前测控领域的技术热点。LabVIEW是目前多数虚拟仪器系统所采用的开发软件。 它是一种图形化的编程语言。 在这种基于图形化编程语言的开发环境中, LabVIEW 可以高效、快速地编写出相应的应用程序。本设计就是采用LabVIEW 平台,编程实现了数据采集、实时显示以及数据存储等功能。本文先对系统结构和LabVIEW虚拟仪器平台作了简要概述, 并说明了本设计要完成了工作和要解决的问题。在第3 节中简述了串行通信的概念,介绍了LabVIEW 中串行通信模块中的一些功能函数,并解决了串行通信在LabVIEW中是如何实现的问题。在第4 节中对本设计中用到的的Modbus ASCII 协议作了详细说明,包括 Modbus ASCII 模式、 Modbus ASCII 帧、LRC校验和的实现等。在第5 节中,介绍了数据采集系统的整个框架,包括前面板设计和各个模块的程序框图设计步骤。最后对本设计的整个工作过程作了回顾与总结。关键词: 虚拟仪器; LabVIEW ;数据采集;串行通信;Modbus ASCII 协议名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 24 页 - - - - - - - - - II Abstract Virtual instrument is now a tech fad in the field of measurement and control. LabVIEW is a development software used by most of the virtual instrument system currently. It is a graphical programming language. In this development environment based on graphical programming language, we can program the corresponding application with LabVIEW fast and efficiently. In the paper, we program to achieve the function of data acquisition, real-time display, and data storage using the platform of LabVIEW. This paper firstly gives a brief overview of the structure of the system and LabVIEW virtual instrument platform, and illustrates the work we will complete and the problem we will solve. In the third section, we describe the concept of serial communication, introduce some functions of serial communication module of LabVIEW, and solve the problem how to realize the serial communication in LabVIEW. In the fourth section, we make a detailed explanation for Modbus ASCII protocol, including Modbus ASCII pattern, Modbus ASCII frame, and LRC checksum realization. In the fifth section, we introduce the whole framework of the data acquisition system, including the design of the front panel and the step of program diagram design of each module. Finally we make a review and summary of the whole design process. Keywords: Virtual instrument; LabVIEW; Data acquisition; Serial communication; Modbus ASCII communication protocol 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 24 页 - - - - - - - - - III 目录摘要. IAbstract. I I 目录. I II 0 引言. 11 系统结构简介 . 22 LabVIEW 概述 . 32.1 图形化虚拟仪器开发平台LabVIEW . 32.2 基于 LabVIEW 平台的虚拟仪器程序设计. 42.3 本设计所做的工作. 53 基于 LabVIEW的简单串行通信的实现 . 63.1 基本功能函数 . 63.2 串口通信步骤及程序框图. 64 Modbus ASCII 协议简介 . 84.1 Modbus ASCII 模式. 84.2 Modbus ASCII 帧. 84.3 Modbus ASCII 校验方式( LRC校验) . 94.4 Modbus ASCII 校验方式在 LabVIEW中的实现 . 10 5 数据采集系统设计 . 11 5.1 程序流程图 . 11 5.2 前面板设计 . 12 5.3 地址搜索 . 12 5.4 浓度采集 . 14 5.5 温度采集 . 16 5.6 数据保存 . 16 6 本设计的总结及研究意义. 17 6.1 总结 . 17 6.2 研究意义 . 18 致谢. 19 参考文献 . 20名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 24 页 - - - - - - - - - 1 0 引言虚拟仪器 (VirtualInstrument)是基于计算机的软硬件测试平台,已经在工业控制领域得到广泛的应用。LabVIEW是由美国国家仪器公司推出的、主要面向计算机测控领域的虚拟仪器软件开发平台,是一种基于图形开发、 调试和运行的集成化环境。利用 LabVIEW设计多路数据采集系统时,可配置NI 公司的数据采集板卡模拟采集多路信号,但是数据采集板卡价格较贵。本设计选用smartGAS红外气体传感器作为前端数据采集系统进行多路数据采集,然后通过RS-485串口通讯将数据传输至上位机,在LabVIEW开发平台下,对各路数据进行处理和实时显示,从而实现了一种在LabVIEW环境下的单片机多路数据采集系统。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 24 页 - - - - - - - - - 2 1 系统结构简介仪器控制是指通过PC上的软件远程控制总线上的一台或多台仪器。它比单纯的数据采集要复杂得多, 它需要将仪器或设备与计算机连接起来协同工作,同时还可以根据需要延伸和拓展仪器的功能。一个完整的仪器控制系统除了包括计算机和仪器外,还必须建立仪器与计算机的通路以及上层应用程序。 RS-485接口在总线上是允许连接多达128 个收发器,即具有多站能力。这样用户可以利用单一的 RS-485接口方便地建立起设备网络。但是 PC上都不带 RS-485 的接口,因此在接入电脑前需要通过485-232 转换器或485-USB转换器才能接入PC 。本设计测试时, 选用的是 485-232 转换器。多路数据采集系统框架如图1 所示。图 1 多路数据采集系统框架图PC 机485-232转换器RS485 接口红外传感器红外传感器RS485 接口名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 24 页 - - - - - - - - - 3 2 LabVIEW 概述现代技术的进步, 特别是以计算机技术为代表的不断革新的计算机技术,正从各个层面上影响并引导着各行各业的技术革新,基于计算机技术的虚拟仪器系统技术也正以不可逆转的力量推动着测量控制技术、数据采集和分析等技术的发展。传统仪器主要由信号采集与控制模块、分析与处理模块、 以及测量结果的表达与输出模块这三大功能模块组成。传统仪器的这些功能都是以硬件形式存在的。而虚拟仪器则是将这些功能移植到计算机上完成。相对于传统仪器, 虚拟仪器具有性能高、扩展性强、开发时间少、完美的集成功能等特点。 LabVIEW是一款优秀的虚拟仪器软件开发平台。LabVIEW以其直观、简便的编程方式, 众多的源码级设备驱动程序,多种多样的分析和表达支持功能,可为用户快捷地构建实际生产中所需要的仪器系统创造有力的基础条件。其中数据采集与仪器控制是 LabVIEW最具竞争力的核心技术。虚拟仪器是当前测控领域的技术热点,它代表了未来仪器技术的发展方向。虚拟仪器的关键技术是软件, 通过虚拟仪器的软件开发平台, 开发者无需了解过多 的 仪 器 专 业 知 识, 就 可 方 便 、 快 捷 地 开 发 出 满 足 应用 的 虚 拟 仪 器 。LabVIEW(Laboratory Virtual Instrument Engineering Workbench,实验室虚拟仪器工程平台 )是目前多数虚拟仪器系统所采用的开发软件。2.1 图形化虚拟仪器开发平台LabVIEW LabVIEW 是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW集成了与满足GPIB 、VXI、RS-232和 RS-485 协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用 TCP/PI、ActiveX 等软件标准的库函数, 是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都更加形象化。传统的文本式编程是一种顺序的设计思路,设计者必须写出执行的语句。 而LabVIEW 是基于数据流的工作方式,同时是基于图形化的编程,这使得设计者不必掌握大量的编程语言和程序设计技巧便可设计出虚拟仪器系统。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 24 页 - - - - - - - - - 4 目前,在以 PC机为基础的测试和工控软件中,LabVIEW的市场普及率仅次于 C+/C语言。 LabVIEW具有一系列无与伦比的优点:首先,LabVIEW作为图形化语言编程, 采用流程图式的编程, 运用的设备图标与科学家、 工程师们习惯的大部分图标基本一致,这使得编程过程和思维过程非常相似;同时,LabVIEW提供了丰富的 VI 库和仪器面板素材库, 近 600 种设备的驱动程序 ( 可扩充 )如 GPIB设备控制、 VXI 总线控制、串行口设备控制、以及数据分析、显示和存储;并且LabVIEW 还提供了专门用于程序开发的工具箱,使得用户能够设置断点,调试过程中可以使用数据探针和动态执行程序来观察数据的传输过程,更加便于程序的调试。因此, LabVIEW 受到越来越多工程师、科学家的普遍青睐。利用 LabVIEW , 可产生独立运行的可执行文件, 它是一个真正的 32 编译器。像许多通用的软件一样, LabVIEW 提供了 Windows 、UNIX 、Linux 、Macintosh OS等多种版本。2.2 基于 LabVIEW平台的虚拟仪器程序设计所有的 LabVIEW应用程序,即虚拟仪器 (VI) ,它包括前面板 (Front Panel) 、流程图 (Block Diagram)以及图标 / 连结器 (Icon/Connector)三部分。(1)前面板:前面板是图形用户界面,也就是VI 的虚拟仪器面板,这一界面上有用户输入和显示输出两类对象,具体表现有开关、 旋钮、图形以及其他控制和显示对象。 但并非画出两个控件后程序就可以运行,在前面板后还有一个与之对应的流程图。(2)流程图:流程图提供 VI 的图形化源程序。在流程图中对VI 编程,以控制和操纵定义在前面板上的输入和输出功能。流程图中包括前面板上的控件连线端子,还有一些前面板上没有, 但编程必须有的东西, 例如函数、结构和连线等。如果将 VI 与传统仪器相比较,那么前面板上的控件对应的就是传统仪器上的按钮、 显示屏等控件,而流程图上的连线端子相当于传统仪器箱内的硬件电路。在许多情况下,使用VI 可以仿真传统仪器,不仅在屏幕上出现一个惟妙惟肖的标准仪器面板, 而且其功能也与传统标准仪器相差无几。这种设计思想的优点体现在两方面: 类似流程图的设计思想,很容易被工程人员接受和掌握,特别是那些没名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 24 页 - - - - - - - - - 5 有很多程序设计经验的工程人员。 设计的思路和运行过程清晰而且直观。如通过使用数据探针、高亮执行调试等多种方法, 程序以较慢的速度运行, 使没有执行的代码显示灰色,执行后的代码会高亮显示,同时在线显示数据流线上的数据值, 完全跟踪数据流的运行。这为程序的调试和参数的设定带来诸多的方便。(3)图标 / 连接设计:这部分的设计突出体现了虚拟仪器模块化程序设计的思想。在设计大型自动检测系统时一步完成一个复杂系统的设计是相当有难度的。而在 LabVIEW中提供的图标 / 连接工具正是为实现模块化设计而准备的。设计者可把一个复杂自动检测系统分为多个子系统,每一个都可完成一定的功能。这样设计的优点体现在如下几方面: 把一个复杂自动检测系统分为多个子系统,程序设计思路清晰,给设计者调试程序带来了诸多的方便。同时也对于将来系统的维护提供了便利。 一个复杂自动检测系统分为多个子系统,每一个子系统都是一个完整的功能模块,这样把测试功能细节化, 便于实现软件复用, 大大节省软件研发周期,提高系统设计的可靠性。 便于实现“测试集成”和虚拟仪器库的思想。同时为实现虚拟仪器设计的灵活性提供了前提。2.3 本设计所做的工作在基于图形化编程语言的开发环境中,LabVIEW可以高效、快速地编写出相应的应用程序, 完成诸如数据采集、 数据处理、 数据显示以及仪器控制和通信等多种功能。本设计中利用 LabVIEW 开发平台,编程实现对接入设备smartGAS红外气体传感器的地址搜索、浓度和温度采集,并在PC机上实时显示采集到的数据,并具有数据存储功能。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 24 页 - - - - - - - - - 6 3 基于 LabVIEW的简单串行通信的实现串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。 使用一条数据线, 将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。 其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。串行通信时, 发送和接收到的每一个字符实际上都是一次一位传送的,每一位为 1 或者为 0。3.1 基本功能函数在 LabVIEW功能模版的函数 仪器 I/O 串口程序库中包含进行串行通信操作的一些功能模块:(1)VISA 配置串口:初始化 VISA resource name指定的串口通讯参数。(2)VISA写入:将写入缓冲区中的数据写入到 VISA resource name指定的设备或接口中。(3)VISA 读取:从 VISA resource name指定的设备或接口中读取指定数量的字节,并将数据返回至读取缓冲区。(4)VISA 串口字节数:返回指定串口的输入缓冲区的字节数。(5)VISA 关闭:关闭 VISA resource name指定的设备会话句柄或事件对象。3.2 串口通信步骤及程序框图通过对 VISA节点的调用,可以方便、快速地实现系统上位机对下位机的实时监控。串口通信程序的实现采用平铺式顺序结构,逐步执行串口的参数设置、发送数据、接收数据、关闭串口等操作。程序框图如图2 所示。(1)调用 VISA配置串口节点完成串口参数的设置,包括串口号、波特率、数据位、停止位、奇偶校验位等。本文中设置为:波特率2400bps、数据位 7、停止位 1、偶校验。(2)在顺序结构的第一个框图中,调用VISA写入节点将数据发送到指定的串口中。延时 200ms ,使得下位机能够有足够时间作出响应。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 24 页 - - - - - - - - - 7 注意:这个延时时间应根据实际情况而定,不可过长或过短。若延时时间过长,而串口仪器会不停地返回状态,则会造成串口接收缓冲区堵塞,影响正常通信;若延时时间过短,则串口仪器还未返回准确的状态字,程序就从串口缓冲区取走字符串,也会造成通信障碍。(3) 在顺序结构的第二个框图中, 调用 VISA读取节点将数据读取到缓冲区。其中的 VISA串口字节数节点返回串口输入缓冲区中的字节数。(4)调用 VISA关闭节点关闭串口。串口通信程序调试的几点建议:(1)对自己编写的协议,可以用串口助手来验证上位机和下位机的程序是否正确。(2)若程序无法通过,首先检查COM 口的设置是否正确。(3)除了串口助手之外,还可以使用一些帮助串口调试的软件,比如Ser232Mon ,该软件可以监视出入串口的数据。图 2 串口通信程序框图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 24 页 - - - - - - - - - 8 4 Modbus ASCII协议简介Modbus通信协议是一种通用工业标准,通过此协议,我们可以快速地实现对不同生产现场的控制设备进行组网,便于集中控制。Modbus可编程控制器之间可相互通讯,也可与不同网络上的其他设备进行通讯。当在Modbus网络上进行通讯时,协议能使每一台控制器知道它本身的设备地址,并识别对它寻址的数据,决定应起作用的类型, 取出包含在信息中的数据和资料等,控制器也可组织回答信息,并使用Modbus协议将此信息传送出去。控制器可使用 ASCII 或 RTU通讯模式,在标准Modbus上通讯。在配置每台控制器时,用户须选择通讯模式以及串行口的通讯参数。在Modbus总线上的所有设备应具有相同的通讯模式和串行通讯参数。本文采用Modbus ASCII 模式进行通讯。4.1 Modbus ASCII 模式当控制器以 ASCII 模式在 Modbus总线上进行通讯时,一个信息中的每8 位字节作为一个 ASCII 码(两个十六进制字符) 发送,此模式的主要优点在于允许字符之间的时间间隔长达1s,而不会出现错误。ASCII 码每一个字节的格式:编码系统:十六进制, ASCII 字符 0-9,A-F,每个 ASCII 字符由一个十六进制字符组成。数据位:1 位起始位7 位数据位,低位先发送,高位后发送1 位奇偶校验位(本文中采用偶校验)1 位停止位错误校验区:纵向冗余校验4.2 Modbus ASCII 帧在 ASCII 模式中,以“ : ”冒号( ASCII 3AH )表示信息开始,以回车换行键名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 24 页 - - - - - - - - - 9 (CRLF ) (ASCII 0D,0AH )表示信息结束。对其它的区,允许发送的字符为十六进制字符0-9,A-F。网络中设备不断检测并接收到一个冒号“: ”时,每台设备对地址区解码,找出要寻址的设备。字符之间的最大时间间隔为1s,若大于 1s,则接收设备认为出现了一个错误。典型的信息帧如下表1:表 1 ASCII信息帧开始地址功能数据纵向冗余校验结束1 字符: 2 字符2 字符n 字符2 字符2 字符4.3 Modbus ASCII 校验方式( LRC校验)在 ASCII 模式中,采用纵向冗余校验方式,即LRC校验。错误校验码为一个8 位二进制,也就是两个ASCII 字符。计算校验码时,只有地址、功能码、数据位参与运算,开始位“ : ”和结束位 CRLF均不参与运算。由发送设备计算LRC校验码,然后和该块数据一起传送到接收端。接收设备在接收信息时计算LRC码,并与收到的 LRC码进行比较, 若二者不一样, 则说明该数据块在传输过程中产生错误。校验和的具体计算步骤为:(1)将设备地址、功能码、数据位的每个ASCII 字符用十进制表示出来,并将它们相加起来。转换表如下表2 所示。(2)将上一步所得结果对256 求余。(3)用 255 减去上一步所得结果,再加1,结果用十六进制表示。表 2 ASCII转换表ASCII 0 1 2 3 4 5 6 7 8 9 A B C D E F Hex 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 Dec. 48 49 50 51 52 53 54 55 56 57 65 66 67 68 69 70 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 24 页 - - - - - - - - - 10 4.4 Modbus ASCII 校验方式在 LabVIEW中的实现具体实现方法为: 先放置 for 循环结构, 然后添加移位寄存器。 顺次截取输入字符串中的一个字符, 将该 ASCII 字符用十进制表示出来, 并逐个相加。 所得结果再对 256 求余。用 255减去前面所得结果后加1,将所得数值用两位十六进制表示出来即为校验和。程序框图如下图 3 所示。图 3 LRC 校验和程序框图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 24 页 - - - - - - - - - 11 5 数据采集系统设计5.1 程序流程图本文所设计的数据采集系统包括地址搜索、浓度采集、 温度采集、 数据存储等功能。程序流程图如下图4 所示。图 4 整体程序流程框图Y N Y 搜到指定数量的地址?循环读搜到的设备的浓度循环读搜到的设备的温度结束开始参数设置搜索地址停止?提示出错并检查线路连接N 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 24 页 - - - - - - - - - 12 5.2 前面板设计前面板上分三个区, 显示控件区、 参数设置区以及开关按钮区。在显示控件区里,共有三组显示控件,每一组有10 个,分别为地址显示控件、浓度显示控件和温度显示控件。最多可以显示10 个传感器的有关数据。参数设置区里, 均为输入控件。 程序运行前,需先设置好参数, 包括端口号、所连接的设备个数、要搜索的起始地址和终止地址等。在开关按钮区,有校准按钮、数据保存按钮以及停止按钮。数据采集系统前面板如下图5 所示。图 5 数据采集系统前面板5.3 地址搜索先设置搜索的初始地址和结束地址,然后用while循环在此区间内挨个搜名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 24 页 - - - - - - - - - 13 索,发出地址搜索指令后,有回复的设备即为搜到的设备。每一次循环中,先计算 LRC校验和,然后按表 1 所示信息帧格式将指令发送到指定串口,等待 200ms ,读取设备响应的数据,将地址分离出来,用索引数组显示。采用索引数组时,若设备有响应,则显示此设备地址;若设备无响应,则为空字符串。地址搜索程序框图如下图 6 所示。a b 图 6 地址搜索程序框图将索引数组中的空字符串过滤掉,得到地址数组。 若搜到的设备数量 (地址数组大小)与指定的设备数量不相等,则结束程序;若相等,则将搜到的地址依名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 24 页 - - - - - - - - - 14 次显示在不同的显示控件中。数组过滤与地址显示程序框图如下图7 所示。5.4 浓度采集整体结构采用 for 循环结构实现。将地址数组连接至for 循环中的地址输入端,启用索引。 计算读取浓度指令的校验和,将读取浓度的指令按表1 所示格式发送到指定串口,等待200ms ,读取设备回复的数据。计算其校验和,与读取到的校验和相比较,若不同,则重新发送;若相同,则从此信息帧中分离出浓度数据,并用十进制显示在相应显示控件中。流程框图如下图8 所示。图 7 数组过滤与地址显示程序名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 24 页 - - - - - - - - - 15 向串口发送指令: Addr. 03 000A 0001 LRC CRLF 开始计算 LRC 等待 200ms 读 取设备 回复的数据读取的校验和 =计 算 所得校验和?分离 出浓 度数据并显示指 定 数 量 的设 备 的 浓 度全部读取?结束N Y Y N 图 8 浓度采集程序流程框图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 24 页 - - - - - - - - - 16 5.5 温度采集采集浓度和采集温度的程序采用平铺式顺序结构实现。在顺序结构的一个框图中为浓度采集的程序, 在顺序结构第二个框图中为温度采集的程序。温度采集和浓度采集的程序基本相同。不同点仅在于:(1)若地址为 01时,浓度采集程序的发送指令为 “:0103000A0001+校验和+(回车换行)” ;而温度采集程序中,只需把000A换成 0003 即可,即发送指令为“ :010300030001+校验和 +(回车换行)” 。(2)温度采集时,分离出的温度数据转换为十进制后,需再除以10。5.6 数据保存检测文件夹“数据采集系统”是否存在,若存在,则在此文件夹下创建新路径;若不存在,则先创建文件夹“数据采集系统”,然后再在此文件夹下创建路径。先将传感器编号写入电子表格文件,当按下数据保存按钮时,各个传感器当前显示的浓度和温度均保存在该电子表格文件中。如下图9 所示。图 9 数据保存程序框图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 24 页 - - - - - - - - - 17 6 本设计的总结及研究意义6.1 总结本设计在研究虚假仪器技术以及软件开发技术的基础上,使用虚拟仪器技术实现了基于 LabVIEW的红外传感器的数据采集系统的设计。通过测试,该设计方案可以方便、 快捷地进行数据采集, 并且具有实时显示以及数据保存等功能。若有需要,亦可以很方便地实现仪器校准等功能。本设计的前期工作主要是对虚拟仪器的了解和对LabVIEW的学习。 LabVIEW是一种程序开发环境, 由美国国家仪器公司研制开发的,类似于 C和 BASIC开发环境,但是 LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化的编辑语言G编写程序,产生的程序是框图的形式。 从学习过程中也能看到这一点, 利用框图来编程序即形象又容易记忆,当熟悉各个框图在什么地方时, 编一个程序就变得容易很多了。然后再看参考书上的例子, 从简单到复杂, 会越来越熟练。 从编写简单的串口通信到用特定的协议编写程序,慢慢领会到了一些结构比如while 循环结构、 for循环结构、平铺顺序结构、事件结构等的巧妙用法,并积累了自己的经验。本设计大部分工作是程序的编写,所涉及的硬件部分都有现成的。 但是对硬件的了解也是必需要做的工作。 包括对红外传感测试平台、 RS232接口以及 RS485接口的了解。此外,了解Modbus协议也是必需要做的工作。在设计过程中,先设计各个子程序,测试其功能后再设计其他的子程序。在最后设计整个系统时,考虑了很多框架,比如平铺顺序结构,事件结构等。实际的主程序框架为多种结构的混合。网络技术的飞速发展和远程测试的需要,驱动虚拟仪器网络化方向发展。 以PC 机或工作站为平台,运用虚拟仪器技术构成实用的测控系统将成为仪器和测试技术发展的一个重要方向。通过本设计, 深刻的认识到了虚拟仪器技术是仪器发展的重要发展方向。虚拟仪器以崭新的模式和强大的功能深入人心。伴随计算机技术和信息技术的发展虚拟仪器必将拓展到各个领域,引起测控仪器的深层次变革。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 24 页 - - - - - - - - - 18 6.2 研究意义随着时代的发展,利用LabVIEW进行数据采集面临着越来越新的任务和要求,将虚拟仪器引入到数据采集领域成为当今数据采集的重要方法和手段。传统数据采集相比,利用LabVIEW进行数据采集的意义在于:(1)打破了传统数据采集“线缆密布”的形象,大大简化了测试系统的复杂程度,简化了现场的布置,节省了物力、人力。(2)强调“软件就是仪器” 。通过基于虚拟仪器的数据采集环境,同样能够“身临其境”地观察数据采集过程和进行“实际”操作。(3)LabVIEW 图形化编程方式简明快捷,易学易用,可节省大量的学习程序设计及进行程序开发的时间, 尤其适合从事科研、 开发的科学工作才、 工程技术人员。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 24 页 - - - - - - - - - 19 致谢历时将近两个月的时间终于将这篇论文写完,在论文的写作过程中遇到了不少的困难和障碍, 都在同学和老师的帮助下度过了。尤其要强烈感谢我的论文指导老师赵红梅老师, 她对我的设计给予了无私的指导和帮助,对论文的写作自始至终都予以关注和督促, 谢谢赵老师。 同时,她对学生负责的态度和对治学严谨的态度也使我受到很大启发。感谢曾经帮助我的同学们! 你们使我懂得了更多的专业知识,并且还在论文的撰写和排版过程中提供了热情的帮助。互相的学习和了解也更加深了我们之间的同学情谊。感谢父母在物质和精神上的支持!感谢学校的图书馆!图书馆为我们提供着丰富的资源文本书籍和数字图书,这些使我受益匪浅,而且学习环境非常安逸,非常具有人文气息。感谢这篇论文所涉及到的各位学者!本文引用了数位学者的研究文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇论文的写作。感谢 NI 的工程师们!你们为虚拟仪器设计出了如此完美的开发平台,你们的工作很值得我尊敬。感谢所有关于虚拟仪器的论坛! 通过学习你们的帖子, 我知道了如何去编程,并完成了我的设计, 这里非常感谢版主们的热心帮助,认真的回答了我的每一个细小的问题。感谢 LabVIEW QQ 学习群里热心的QQ 好友!在群里,我认识了很多一起做设计的朋友,我们一起学习,一起讨论问题,然后一起解决问题,非常感谢你们。最后感谢一下自己, 因为自己的坚持到底, 才有了这个毕业设计,这也是我对程序开发的一次宝贵经历。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 24 页 - - - - - - - - - 20 参考文献1 林静,林振宇郑福仁 .LabVIEW虚拟仪器程序设计从入门到精通. 北京:人民邮电出版社, 2010.7. 2 周红霞,张恒杰,张春芳. 基于 LabVIEW的虚拟仪器及串口通信的实现. 石家庄职业技术学院学报,第19 卷第 4 期,2007年 8 月. 3 陈金平,王生泽,吴文英. 基于 LabVIEW的串口通信数据校验和的实现方法.自动化仪表,第 29 卷第 3 期,2008年 3 月. 4 王水鱼,李宁. 基于 LabVIEW 的 Modbus ASCII 串行通信的实现 . 陕西理工学院学报,第 24 卷第 2 期,2008年 6 月. 5 吴云轩,蔡超. 基于LabVIEW的数据采集系统. 福建电脑, 2006 年第8期.131132. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 24 页 - - - - - - - - -