NI LabView 学习第一天

参考资料网址:http://www.ni.com/getting-started/labview-basics/zhs/environment

LabVIEW开发环境入门

欢迎使用LabVIEW!本指南将帮助您快速掌握LabVIEW及图形化编程的一些基本概念。

LabVIEW程序又称虚拟仪器(virtual instruments),或VI,其外观和操作均模拟真实的物理仪器,如示波器和万用表等。LabVIEW拥有采集、分析、显示和存储数据的一整套工具,还有完备的调试工具来解决用户编写代码过程中遇到的问题。

创建一个VI后,您将看到两个窗口:前面板窗口和程序框图。

前面板

打开新VI或现有VI时,将显示VI的前面板窗口。 前面板窗口是VI的用户界面。图1是一个前面板窗口的示例。

(1)前面窗口 |  (2)工具栏 |  (3)控件选板

图1. 前面板示例

控件选板

控件选板包含输入控件和显示控件,用于创建前面板。在前面板窗口单击“查看»控件选板”,或右键单击空白处即可打开控件选板。控件选板包含各类控件,您可根据需要选择显示全部或部分类别。图2中,控件选板显示了所有控件类别,并展开显示了“Modern”(新式)类别。

图2. 控件选板

如要显示或隐藏类别(子选板),请点击“自定义”按钮,选择“更改可见选板”。

输入控件和显示控件

每个VI都包含一个前面板。它可作为用户界面,可在其他程序框图调用该VI时作为传递输入及接收输出的途径。将输入控件和显示控件放置在VI前面板上即可创建一个用户界面。前面板用作用户界面交互时,可输入控件里修改输入值,然后在显示控件里查看结果。也就是说,输入控件决定输入,显示控件显示输出。

典型的输入控件有旋钮、按钮、转盘、滑块和字符串。输入控件模拟物理输入设备,为VI的程序框图提供数据。典型的显示控件有图形、图表、LED灯和状态字符串。显示控件模拟了物理仪器的输出装置,显示程序框图获取或生成的数据。

图1 中包含2个显示控件:“Number of Measurements”和“Delay (sec)”,以及一个显示控件:“Temperature Graph” XY坐标图。

用户可以更改“Number of Measurements”和“Delay (sec)”显示控件的输入值,然后在“Temperature Graph”显示控件中观察VI生成的值。显示控件中的值是程序框图代码运行的结果。

每个输入控件和显示控件均有特定的数据类型。上例中,“Delay (sec)”水平滑动杆延的数据类型是数值。最常用的数据类型有数值型、布尔型和字符串型。

数值输入控件和显示控件

数值型可表示各类数字,如整数和实数。LabVIEW中两个常见的数值型对象是数值输入控件和数值显示控件,如图3所示。此外,仪表、转盘等对象也可表示数值数据。

(1)增量/减量按钮  |  (2) 数值输入控件  |  (3) 数值显示控件

图3. 数值输入控件和显示控件

在数值控件中,单击增量/减量按钮改变数值;双击数字输入新值,然后按<Enter>键。

布尔输入控件和显示控件

布尔型表示只有两种状态的数据:真或假;ON或OFF。布尔输入控件和显示控件分别用于输入和显示布尔值。布尔型对象可模拟开关、按钮和LED灯。图4中的垂直摇杆开关和圆形LED灯就是布尔型对象。

图4. 布尔输入控件和显示控件

字符串控件和显示控件

字符串型是一串ASCII字符。字符串输入控件用于从用户处接收文本,例如密码和用户名。字符串显示控件用于向用户显示文本。常见的字符串对象有表格和文本输入框,如图5所示。

图5. 字符串输入控件和显示控件

程序框图

程序框图对象包括接线端、子VI、函数、常量、结构和连线。连线用于在程序框图对象间传递数据。

(1)显示控件接线端  |  (2)连线  |  (3)节点  |  (4)输入控件接线端

图6. 程序框图及其前面板示例

创建前面板后,需要添加图形化函数代码来控制前面板对象。程序框图窗口中包含了图形化的源代码。

图7. 程序框图

接线端

前面板上的对象在程序框图中显示为接线端。接线端是前面板和程序框图交换信息的输入输出端口。接线端类似于文本编程语言的参数和常量。接线端的类型有输入/显示控件接线端和节点接线端。输入/显示控件接线端属于前面板上的输入控件和显示控件。用户在前面板控件中输入的数据通过输入控件接线端进入程序框图(如图6中a和b)。然后,数据进入加和减函数。加减运算结束后,输出新的数据值。新数据进入显示控件接线端,然后更新前面板上显示控件中的值(如图6中a+b和a-b所示)。

输入控件、显示控件和常量

返回页首

输入控件、显示控件和常量用作程序框图算法的输入和输出。以计算三角形面积算法为例:

面积 =0.5 x 底 x 高

图8的算法中,Base(底)和Height(高)是输入,Area(面积)是输出。

图8. 计算三角形面积VI的前面板

由于用户无需更改或访问常量0.5,因此不出现在前面板上。

图9是该算法在LabVIEW程序框图上的实现代码。程序框图中有4个接线端,分别由2个输入控件、1个常量和1个显示控件生成。

(1)输入控件  |  (2)显示控件  |  (3)常量

图9. 计算三角形面积算法的程序框图(接线端显示为图标)

注意,程序框图中Base (cm)和Height (cm)两个接线端的外观与Area (cm2)接线端不一样。输入控件和显示控件接线端有两个显著区别:第一,接线端上的数据流箭头不一样。输入控件箭头的方向显示数据流出接线端,而显示控件箭头的方向则显示数据流入接线端。第二,接线端的边框不一样。输入控件的边框较粗,而显示控件的边框较细。

接线端既可以显示为图标,也可以不显示为图标。图10是不显示为图标的同一个程序框图,其中输入控件和显示控件的区别特征不变。

图10. 计算三角形面积算法的程序框图(接线端不显示为图标)

程序框图节点

节点是程序框图上拥有输入/输出并在VI运行时执行某些操作的对象。节点相当于文本编程语言中的语句、运算、函数和子程序。节点可以是函数、子VI、Express VI或结构。结构是指过程控制元素,例如条件结构、For循环和While循环。

函数

函数是LabVIEW的基本操作元素。在图6的例子中,“加”函数和“减”函数是函数节点。函数没有前面板或程序框图窗口,但有连线板。双击一个函数只能选择该函数。函数图标的背景为淡黄色。

子VI

一个VI创建好后可将它用在其他VI中,被其他VI调用的VI称为子VI。子VI可以重复调用。要创建一个子VI,首先要为子VI创建连线板和图标。

子VI节点类似于文本编程语言中的子程序调用。节点并非子VI本身,就如文本编程中的子程序调用指令并非程序本身一样。程序框图中相同的子VI出现了几次就表示该子VI被调用了几次。

子VI的控件从调用方VI的程序框图中接收和返回数据。双击程序框图中的子VI,可打开子VI的前面板窗口。前面板中包含输入控件和显示控件。程序框图中包含子VI的连线、图标、函数、子VI的子VI和其他LabVIEW对象。

每个VI的前面板和程序框图窗口右上角都有一个图标。上图是一个默认的VI图标。图标是VI的图形化表示。图标中可以同时包含文本和图像。如将一个VI用作另一VI的子VI,图标可帮助在程序框图上辨识该VI。默认图标中有一个数字,表示LabVIEW启动后打开新VI的个数。

如上图所示,要将一个VI用作子VI,必须为它创建连线板。连线板是一组与VI中的控件相对应的接线端,类似于文本编程语言中的函数调用参数列表。右键单击前面板窗口右上角的图标即可访问连线板,但程序框图窗口右上角的图标不能访问连线板。子VI图标的背景为白色。

Express VI

Express VI属性通过对话框配置,因此所需的连线最少。Express VI用于实现一些常规的测量任务。关于Express VI的详细信息,请参阅LabVIEW帮助中的Express VI主题。在程序框图上,Express VI显示为可扩展的节点,背景是蓝色。

函数选板

函数选板中包含创建程序框图所需的VI、函数和常量。在程序框图中选择“查看»函数选板”可打开函数选板。函数选板包含许多类别,可根据需要显示或隐藏。图11是一个包含全部类别的函数选板,其中的“Programming”(编程)类别展开显示。

图11. 函数选板

要显示或隐藏类别,请点击“自定义”按钮,选择“更改可见选板”。

搜索控件、VI和函数

通过“查看»控件选板”或“查看»函数选板”打开控件或函数选板后,在顶部可以看见两个按钮:

搜索—将选板转换为搜索模式,根据输入的文字查找选板上的控件、VI或函数。选板处于搜索模式时,单击“返回”可退出搜索模式,返回选板。

自定义—更改当前选板的显示模式,例如显示或隐藏选板的类别,或在文本和树形模式下按字母顺序对选板上的项目排序。如点击快捷菜单中的“选项”,可打开选项对话框中的“控件/函数选板”页,为所有选板定义显示模式。该按钮只在选板左上角的图钉按钮按下时才显示。

在熟悉VI和函数的位置之前,可以使用搜索按钮搜索函数或VI。例如,如要查找“随机数”函数,可在函数选板工具条上单击搜索按钮,在顶部的文本框中键入“随机数”。LabVIEW将列出以文字开头或包含文字的所有匹配项。然后您可单击需要的搜索结果,将其拖进程序框图中(如图12所示)。

图12. 在函数选板中搜索对象

如双击搜索结果,可高亮显示其在选板中的位置。

快速放置

除上述方法外,还可通过“快速放置”对话框查找和放置VI。要打开快速放置对话框,请按<Ctrl-Shift-Space>键。

“快速放置”在寻找某一具体函数和操作时特别有用。在您键入的同时,“快速放置”将自动完成匹配函数的名称输入。双击高亮需要的函数,然后单击程序框图或前面板上的位置放置函数。

时间: 2024-10-11 04:17:38

NI LabView 学习第一天的相关文章

NI.LabVIEW.Robotics.Module.v2015机器人起步包用于原型

NI.LabVIEW.Robotics.Module.v2015机器人起步包用于原型装配齐备的机器人基座起步包NI sbRIO-9632嵌入式控制器针对NI LabVIEW机器人,NI LabVIEW Real-Time和NI LabVIEW FPGA模块软件包含:超声波传感器.编码器.电机.电池和充电器 NI.LabVIEW.Advanced.Signal.Processing.Toolkit.v2015高级信号处理工具包 包括NI LabVIEW数字滤波器设计工具包 (可单独购买)时序分析

ExtJS学习第一天 MessageBox

此文用来记录学习笔记: •学习任何技术,首先都要从Helloworld开始,那么我们首要任务就是写一个简单的HelloWorld程序,带领同学们走进ExtJS的世界. •Ext.onReady:这个方法是Ext的准备函数,也就是Ext相关的代码都会在这个函数里书写,它比较类似于window的onload方法,但是注意其执行时机是在页面的DOM对象加载完毕之后立即执行. •Ext.window.MessageBox:这个类提供了ExtJS的弹出提示框.确认框等简单的小组件.我们首先根据它写出我们的

PS学习第一天

ps 学习第一天 ps 学习第一天 ps软件的使用 1.PS面板的介绍 新建文档 工具 选框工具 拾色器:前景色和背景色的颜色的调整 移动工具 图层面板 文件保存和打开 自由变换 羽化 常用快捷键 ps软件的使用 1.PS面板的介绍 1.1软件界面 PS面板.png 说明 窗口-工作区-复位基本功能:让软件界面恢复到默认的标准状态; 所有的控制面板都在窗口菜单中,可以对其进行隐藏和显示,只需要去掉前面的小勾 工具箱中个小工具对应属性栏的属性,每一个小工具有不同的属性操作 控制面板是将来对工作区的

FluentData 学习 第一弹

地址: http://fluentdata.codeplex.com/ 前世: FluentData 我们公司用的一个增删改查的里面的持久层.之前还不知道 这个持久层叫FluentData.  某天看见群里 说 某视频网站里面 居然在讲这个开发框架,还收费.我搜了一下.fluentdata有源代码. 这个13年有过记载.不过我是新手.什么也需要 学习一下.  和 室友说了一下微型orm ,他们 呢  用的  微型orm是 Dapper .可以去了解一下. 废话真多,完毕. FluentData

javascript学习第一天

从大学第一次接触到JavaScript,到现在一直是个软肋,之前也是学习过一遍,但是缺乏系统学习,基础不牢,那么今天开始从基础部分学起来,今天是第一天,每天至少要保证效率,也要保证学习质量. 恩,要按照计划来进行,今天是学习第一天,以后保持,学习记录写在这里,看我可以坚持多久. 认真对待每一天. 今天学习内容回忆: 1.匿名函数与有名函数:两者的使用场景. 2.Windows.onload = 函数名:或者 Windows.onload = function(){  /**代码*/} 3.js函

(转)ASP.NET MVC 学习第一天

天道酬勤0322 博客园 | 首页 | 发新随笔 | 发新文章 | 联系 | 订阅  | 管理 随笔:10 文章:0 评论:9 引用:0 ASP.NET MVC 学习第一天 今天开始第一天学习asp.net mvc,写的不是很好,高手不要喷,希望大家能一起进步学习. 好了,开始学习 新建项目,选择mvc 4应用程序 接下来选择基本,视图引擎当然要选择Razor,如果在选择aspx那我们就没必要用mvc喽 在这里我们简单说一下,项目模板如果选择空,这就需要我们自己进行导入很多文件,而选择基本vs会

白皮书之C++学习第一天

大三荒废了一年的时间在lol上,上头了吧.后悔也来不及了,总之我会拼命追回来的! 今天重拾起这本白皮书,也是很感慨啊! 废话不多说,好好学,好好找工作吧!大三结束了啊! 每个C++程序都有一个main函数作为程序的入口,由操作系统显示调用,并且返回值来确定程序是否成功执行.(0表示成功) 想要更深入地了解C++,所以学习了命令行编译C++程序的方法. 写了个最简单的helloworld程序. 1 #include<iostream> 2 using namespace std; 3 int m

Entity Framework 学习第一天 续

改写第一天的增删改查方法,观察增删改查的本质 1 using System; 2 using System.Collections.Generic; 3 using System.Data.Entity.Infrastructure; 4 using System.Linq; 5 using System.Text; 6 using System.Threading.Tasks; 7 8 namespace EFConsole 9 { 10 class Program 11 { 12 publi

python 学习第一天

python 学习了好久,发现还是个小白,python还是不会用,从今天起每天学写一点小程序,做个打不死的小强. 相关知识:列表,字典 #!/usr/bin/env python people = { 'yong':{'phone':'123', 'addr':'Shang hai' }, 'bu':{'phone':'456', 'addr':'Wu han' }, 'yan':{'phone':'789', 'addr':'He nan' } } lables = {'phone':'pho