基于LabVIEW的数据采集系统的设计与实现李延(陕理工物理系电信专业072班,陕西汉中 723001)指导教师:卢进军[摘要]:利用图形化编程工具LabVIEW和EDA工具Proteus设计了一个温度数据采集仿真系统。
该系统中上位机与下位机通过虚拟串口进行通信,下位机将采集到的现场数据传送到上位机后,上位机即可显示并判断是否超限报警。
设计表明,基于该两种软件建立一个仿真系统可以有效验证项目设计的正确性,从而缩短项目开发时间,降低项目开发成本。
[关键词]:LabVIEW;Proteus;单片机;数据采集;仿真The Design and Realization of Data AcquisitionSystem Based on LabVIEWLiyan(Grade07,Class02,MajorElectronic Information Science and Technology,PhysicsDept.,Shaanxi University of Technology,Hanzhong 723001 Shaanxi)Tutor:LuJinju nAbstract:Use of LabVIEW graphical programming tools and EDA tools Proteus designed a data acquisition simulation system. The system of upper computer and lower computer through a virtual serial communication, the next crew will be collected on-site data to the host computer, the host computer to display and to determine whether the limit alarm. Design showed that the two software based on a simulation system can verify the correctness of the project design to reduce project development time, reduce project development costs.Key words:LabVIEW; Proteus; MCU; data collection; Simulation目录0 引言 (3)1 相关软件简介 (3)1.1 LabVIEW简介 (3)1.2 LabVIEW的开发环境 (3)1.3 Proteus简介 (3)1.4 VISA 简介 (4)1.5 LabVIEW及其调用VISA的条件 (4)2 数据采集系统的设计方案 (4)2.1 数据采集系统设计方案概述 (4)2.1.1 接口技术发展现状 (5)2.1.2 USB接口技术及传感器技术原理简介 (5)2.1.2.1 USB接口发展史 (5)2.1.2.2 USB接口技术简介 (6)2.1.2.3 传感器技术简介 (6)2.2 数据采集系统设计方案论证 (7)2.3 单片机程序流图 (7)3 数据采集系统的设计与实现 (8)3.1 基于LabVIEW的上位机虚拟仪器界面设计 (8)3.2 基于Proteus的下位机单片机系统设计 (9)3.3 联调演示 (9)4 总结 (12)参考文献 (12)附录 (13)0 引言随着计算机技术的迅速发展,虚拟仪器正逐渐成为测试领域的发展方向。
虚拟仪器的概念是由美国NI公司提出来的,是指在通用的计算机平台上,用户根据自己的需求定义和设计具有测试功能的仪器系统,即虚拟仪器是由用户利用一些基本硬件及软件编程技术组成的各种各样的仪器系统。
虚拟仪器的三大主要功能是:数据采集;数据测试和分析;结果输出显示。
数据采集是一切测试测量过程的第一步。
1 相关软件简介1.1 LabVIEW简介LabVIEW是目前较为成功、应用广泛的虚拟仪器软件开发环境,LabVIEW[1](Laboratory Virtual Instrument Engineering Workbench,实验室虚拟仪器工作平台)是NI公司在1986年首次推出的,最新版本为LabVIEW8.6。
它是一个高效的图形化程序设计环境,结合了简单易用的图形式开发环境与灵活强大的G编程语言;提供了一个直觉式的环境,与测量紧密结合,在这个平台上,各种领域的专业工程师和科学家们通过定义和连接代表各种功能模块的图标来方便迅速地建立高水平的应用程序;支持多种系统平台,在任何一个平台上开发的LabVIEW 应用程序可直接移植到其它平台上。
实验室虚拟仪器开发平台的简称LabVIEW,是一种业界领先的工业标准图形化编程工具,它是专门为工程师和科学家而设计的直观图形化编程语言。
它将软件和各种不同的测量仪器硬件及计算机集成在一起,建立虚拟仪器系统,形成用户自定义的解决方案,成为专门数据采集与仪器控制,数据分析和数据表达而设计的图形化编程软件,使创建的程序模块化,易于调试,理解和维护,而且程序编程简单、直观,因此特别适用于数据采集处理系统。
1.2 LabVIEW的开发环境LabVIEW的开发环境分为三部分:前面板(panel)、框图程序(Diagram Programme)和图标/连接端口(Icol/rerminal)。
前面板就是图形化用户界面,用于设置输入数值和输出观察量。
在前面板中,输入量被称为控制(Control),输出量被称为指示(Indicator),他们通过各种图标如按钮、旋钮、开关、图标等出现在前面板上,模拟真实仪器。
框图程序由节点(Node)和数据连线(Wire)组成,它利用图形语言对前面板上的控制对象即输入量和输出量进行控制,节点用来实现函数和功能调用,数据连线表示程序执行过程中的数据流,它定义了程序框图内的数据流向。
图标/连接端口用于把LabVIEW程序定义为一个子程序,从而实现模块化编程,图标是子程序在其他程序框图中被调用的节点表示形式,连接端口则表示节点数据的输入、输出口。
LabVIEW具有3个可移动的图形化工具模板:工具模板(Tool Palette)、控件模板(Controls Palette)和功能模板(Function Palette)。
工具模板提供了用于图形操作的各种工具,比如定位、标注、断电、连线、文字注释等;控件模板提供了前面编辑所需要的图像图标、一些特殊的图形;功能模板则提供了一些基本的数学函数和其他功能函数。
这三个模板是LabVIEW 编程的主要工具。
1.3 Proteus简介Proteus[2]是由英国LabcenterElectronics公司开发的EDA工具软件,是目前世界上较先进完整的嵌入式系统设计和仿真平台。
Proteus与其他单片机仿真软件不同,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其他电路的工作情况。
可以直接在基于原理图的虚拟原型上编程,并实现软件源码级得实时调试,实时观察运行效果,真正实现了在没有目标原型时就可对系统进行调试、测试和验证,因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。
这种仿真是将实验和实际工程应用练习在一起,因而大大提高了企业的开发效率,降低了开发风险。
1.4 VISA 简介NI-VISA(Virtual Instrument Software Architecture,以下简称为"VISA")是美国国家仪器NI(National1nstrLlrnent)公司开发的一种用来与各种仪器总线进行通信的高级应用编程接口。
VISA软件是一个综合软件包,不受平台、总线和环境的限制,可用来对USB、GPIB、串口、VXI、PXI和以太网系统进行配置、编程和调试。
VISA是虚拟仪器系统I/O接口软件。
基于自底向上结构模型的VISA创造了一个统一形式的I/O控制函数集。
一方面,对初学者或是简单任务的设计者来说, VISA提供了简单易用的控制函数集,在应用形式上相当简单;另一方面,对复杂系统的组建者来说,VISA提供了非常强大的仪器控制功能与资源管理。
1.5 LabVIEW及其调用VISA的条件LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是NI公司开发的一种基于图形程序的编程语言。
用户利用创建和调用子程序的方法编写程序,使创建的程序模块化,而且程序编制简单、直观。
一个LabVIEW程序分为3部分:前面板、框图程序和图标/接线端口。
前面板用于模拟真实仪器的前面板;框图程序是利用图形语言对前面板上的控件对象(分为控制量和指示量两种)进行控制;图标/接线端口用于把LabVlEW程序定义成一个子程序,从而实现模块化编程。
当进行USB通信时,VISA提供了两类函数供LabVIEW调用,USBINSTR设备与USB RAW设备。
USBINSTR设备是符合USBTMC协议的USB设备,可以通过使用USB INSTR类函数控制,通信时无需配置NI-VISA;而USB RAW设备是指除了明确符合USBTMC规格的仪器之外的任何USB设备,通信时要配置NI-VISA。
(1)配置NI-VISA的步骤:1)使用Driver Development wizard(驱动程序开发向导)创建INF文档。
2)安装INF文档,并安装使用INF文档的USB设备。
3)使用NI-VISA Interaction Control(NI-VISA互动控制工具)对设备进行测试,以证实USB 设备已正确安装,并获得USB设备的各属性值。
(2)与NI-VISA相配合的LabVIEW模板中的VI子节点ViOpen,打开并指定VISA resource name的设备的连接。
ViProperty,VISA设备的属性子节点,可以设置端点或传输方式。
ViWrite,向VISA resource name指定的设备写入数据。
Viread,从VISA resource name指定的设备读出数据。
Viclose,结束设备读写并关闭与指定设备的连接。
(3)USB RAW设备读写的操作次序USB RAW设备的读写次序为:打开VISA设备、设定VISA设备的属性节点参数、读写USB RAW、关闭VISA。
2 数据采集系统的设计方案2.1 数据采集系统设计方案概述信号采集是控制过程的关键环节,是系统控制的根本出发点和最终衡量系统控制性能的重要依据。