基于LabWindows/CVI的虚拟仪器设计与应用(第2版)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-15 03:51:05

点击下载

作者:孙晓云

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

基于LabWindows/CVI的虚拟仪器设计与应用(第2版)

基于LabWindows/CVI的虚拟仪器设计与应用(第2版)试读:

前言

随着微电子技术、计算机技术、软件技术、网络技术和现代测量技术的迅速发展,一种新型的先进仪器——虚拟仪器技术成为当前测试系统研究的热点。

虚拟仪器是基于计算机的软、硬件测试平台,它由计算机、应用软件和硬件三部分构成,通过虚拟仪器软件开发平台将计算机硬件资源与仪器硬件有机地融为一体,把计算机强大的数据处理能力和仪器硬件的测量、控制能力结合在一起,通过软件实现对数据的显示、存储以及分析处理。

虚拟仪器的出现是仪器发展史上的一场革命,代表着仪器发展的最新方向和潮流,是信息技术的一个重要领域,对科学技术的发展和工业生产产生不可估量的影响。

LabWindows/CVI是National Instruments公司(简称NI公司)推出的交互式C 语言开发平台。它的集成化开发环境、交互式编程方法、函数面板和丰富的库函数大大增强了语言的功能,为熟悉C语言的开发人员提供了一个理想的软件开发平台。鉴于LabWindows/CVI的上述特点,它已经成为测控领域最受欢迎的软件开发平台之一,在我国已经得到了较为广泛的使用。

本书详细介绍了虚拟仪器软件开发工具——LabWindows/CVI,以及使用LabWindows/CVI平台开发和设计测试仪器的基本方法和步骤。主要内容包括:LabWindows/CVI的集成开发环境,面板、控件和菜单的设计,交互式代码生成,基本函数库,信号分析处理库函数,数据采集及接口,高级函数库,以及基于LabWindows/CVI平台的虚拟仪器在电力系统、电机电器、测控和生物医学工程等领域的8个工程案例。

全书分为7章,第1章为绪论,简单介绍了虚拟仪器的概念,LabWindows/CVI的开发环境,以及在LabWindows/CVI环境下工程文件的创建;第2章介绍了虚拟仪器常用仪器面板及控件,重点介绍了graph控件和strip chart 控件;第3章介绍了基本函数库,主要包括用户界面库、格式化与I/O库及实用函数库;第4章介绍了信号分析处理库函数,主要包括信号产生类函数和信号处理类函数;第5章介绍了数据采集及接口,主要包括数据采集的基本概念、RS232接口、GPIB接口及VXI接口;第6章介绍了LabWindows/CVI中的高级函数库,主要包括TCP库、DDE库和ActiveX库,并给出了典型应用;第7章为虚拟仪器工程应用,主要分析了LabWindows/CVI在电力系统、无损检测、生物医学、电机电器等领域中的应用,并给出了典型工程案例。

本书内容覆盖面广,全面介绍了LabWindows/CVI的基本函数库和高级函数库,并密切联系测量实际,提供了大量针对不同领域的工程案例,便于读者通过这些案例尽快掌握LabWindows/CVI的编程技术。

书中列出的实例程序源代码只是该程序的部分核心代码,读者可以从网站yyd2.phei.com.cn相应处查看程序的完整源代码。

本书由孙晓云、郭立炜、孙会琴、梁永春等编著。孙晓云、安国庆编写了第7章,郭立炜、孙晓云编写了第4章,孙会琴编写了第1章、第3章和附录B,刘庆瑞编写了第2章,梁永春编写了第5章,刘东辉编写了第6章,孙丽华编写了附录A 和附录C。研究生吕丹丹、付平同学绘制了全部插图。孙晓云负责全书统稿。

本书在第1版基础上,使用LabWindows/CVI7.0作为软件平台,增添了FIR数字滤波器设计内容,增加了生物医学和电气工程应用的两个典型案例。在此,向广大读者及使用本书的老师表示衷心的感谢!

本书得到了国家自然科学基金(50874035)和河北省自然科学基金的资助(F2009000732)。

本书既可作为大专院校仪器仪表、电气工程自动化、测控技术与仪器专业的本科生、研究生学习掌握LabWindows/CVI编程技术的教科书,也可作为工程技术人员学习、设计虚拟仪器的自学用书。

限于作者的水平,不妥及错误之处在所难免,恳切希望读者给予批评指正。

编著者

2009年10月第1章 绪论

随着电子技术、计算机技术的高速发展及其在电子测量技术与仪器领域中的应用,新的测试理论、测试方法、测试领域以及仪器结构不断出现,电子测量仪器的功能和作用也发生了质的变化,仪器与计算机技术的深层次结合产生了全新的仪器结构概念——虚拟仪器。它的出现使测试仪器与计算机之间的界限消失,从此开始了测量仪器的新时代。虚拟仪器强调软件的作用,提出了“软件就是仪器”的概念。1.1 虚拟仪器技术

随着计算机技术、大规模集成电路技术和通信技术的飞速发展,仪器技术领域发生了巨大的变化,美国国家仪器公司(National Instruments,简称NI)于20世纪80年代中期首先提出基于计算机技术的虚拟仪器的概念,把虚拟测试技术带入新的发展时期,随后研制和推出了基于多种总线系统的虚拟仪器。经过十几年的发展,虚拟仪器技术将高速发展的计算机技术、电子技术、通信技术和测试技术结合起来,开创了个人计算机仪器时代,是测量仪器工业发展的一个里程碑。1.1.1 虚拟仪器概念

1.虚拟仪器概念

所谓虚拟仪器,就是在以计算机为核心的硬件平台上,由用户设计定义、具有虚拟面板、测试功能由测试软件实现的一种计算机仪器系统。操作者用鼠标或键盘操作虚拟面板,就如同使用一台专用测量仪器,虚拟仪器的出现使测量仪器与个人计算机的界限模糊了。

虚拟仪器的实质是利用计算机显示器的显示功能来模拟传统仪器的控制面板,以多种形式表达输出检测结果,利用计算机强大的软件功能实现信号数据的运算、分析和处理,利用I/O接口设备完成信号的采集、测量与处理,从而完成各种测试功能的一种计算机仪器系统。“虚拟”主要包含以下两方面的含义。

1)虚拟仪器的面板

虚拟仪器面板上的各种“控件”与传统仪器面板上的各种“器件”所完成的功能是相同的。如由各种开关按键显示器等实现仪器电源的“通”、“断”,被测信号“输入通道”、“放大倍数”等参数设置,测量结果“数值显示”、“波形显示”等。

传统仪器面板上的器件都是实物,而且均为通过手动和触摸完成操作的,而虚拟仪器面板控件是外形与实物相似的图表,“通”、“断”、“放大”等对应着相应的软件程序,这些软件已经设计好了,用户只需选用代表该种软件程序的图形控件即可,用计算机的鼠标来对其进行操作。因此,设计虚拟面板的过程就是在面板设计窗口中摆放所需的控件,然后编写相应的程序。

2)由软件编程来实现的虚拟仪器测量功能

在以PC为核心的硬件平台支持下,虚拟仪器不仅可以通过软件编程设计来实现仪器的测试功能,而且可以通过不同测试功能的软件模块的组合来实现多种测试功能。因此在硬件平台确定后就有了“软件就是仪器”的说法,这也体现了测试技术与计算机技术深层次的结合。

2.虚拟仪器的特点

虚拟仪器测试系统由三大功能模块组成:信号的采集与控制、信号的分析与处理、结果的显示与输出,即由完成数据采集功能的硬件部分和完成数据分析处理功能的软件部分组成。硬件部分一般为各种形式的数据采集设备,将采集到的各种形式的信号转换成电信号后输入到计算机内。计算机通过软件实现从计算机的各类接口中读取数据,完成信号分析处理,并将处理结果显示出来。

虚拟仪器是在计算机的基础上完成各种测试分析功能的一种计算机化仪器系统。它将计算机资源和插卡式仪器硬件,以及用于数据采集、信号分析、图形用户界面的应用软件有效地结合起来进行数据的分析测试。与传统仪器相比,虚拟仪器有以下几个特点。(1)功能由用户自己定义。(2)面向应用的系统结构,可方便地与网络外设、应用程序等连接。(3)展开图形操作界面、计算机完成读数、分析处理。(4)数据可编辑、存储、打印。(5)价格低廉(是传统仪器价格的五至十分之一)。(6)基于计算机技术开放的功能模块可构成多种仪器。(7)技术更新快(周期为1~2年)。(8)基于软件体系的结构,大大节省开发维护费用。(9)个人可以拥有一个实验室。

虚拟仪器系统已成为仪器领域的一个基本方案,是技术进步的必然结果。虚拟仪器技术先进,十分符合国际上流行的“硬件软件化”的发展趋势,被人们广泛地称为“软件仪器”。由于虚拟仪器以计算机为基础,随着计算机的高速发展,虚拟仪器可以方便地向智能化、网络化方向发展。虚拟仪器的技术优势使得其应用广泛,尤其是在科研、开发、测量、检测、测控等领域更是不可多得的好工具,必将对科学技术的发展和国防、工业、农业的生产产生巨大的影响。1.1.2 虚拟仪器的设计及应用

1.虚拟仪器的构成

虚拟仪器由通用仪器硬件平台(简称硬件平台)和应用软件两大部分构成。

1)通用仪器硬件平台

虚拟仪器的硬件平台由两部分构成。(1)计算机

一般为一台PC或者工作站,它是硬件平台的核心。(2)I/O接口设备

I/O接口设备主要完成被测输入信号的采集、放大、模/数转换。根据采用的不同总线及其相应的I/O 接口硬件设备,如利用PC总线的数据采集卡/板(DAQ)、GPIB总线仪器模块、VXI总线仪器模块、PXI总线仪器模块、串口总线仪器等,虚拟仪器的构成方式主要有5种类型,如图1.1所示。图1.1 虚拟仪器的构成框图

① PC-DAQ系统:它是以数据采集板、信号调理电路及计算机为仪器硬件平台组成的插卡式虚拟仪器系统。这种系统采用PCI或ISA计算机本身的总线,故将数据采集卡/板(DAQ)插入计算机的空槽中即可。

② GPIB系统:它是以GPIB标准总线仪器模块与计算机为仪器硬件平台组成的虚拟仪器测试系统。

③ VXI系统:它是以VXI标准总线仪器模块与计算机为仪器硬件平台组成的虚拟仪器测试系统。

④ PXI系统:它是以PXI标准总线仪器模块与计算机为仪器硬件平台组成的虚拟仪器测试系统。

⑤ 串口系统:它是以Serial标准总线仪器与计算机为仪器硬件平台组成的虚拟仪器测试系统。

无论上述哪种虚拟仪器系统,都是通过应用软件将仪器硬件与通用计算机相结合的,其中,PC-DAQ系统是构成虚拟仪器的最基本的方式。

2)软件结构

虚拟仪器软件由两大部分构成。(1)应用程序

应用程序包含以下两方面:

① 实现虚拟面板功能的前面板软件程序;

② 定义测试功能的流程图软件程序。(2)I/O接口仪器驱动程序

I/O接口仪器驱动程序完成特定外部硬件设备的扩展、驱动与通信。

开发虚拟仪器必须有合适的软件工具,目前的虚拟仪器软件开发工具有如下两类:

① 文本式编程语言,如Visual C++、Visual BASIC、LabWindows/CVI;

② 图形化编程语言,如LabVIEW、HPVEE等。

2.虚拟仪器的内部功能

虚拟仪器的内部功能可划分为:输入信号的测量、数据分析处理及结果显示三大部分。(1)输入信号的测量

该功能是将模拟信号转变为数字信号输入到计算机中。(2)数据分析处理功能

虚拟仪器充分利用了计算机的存储、运算功能,并通过软件实现对输入信号数据的分析处理。处理内容包括进行数字信号处理、数字滤波、统计处理、数值计算与分析等。虚拟仪器比传统仪器,以及以微处理器为核心的智能仪器有更强大的数据分析处理能力。(3)测量结果的显示

虚拟仪器充分利用计算机资源,如内存、显示器等,对测量结果数据的显示与输出有多种方式,这也是传统仪器所不能及的。例如,虚拟仪器可以实现:通过总线网络进行数据传输;通过磁盘,光盘复制输出;通过文件存于硬盘内存中;计算机屏幕显示或图形用户接口。

3.虚拟仪器的设计与应用

虚拟仪器的核心是软件,其设计主要由硬件板卡驱动模块、信号分析模块和仪器表头显示模块等软件组成。

硬件板卡驱动模块通常由硬件板卡制造商提供,直接在其提供的DLL或ActiveX基础上开发就可以了。目前PC-DAQ数据采集卡、GPIB总线仪器卡、RS232串行接口仪器卡、FieldBus现场总线模块卡等许多仪器板卡的驱动程序接口都已标准化,为减小因硬件设备驱动程序不兼容而带来的问题,国际上成立了可互换虚拟仪器驱动程序设计协会(Interchangeable Virtual Instrument),并制订了相应软件接口标准。

信号分析模块的功能主要是完成各种数学运算,在工程测试中常用的分析模块包括信号的时域波形分析和参数计算,信号的相关分析、信号的频谱分析、信号滤波分析等由软件编程实现。

仪器表头显示模块主要包括波形图、旋钮、仪表头、按钮、温度计、棒图等仪表显示常用的软件仪表盘显示模块。

虚拟仪器系统可以广泛地应用在通信、自动化、半导体、航空、电子、电力、生化制药、和工业生产等各种领域。1.2 LabWindows/CVI简介

虚拟仪器软件开发工具LabWindows/CVI是NI公司开发的Measurement Studio软件组中的一员。它是32位的面向计算机测控领域的虚拟仪器软件开发平台,可以在多操作系统下运行。LabWindows/CVI是以ANSI C为核心的交互式虚拟仪器开发环境,它将功能强大的C语言与测控技术有机结合,具有灵活的交互式编程方法、丰富的库函数,为开发人员建立检测系统、自动测试环境、数据采集系统、过程监控系统等提供了理想的软件开发环境,是实现虚拟仪器及网络化仪器的快速途径。1.2.1 LabWindows/CVI特点

LabWindows/CVI作为一个优秀的软件开发平台,和其他虚拟仪器开发工具相比,具有如下特点。

1.交互式的程序开发

LabWindows/CVI将源码编程、32位ANSI C编译、链接、调试以及标准ANSI C库等集成在一个交互式开发平台中,采用简单直观图形用户界面设计,利用函数面板输入函数的参数,采用事件驱动和回调函数方式的编程技术,有效地提高了工程设计的效率和可靠性。

2.功能强大的函数库

如接口函数库、信号处理函数库、Windows SDK等,利用这些库函数可以方便地实现复杂的数据采集和仪器控制系统的开发。同时LabWindows/CVI附加了各种功能的软件开发包,如数据库软件包、Internet软件包、小波分析软件包等,大大增强了LabWindows/CVI的性能。

3.灵活的程序调试手段

LabWindows/CVI提供了单步执行、断点执行、过程跟踪、参数检查、运行时内存检查等多种调试手段。

4.高效编程环境

LabWindows/CVI以其面向虚拟仪器的交互式开发环境满足了用户对软件不断变化的要求,在产品设计中,可以快速创建、配置并显示测量。LabWindows/CVI可以自动生成代码、编译和链接,省去了手工编写,更有利于系统的开发。

5.开放式的框架结构

在LabWindows/CVI环境中可以结合使用标准的ANSI C源文件、obj文件、动态链接库(DLL)。也可以将软件中的仪器驱动库与其他标准C编译器结合使用,无需更改开发工具。同时,可以在不同的工作小组之间共享函数模块和虚拟仪器程序。

6.集成式的开发环境

LabWindows/CVI是集成式的开发环境,可用于创建基于DAQ、GPIB、PXI、VXI、串口和以太网的虚拟仪器系统。这一开发方式结合了交互式、简单易用的开发方式与ANSI C代码的强大编写功能和灵活性。LabWindows/CVI中的交互式开发工具和函数库可以方便地实现自动化测试系统、实验室研发、数据采集监视项目、验证测试和控制系统的设计。1.2.2 LabWindows/CVI的应用范围

LabWindows/CVI主要应用在各种测试、控制、故障分析及信息处理软件的开发中,与NI公司开发的另一个虚拟仪器开发工具LabVIEW相比,其更适合中、大型复杂测试软件的开发。基于LabWindows/CVI设计的虚拟仪器在无损检测、电力仪表系统、温控系统、流程控制系统、故障诊断和医疗等领域中发挥着重要作用。LabWindows/CVI已经成为测控领域最受欢迎的开发平台之一,并且已得到较为广泛的应用。1.3 LabWindows/CVI的开发环境1.3.1 LabWindows/CVI的安装

为了运行LabWindows/CVI,计算机系统必须具备以下配置。(1)CPU:具有奔腾90或更高速微处理器的个人计算机。(2)操作系统:Windows2000/NT/Me/9x。(3)分辨率:800×600(或更高)的视频适配器。(4)内存:最小16MB,推荐32MB。(5)硬盘空间:完全安装需要600MB。(6)鼠标:需与微软系统兼容。

在安装LabWindows/CVI过程中,需要注意以下两个方面。

1.选择安装的类型

LabWindows/CVI安装程序中一共有四种安装类型可供选择:(1)Typical Installation(典型安装),只安装LabWindows/CVI中常用的部分,适合初学者使用,需要大约85MB的硬盘空间。(2)Minimal Installation(最小安装),只安装LabWindows/CVI中必需的部分,帮助文件部分不会被安装,需要大约35MB的硬盘空间。(3)Custom:Installation(自定义安装),可以根据自身要求选择安装组件。只有在自定义安装时才能选择安装Windows SDK(包括导入库、头文件、帮助文件和应用程序)。(4)Change Compatibility Mode,改变编译器兼容模式。

2.选择编译器兼容模式

LabWindows/CVI可与四种不同的编译器兼容,在安装过程中必须选择与程序兼容的编译器:(1)BolandC++4.51、5.0编译器。(2)MicrosoftVisualC++2.x、4.x、5.0编译器。(3)Symantec C++7.2编译器。(4)Watcom C++10.5、11.0编译器。

另外,在典型安装和自定义安装时还将安装电子文档阅读器(Adobe Acrobat Reader),该阅读器可以用来阅读联机手册文件。

当LabWindows/CVI成功地安装到计算机上后,按照“开始”→“程序”→“National Intruments”→“LabWinsows CVI 7.0”→“NI LabWindows CVI”路径启动,出现如图1.2所示的运行窗口。1.3.2 LabWindows/CVI运行环境

在LabWindows/CVI软件平台中设计完成的虚拟仪器由4个文件组成,如图1.3所示。由软件组成框图中可以看出,LabWindows/CVI编写的虚拟仪器,其软件的文件类型包含5类。图1.2 LabWindows/CVI的运行窗口图1.3 用LabWindows/CVI设计的虚拟仪器软件组成框图(1)*.cws文件:工作区文件。(2)*.prj文件:工程文件,由*.uir文件、*.c文件和*.h文件组成。(3)*.c文件:源程序文件,此文件为标准的C语言程序文件。文件由三部分组成,即头文件(*.h)、主程序文件(Main)和回调函数(CallBack),其结构和C语言的结构一致。(4)*.uir文件:用户界面文件,该文件为虚拟仪器的面板文件,类似VB或VC中的窗体文件。该文件中包含仪器面板中的各类控件,如按钮、开关等,每个控件都有自己的属性,如按钮的名称、面板的标题、长度、位置等。同时,控件还有事件,当用鼠标单击控件或用键盘改变控件时,将调用相应的回调函数,完成相应的功能,如完成数据处理、存盘、显示、打印等功能。(5)*.h文件:头文件,与C语言中的*.h文件结构完全一致。在LabWindows/CVI中,*.h文件是自动生成的,当设计完*.uir文件后,会自动生成*.h文件。

为完成上述文件,LabWindows/CVI开发环境提供了4个主要的界面窗口:(1)工作区窗口(Workspace Window);(2)用户界面编辑窗口(User Interface Editor Window);(3)源代码编辑窗口(Source Window),简称源代码窗口;(4)函数面板窗口(Function Panel Window)。

其中,工作区窗口完成对*.prj文件的创建与编辑;用户界面编辑窗口完成对*.uir文件的创建与编辑;源代码编辑窗口完成对*.c文件的创建与编辑。

1.工作区窗口

工作区窗口如图1.4所示,列出了其包含的所有文件。工程窗口中的菜单共有11项,可完成有关LabWindows/CVI的全部功能。

启动LabWindows/CVI后,系统将自动加载最近一次打开的工程。

1)File

完成对工程文件(*.prj)、源代码文件(*.c)、头文件(*.h),以及用户界面文件(*.uir)的新建(New)、打开(Open)、保存(Save)、另存(Save As)、保存全部文件(Save All)、自动保存工作区(Auto Save Workspace)、最近关闭文件(Most Recently Closed Files)、退出环境(Exit LabWindows/CVI)等功能,其菜单屏幕如图1.5所示。图1.4 工作区窗口图1.5 工作区窗口File菜单

2)Edit

完成对工作区、工程文件的编辑功能,以及将有关文件加入到工程文件的功能。其菜单屏幕如图1.6所示。

3)View

用于显示视图,可选择项目文件、函数库、工具条等是否显示于当前窗口。其菜单屏幕如图1.7所示。图1.6 工作区窗口Edit菜单图1.7 工作区窗口View菜单

4)Build

完成有关编译的操作,用LabWindows/CVI编译连接器创建编译文件。具体有编译文件、创建工程文件、连接工程文件、从磁盘修改文件、标记编译文件、标记所有编译文件等内容。其菜单屏幕如图1.8所示。

5)Run

完成运行功能。在本项中,提供进行、设置端点、继续运行、终止运行等功能。合理运用本项功能会在调试所设计的软件时带来极大的方便。其菜单屏幕如图1.9所示。图1.8 工作区窗口Build菜单图1.9 工作区窗口Run菜单

6)Instrument

完成将保存在仪器中的文件调入、卸载和编辑等功能。其菜单屏幕如图1.10所示。

7)Library

完成用户界面、信号分析、I/O接口及各类协议设置等功能。其菜单屏幕如图1.11所示。图1.10 工作区窗口Instrument菜单图1.11 工作区窗口Library菜单

8)Tools

提供两个工具,运行向导(wizard)或者已经添加到Tools菜单中的一些工具。可建立ActiveX控件和IVI仪器驱动程序。其菜单屏幕如图1.12所示。

9)Window

完成窗口的最大、最小、关闭等功能,同时也用来访问某个已经打开的窗口。其菜单屏幕如图1.13所示。

10)Options

完成与LabWindows/CVI编程环境有关信息的设置。其菜单屏幕如图1.14所示。图1.12 工作区窗口Tools菜单图1.13 工作区窗口Window菜单

11)Help

提供LabWindows/CVI在线帮助及Windows SDK函数帮助。其菜单屏幕如图1.15所示。图1.14 工作区窗口Options菜单图1.15 工作区窗口Help菜单

2.用户界面编辑窗口

用户界面编辑窗口是用来创建编辑用户界面的,它所形成的文件为*.uir文件。用户界面相当于真实仪器的操作面板,一个用户界面文件至少要有一个面板(Panel)以及在面板上的各种控件元素(Control Element)。图形用户界面编辑窗口提供了非常快捷的编辑面板创建、控件安放、控件属性设置等功能,可在短时间里创建出符合要求的图形界面。

下面详细讨论图形用户界面编辑窗口各菜单项的功能。

1)File

完成用户界面文件(*.uir)的新建(New)、打开(Open)、保存(Save)、另存(Save As)、保存所有(Save All)、保存复制的用户界面文件(Save Copy As)、设置用户界面文件为只读(Read Only)、添加文件到工程(Add File To Project)、打印(Print)、关闭文件(Close)、退出(Exit LabWindows/CVI)等功能。

2)Edit

用来编辑面板或控件元素。完成面板或控件的重复/撤销、剪切、复制、粘贴、删除功能,同时可完成仪器面板的复制和剪切、菜单项的编辑、仪器面板的编辑、控件的编辑、显示顺序及有关字体的设置等功能。

3)View

当创建多个面板后,可用该菜单来查看需要看的面板。具体功能分为3类。(1)查找用户界面对象:查找用户界面文件中的对象。(2)显示仪器面板:包括显示/隐藏仪器面板,显示重叠仪器面板中的某一个,显示下一个仪器面板,显示上一个仪器面板等功能。(3)预览用户界面的头文件:显示仪器面板中所涉及的控件、变量等头文件。

4)Creat

此项用来创建仪器面板(Panel)、菜单项和面板中的各种控件。Create菜单项如图1.16所示。图1.16 Create菜单项

5)Arrange

实现调节各个控件元素的位置、大小、对齐方式、控件顺序等功能。

6)Code

可产生源代码以及选择所需的事件消息类型。具体功能包括生成全部代码、Main函数、仪器面板和控件的回调函数、查看回调函数及事件设置等,Code菜单项如图1.17所示。图1.17 Code菜单项

7)Run

用来运行程序。其功能和工程编辑窗口的“Run”功能类似。

8)Library

Library包括界面和接口标准设置,完成用户界面、信号分析、信号输入/输出及各类协议的设置,其功能和工程编辑窗口的“Library”功能类似。

9)Tools

Tools提供一些工具项,包括建立ActiveX控件的控制和创建IVI仪器的驱动程序。

10)Widows

完成对窗口的操作,功能和工程编辑窗口的“Window”功能类似,可以实现从*.uir窗口到*.c窗口的切换。

11)Options

设置用户界面编辑窗口的编辑环境,包括显示对仪器面板的操作命令、模式工具的转换、颜色的设置、保存或调入以文本形式保存的用户界面文件等功能。

12)Help

提供LabWindows/CVI在线帮助以及Windows SDK函数帮助。

3.源代码编辑窗口

可在源代码编辑窗口中创建C语言代码文件。例如,添加、删除、插入函数等编程所需的基本编辑操作。但是LabWindows/CVI又有其独特的简洁快速的开发编辑工具,可在短时间内完成一个较复杂的C语言代码程序。

源代码编辑窗口(Source Window)如图1.18所示,下面讨论源代码编辑窗口中的各菜单项的功能。图1.18 源代码编辑窗口(1)File:创建、保存或打开文件。(2)Edit:可用来编辑源代码文件。(3)View:查看源代码编辑窗口的风格等功能。(4)Build:编译文件以及编译设置。(5)Run:运行程序。(6)Instrument:装入仪器驱动程序。(7)Library:C语言程序中所使用的I/O接口及总线函数库。其功能与工程编辑窗口的Library菜单项功能一致。(8)Tools:提供一些工具项。(9)Window:用来访问某个已经打开的窗口,例如,工程窗口、用户界面编辑窗口等。(10)Options:设置用户界面编辑窗口的编辑环境。(11)Help:LabWindows/CVI在线帮助及Windows SDK 的函数帮助。1.4 LabWindows/CVI简单程序设计

本节具体介绍如何使用LabWindows/CVI 7.0集成开发环境来设计虚拟波形生成器的具体步骤和有关编程方法。

要求:设计能够产生正弦波、方波、三角波和随机信号的虚拟波形生成器,并显示波形。1.4.1 工程文件的创建

当LabWindows/CVI 7.0成功地安装在计算机上后,双击桌面 CVI的图标,出现如图1.19所示的运行窗口即为工程窗口。图1.19 LabWindows/CVI的工程窗口1.4.2 用户界面设计

在工程窗口中选择“File”→“New”→“User Interface(*.uir)”创建一个用户界面文件,并打开用户界面编辑窗口,如图1.20所示。图1.20 用户界面文件的创建

该文件中需包含1个仪器面板(ShiBoQi面板)和5个控件,如图1.21所示。其中包含2个按钮控件(Acquire 控件和Quit控件),1个循环控件(Waveform Shape 控件),1个颜色选择控件(Trace Color 控件),1个显示控件(Waveform控件)。图1.21 bxq.uir文件的用户界面编辑窗口

根据bxq.uir的设计,在新建的用户界面创建控件并修改控件的属性。

1.创建控件

创建控件就是在仪器面板中添加控件的过程,具体过程如下。

1)仪器面板

在用户新建工程文件后,系统会自动建立一个仪器面板,如图1.22所示。图1.22 加入仪器面板的用户界面编辑窗口

2)在仪器面板中加入控件(1)加入命令控件“Creat”→“Command Button”→“Square Command Button”创建用于产生信号和关闭仪器的命令按钮,如图1.23所示。(2)加入循环控件“Creat”→“Ring”→“Vertical Pointer Slide”创建波形类型选择信号,如图1.24所示。图1.23 加入命令控件的用户界面编辑窗口图1.24 加入循环控件的用户界面编辑窗口(3)加入颜色选择控件“Creat”→“Numeric”→“Color Numeric”创建波形颜色选择数值控件,如图1.25所示。(4)加入图形显示控件“Creat”→“Graph”→“Graph”创建图形显示控件,如图1.26所示。

建立好的仪器面板如图1.27所示。

2.修改用户界面中各控件元素的属性

通过上述步骤建立的控件属性还没有设置,如命令按钮的显示文字为系统默认值“OK”,而要求显示的为“Acquire”和“Quit”。通过控件元素属性的设置,完成所要求的用户界面。

1)修改Panel的属性

双击“Untitled Panel”,弹出“Edit Panel”对话框,如图1.28所示。图1.25 加入颜色选择控件的用户界面编辑窗口图1.26 加入图形控件的用户界面编辑窗口图1.27 建立好的仪器面板

本例中,仪器面板需要设置的属性为标题文字的设置。在“Panel Title”属性框中输入“ShiBoQi”,这时,右边编辑窗口的标题随之而改变。设置完毕后,单击“OK”按钮,完成Panel控件的设置。图1.28 设置Panel属性的窗口

2)命令控件属性的设置

双击面板中的“OK”按钮,弹出如图1.29所示的“Edit Command Button”对话框。命令控件属性的设置包括控件名称、控件回调函数和控件标题属性的设置。图1.29 设置命令控件Acquire属性的窗口(1)控件名称的设置:在“Source Code Connection”栏内的控件名称“Constant Name”一栏中输入控件名称“ACQUIRE”,要求必须为大写字母。(2)控件回调函数的设置:在“Source Code Connection”栏内的回调函数“Callback Function”一栏中输入回调函数名称“AcquireData”。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载