搜档网
当前位置:搜档网 › LabVIEW的高级编程技巧

LabVIEW的高级编程技巧

LabVIEW的高级编程技巧
LabVIEW的高级编程技巧

LabVIEW的编程技巧

本章介绍局部变量、全局变量、属性节点和其他一些有助于提高编程技巧的问题,恰当地运用这些技巧可以提高程序的质量。

8.1局部变量

严格的语法尽管可以保证程序语言的严密性,但有时它也会带来一些使用上的不便。在LabVIEW这样的数据流式的语言中,将变量严格地分为控制器(Control)和指示器(Indicator),前者只能向外流出数据,后者只能接受流入的数据,反过来不行。在一般的代码式语言中,情况不是这样的。例如我们有变量a、b和c,只要需要我们可以将a的值赋给b,将b的值赋给c等等。前面所介绍的LabVIEW内容中,只有移位积存器即可输入又可输出。

另外,一个变量在程序中可能要在多处用到,在图形语言中势必带来过多连线,这也是一件烦人的事。还有其他需要,因此LabVIEW引入了局部变量。

8.1.1局部变量的创建

我们在框图上设置三个变量,两个控制器分别为Numeric和Numeric 2,现在增加局部变量。选择Function→Structures→Local Variable 然后将其拖到框图上,就可得到一个代“?”的图标,下一步将其与框图中已有的变量建立关联,有鼠标右键单击图标,进入Select Item 选择“input1” ,最后框图就变成了图7-1右边的样子。

图7-1局部变量的创建

局部变量只是原变量的一个数据拷贝,但是它的属性可以修改,并且这种改变不会影响原变量。例如上图中的这个局部变量可以利用快捷菜单中的Change To Read 变成一个指示器。这样的一对变量的组合,就使它既可读又可写了。局部变量有三种基本的用途:控制初始化、协调控制功能、临时保存数据和传递数据。下面我们通过练习来说明。

8.1.2 应用举例

练习8-1 用一个开关控制两个循环

]

该练习中有两个While 循环,现在我们用一个开关同时控制它们的运行。面板与框图如上所示。在左边的一个循环中设定了一个开关。右边的循环中做了这个开关的局部变量。并且在快捷菜单中选Chang To Read ,最后与循环的条件端子连接。这样就实现了所须的功能。 练习8-1 结束

练习8-2 创建一组互锁的开关

面板及框图如上所示。这是一个精巧的程序,它非常简洁地实现了所须的功能,面板上的四个按钮开关,在任何时刻只允许有一个被按下(True 状态)。当另一按钮被按下时,原先在按下状态的按钮将自动弹起。下面对程序做几点说明。

1.程序的基本算法:

Array

在While 循环中通过一对移位寄存器将当前数组内容(开关状态)与前一次循环时的数组内容不断比较。如果没有变化,则通过“相等判断”将选择器上输入端的数据送到选择器输出端,并送到移位寄存器。如果有变化,则“相等判断”的输出端将把“F”送到选择器,选择器将选取其下输入端的数据到输出。那么下输入端的数据是什么呢?现在我们举例说明,假如4个开关原来的状态从左到右是“0100”,即开关2闭合。现在按下开关1,则当前数组内容立即变为“1100”与前一状态“0100”逐位做异或运算后,在异或门输出端得到的结果是“1000”,这个结果送给了选择器下输入端,在选择器输出端送到移位寄存器的同时还通过一个Array的局部变量,使数组内容更新为“1000”,即使开关2弹起。

2.局部变量的作用:

循环内的局部变量使得更新后的数据可以写入数组,没有它数组Array只能读,不能写。循环外的局部变量用来将数组初始化。

3.这个程序的巧妙之处还在于直接对整个数组操作,而不是对一个个数组元素操作,如果需要增加面板上的开关个数,只需要改变数组初始化中的元素个数,并在面板上拖出需要的开关个数。

练习8-2结束

练习8-3仪器面板控制按钮的完善

在前面的练习6-7中,我们曾给出了一个非常简洁的连续正弦波发生器的例子。框图如上所示。但从使用的角度这个程序不够完善。例如程序启动后开始发生波形,这时如果你希望调试改变波形的频率和幅值。则改完后必须再次重新启动运行。因为这些值是作为程序的初值出现的。这显然不太方便。如果我们希望能在任意时刻调整参数波形都能“立即”响应,则可以利用局部变量来完善按钮的控制作用。一个较完善的程序如下所示。

这是一个正弦波信号发生器,它允许在运行中随时调整参数而不必重新启动。这个程序增加了内外两层循环,并且对幅值、频率设置了两套局部变量,利用内层循环监视当前时刻和前一时刻的值。如果没有变化,信号源持续工作,内循环一直执行下去。如果发现当前时刻和前一时刻的参数发生了变化,则结束内层循环,并使外循环前进一步(执行第二次外循环),相当于程序重新启动,则信号源按新的设置参数运行。另外注意开关的作用,当开关按下时,先终止内层循环,然后终止内层循环,同时Clear generation。

练习8-3结束

8.2全局变量

全局变量是LabVIEW中一个与VI地位等同的模块,它以独立文件的形式保存在磁盘中,文件后缀为.gbl。通过全局变量不同VI之间可以交换数据。

8.2.1全局变量的创建和调用

创建步骤如下:

1.在Function→Structures下选择Global Variable,将其图标拖到框图中,得到

2.双击Global Variable图标,得到其前面板

3.在其前面板上放上所需要的变量,例如一个数组、一个布尔量、一个字符串变量如

下图所示。

3.保存这个变量,例如文件名称为a.gbl。

至此,全局变量创建完备,下面我们通过例子来说明它的调用。

练习8-4全局变量的调用

该例中我们首先在一个VI中产生十个随机数,然后将它传给全局变量a.gbl,然后再创建第二个VI,让它由全局变量a.gbl中读取数据,并用Graph显示出来。下图分别是VI1的框图和VI2的面板及框图。

在做调用全局变量的VI中有三个问题要注意:

●在一个VI中调用全局变量的方法同调用子VI的方法,即在Function下选择

Se lect a VI…,然后打开所需的全局变量文件。

●全局变量中所需变量的选定。本例中a.gbl中含3个变量,如果需要的是字符

串变量,可用鼠标指向全局变量图标,然后点右键,在出现的快捷菜单中选择

Select Item,即可出现该全局变量中包含的变量列表,选择其中的String。

如下图所示。

有时需要从全局变量中读数,有时需要向全局变量写数。这时可利用快捷菜单

改变其属性,以上图为例,选择Change To Write 就可以向全局变量写数。

练习8-4 结束

练习8-5 用全局变量控制程序流程

这是一个使用全局变量控制程序流程的例子。下图的左上边是主程序的前面板,有三个按钮,分别控制调用子程序1和子程序2和终止程序运行。右边是对应的框图,下方是两个子程序的框图。所期望的功能是在打开子程序1的同时还在主面板上打开子程序2,同时也可在主面板上直接关闭程序,不管子程序是否在运行。

为了在主程序上关闭子程序的运行,设置了全局变量quit ,当按下EXIT 按钮时,其值(TURE )同时传给全局变量quit ,如果有子程序在运行,则按照设定的逻辑(STOP 按钮为T OR Quit 为T 停止运行)子程序退出运行,同时主程序也退出运行。如果没有这个全局变量,则在主程序上无法控制子程序的退出。

为了保证程序中开关初态的正确,需要在程序开始运行前置初态,为此主程序增加了分为两步的顺序结构。程序开始运行时,首先置全局变量为

F.

在顺序结构的第二步中,外循环中的三个循环是并行的,程序运行中将巡回执行这三个循环,这样保证Exit按钮能起作用。

练习8-5结束

8.2.2使用全局变量和局部变量的注意事项

全局变量不仅可以在不同VI间传递数据,而且可以通过它传递消息,控制各VI的协调执行。它在程序设计中很有用.但无论是全局变量,还是局部变量使用过多也会带来一些其它问题,必须引起注意。

首先,从程序的静态结构上看,会使程序结构不直观,造成混乱。其次在程序运行过程中可能带来数据状态的竞态现象,这主要指因为全局变量作为一种可读可写的中间变量,应当严格控制读写的操作,最好是使它们处于“一写多读”的状态。否则可能带来问题。

8.3属性节点(Property Node)

作为面向对象的软件,其前面板对象自然应当有其属性,不同类型的对象可能的属性种类和个数也不同。通过属性的控制,可以使程序界面更加丰富多彩,实现更好的人机交互功能。Labview引入属性节点(Property Node)的概念来设置前面板对象的属性,并且允许在程序运行中动态地改变属性。

8.3.1属性节点的创建

我们举例来说明属性节点的创建。

1.在前面板上创建一个对象,例如Tank如下图左。

2.在Tank图标上点右键,在出现的快捷菜单上选Create →Property Node,则在框图上出现属性节点如上图右,注意这是显示了一个属性Visible。

3.用鼠标右键点击Tank的属性节点,在出现的快捷菜单上选Properties项,可以看到大量的属性供选择。如果需要从中提出3种属性使用,可以先用鼠标在属性节点

的右下角向下拖拉,直到出现3个默认的属性描述拦。然后在快捷菜单下逐个选

择所需的属性修改其内容。

这样就完成了一个属性节点的创建

一个面板对象所具有的属性可能有数十个,不同面板对象所具有的属性也有差别。例如对于一个数字控制量对象,它的属性有

●Visible数据类型为布尔型。当Visible值为False时,面板对象被隐藏。相反则可

见。

●Disabled数据类型为整型。当输入参数为0或1时,用户可以访问该对象,当输

入参数为2时,用户不能访问。

Blinking 数据类型为布尔型。当输入值为True时,面板对象闪烁,相反为正常状态。但是这里闪烁的速度和颜色是由LabVIEW主菜单下的Tools→Options→Front

Panent(和→Colors)两个对话框完成的。

8.3.2属性节点的使用

练习8-6使用属性节点控制屏幕初始化和指示灯闪烁

通常Chart图有一个默认的特点,第二次运行程序时,前一次运行时画出的曲线不会抹去,而是接着往后画,有时我们希望先清屏,再从头画起。该例子中将实现这个功能。同时还希望制作一个闪烁的指示灯。程序面板和框图如下。

该程序产生101个随机数,在一个Chart图表上显示,当产生的数据大于0.5时面板上的指示灯闪烁。为此给指示灯配了一个Blinking属性节点,并将其置为可写状态。连接框图如上右所示。

为了在程序开始运行时先对Chart清屏,为Chart配了一个History属性节点,在循环开始之前,首先将0.00赋给History。

注意这里在程序执行顺序上的一个技巧。本来我们可以画分两步执行的一个顺序结构,但那样做不仅程序不直观,也复杂化了。这里只画了一个单步的顺序框,省去了第二步的框,通过一条(可以认为是虚设的)由初始化50ms的延时连线,规定了执行的顺序,保证初始化在先。

练习8-6结束

8.4程序流控制

在LabVIEW编程中程序流程的控制是一个值得注意的问题。在这里多个相对独立的程序单元默认的执行顺序是并行,而不是传统文本代码式语言中的串行方式。在那里“并行”是件麻烦的事,在这里“串行”或为程序执行定序反而是额外的负担。在介绍Sequence结构时我们已经解释过这件事,现在我们要说,为此过分地使用Sequence结构也不是一个好

办法。正确理解数据流的含义,不仅可以使编程简化,而且可以提高程序执行效率。下面我们再次讨论一下相关的问题。

8.4.1 慎用流程图描述算法

用程序流程图描述数据流式语言的算法流程可能会出问题。

假如现在有一个简单的程序:

INPUT A;

INPUT B; PROCESS A AND B

DISPLAY RESULT

与这个程序对应的流程图如右所示,但是如果严格按照这个流

程图编制的LabVIEW 程序,就变成了下面的样子。

这是一个分四步的Sequence 结构,这显然是荒唐的。我们已经知道正确的程序流程应当是

显然,程序流程图描述LabVIEW 编写的程序的算法流程要慎重。

8.4.2 使用数据线控制程序流

过多地使用Sequence 结构来控制程序流不仅不直观,而且显得非常愚蠢,刚刚讲过的练习7-6就是一个使用数据线程序流的例子。数据流程序的一个基本特性是一个节点只有当它所有的输入数据都到达后才能开始执行,我们可以适当地应用这个特性控制程序流程。

现在假如我们需要打开一个文件,读文件,然后关文件。这是一个典型的顺序结构,但是如果使用Sequence 结构来控制程序流就不妥了。使用如下图所示的程序即可。这个程序只可能从左到右依次执行。反映文件信息的refnum 数据线和反映错误信息的error 数据线在这里控制了节点执行顺序,实现了一个Sequence 结构。

类似的处理方法在LabVIEW 中不少,例如在中级DAQ 函数中,就是用task ID 数据线和error 数据线控制各模块的执行顺序。

8.5 触发与同步

当我们处理的问题更加复杂时,不仅有并行问题,而且希望在并行中进行控制。例如有一个实时监测问题,希望在保证不间断的实时采集监测任务的条件下,并行处理一些其他任务。再如设计扫频仪时,必须考虑一系列频率变化的激励信号和与它们分别对应的响应信号采集的同步问题,这里由D/A对系统产生激励,和用A/D采集系统的响应,这两个任务是相互关联的。并行处理的多个任务中由于某一任务数据量过大、消耗资源过多,致使运行失败。有一些问题可能在LabVIEW范围内可以解决或改善。但也有一些问题实际上涉及到操作系统、计算机外设以及网络通讯,要更加复杂一些。现在只是希望大家注意到这个问题,不做详细讨论。

下面我们给出两个比较简单的例子

1.突发波形的采集

2.扫频仪

LabVIEW

第一章LabVIEW简介 LabVIEW是美国国家仪器公司(National Instruments Co)开发的一种图形化的编程环境。其名称含义为实验室虚拟仪器工作平台(Lab oratory V irtual I nstrument E ngineering W orkbench)。作为一种方便的数据采集和仪器控制开发软件,它可工作于Macintoshe 、Sun SPARC工作站、HP9000/700系列工作站以及PC机等各种机型,可运行于Windows 3.1、Windows9x/2000、Windows NT、UNIX等多系统下,是一种灵活有效的仪器控制和数据分析软件系统。 LabVIEW程序使用虚拟仪器(V irtual I nstrument,缩写为VI)的概念。它是指一台计算机和连接外部的端口(计算机的COM口,LPT口或内插板)在软件控制下可完全模拟替代传统的仪器。因VI功能完全是由软件定义,故在硬件系统不变的情况下,用户可通过软件开发自行改变或扩充仪器的功能,实现自己的特殊要求,或用一套硬件系统实现多种仪器的功能,从而使虚拟仪器VI不但比传统仪器更灵活有效,而且也更经济。VI的核心就是LabVIEW程序,所以在LabVIEW中,所有程序均称之为VI程序,不管它是否通过端口和外界进行通讯。每个VI程序均可作为一个功能模块被重复使用,因而使用LabVIEW来开发和扩展程序极为方便。 LabVIEW编程语言同常规的程序语言不同,它采用更易使用和理解的图形化程序语言-G语言(Graphical programming language)。G语言使用图标代替常规的一条或一组语句来实现一个功能,通过各功能图标间的逻辑连接实现程序功能。 其编程过程不是书写一行行语句,而是连接一个个代表一定功能的图标,其程序编制过程简单,不涉及复杂功能实现的算法,易于掌握。同时,因为其编程过程基于可重复使用的功能模块,故可方便地使用由专业人员编制提供的专业级别的功能模块,开发出专业水平的程序。所以,LabVIEW在世界范围内的众多领域如航空、航天、通信、汽车、半导体、化学和生物医学等得到了广泛的应用,从简单的仪器控制、数据采集到复杂的测试和数据处理,从工厂、科研院所到大学里的实验室,到处都可以发现LabVIEW的应用。在西方国家(如美国)的许多大学已将LabVIEW作为本科的教学内容,成为工程师素质培养的一个方面。由于LabVIEW虚拟仪器的强大功能,使得使用一套硬件系统就可进行多种不同要求的研究,故而可以用更小的消耗进行更多的研究,尤其适合在我国资金较少的科研单位用于研究工作。 LabVIEW6.-中,包含许多专家编写的VI供用户使用。在数据采集方面有许多采集卡(DAQ)的支持模块,使采集程序的编制不必涉及低层控制;有各种数字、模拟信号I/O模块;有对GPIB(General Purpose Interface Bus,IEEE488标准)、VXI(VME bus eXtensions for Instrumentation ,扩展IEEE1014标准)和Serial端口的支持和控制等VI。在数据处理控制方面有各种数字信号处理和产生、频谱分析、滤波、平滑窗口、概率统计等VI。 本LabVIEW简介部分主要介绍LabVIEW语言的基础知识,包括界面、菜单、工具、模板、器件、函数等,通过这一部分的学习,读者即可使用LabVIEW编程并在实际工作中进行应用。LabVIEW进阶部分将深入探讨LabVIEW的编程环境、编程技巧以及优化策略等和更多的功能,考虑到篇幅限制,本书不与介绍,感兴趣的同学可参看下列参考书继续学习,

LabVIEW程序设计步骤

LabVIEW 程序设计步骤 下面通过一个设计实例来详细介绍虚拟仪器软件LabVIEW 的程序设计步骤。 设计目标:假设有一台仪器,需要调整其输入电压,当调整电压超过某一设定电压值时,需通过指示灯颜色变化发出警告。 1 建立新VI 启动LabVIEW 程序,单击VI 按钮,建立一个新VI 程序。 这时将同时打开LabVIEW 的前面板和后面板(框图程序面板)。在前面板中显示控件选板,在后面板中显示函数选板。在两个面板中都显示工具选板。 如果选板没有被显示出来,可以通过菜单查看(View )/工具选板(Tools Palette )来显示工具选板,通过查看(View )/控件选板(Controls Palette )显示控件选板,通过查看(View )/函数选板(Functions Palette )显示函数选板。 也可以在前面板的空白处,单击鼠标右键,以弹出控件选板。 2 前面板设计 输入控制和输出显示可以从控件选板的各个子选板中选取。 本例中,程序前面板中应有1个调压旋钮,1个仪表,1个指示灯,1个关闭按钮共4个控件。 1)往前面板添加1个旋钮控件:控件(Controls )→ 新式(Modern ) → 数值(Numeric ) → 旋钮(Knob ),如图2-14所示,标签改为“调压旋钮”; 2)往前面板添加1个仪表控件:控件(Controls )→ 新式(Modern ) → 数值(Numeric ) → 仪表(Meter ),如图2-14所示,标签改为“电压表”。 3)往前面板添加1个指示灯控件:控件(Controls )→ 新式(Modern )→ 布尔(Boolean ) → 圆形指示灯(Round LED ),如图2-15所示,将标签改为“上限灯”。 4)往前面板添加1个停止按钮控件:控件(Controls )→ 新式(Modern )→ 布尔 图2-15 添加指示灯、按钮控件 图2-14 添加旋钮、仪表控件

LABview 程序设计

基于Labview的ADD波形 第一部分:概述 随着计算机技术、大规模集成电路技术和通讯技术的飞速发展,仪器技术领域发生了巨大的变化,美商国家仪器公司(National Instruments)于八十年代中期首先提出基于计算机技术的虚拟仪器的概念,把虚拟测试技术带入新的发展时期,随后研制和推出了基于多种总线系统的虚拟仪器。 LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。 与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。 本次就是一个基于labview平台的一次设计来达到对虚拟仪器课程的掌握,尽量使用学习到知识,在设计过程中有些部分存在对于总体设计影响不大,仅仅作为对知识的巩固。 本次的ADD waveforms 设计能够对两种不同的信号进行的运算,由于现有的示波器仅能对两组波形进行简单的加减,而ADD waveforms能够进行除加减意外的乘除运算。 第二部分:设计的思路与基本原理 本次设计是基于labiew界面的一个虚拟仪器的设计,所设计的虚拟仪器要具有对一个正弦波、一个三角波进行各种合成运算的功能,可完成add、divide、multip、subtra四种基本数学运算的功能。 通过以上的目标,我们可以分别选择能产生三角波、正弦波的子VI,再通过一个条件结构来确定每次输入的波形需要进行那种运算,然后在波形图中显示出来以供观察,最后可以比较ADD前的波形与ADD之后的,同时对最终信号进行了频谱分析。 本次设计结构主要有这基本分组成:条件结构、信号产生子VI、信号合并、波形验证部分、控制开关部分、频谱分析部分。在接下来的部分会对这些部分做详细的介绍。 第三部分:设计模块与元器件的介绍

labview基本程序设计

虚拟仪器导论 实验报告 目录 一.实验目的

二.实验原理 2.1 一阶系统状态空间表达式 2.2 四阶龙格—库塔法 2.3 PID控制算法 三.实验内容 四.实验报告 4.1一阶系统仿真前面板 4.2 一阶系统仿真程序框图 五.实验分析 5.1 一阶系统特点 5.2 PID参数对控制系统性能的影响 5.3 PID参数整定方法 六.实验总结 实验二 LabVIEW基本程序设计 一、实验目的 (1) 熟悉LabVIEW 8.5开发环境; (2) 掌握LabVIEW编程语言的程序结构和图形控件的使用方法; (3) 掌握LabVIEW编程环境的程序调试方法; 二、实验原理与内容 已知一阶系统状态空间表达式

x y u x x = + - =2 2.0 编程时可采用4阶龙格-库塔算法求解上述方程: K1 = -0.2*X(k)+2*u(k); K2 = -0.2*(X(k)+0.5*T*K1)+2*u(k); K3 = -0.2*(X(k)+0.5*T*K2)+2*u(k); K4 = -0.2*(X(k)+T*K3)+2*u(k); X(k+1) = X(k)+(K1+2*K2+2*K3+K4)*T/6; Y = X(k+1); 控制算法可采用增量式PID控制算法: du = Kp*(e(k)-e(k-1))+T/Ti*e(k)+Td/T*(e(k)-2*e(k-1)+e(k-2)); u(k) = u(k-1)+du; 本实验要求基于LabVIEW编程环境,针对上述一阶系统进行控制仿真。通过控制系统仿真,分析一阶系统的特点和各个PID参数对控制系统性能的影响。 三、实验报告 (1)简述实验目的及实验原理。 (2)完成实验内容,并附上前面板和程序框图。 (3)分析一阶系统特点和各PID参数对控制系统性能的影响,总结PID参数整定的方法。 (4)总结在编程过程中遇到的问题、解决办法。

LabVIEW FPGA教程

[LabVIEW FPGA教程]将外部IP导入LabVIEW FPGA 概览 通过将第三方IP 集成到NI LabVIEW软件,您能使用许多的针对Xilinx现场可编程门整列 (Field-programmable gate arrays, FPGA)进行优化的算法,在实现高性能的同时提高代码重用度。LabVIEW FPGA模块提供两种方法用来实现外部代码的导入:组件级IP(Component-Level Intellectual Property, CLIP)节点和IP集成节点。本白皮书将讨论这两种方法。 目录 1. CLIP节点介绍 2. 在FPGA应用中使用CLIP 3. IP集成节点介绍 4. CLIP和IP集成节点的区别 5. 相关资源 1. CLIP节点介绍 CLIP节点是一种用于将已有的FPGA IP导入LabVIEW FPGA硬件的同时通过LabVIEW FPGA程序框图与它进行通讯的框架。一旦导入成功,相对于LabVIEW FPGA,IP可以独立地、并行地运行。IP既能以原始VHDL的形式也能以诸如电子设计交换格式(Electronic design interchange format, EDIF)网表等中间文件的形式存在。这一功能要求使用者具有一定数字电路设计经验和VHDL的基本知识,因为所导入的IP 通常是一种底层的硬件描述语言(Hardware description language, HDL)。 对于不同的FPGA目标,其所支持的CLIP也不同。请参考目标硬件的的定义文档获取关于CLIP支持的信息。部分FPGA目标可支持以下一种或者两种类型的CLIP: 用户定义的CLIP—导入VHDL代码,直接与FPGA VI进行通讯。 套接字CLIP—导入VHDL代码,直接和不与LabVIEW FPGA模块关联的一个FPGA VI以及FPGA引脚进行通信。一些FPGA目标在FPGA中定义了一个您可以插入套接字CLIP的固定式CLIP套接字。 图1.在由使用者定义的CLIP节点中导入VHDL代码可以与一个FPGA VI进行通讯;反之,一个套接字CLIP节点允许IP同时连接到FPGA VI和可用FPGA引脚。 获取最新的信息,请参考标题为使用VHDL代码作为组件级IP(FPGA模块)的LabVIEW FPGA模块帮助。 2. 在FPGA应用中使用CLIP

LabView教程2——实验教程[中文版]

实验一虚拟仪器及LabVIEW入门 实验一要求: 运行National Instruments LabVIEW 6.1,完成下列实验讲义中的所给出的练习题1-1和1-2。并完成实验报告。 1.1虚拟仪器概述 虚拟仪器(virtual instrumention)是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器主要是指这种方式。下面的框图反映了常见的虚拟仪器方案。 虚拟仪器的主要特点有: ?尽可能采用了通用的硬件,各种仪器的差异主要是软件。 ?可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪 器。 ?用户可以根据自己的需要定义和制造各种仪器。 虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。 虚拟仪器的起源可以追朔到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。PC机出现以后,仪器级的计算机化成为可能,甚至在Microsoft公司的Windows诞生之前,NI公司已经在Macintosh计算机上推出了LabVIEW2.0以前的版本。对虚拟仪器和LabVIEW长期、系统、有效的研究开发使得该公司成为业界公认的权威。 普通的PC有一些不可避免的弱点。用它构建的虚拟仪器或计算机测试系统性能不可能太高。目前作为计算机化仪器的一个重要发展方向是制定了VXI标准,这是一种插卡式的仪器。每一种仪器是一个插卡,为了保证仪器的性能,又采用了较多的硬件,但这些卡式仪器本身都没有面板,其面板仍然用虚拟的方式在计算机屏幕上出现。这些卡插入标准的VXI 机箱,再与计算机相连,就组成了一个测试系统。VXI仪器价格昂贵,目前又推出了一种较为便宜的PXI标准仪器。 虚拟仪器研究的另一个问题是各种标准仪器的互连及与计算机的连接。目前使用较多的是IEEE 488或GPIB协议。未来的仪器也应当是网络化的。

基于labview的贪吃蛇游戏程序设计

成绩评定表

课程设计任务书

目录 1 目的及基本要求 0 本程序是基于常看到的一款小游戏贪吃蛇而设计的,即有一条小 蛇不停地在屏幕上游走,吃各个方向上出现的苹果(姑且称它为 “苹果”),越吃越长,只要蛇头碰到屏幕四壁或者碰到自己的 身子,游戏就立刻结束。本程序基于传统贪吃蛇游戏的特点利用LabVIEW制作的一款完整的迷你贪吃蛇游戏。 0 4.1 运行结果 (8)

1 目的及基本要求 本程序是基于常看到的一款小游戏贪吃蛇而设计的,即有一条小蛇不停地在屏幕上游走,吃各个方向上出现的苹果(姑且称它为“苹果”),越吃越长,只要蛇头碰到屏幕四壁或者碰到自己的身子,游戏就立刻结束。本程序基于传统贪吃蛇游戏的特点利用LabVIEW制作的一款完整的迷你贪吃蛇游戏。 熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器原理、设计方法和实现技巧,运用专业课程中的基本理论和实践知识,采用LabVIEW开发工具,实现贪吃蛇游戏的设计和仿真。要求通过本课程设计使学生熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器设计原理、设计方法和实现技巧,使学生掌握通信系统设计和仿真工具,为毕业设计做准备,为将来的学习及今后从事科学研究、工程技术工作打下较坚实的基础。 2 贪吃蛇游戏设计原理 贪吃蛇游戏大体上可分为以下几个部分: 1) 控制部分就是通过输入输出来控制蛇的运动 2) 逻辑部分进行判断蛇吃了没有是否撞墙同时把蛇的长度增加一节还要实现分数的计算 3) 图象显示部分就是将游戏显示出来 本程序的主要实现如下功能:1.小蛇在屏幕上不停的游走;2.用键盘方向键可控制小蛇的移动方向;3.吃过一个苹果后小蛇长度增加并随机产生另一个蛋; 4.小蛇碰到四壁或者碰到自己的身体时游戏结束并给出得分和提示是否继续; 5.游戏可以有多种难度选择等 3 贪吃蛇游戏设计与仿真 3.1 前面板设计 采用LabVIEW中提供的“Express XY图”作为游戏界面,显示蛇和苹果,这样就可以通过方向键来移动小蛇到想要去的地方。对XY图的属性做如下修改:

LabVIEW和声卡控制系统程序设计

LabVIEW和声卡控制系统程序设计 1 引言 目前,控制系统的编程软件非常多,各类编程语言也数不胜数,具有代表性的有C语言、C++及汇编语言等,相比LabVIEW软件来讲,由于他们具有严格的语言逻辑以及语言规则,所有在设计、实践中往往比较复杂,而LabVIEW作为一种G语言,以图形,线条,结点的形式进行编程,简单易学。而且图形所表示的功能已经用完善的代码集成过,拿来就用,也节省了大量的工作任务。声卡作为一种普遍而且常用的材料,能够在LabVIEW自带的声卡VI中得到更好的运用和体现,二者结合是作为平面控制系统最实用的,最方便的,而且成本较低的体现。 2 LabVIEW软件介绍 LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发,类似于C和BASIC开发环境,但是它与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G 编写程序,产生的程序是框图的形式。用图标代替文本行创建应用程序的图形化编程语言,LabVIEW采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。VI指虚拟仪器,是LabVIEW的程序模块。虚拟仪器

具备很好的数据采集、仿真、数字信号处理的功能。LabVIEW 拥有专门用于控制领域的模块――LabVIEWDSC以及 NI-Motion。除此之外,工业控制领域常用的设备、数据线等通常也都带有相应的LabVIEW驱动程序。使用LabVIEW可以非常方便的编制各种控制程序。 3 声卡介绍 3.1 PCI声卡 PCI声卡就是指采用PCI接口的独立声卡,PCI是Peripheral Component Interconnect(外设部件互连标准)的缩写,它是目前个人电脑中使用最为广泛的接口,几乎所有的主板产品上都带有这种插槽。从结构上看,PCI是在CPU 的供应商和原来的系统总线之间插入的一级总线,具体由一个桥接电路实现对这一层的管理,并实现上下之间的接口以协调数据的传送。 3.2 USB声卡 USB声卡在原理上和结构上与普通的板载声卡很相似,但是由于USB具有其外置特点,他就没有了电路体积的限制,所以他能够通过复杂的模拟电路并采用更好的屏蔽设计从 而提高音质。脱离机箱,拥有不错的音质使他在性能上,实用性上得到了很大的提升,价格也相对较低,因此我们采用的是USB声卡作为平面控制系统的输出部分。 4 LabVIEW程序设计

LabVIEW入门教程

LabVIEW入门教程

1.1 LabVIEW 是什么 第一章:概述 LabVIEW (Laboratory Virtual Instrument Engineering Workbench )是一种图形化的 编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪 器控制软件。LabVIEW 集成了与满足 GPIB 、VXI 、RS-232 和 RS-485 协议的硬件及数据 采集卡通讯的全部功能。它还内置了便于应用 TCP/IP 、ActiveX 等软件标准的库函数。这 是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使 得编程及使用过程都生动有趣。 图形化的程序语言,又称为“G”语言。使用这种语言编程时,基本上不写程序代码,取 而代之的是流程图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念, 因此,LabVIEW 是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的 能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试 并实现仪器系统时,可以大大提高工作效率。 利用 LabVIEW ,可产生独立运行的可执行文件,它是一个真正的 32 位编译器。像许 多重要的软件一样,LabVIEW 提供了 Windows 、UNIX 、Linux 、Macintosh 的多种版本。 1.2 LabVIEW 应用程序的构成 所有的 LabVIEW 应用程序,即虚拟仪器(VI ),它包括前面板(front panel )、流程图 (block diagram )以及图标/连结器(icon/connector)三部分。 前面板 前面板是图形用户界面,也就是 VI 的虚拟仪器面板,这一界面上有用户输入和显示输 出两类对象,具体表现有开关、旋钮、图形以及其他控制(control )和显示对象(indicator )。 控制对象 显示对象 (输入) (输出) 图1-1 随机信号发生器的前面板

LabVIEW程序设计-课程设计

LabVIEW程序设计-课程设计 成绩评定表 学生姓名班级学号 基于UDP的点对点专业通信工程课程设计题目 和广播通信 评 语 组长签字: 成绩 20 年月日日期 沈阳理工大学信息科学与工程 课程设计任务书 学院信息科学与工程学院专业通信工程学生姓名班级学号课程设计题目基于UDP的点对点和广播通信实践教学要求与任务: 1,学习LabVIEW的虚拟仪器原理、设计方法和实现技巧, 2(掌握简单LabVIEW程序的编程实现, 3(掌握简单通信系统设计和分析方法, 4(采用Labview语言,实现点对点和广播通信。 ,1,通过检索、查资料、调查研究、确定方案、画出组成系统结构方框图,,2,采用LabVIEW实现点对点和广播通信系统, ,3,系统调试与改进,调整系统参数,分析系统运行结果, ,4,写出设计总结报告。 工作计划与进度安排:

17周学习LabVIEW虚拟仪器原理、设计方法和实现技巧,掌握简单LabVIEW程序的编程实现,掌握简单通信系统设计和分析方法。 19周采用LabVIEW语言,实现点对点和广播通信,并对系统进行性能分析。 指导教师: 专业负责人: 学院教学副院长: 201 年月日 201 年月日 201 年月日 2 沈阳理工大学信息科学与工程 目录 1(概述 ........................................... 4 1.1 LABVIEW简 介 ......................................... 4 2.2 UDP协议简 介 ........................................ 4 2.基于UDP的点对点和广播通信的设计原理 ............ 5 3(基于UDP的点对点和广播通信的程序设 计 ........... 5 3.1 前面板设计 ......................................... 5 3.2 程序框图(后面板)设计 (7) 3.2.1 后面板设计概述 (7) 3.2.2 打开/关闭本地UDP端口功能 (8) 3.2.3 选择广播或者点对点方式发送数据功能设计 (9) 3.2.4 发送数据功能设计 (9) 3.2.5 接受数据功能设计 ........................... 10 4.程序调 试 ....................................... 10 5.总 结 ........................................... 12 6.参考文 献 (13) 3 沈阳理工大学信息科学与工程

基于LabVIEW的变声器设计

基于LabVIEW的变声器设计 摘要:数字信号处理技术在语音信号的处理中具有十分重要的意义,是语音变换的处理方法之一。基于在语音变换时的技术要求,本文介绍了一种在基音同步叠加(PSOLA)算法的前提下,结合重采样技术实现语音变调不变速的方法,在分析变换理论及具体算法的基础上,利用LabVIEW编程实现语音的多种频率变换以及男∕女声变换。 关键词:基音同步叠加(PSOLA)算法; 重采样; 频谱搬移; 语音转换LabVIEW-based variable sound design Abstract: Digital signal processing technology is of great significance in speech signal processing, is one of the processing method of voice transformation. Based on the technical requirements in the voice change, this paper describes a synchronous overlap in pitch (PSOLA) algorithm premise resampling technique combining voice tone does not shift method, based on the analysis of specific algorithms transform theory and on the use of LabVIEW programming a variety of voice frequency conversion and male / female transformation. Keyword: PSOLA; resampling; spectrum shifting; V oice conversion 0 引言 在音频信号处理中,将源说话人语音中的个性特征转换成目标说话人语音的个性特征的语音信号处理技术,称为语音变换技术。人的语音说话特征分为音段特性与超音段特性以及语言特性,音段特征包括谱包络,谱激励;超音段特性包括基频,时长,幅度[1]。 近几年来,语音信号处理技术在实用化方面取得了很多突破性进展,例如,随着在对声学语音学统计模型的深入研究,像语音识别,基于语音段的建模方法等逐渐成为研究热点。在语音合成方面,基于基音同步叠加(PSOLA)算法的波形编辑和拼接技术得到广泛应用[2],PSOLA算法的优势在于能在不改变语音音段的音质的基础上,能改变体现语音自然度的韵律特征的变化,进而获得更高的清晰度。

labview实例教程入门到精通快速上手基本

基本操作 1.创建调用子程序 我们通过例子来说明如何创建一个VI。 练习1-1: 建立一个测量温度和容积的VI,其中须调用一个仿真测量温度和容积的传感器子VI。步骤如下: 1.选择File?New,打开一个新的前面板窗口。 2.从Controls?Numeric中选择Tank放到前面板中。 3.在标签文本框中输入“容积”,然后在前面板中的其他任何位置单击一下。 4.把容器显示对象的显示围设置为0.0到1000.0。 a. 使用文本编辑工具(Text Edit Tool),双击容器坐 标的10.0 标度,使它高亮显示。 b.在坐标中输入 1000,再在前面板中的其他任何地方单 击一下。这时0.0到1000.0之间的增量将被自动显示。 5.在容器旁配数据显示。 将鼠标移到容器上,点右键,在出现的快速菜单中选Visible Iterms?Digital Display即可。 6.从Controls?Numeric中选择一个温度计,将它放到前 面板中。设置其标签为“温度”,显示围为0到100,同时配数字 显示。可得到如下的前面板图。 图1-3练习1-1的前面板图 7.Windows?Show Diagram打开流程图窗口。从功能 模板中选择对象,将它们放到流程图上组成下图(其中的标注是 后加的)。 乘法函数 进程监视器随机数发 生器 数值常数

图1-4练习1-1的流程图 该流程图中新增的对象有两个乘法器、两个数值常数、一个随机数发生器、一个进程监视器,温度和容积对象是由前棉板的设置自动带出来的。 a.乘法器和随机数发生器由Functions?Numeric中拖出,尽管数值常数也可以这 样得到,但是建议使用c 中的方法更好些。 b.进程监视器(Process Monitor)不是一个函数,而是以子VI的方式提供的,它 存放在LabVIEW\Activity目录中,调用它的方法是在Functions?Select a VI 下打开Process Monitor,然后在流程图上点击一下,就可以出现它的图标。 注意:LabVIEW目录一般在Program Files\National Instruments\目录下。 8.用连线工具将各对象按规定连接。a中的遗留问题创建数值常数对象的另一种方法是在连线时一起完成。具体方法是:用连线工具在某个功能函 数或VI的连线端子上单击鼠标右键,再从弹出的菜单中选择Create Constant,就 可以创建一个具有正确的数据格式的数值常数对象。 9.选择File?Save, 把该VI 保存为 LabVIEW\Activity 目录中的 Temp & Vol.vi。 在前面板中,单击Run(运行)按钮,运行该 VI。注意电 压和温度的数值都显示在前面板中。 10.选择File?Close,关闭该 VI 。 练习1-1结束 附注与说明: 1.如果要查看某个功能函数或者 VI 的输入输出,需要从 Help菜单中选择Show Help,再把光标置于这个功能函数或者 VI 上。例如进程监视器 VI 的 Help 窗口显示如下: 2.显示对象(Indicator)、控制对象(Control)和数值常数对象 显示对象和控制对象都是前面板上的控件,前者有输入端子而无输出端子,后者正好相反,它们分别相当于普通编程语言中的输出参数和输入参数。数值常数对象可以看成是控制对象的一个特例。 在前面板中创建新的控制对象或显示对象时, LabVIEW 都会在流程图中创建对应的端子。端子的 符号反映该对象的数据类型。例如,DBL符号表示 对象数据类型是双精度数;TF符号表示布尔数;I16 符号表示16位整型数;ABC符号表示对象数据类型 是字符串。 一个对象应当是显 示对象还是控制对象必 须弄清楚,否则无确连

labview课程设计

《虚拟仪器》课程设计 题目:摩托车仪表盘 学院名称:物理与电子工程学院 专业班级:电子信息科学与技术 学生姓名:方皖南 学号: 201540620302 指导教师:胡楠 时间:2018-10-25

目录 一、labVIEW介绍 (3) 二、摩托车仪表盘的设计 (4) 2.1前面板图示 (4) 2.2程序框图 (4) 2.3程序说明 (5) (1)左转灯以及右转灯的控制 (5) (2)让左右等闪烁的控制 (6) (3)里程表控制 (6) (4)速度表控制 (7) (5)油罐的控制 (7) (6)所有数值归零控制 (7) 三、设计小结 (7) 四、参考文献 (8)

一、labVIEW介绍 LabVIEW (Laboratory Virtual Instrument EngineeringWorkbench,实验室虚拟仪器集成环境)是一个基于G(Graphic)语言的图形编程开发环境,在工业界和学术界中广泛用作开发数据采集系统、仪器控制软件和分析软件的标准语言,对于科学研究和工程应用来说是很理想的语言。它含有种类丰富的函数库,科学家和工程师们利用它可以方便灵活地搭建功能强大的测试系统。LabVIEW编程语言最主要的两个特点是图形化编程和数据流驱动:(1)图形化编程 LabVIEW与Visual C++、Visual Basic、LabWindows/CVI等编程语言不同,后几种都是基于文本的语言,而LabVIEW则是使用图形化程序设计语言G语言,用框图代替了传统的程序代码,编程的过程即是使用图形符号表达程序行为的过程,源代码不是文本而是框图。一个VI有三个主要部分组成:框图、前面板和图标/连接器。框图是程序代码的图形表示。 LabVIEW的框图中使用了丰富的设备和模块图标,与科学家、工程师们习惯的大部分图标基本一致,这使得编程过程和思维过程非常的相似。多样化的图标和丰富的色彩也给用户带来不一样的体验和乐趣。 前面板是VI的交互式用户界面,外观和功能都类似于传统仪器面板,用户的输入数据通过前面板传递给框图,计算和分析结果也在前面板上以数字、图形、表格等各种不同方式显示出来。 图标是VI的图形符号,连接器则用来定义输入和输出,每一个VI都有图标和连接器。用户要做的工作就是恰当地设置参数,并连接各个子VI。编程一般步骤就是使用鼠标选取合适的模块、连线和设置参数的过程,与烦琐枯燥的文本编程相比更为简单、生动和直观。 如果将虚拟仪器与传统仪器作一类比,前面板就像是仪器的操作和显示面板,提供各种参数的设置和数据的显示,框图就像是仪器内部的印刷电路板,是仪器的核心部分,对用户来讲是透明的,而图标和连接器可以比作电路板上的电子元器件和集成电路,保证了仪器正常的逻辑和运算功能。 (2)数据流驱动 宏观上讲,LabVIEW的运行机制已不再是传统上的冯·诺伊曼式计算机体系结构的执行方式了。传统计算机语言(如C语言)中的顺序执行结构在LabVIEW中被并行机制所代替。本质上讲它是一种带有图形控制流结构的数据流模式,程序中的每一个函数节点只有在获得它的全部输入数据后才能够被执行。既然LabVIEW程序是数据流驱动的,数据流程序设计规定,一个目标只有当它的所有输入有效时才能够被执行;而目标的输出只有当它的功能完全时才是有效的。于是LabVIEW中被连接的函数节点之间的数据流控制着程序的执行次序,而

LabVIEW初级入门教程

概述 本次介绍使用LabVIEW来进行仪器控制的各种方法。要求学生学会串行I/O、GPIB I/O 和VISA I/O的使用方法,同时也可以验证LabVIEW本身提供的仪器驱动程序。本次的实验设备要求一块已安装的GPIB卡,一台GPIB仪器以及LabVIEW开发系统。 串行通讯 串行通讯是一种常用的数据传输方法,它用于计算机与外设,例如一台可编程仪器,或者与另外一台计算机之间的通讯。串行通讯中发送方通过一条通讯线,一次一个字节,把数据传送到接收方。 由于 大多数电脑都有一至两个串行通讯接口,因此,串行通讯非常流行。许多GPIB仪器也都有串行接口。然而,串行通讯的缺陷是一个串行接口只能与一个设备进行通讯。一些外设需要用特定字符来结束传送给它们的数据串。常用的结束字符是回车符、换行符或者分号。具体可以查阅设备使用手册以决定是否需要一个结束符。在LabVIEW功能模板的Instrument I/O>Serial程序库中包含进行串行通讯操作的一些功能模块:1. Serial Port Init VI模块用于初始化所选择的串行口。Flow control设置握手方式的参数。Buffer size设置程序分配的输入/输出缓冲区的大小。Port number决定通讯接口地址。Baud rate, data bits,stop bits和parity等设置通讯参数。2.Serial port write VI模块把String to write中的数据写到port number指定的串行接口中。3.Serial port read VI模块从Port number 指定的串行接口中读取requested byte count指定的字符个数。4.Bytes at serial port VI模块计算由Port number指定的串行接口的输入缓冲区中存放的字节个数,并将该数值存放于Byte count中。在下面的实例中,实现从一台串行仪器中读取测量值。首先,用Serial Port Init模块初始化串行接口,然后,用Serial Port Write模块把命令参数发送给仪器,接着用Bytes at Serial Port模块查明在串行输入缓冲区中已经读入的字节个数,最后用Serial Port Read模块读取仪器数据。

labview入门教程(初学者必看)

Labview入门教程 亚为电子科技 说明: 1、不同labview版本,内容大同小异,不要过于核对图标 2、必须先安装labview,亚为的资料,版本不低于2014,如果是串口通信,还要安装NIVISA520。 3、直接打开亚为用户资料的“labview例程/****例程”,看到的是前面板,也就是交互界面。界面可以自行修改,注意右键->数据操作->保存默认参数。 4、波形图上右键,可以导出或者另存数据。高速采集模式下,yav 例程不自动保存,需要手动导出。高速模式下,不要采集时间过长,否则系统崩溃,会内存溢出甚至蓝屏死机。 5、如果需要修改算法逻辑,按下Ctrl+E即可打开程序框图界面。里面的数学符号,仔细研究下,就应该能认识。看懂加减乘除即可。 6、这个文档认真看十遍,你就是Labview编程高手啦,亚为科技不负责labview编程指导哦。高手都是自学的。

第一讲:认识Labview 1.1 Labview 简介 在开始菜单里找Labview点击打开,会出现如下界面: 从File>>New VI 或者从右半部分中的New>>Blank VI 都可以打开如下界面: 上图中前图是虚拟仪器的前面板,是用户使用的人机界面,后面的是程序框图界面(即后面板)。 在LabVIEW的用户界面上,应特别注意它提供的操作模板,包括工具(Tools)模板、控制(Controls)模板和函数(Functions)模板。这些模板集中反映了该软件的功能与特征。下面我们来大致浏览一下。 工具模板(Tools Palette)

该模板提供了各种用于创建、修改和调试VI程序的工具。 如果该模板没有出现,则可以在Windows菜单下选择Show Tools Palette命令以显示该模板。当从模板内选择了任一种工具后, 鼠标箭头就会变成该工具相应的形状。当从Windows菜单下选择 了Show Help Window功能后,把工具模板内选定的任一种工具 光标放在流程图程序的子程序(Sub VI)或图标上,就会显示相 应的帮助信息。 图标名称功能 1Operate Value (操作值) 用于操作前面板的控制和显示。使用它向数字 或字符串控制中键入值时,工具会变成标签工 具 2Position/Size /Select (选 择) 用于选择、移动或改变对象的大小。当它用于 改变对象的连框大小时,会变成相应形状。 3Edit Text(编 辑文本) 用于输入标签文本或者创建自由标签。当创建 自由标签时它会变成相应形状。 4Connect Wire (连线) 用于在流程图程序上连接对象。如果联机帮助 的窗口被打开时,把该工具放在任一条连线上, 就会显示相应的数据类型。 5Object Shortcut Menu (对象菜单) 用鼠标左键可以弹出对象的弹出式菜单。 6Scroll Windows(窗口 漫游) 使用该工具就可以不需要使用滚动条而在窗口 中漫游。 7Set/Clear Breakpoint(断 点设置/清除) 使用该工具在VI的流程图对象上设置断点。 8Probe Data(数 据探针) 可在框图程序内的数据流线上设置探针。通过 控针窗口来观察该数据流线上的数据变化状 况。 9Get Color(颜 色提取) 使用该工具来提取颜色用于编辑其他的对象。 10Set Color(颜 色设置) 用来给对象定义颜色。它也显示出对象的前景 色和背景色。 下面的两个模板是多层的,其中每一个子模板下还包括多个对象。

LabVIEW程序设计方法

LabVIEW程序设计方法 为了提高程序设计效率、保证程序设计质量、便于程序的维护,在设计程序时应遵循一些基本的设计方法。 当开发一个较大的项目时,有必要使用由顶向下的设计方法。LabVIEW语言在使用由顶向下的设计方法上,比其他语言有优势,因为可以先做出用户的接口,然后再逐渐完善它。 1.使用由顶向下的设计方法 1)用户需求列表 先列出一个表格,包括用于用户操作的面板(指大的程序中需要弹出的子程序的面板),这些面板上一般包含控制量与显示量类型,实时分析需求以及数据的表达等。然后创建一个临时的前面板,提供给预期的用户。通过一系列交互的过程,按用户的要求反复调整用户接口。在这个阶段,可能还需要做一些底层的调研,确定可以达到预期的设计要求。 2)设计程序的层次结构 LabVIEW语言的强大功能建立在它的层次特性之上。每创建一个程序,就可以在高层程序的框图中把它当做子程序使用。在这种层次结构下,从本质上说层数是无限的。 确定所需顶层模块之后,使用这些顶层模块创建程序代码。为每个模块创建一个子程序,这个子程序不具备任何功能,只是代表未来子程序的一个模型。每个子程序应有一个图标和一个包括所有必要的输入输出量的前面板。但是暂时不必为它创建程序代码,而是确认它是否为顶层程序所必需的。 把这些模型程序组合在一起后,一般说来就应该去理解每个模块的功能,以及它们如何提供需要的结果。研究每一个模块是否能提供后续程序所必需的信息,然后确认顶层程序代码包含了各程序间传递数据的正确连线。 尽量避免使用不必要的全局变量,因为它们会掩盖了程序间的数据依存关系。对一个大的程序来说,如果依赖全局变量作为程序间传递信息的手段,会使调试变得困难。 3)程序编码 在程序编制过程中,应按照工作的逻辑划分和考虑代码复用的可能性,通过创建子程序实现模块化的编程,把解决一般性问题与特殊问题相结合。 子程序创建以后及时调试。高层的调试尽管是不可避免的,但是在一个小模块中发现程序缺陷要比在多个程序的层次上方便得多。 2.规划接口板 有些子程序尽管已经具备足够的功能,但有时考虑在此基础上修改为其他的函数,并且新的函数有可能需要增加输入或输出,那么应该选择一个有富裕端口的接口板样式,暂时不为那些多余端口连线。这样,以后如果需要另外的输入或输出时就不必再改变接口板了,从而减小这些改变对整个层次结构的影响。 把控制量和显示量连接到接口板时,把输入量放在左侧,输出量放在右侧。这样可以避免程序中连线的混乱。 如果创建了一组经常用在一起的子程序,尽量使它们的接口板一致,通用的输入放在同样的位置。这样容易记住每个输入的位置,而不必再使用帮助窗口。如果我们创建了一个子程序它产生的输出是另一个子程序的输入,尽量将输入与输出端口对齐。这种技巧使连线看上去简洁。

LabVIEW-USB 通信简单教程

: 文件类型技术指南 VISA是一个高 级API用来与仪器 控制总线进行通信。 它是平台独立、总线 独立、环境独立的。 也就是说,无论是使 用LabVIEW编 程在一台运行 Windows 2000的机器上与 USB设备进行通 信,还是使用C编程 在一台运行Mac OS X的机器上与 GPIB设备进行通 信,都可以使用同样 的API。

图1:VISA DDW硬件总线窗口 您可以使用这个向导 创建供 PXI/PCI、 USB或IEEE 1394设备使用的 INF文件。由于您 在为USB设备创建 驱动程序,选择 USB并点击下一 步。VISA DDW基本设备信息 窗口打开,如图2所 示。 图2:VISA DDW基本设备信息 窗口 2、在这个步骤 中,您必须知道 USB仪器所使用的 USB厂商ID和产 品ID。这些数字在 您安装的时候能够识 别USB设备,在您 希望进行通信的时 候,可以对设备进行 寻址。根据USB规 范,所有数字必须是 16位的十六进制数 字,必须由设备制造 商提供。 如果您不知道USB 厂商ID和产品 ID,您可以将设备 插入计算机,让计算 机识别新设备得到这 些ID。如果找到新 硬件向导打开,选择 取消。打开控制面板 中的设备管理器,在 列表中找到您的设备,通常它在“其他 设备”中。可能它会 带有黄色惊叹号标 记,表示这是一个未 知设备。双击这个设 备打开属性。选择详 细标签,确保“设备 实例ID”显示在属 性的下拉框中。这样 将会显示类似于图3 的字符串。 “VID_”和 “PID_”右边的 四个字符分别是您的 厂商ID和产品 ID。写下设备的字 符串,关闭设备管理 器,从计算机上拔下 设备。或者您还可以 联系您的设备厂商获得这些信息。

相关主题