欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    虚拟仪器测试技术.docx

    • 资源ID:44932022       资源大小:2.87MB        全文页数:125页
    • 资源格式: DOCX        下载积分:25金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要25金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    虚拟仪器测试技术.docx

    虚拟仪器测试技术-屈有安1目录单元 1配置虚拟仪器软件与硬件.31.1 演示虚拟示波器和电压表.31.2 什么是虚拟仪器.41.3 配置虚拟仪器的硬件平台.5单元 2 创建和编辑、调试 VI.92.1 LABVIEW 的基本开发平台.92.4 创建一个简单的 VI 程序.152.5VI 编辑和调试技术.172.6创建子 VI.212.7调用子 VI.26单元 3 结构控制程序设计.273.1 While loop 结构与 chart 图表.273.1.1While loop 结构.273.1.2 波形图指示器.333.2 移位寄存器(Shift Register).383.3 For loop.错误!未定义书签。错误!未定义书签。3.4 分支(Case)结构.463.4 顺序结构(Sequence Structure).513.5 公式节点(Formula Node).55单元 4 数组(array)和图形(graphs)程序设计.584.1 数组(array).584.1.1 创建数组及自动索引数组.584.1.2 数组函数.644.2 簇(cluster).684.2.1 创建簇控制和显示簇.684.2.2 使用簇与子 VI 传递数据.694.2.3 按名称捆绑与分解簇.704.2.4 数组和簇的互换.704.2.5error in 簇 和 error out 簇.714.2.6 波形图(Waveform).714.3 图形.724.3.1Graph 控件.734.3.2 Chart 独有控件.734.3.3XY 图形控件(XY Graph).754.3.4 强度图形控件(Intensity Graph).754.3.5 数字波形图控件(Digital Waveform Graph).76单元 5字符串和文件程序设计.785.1 字符串.785.2 文件的输入/输出(I/O).805.2.15.2.1 文件文件 I/OI/O 函数函数.805.2.5.2.将数据写入电子表格文件将数据写入电子表格文件.81单元 6 数据采集(Data Acquisition).886.1 基于了 LABVIEW 的数据采集卡系统总体结构.88虚拟仪器测试技术-屈有安26.2 数据采集设备的设置与测试.896.3 采集模拟信号.936.3.16.3.1 A/DA/D 转换转换.946.3.26.3.2 模拟输入参数说明模拟输入参数说明.956.3.46.3.4 在在 DAQmxDAQmx 中创建应用程序中创建应用程序.96虚拟测试技术实验习题集.106Excercise1:INTRODUCTION TO LABVIEW.106Excercise2:CREATEASIMPLE LABVIEW VI.107Excercise3Create a sub vi.108Exercise 4LOOPANDCHARTS.109Exercise 5ARRAYAND INDICATORS.112Exercise 6 CASE AND SEQUENCE STRUCTURE.116虚拟仪器测试技术-屈有安3单元单元 1配置虚拟仪器软件与硬件配置虚拟仪器软件与硬件1.11.1 演示虚拟示波器和电压表演示虚拟示波器和电压表虚拟仪器(virtual instrument)是基于计算机的仪器。或者说虚拟仪器技术就是用计算机来做测量的技术。那么计算机能做测量吗?下面先看一个两个演示例子。例 1:虚拟示波器。图 1-1 虚拟示波器前面板例 2:虚拟数字电压表虚拟仪器测试技术-屈有安4图 1-2 虚拟数字电压表前面板上述例子说明:用计算机来做测量是可行的。1.21.2 什么是虚拟仪器什么是虚拟仪器虚拟仪器(virtual instrumention)是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装 入仪器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器主要是指这种方式。下面的框图反映了常见的虚拟仪器方案。实际上,所有测试仪器可概括为三大功能模块组成:数据采集、数据测试和分析、结果输出与显示。其中数据分析和结果输出完全可由基于计算机的软件系统来完成,因此只要另外提供一定的数据采集硬件,就可构成基于计算机组成的测量测试仪器。虚拟仪器的主要特点有:1)尽可能采用了通用的硬件,各种仪器的差异主要是软件。2)可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。3)用户可以根据自己的需要定义和制造各种仪器。虚拟仪器测试技术-屈有安5注意:这里所指的虚拟仪器和 EDA 仿真软件中的虚拟仪器概念完全不同,它可以完全替代传统台式测量测试仪器实现对真实信号的测量。而 EDA 仿真软件中的虚拟仪器是纯软件的、仿真的,不能测量真实的信号。1.31.3 配置虚拟仪器的硬件平台配置虚拟仪器的硬件平台虚拟仪器由通用仪器的硬件平台和应用软件两部分组成。一、硬件平台虚拟仪器的硬件平台包括计算机和 I/O 接口设备两部分。计算机是硬件平台的核心。I/O接口设备主要完成待测输入信号的采集、放大、和 A/D 转换等。根据 I/O 接口设备的不同总线形式,虚拟仪器主要分为以下六种类型;测控对象PC-DAQ板GPIB仪器串口仪器VXI模块PXI模块I/O接口设备计算机1.PC-DAQ 插卡式虚拟仪器它是以数据采集卡、信号条理电路以及计算机为硬件平台组成的插卡式虚拟仪器系统。这种系统采用 PCI 计算机总线,只要将数据采集卡插入计算机主板的空槽中即可以使用。插卡式虚拟仪器的组成原理框图虚拟仪器测试技术-屈有安6NI 公司的 M 系列数据采集卡2.GPIB 仪器它是以 GPIB 标准仪器总线与计算机为硬件平台组成的仪器测试系统。GPIB 仪器组成3.串口仪器串口仪器是以 serial 标准总线与计算机为平台组成的仪器测试系统。4.VXI 模块它是以 VXI 标准总线仪器模块与计算机硬件为平台组成的仪器测试系统。VXI 虚拟仪器虚拟仪器测试技术-屈有安75.PXI 模块它是以 PXI 标准总线仪器模块与计算机为硬件平台组成的仪器测试系统。PXI 虚拟仪器6.USB 模块它是以 USB 标准总线仪器模块与计算机为硬件平台组成的仪器测试系统。NI-USB 数据采集卡构成的虚拟仪器1.1.4配置虚拟仪器软件配置虚拟仪器软件虚拟仪器可使用相同的硬件系统,通过不同的软件就可以实现功能完全不同的各种测量测试仪器,软件系统是虚拟仪器的核心,软件可以定义为各种仪器,因此可以说“软件即仪器”。虚拟仪器的应用软件包含应用程序和 I/O 接口驱动程序两部分构成。1.I/O 接口设备驱动程序完成特定外部硬件设备的扩展,驱动以及计算机的通信。一般 I/O 接口驱动程由提供I/O 设备的厂家提供。2.应用程序。在硬件平台具备以后,完成测试功能主要取决于应用程序。*.EXE 文件。虚拟仪器测试技术-屈有安83.开发工具开发虚拟仪器必须有合适的软件工具,目前虚拟仪器软件开发工具主要有如下几类:文本式编程语言:如 visual C,visual Basic labview windows/CVI 等。图形化编辑语言:如 labview(NI 公司)VEE(HP 公司)等。这些软件开发工具为用户设计虚拟仪器应用软件提供了良好的开发环境。4.LabVIEW 概述LabVIEW(Laboratory Virtual instrument Engineering)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW 集成了与满足 GPIB、VXI、RS-232 和 RS-485 协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用 TCP/IP、ActiveX 等软件标准的库函数。这是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。图形化的程序语言,又称为“”语言。使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW 是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。利用 LabVIEW,可产生独立运行的可执行文件。它是一个真正的位编译器。像许多重要的软件一样,LabVIEW 提供了 Windows、UNIX、Linux、Macintosh 的多种版本。虚拟仪器测试技术-屈有安9单元单元 2 创建和编辑、调试创建和编辑、调试 VI知识点:Labview 的前面板和流程图设计Labview 的操作模板和主菜单创建两个 VI 程序LABVIEW 的程序调式技术创建子程序本章概述:本章主要介绍 LABVIEW 的前面板窗口和流程图窗口,工具模板,控制模板和函数模板,通过具体程序设计示例的来说明 LABVIEW 编程的一般步骤和程序调试技术。最后将介绍子程序的概念以创建子程序的详细过程。2.1 LABVIEW 的基本开发平台的基本开发平台LabVIEW 程序,简称 VI,包括前面板(front panel)、流程图两个窗口。前面板前面板前面板是图形用户界面,也就是 VI 的虚拟仪器面板,这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制(control)和显示对象(indicator)。图 2-1 所示是一个随机信号发生和显示的简单 VI 是它的前面板,上面有一个显示对象,以曲线的方式显示了所产生的一系列随机数。还有一个控制对象开关,可以启动和停止工作。显然,并非简单地画两个控件就可以运行,在前面板后还有一个与之配套的流程图。控制对象(输入)显示对象(输出)图 2随机信号发生器的前面板板虚拟仪器测试技术-屈有安10流程图流程图流程图提供 VI 的图形化源程序。在流程图中对 VI 编程,以控制和操纵定义在前面板上的输入和输出功能。流程图中包括前面板上的控件的连线端子,还有一些前面板上没有,但编程必须有的东西,例如函数、结构和连线等。图是与图对应的流程图。我们可以看到流程图中包括了前面板上的开关和随机数显示器的连线端子,还有一个随机数发生器的函数及程序的循环结构。随机数发生器通过连线将产生的随机信号送到显示控件,为了使它持续工作下去,设置了一个 While Loop 循环,由开关控制这一循环的结束。如果将 VI 与标准仪器相比较,那么前面板上的东西就是仪器面板上的东西,而流程图上的东西相当于仪器箱内的东西。在许多情况下,使用 VI 可以仿真标准仪器,不仅在屏幕上出现一个惟妙惟肖的标准仪器面板,而且其功能也与标准仪器相差无几。工具模板(工具模板(Tools Palette)为了便于创建 VI 程序,LabVIEW 平台上提供了三种模板供编程人员使用,这三种模版分别是:工具(Tools)模板、控件(Controls)模板和函数(Functions)模板。函数:随机数发生器结构:循环与前面板控件对应的连线端与前面板控件对应的连线端子图 2随机信号发生器的流程图虚拟仪器测试技术-屈有安11工具模板为编程者提供了各种用于创建、修改和调试 VI 程序的工具。如果该模板没有出现,则可以在 Windows 菜单下选择 Show Tools Palette 命令以显示该模板。当从模板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状。当从Windows菜单下选择了ShowHelp Window 功能后,把工具模板内选定的任一种工具光标放在框图程序的子程序(Sub VI)或图标上,就会显示相应的帮助信息。工具模板图标有如下几种:工具模板图标、名称及功能图标名称功能操作工具使用该工具来操作前面板的控制和显示。使用它向数字或字符串控制中键入值时,工具会变成标签工具的形状。选择工具用于选择、移动或改变对象的大小。当它用于改变对象的连框大小时,会变成相应形状。标签工具用于输入标签文本或者创建自由标签。当创建自由标签时它会变成相应形状。连线工具用于在框图程序上连接对象。如果联机帮助的窗口被打开时,把该工具放在任一条连线上,就会显示相应的数据类型。对象弹出菜单工具用左鼠标键可以弹出对象的弹出式菜单。漫游工具使用该工具就可以不需要使用滚动条而在窗口中漫游。断点工具使用该工具在 VI 的框图对象上设置断点探针工具可以在框图程序内的数据流线上设置探针。程序调试员可以通过控针窗口来观察该数据流线上的数据变化状况。颜 色 提 取 工具使用该工具来提取颜色用于编辑其他的对象。颜色工具用来给对象定义颜色。它也显示出对象的前景色和背景色。虚拟仪器测试技术-屈有安12控件模板控件模板(Controls Palette)与上述工具模板不同,控制和功能模板只显示顶层子模板的图标。在这些顶层子模板中包含许多不同的控制或功能子模板。通过这些控制或功能子模板可以找到创建程序所需的面板对象和框图对象。用鼠标点击顶层子模板图标就可以展开对应的控制或函数子模板,只需按下控制或函数子模板左上角的大头针就可以把对这个子模板变成浮动板留在屏幕上。用控制模板可以给前面板添加输入控制和输出显示。每个图标代表一个子模板。如果控制模板不显示,可以用 Windows 菜单的 Show Controls Palette 函数打开它,也可以在前面板的空白处,点击鼠标右键,以弹出控制模板。注:只有当打开前面板窗口时才能调用控制模板。控制模板如左图所示,它包括如图所示的几个子模板。控件子模板图标、名称及功能图标名称功能数值子模板包含数值的控制和显示。布尔值子模块逻辑数值的控制和显示。字符串子模板字符串和表格的控制和显示。列表和环(Ring)子模板菜单环和列表栏的控制和显示数组和群子模板复合型数据类型的控制和显示虚拟仪器测试技术-屈有安13图形子模板显示数据结果的趋势图和曲线图。路 径 和 参 考 名(Refnum)子模板文件路径和各种标识的控制和显示。控件容器库子模板用于操作 OLE、ActiveX 等函数。对话框子模板用于输入对话框的显示控制。修饰子模板用于给前面板进行装饰的各种图形对象。自定义用户自定义的控制和显示。调用存储在文件中的控制和显示的接口。函数模板函数模板(Functions Palette)函数模板是创建框图程序的工具。该模板上的每一个顶层图标都表示一个子模板。若函数模板不出现,则可以用 Windows 菜单下的 Show Functions Palette 函数打开它,也可以在框图程序窗口的空白处点击鼠标右键以弹出函数模板。注:只有打开了框图程序窗口,才能出现函数模板。函数模板如下图所示。虚拟仪器测试技术-屈有安14函数模板的子模板图标名称函数结构子模板包括程序控制结构命令,例如循环控制等,以及全局变量和局部变量。数值运算子模板包括各种常用的数值运算符,如+、-等;以及各种常见的数值运算式,如+1 运算;还包括数制转换、三角函数、对数、复数等运算,以及各种数值常数。布尔逻辑子模板包括各种逻辑运算符以及布尔常数。字符串运算子模板包含各种字符串操作函数、数值与字符串之间的转换函数,以及字符(串)常数等。数组子模板包括数组运算函数、数组转换函数,以及常数数组等。群子模板。包括群的处理函数,以及群常数等。这里的群相当于 C语言中的结构。比较子模板包括各种比较运算函数,如大于、小于、等于。时间和对话框子模板包括对话框窗口、时间和出错处理函数等。文件输入/输出子模板包括处理文件输入/输出的程序和函数。仪器控制子模板包括 GPIB(488、488.2)、串行、VXI 仪器控制的程序和函数,以及 VISA 的操作功能函数。仪器驱动程序库用于装入各种仪器驱动程序。数据采集子模板包括数据采集硬件的驱动程序,以及信号调理所需的各种函数模块。信号处理子模板包括信号发生、时域及频域分析函数模块。数学模型子模块包括统计、曲线拟合、公式框节点等函数模块,以及数值微分、积分等数值计算工具模块。虚拟仪器测试技术-屈有安15图形与声音子模块包括 3D、OpenGL、声音播放等函数模块。通讯子模板包括 TCP、DDE、ActiveX 和 OLE 等函数的处理模块。应用程序控制子模块:包括动态调用 VI、标准可执行程序的函数函数。底层接口子模块包括调用动态连接库和 CIN 节点等函数的处理模块。文档生成子模板示教课程子模板包括 LabVIEW 示教程序。用户自定义的子VI 模板“选择VI 子程序”子模板:包括一个对话框,可以选择一个 VI 程序作为子程序(SUBVI)插入当前程序中。其它几个子模板是 LabVIEW 的附加 Toolkit 安装上去的。在 LabVIEW 完全版中不包括这些子模板。2.4 创建一个简单的创建一个简单的 VI 程序程序我们通过例子来说明如何创建一个 VI。例题 2-1:把摄氏温度转换为华氏温度。图 2-1例题 2-1 的前面板虚拟仪器测试技术-屈有安16图 2-2 例题 2-1 框图程序前面板编辑:前面板编辑:选择 FileNewblank vi,打开一个新的前面板窗口。选择 WindowsLeft and Right 或使用快捷键“CTR+T”,显示前面板和框图程序窗口。创建数字控件,并将这个数字控件标签“label”修改为“deg c”.从 ControlsNumeric Controls 中选择 Numeric Control 放到前面板中。用 tool palette“A”工具,将修改 Numeric Control 的“label”项修改为“deg c”。创建数字指示器,并将这个数字控件标签“label”修改为“deg f”流图图的编辑:按“CTR+E”键,切换到框图程序窗口。1从功能模板中选择下列函数图标放置在框图中Multiply在(functionnumeric)下,将两个数相乘得到它们的乘积。虚拟仪器测试技术-屈有安17add 在(functionnumeric)下,将两个数相加得到它们的和。numeric constant 常数,此例中,双击数值型常数,将其值分别修改为 1.8,再放置一个数值型常数,将其数值修改为 32。2使用连线工具,按照图 2-2 框图连线。前面板如图 2-1 所示。框图程序如图 2-2 所示。Vi 的运行:的运行:单击窗口上部的“run”图标,运行该 vi,得到图 2-1 的结果.单击窗口上部的“continuous run”图标,输出结果可以随输入的变化而变化。单击“pause”可暂时停止程序。单击“abort excution”结束程序的运行。程序的存盘:程序的存盘:选择 filesave,将此 VI 命名为 C-F.vi 保存。选择 fileclose,关闭 VI。练习 2-1 结束。2.5VI 编辑和调试技术编辑和调试技术1VI 编辑技术编辑技术VI 程序具有三个要素:前面板、框图程序和图标/连接器。节点节点类似于文本语言程序的语句、函数或者子程序。LabVIEW 有二种节点类型-函数节点和子 VI 节点。两者的区别在于:函数节点是 LabVIEW 以编译好了的机器代码供用户使用的,而子 VI 节点是以图形语言形式提供给用户的。用户可以访问和修改任一子 VI 节点的代码,但无法对函数节点进行修改。上面的框图程序所示的 VI 程序有两个函数函数节点,一个函数使两个数值相加,另一个函数使两数相减。虚拟仪器测试技术-屈有安18端点端点是只有一路输入/输出,且方向固定的节点。LabVIEW 有三类端点-前面板对象端点、全局与局部变量端点和常量端点。对象端点是数据在框图程序部分和前面板之间传输的接口。一般来说,一个 VI 的前面板上的对象(控制或显示)都在框图中有一个对象端点与之一一对应。当在前面板创建或删除面板对象时,可以自动创建或删除相应的对象端点。控制对象对应的端点在框图中是用粗框框住的,如例子中的 A 和 B 端点。它们只能在 VI 程序框图中作为数据流源点。显示对象对应的端点在框图中是用细框框住的。如例子中的 A+B 和A-B 端点。它们只能在 VI 程序框图中作为数据流终点。常量端点永远只能在 VI 程序框图中作为数据流源点。图框图框是 LabVIEW 实现程序结构控制命令的图形表示。如循环控制、条件分支控制和顺序控制等,编程人员可以使用它们控制 VI 程序的执行方式。代码接口节点(CIN)是框图程序与用户提供的 C 语言文本程序的接口。连线连线是端口间的数据通道。它们类似于普通程序中的变量。数据是单向流动的,从源端口向一个或多个目的端口流动。不同的线型代表不同的数据类型。在彩显上,每种数据类型还以不同的颜色予以强调。虚拟仪器测试技术-屈有安19下面是一些常用数据类型所对应的线型和颜色:数据类型图 形颜色整形数浮点数逻辑量字符串文件路径兰色橙色绿色粉色青色当需要连接两个端点时,在第一个端点上点击连线工具(从工具模板栏调用),然后移动到另一个端点,再点击第二个端点。端点的先后次序不影响数据流动的方向。当把连线工具放在端点上时,该端点区域将会闪烁,表示连线将会接通该端点。当把连线工具从一个端口接到另一个端口时,不需要按住鼠标键。当需要连线转弯时,点击一次鼠标键,即可以正交垂直方向地弯曲连线,按空格键可以改变转角的方向。从框图程序窗口创建前面板对象.用选择和连线工具,你都可以用鼠标右键点击任一节点和端点,然后从弹出菜单中选择“创建常数”,“创建控制”,或“创建显示”等命令。LabVIEW 会自动地在被创建的端点与所点击对象之间接好连线。数据流编程数据流编程控制 VI 程序的运行方式叫做“数据流”。对一个节点而言,只有当它的所有输入端口上的数据都成为有效数据时,它才能被执行。当节点程序运行完毕后,它把结果数据送给所有的输出端口,使之成为有效数据。并且数据很快从源送到目的端口。如左图所示,这个 VI 程序把两个输入快速提示:接线头是为了帮助正确连接端口的连线。当把连线工具放到端口上,接线头就会弹出。接线头还有一个黄色小标识框,显示该端口的名字。虚拟仪器测试技术-屈有安20数值相乘,再把乘积减去 50.0。这个程序中,框图程序从左往右执行,这个执行次序不是由于对象的摆放位置,而是由于相减运算函数的一个输入量是相乘函数的运算结果,它只有当相乘运算完成并把结果送到减运算的输入口后才能继续下去。请记住,一个节点(函数)只有当它所有的输入端的数据都成为有效数据后才能被执行,而且只有当它执行完成后,它的所有输出端口上的数据才成为有效。再看另一个程序.你认为哪一个节点函数将先执行是乘法还是除法?在这个例子中,我们无法知道哪一个节点函数首先执行,因为所有输入量几乎同时到达。对于这样一种相互独立的数据流程,如果又必须明确指定节点执行的先后次序,就必须使用顺序(Sequence)结构来明确执行次序。2 程序调试技术程序调试技术1)找出语法错误如果一个 VI 程序存在语法错误,则在面板工具条上的运行按钮将会变成一个折断的箭头,表示程序不能被执行。这时这个按钮被称作错误列表。点击它,则 LabVIEW 弹出错误清单窗口,点击其中任何一个所列出的错误,选用 Find 函数,则出错的对象或端口就会变成高亮。2)设置执行程序高亮在 LabVIEW 的工具条上有一个画着灯泡的按钮,这个按钮叫做“高亮执行”按钮上。点击这个按钮使该按钮图标变成高亮形式,再点击运行按钮,VI 程序就以较慢的速度运行,没有被执行的代码灰色显示,执行后的代码高亮显示,并显示数据流线上的数据值。这样,你就可以在根据数据的流动状态跟踪程序的执行。3)断点与单步执行为了查找程序中的逻辑错误,你也许希望框图程序一个节点一个节点地执行。使用断点工具可以在程序的某一地点中止程序执行,用探针或者单步方式查看数据。使用断点工具时,点击你希望设置或者清除断点的地方。断点的显示对于节点或者图框表示为红框,对于连线表示为红点。当 VI 程序运行到断点被设置处,程序被暂停在将要执行的节点,以闪烁虚拟仪器测试技术-屈有安21表示。按下单步执行按钮,闪烁的节点被执行,下一个将要执行的节点变为闪烁,指示它将被执行。你也可以点击暂停按钮,这样程序将连续执行直到下一个断点。4)探针你可以用探针工具来查看当框图程序流经某一根连接线时的数据值。从 Tools 工具模板选择探针工具,再用鼠标左建点击你希望放置探针的连接线。这时显示器上会出现一个探针显示窗口。该窗口总是被显示在前面板窗口或框图窗口的上面。在框图中使用选择工具或连线工具,在连线上点击鼠标右键,在连线的弹出式菜单中选择“探针”命令,同样可以为该连线加上一个探针。2.6子子 VI在设计 G 语言中,理解和使用 VI 的分层特性非常重要。当一个 VI 创建后,它可以作为一个子 VI 在高层 Vi 的框图中使用。一个子 VI(sub vi)类似于传统程序设计语言中的函数或子程序,是可以供其他的 VI 调用的 VI。子 VI 是供其他 VI 使用的 VI,与子程序类似。子 VI 是层次化和模块化 VI 的关键组件,它能使 VI 易于调试和维护。使用子 VI 是一种有效的编程技术,因为 它允许在不同的场合重复使用相同的代码。G 编程语言的分层特性就是在一个子 VI 中能够调用到另一个子 VI。下面可用一个表格表明子 VI 的作用:程序代码调用子程序function average(in1,in2,out)out=(in1+in2)/2.0;mainaverage(point1,point2,pointavg);子 VI 框图调用子 VI 框图先看一个 SUB vi 的演示程序。虚拟仪器测试技术-屈有安22从例题中可以看出,子程序就相当于一个函数。可以将任何一个定义了图标和联接器的 VI 作为另一个 VI 的子程序。在流程图中打开FunctionsSelect a VI.,就可以选择要调用的子 VI。2.6.1 创建子创建子 VI创建子 VI 主要的工作就是定义它的图标和联接器图标和联接器。每个 VI 在前面板和流程图窗口的右上角都显示了一个默认的图标。启动图标编辑器的方法是,用鼠标右键单击面板窗口的右上角的默认图标,在弹出菜单中选择 Edit Icon。下图显示了图标编辑器的窗口。可以用窗口左边的各种工具设计像素编辑区中的图标形状。编辑区右侧的一个方框中显示了一个实际大小的图标。图标编辑器的具体使用细节参阅有关资料。图标编辑器窗口联接器是 VI 数据的输入输出接口。如果用面板控制对象或者显示对象从子 VI 中输出或者输入数据,那么这些对象都需要在联接器面板中有一个连线端子。您可以通过选择 VI的端子数并为每个端子指定对应的前面板对象以定义联接器。定义联接器的方法是,用鼠标右键单击面板窗口中的图标窗口,在快捷菜单中选择Show Connector。联接器图标会取代面板窗口右上角的图标。LabVIEW 自动选择的端子连虚拟仪器测试技术-屈有安23接模式是控制对象的端子位于联接器窗口的左边,显示对象的端子位于联接器窗口右边。选择的端子数取决于前面板中控制对象和显示对象的个数。联接器中的各个矩形表示各个端子所在的区域,可以用它们从 VI 中输入或者输出数据。如果必要,也可以选择另外一种端子连接模式。方法是在图标上单击鼠标右键单出快捷菜单,选择 Show Connector,再次弹出快捷菜单,选择 Patterns。下面我们通过一个练习说明具体操作。例题:目的:创建一个 VI 程序,以便以后作为子 VI 程序使用。任务描述:创建一个 VI 程序模拟温度测量。假设传感器输出电压与温度成正比。例如,当温度为 70F 时,传感器输出电压为 0.7V。本程序也可以用摄氏温度来代替华氏温度显示。本程序用软件代替了 DAQ 数据采集卡。使用随机函数仿真温度的电压,然后把所测得的电压值转换成摄氏或华氏温度读数。图 前面板流程图STEP1:编辑 VI前面板:1.用 File 菜单的 New 选项打开一个新的前面板窗口。2.把温度计指示部件放入前面板窗口。1)在前面板窗口的空白处点击鼠标键,然后从弹出的 Numeric 子模板中选择Thermometer。2)在高亮的文本框中输入“温度计”,再点击鼠标键按钮。3.重新设定温度计的标尺范围为 0.0 到 100.0。使用标签工具 A,双击温度计标尺的10.0,输入 100.0,再点击鼠标键或者工具栏中的 V 按钮。4.在前面板窗口中放入竖直开关控制。1)在面板窗口的空白处点击鼠标键,然后弹出的 Boolean 子模板中选择 Vertical虚拟仪器测试技术-屈有安24Switch,在文本框中输入“温度值单位”,再点击鼠标键或者工具栏中的 V 按钮。2)使用标签工具 A,在开关的“条件真”(true)位置旁边输入自由标签“摄氏”,再在“条件假”(false)位置旁边输入自由标签“华氏”。框图程序:1.从 Windows 菜单下选择 Show Diagram 函数打开框图程序窗口。2.点击框图程序窗口的空白处,弹出函数模板,从弹出的菜单中选择所需的对象。本程序用到下面的对象;Random Number(0-1)产生 0-1 随机数函数(Numeric 子模板).产生随机数。模拟温度传感器输出的温度信号电压。Multiply(乘法)函数(Numeric 子模板)。在本例中,将读取电压值乘以 100.00,以获得华氏温度。Subtract(减法)函数(Numeric 子模板)。在本例中,从华氏温度中减去 32.0,以转换成摄氏温度。Select(选择)函数(Comparison 子模板)。取决于温标选择开关的值。该函数输出华氏温度(当选择开关为 false)或者摄氏温度(选择开关为 True)数值。数值常数。用连线工具,点击你希望连接一个数值常数的对象,并选择 CreateConstant 函数。若要修改常数值,用标签工具双点数值,再写入新的数值。字符串常量。用连线工具,点击你希望连接字符串常量的对象,再选择 CreateConstant 函数。要输入字符串,用标签工具双击字符串,再输入新的字符串。3.使用移位工具(Positioning tool),把图标移至图示的位置,再用连线工具连接起来。Demo Read Voltage VI 子程序模拟从数据采集卡的 0 通道读取电压,我们的程序再将读数乘以 100.0 转换成华氏温度读 数,或者再把华氏温度转换成摄氏温度。4.选择前面板窗口,使之变成当前窗口,并运行 VI 程序。点击连续运行按钮,便程序运行于连续运行模式。5.再点击连续运行按钮,关闭连续运行模式。STEP2:创建图标 Temp此图标可以将现程序作为子程序在其他程序中调用。创建方法如下:请记住,如果要显示图标接线端口,则点击图标,再从弹出菜单中选择 Show Terminals 功能。也可以从Help 菜单中选择 Show Help 功能以打开帮助信息窗口。虚拟仪器测试技术-屈有安25a.在面板窗口的右上角的图标框中点击鼠标,从弹出菜单中选择 EditIcon 功能。b.双点选择工具,并按下 Delete 键,消除缺省的图标图案。c.用画图工具画出温度计的图标。使用文本工具写入文字,双击文本工具把字体换成 Small Font。当图标创建完成后,点击 OK 以关闭图标编辑。生成的图标在面板窗口的右上角。STEP3:创建联接器端口:a.点击右上角的图标面板,从弹出菜单中选择 Show Connector 函数。LabVIEW 将会根据控制和显示的数量选择一种联接器端口模式。在本例中,只有两个端口,一个是竖直开关,另一个是温度指示。b.把联接器端口定义给开关和温度指示。c.使用连线工具,在左边的联接器端口框内按鼠标键,则端口将会变黑。再点击开关控制件,一个闪烁的虚线框将包围住该开关。d.现在再点击右边的联接器端口框,使它变黑。再点击温度指示部件,一个闪烁的虚线框将包围住温度指示部件,这即表示着右边的联接器端口对应温度指示部件的数据输入。e.如果再点击空白外,则虚线框将消失,而前面所选择的联接器端口将变暗,表示你已经将对象部件定义到各个联接器端口。以后我们会讲到如何使用 SubVI From Selection 功能来创建子程序 SubVI。STEP4:保存子 vi。确认当前文件的程序库路径为 Seminar.LLB,用文件菜单的 SAVE 函数保存上述文件,并将文件命名为 Thermometer.Vi。现在,该程序已经编制完成了。它可以在其他程序中作为子程序来调用,在其它程序的框图窗口里,该温度计程序用前面创建的图标来表示。联接器端口的注意,在用鼠标画线时按下键,则可以画出水平或垂直方向的连线。注意:LabVIEW 的惯例是前面板上控制的联接器端口放在图标的接线面板的左边,而显示的联接器端口放在图标的接线面板的右边。也就是说,图标的左边为输入端口而右边为输出端口。虚拟仪器测试技术-屈有安26输入端用于选择温度单位,输出端用于输出温度值。6.关闭该程序。练习结束。建议:将所创建的子 VI 保存在目录下而不是保存在库文件中。尽管在称为 VI 库的单个文件中能够保存多个 VI,但我们不希望这样做。将 VI 保存为单个文件是最有效的存储方式。因为这样在复制,重新命名和删除文件时比使用 VI 库时要容易些。与其他目录一样,VI 库文件可以装入,保存和打开,但不是分层的。不能在 VI 库内创建另一个 VI 库,也不能在 VI 库内创建新目录。VI 库文件创建后,当其出现在文件对话框中时,其图标将与 VI 文件图标略有不同。2.7调用子调用子 VI在任意一个 VI 程序的框图窗口里,都可以把其他的 VI 程序作为子程序调用,只要被调用 VI 程序定义了图标和联接器端口即可。用户使用函数模板的 Select a VI 来完成。当使用该函数时,将弹出一个对话框,用户可以输入文件名。一个子 VI 程序,相当于普通程序的子程序。节点相当于子程序调用。子程序节点并不是子程序本身,就象一般程序的子程序调用语句并不是子程序本身一样。如果在一个框图程序中,有几个相同的子程序节点,它就象多次调用相同的子程序。请注意,该子程序的拷贝并不会在内存中存储多次。虚拟仪器测试技术-屈有安27单元单元 3 结构控制程序设计结构控制程序设计本章介绍 LABVIEW 为用户提供的程序结构。内容包括 while loop、for loop 两种循环结构、移位寄存器和反馈节点、分支结构、顺序结构、公式节点、事件结构、全局变量与局部变量、菜单等。学习目标:学习 while 循环和 for 循环结构。学习 chart 的多种显示模式及其属性的静态设置建立移位寄存器的概念,学习移位寄存器的应用。学习 case 选择结构,掌握分支结构程序的设计。学习 sequence 结构,掌握程序顺序的控制方法。3.13.1 While loop 结构与结构与 chart 图表图表3.1.1While loop 结构While loop 是 LABVIEW 的基本循环结构之一,类似于 C 语言中的 do while 循环结构:do循环体;while(条件判断)while loop 可以反复执行循环内的框图程序,直到条件不满足,循环停止。While loop 可以从 function 模板中 structure 子模板中创建。创建方法是:从 functions tructure 选择 while loop 图标,放置在 block diagrame 窗口。虚拟仪器测试技术-屈有安28While LOOP 可以反复执行循环体的程序,直至特定的条件不满足,才停止循环。该循环有如下特点:计数从 0 开始(i=0)。先执行循环体,而后 i+1,如果循环只执行一次,那么循环输出值 i=0。循环至少要运行一次。图 3While 循环示意图3.1.2 While lo

    注意事项

    本文(虚拟仪器测试技术.docx)为本站会员(飞****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开