cpubbs论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 2916|回复: 19

第二讲 创建VI程序

[复制链接]
发表于 2008-12-29 20:19:17 | 显示全部楼层 |阅读模式
请记住,VI程序具有三个要素:前面板、程序框图和图标/连接器。
一、前面板
使用输入控制和输出显示来构成前面板。控制是用户输入数据到程序的接口,而显示是输出程序产生的数据接口。控制和显示有许多种类,可以从控制模板的各个子模板中选取。

位于前面板控件选板上的输入控件和显示控件可用于创建前面板。控件的种类有:数值控件(如滑动杆和旋钮)、图形、图表、布尔控件(如按钮和开关)、字符串、路径、数组、簇、列表框、树形控件、表格、下拉列表控件、枚举控件和容器控件等等。
控件样式:前面板控件有新式、经典和系统三种样式。
1.1 数值显示框、滑动杆、滚动条、旋钮位于数值经典数值选板上的数值对象可用于创建滑动杆、滚动条、旋钮、转盘和数值显示框。该选板上还有颜色盒和颜色梯度,用于设置颜色值;以及时间标识,用于设置时间和日期值。数值对象用于输入和显示数值。
对于数值对象,可设置表示法、数据范围和格式与精度。数值对象只接收特定的数值字符。
1、数值型控件数值控件是输入和显示数值数据的最简单方式。这些前面板对象可在水平方向上调整大小,以显示更多位数。使用下列方法改变数值控件的值:
  • 用操作工具或标签工具单击数字显示框,然后通过键盘输入数字。
  • 用操作工具单击数值控件的递增或递减箭头。
  • 使用操作工具或标签工具将光标放置于需改变的数字右边,然后在键盘上按向上或向下箭头键。
两种最常用的前面板对象是数字控制和数字显示。若想要在数字控制中输入或修改数值,你只需要用操作工具(见工具模板)点击控制部件和增减按钮,或者用操作工具或标签工具双击数值栏进行输入数值修改。
从控件模板中找到数值型控件子模板(控件→数值),用鼠标单击模板中相应的控件放置在前面板上,这时控件的标签处于编辑状态,可以修改标签的名字,同时在后面板上已经自动放置了和前面板上相对应的图标当前面板上放置了很多对象时,可以通过双击该对象找到和它对应的在后面板上的图标,或者在控件上单击右键,选择“查找接线端”。


2、滑动杆控件滑动杆控件是带有刻度的数值对象。滑动杆控件包括垂直和水平滑动杆、液罐和温度计。可使用下列方法改变滑动杆控件的值:
  • 使用操作工具单击或拖曳滑块至新的位置。
  • 与数值控件中的操作类似,在数字显示框中输入新数据。
3、滚动条控件与滑动杆控件相似,滚动条控件是用于滚动数据的数值对象。滚动条控件有水平和垂直滚动条两种。使用操作工具单击或拖曳滑块至一个新的位置,单击递增和递减箭头,或单击滑块和箭头之间的空间都可以改变滚动条的值。
4、旋转型控件旋转型控件包括旋钮、转盘、量表和仪表。旋转型对象的操作与滑动杆控件相似,都是带有刻度的数值对象。可使用下列方法改变旋转型控件的值:
  • 用操作工具单击或拖曳指针至一个新的位置。
  • 与数值控件中的操作类似,在数字显示框中输入新数据。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2008-12-29 20:21:36 | 显示全部楼层
本帖最后由 baby 于 2008-12-29 20:22 编辑

1.3 Express  VIs
Express  Vis将一些常用的功能封装、集成,使得用户使用起来非常方便。如Expressge表格、Express XY图等等。
1.4对象的属性及操作
放置于前面板上的每一个控件都有很多属性,其中一些属性与控件的显示方式及显示效果有关,可以通过在控件上单击鼠标右键更改其属性。不同的控件有一些共同的属性,每种控件根据其类型与功能也有其特有的属性, 这些都要在使用中慢慢地熟悉。
前面板上有以下几种常见的属性:
标签:标识了对象的类型,是前面板和程序框图对象的标识。
标题:前面板对象也可以有标题,默认为对象的标签。标题可代替标签为VI添加中文描述,而且不影响VI。标题与标签不同之处在于标题不会影响对象的名称,还可作为进一步描述对象的标签。标题仅在前面板上出现。

二、程序框图
程序框图是由节点、端点、图框和连线四种元素构成的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2008-12-29 20:24:21 | 显示全部楼层
节点类似于文本语言程序的语句、函数或者子程序。LabVIEW有二种节点类型----函数节点子VI节点。两者的区别在于:函数节点是LabVIEW以编译好了的机器代码供用户使用的,而子VI节点是以图形语言形式提供给用户的。用户可以访问和修改任一子VI节点的代码,但无法对函数节点进行修改。上面的框图程序所示的VI程序有两个功能函数节点,一个函数使两个数值相加,另一个函数使两数相减。


端点是只有一路输入/输出,且方向固定的节点。LabVIEW有三类端点----前面板对象端点全局与局部变量端点常量端点。对象端点是数据在框图程序部分和前面板之间传输的接口。一般来说,一个VI的前面板上的对象(控制或显示)都在框图中有一个对象端点与之一一对应。当在前面板创建或删除面板对象时,可以自动创建或删除相应的对象端点。控制对象对应的端点在框图中是用粗框框住的,如例子中的A和B端点。它们只能在VI程序框图中作为数据流源点。显示对象对应的端点在框图中是用细框框住的。如例子中的A+B和A-B端点。它们只能在VI程序框图中作为数据流终点。常量端点永远只能在VI程序框图中作为数据流源点。
图框是LabVIEW实现程序结构控制命令的图形表示。如循环控制、条件分支控制和顺序控制等,编程人员可以使用它们控制VI程序的执行方式。代码接口节点(CIN)是框图程序与用户提供的C语言文本程序的接口。
连线是端口间的数据通道。它们类似于普通程序中的变量。数据是单向流动的,从源端口向一个或多个目的端口流动。不同的线型代表不同的数据类型。在彩显上,每种数据类型还以不同的颜色予以强调。

下面是一些常用数据类型所对应的线型和颜色:


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2008-12-29 20:25:24 | 显示全部楼层
本帖最后由 baby 于 2008-12-29 20:28 编辑

创建第一个VI:
本节将创建的第一个VI来完成下列功能:
1.
将两个输入数字相加并显示结果

2.
将同样的两个输入数字相乘并显示结果

3.
比较两个输入数字,如果数字相等,则LED指示灯变亮

步骤:
1.
从“文件”菜单中选择“新建”VI打开新的前面板

2.
创建数字控件和指示器。使用两个前面板控件输入数字,使用两个指示器输入数字加和乘的结果。

a. 从控件选项板的数值子选项板中选择数值输入控件
b. 单击数值输入控件,然后拖拽控件到所希望的位置,然后单击鼠标将控件放下,如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2008-12-29 20:29:33 | 显示全部楼层
三、子VI
子VI是供其他VI使用的VI,与子程序类似。子VI是层次化和模块化VI的关键组件,它能使VI易于调试和维护。使用子VI是一种有效的编程技术,因为它允许在不同的场合重复使用相同的代码。G编程语言的分层特性就是在一个子VI中能够调用到另一个子VI。下面可用一个表格表明子VI的作用:


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2008-12-29 20:30:28 | 显示全部楼层
本帖最后由 baby 于 2008-12-29 20:31 编辑

编辑图标和连接器:
1.图标:每个VI都有一个默认的图标,显示在前面板和框图窗口的右上角。默认图标是一个Labview徽标和一个数字构成的图片,该数字指出自从Labview启动后已打开新VI的数量。使用“编辑图标”可以定制该图标。如图:选择编辑图标后,便可打开图标编辑器。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2008-12-29 20:33:53 | 显示全部楼层
本帖最后由 baby 于 2008-12-29 20:36 编辑

具体的控件或指示器相对应。连接器端子的作用与函数调用时子程序参数列表中的参数类似。
注意:只能从前面板查看和编辑连接器窗格。

在右上角图标上单击右键,选择显示连线板,即可看到连接器。默认情况下,Labview根据前面板上控件和指示器的数目显示端子模板。如图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2008-12-29 20:38:26 | 显示全部楼层
本帖最后由 baby 于 2008-12-29 20:39 编辑

保存,更改名称为“求平均值”,退出,即可在其他程序中调用这个子VI了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2008-12-29 20:40:31 | 显示全部楼层
在弹出的对话框中选择“求平均值”,如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2008-12-29 20:41:05 | 显示全部楼层
然后连线,运行,如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2008-12-29 20:42:48 | 显示全部楼层
方法二:
Labview可以在程序框图中直接将选定的部分创建为子VI,如图:


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2008-12-29 20:44:24 | 显示全部楼层
这是一个将摄氏温度转化为华氏温度的程序,中间的运算可整个设置为一个子VI,步骤如下:
1. 把要设置为子VI的部分进行选择,如图:


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2008-12-29 20:45:48 | 显示全部楼层
创建完成后,如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2008-12-29 20:46:16 | 显示全部楼层
建议:建议将所创建的子VI保存在目录下而不是保存在库文件中。尽管在称为VI库的单个文件中能够保存多个VI,但我们不希望这样做。将VI保存为单个文件是最有效的存储方式。因为这样在复制,重新命名和删除文件时比使用VI库时要容易些。
    与其他目录一样,VI库文件可以装入,保存和打开,但不是分层的。不能在VI库内创建另一个VI库,也不能在VI库内创建新目录。VI库文件创建后,当其出现在文件对话框中时,其图标将与VI文件图标略有不同。
发表于 2008-12-30 11:04:12 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2024-5-19 01:18 , Processed in 0.897129 second(s), 7 queries , Gzip On, File On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表