10 11 Digilog Controls (数字控制) Classic Controls (经典控制) Activex 数字控制 经典控制,指以前版本软件的面板图标。 用于 ActiveX 等功能。 12 13 14 15
Decorations( 装 用于给前面板进行装饰的各种图形对象。 饰) Select a 调用存储在文件中的控制和显示的接口。 Controls(控制选 择) User Controls 用户自定义的控制和显示。 (用户控制) 功能模板(Functions Palette)
注:只有打开了流程图程序窗口,才能出现功能模板。 在 Functions 中点击进入 All Functions 模板(右图)
功能模板是创建流程图程序的工具。该模板上的每一个顶层
图标都表示一个子模板。若功能模板不出现,则可以用 Windows 菜单下的 Show Functions Palette 功能打开它,也可以在流程图
程序窗口的空白处点击鼠标右键以弹出功能模板。
功能模板如右图所示,其子模块如下所示。(个别不常用的子
模块未包含)
图标 1 2 子模板名称 功 能 Structure(结构) 包括程序控制结构命令,例如循环控制等,以及全局
变量和局部变量。 Numeric(数值运 包括各种常用的数值运算,还包括数制转换、三角函 算) 数、对数、复数等运算,以及各种数值常数。 Boolean(布尔运 包括各种逻辑运算符以及布尔常数。 算) String(字符串运 包含各种字符串操作函数、数值与字符串之间的转换 算) 函数,以及字符(串)常数等。 Array(数组) 包括数组运算函数、数组转换函数,以及常数数组等。
3 4 5 6 Cluster(簇) 包括簇的处理函数,以及群常数等。这里的群相当于 C 语言中的结构。 7 Comparison(比 包括各种比较运算函数,如大于、小于、等于。 较) - 5 -
8 9 包括对话框窗口、时间和出错处理函数等。 Time & Dialog (时间和对话框) File I/O(文件输 包括处理文件输入/输出的程序和函数。 入/输出) Data Acquisition 包括数据采集硬件的驱动,以及信号调理所需的各种
功能模块。 (数据采集) Waveform(波形) 各种波形处理工具 10 11 12 Analyze(分析) 信号发生、时域及频域分析功能模块及数学工具 。
13 Instrument I/O 包括 GPIB(488、488.2)、串行、VXI 仪器控制的程序 ( 仪 器 输 入 / 和函数,以及 VISA 的操作功能函数。 输 出) Motion & Vision (运动与景像) 包括统计、曲线拟合、公式框节点等功能模块,以及
Mathematics(数 数值微分、积分等数值计算工具模块。 学) 包括 TCP、DDE、ActiveX 和 OLE 等功能的处理模 Communication 块。 (通讯) 包括动态调用 VI、标准可执行程序的功能函数。 Application Control(应用控 制) 包括 3D、OpenGL、声音播放等功能模块。包括调用 Graphics & 动态连接库和 CIN 节点等功能的处理模块。 Sound(图形与声 音) 包括 LabVIEW 示教程序。 Tutorial(示教课 程) Report Generation(文档 生成) Advanced(高级 功能) Select a VI(选择 子 VI) User Library(用 户子 VI 库) - 6 -
14 15 16 17 18 19 20 21 22 23
第二章:创建 VI 程序
VI 程序具有三个要素:前面板、框图程序和图标/连接器。
1.前面板
使用输入控制和输出显示来构成前面板。控制是用户输入数据到程序的接口。而显示是 输出程序产生的数据接口。控制和显示有许多种类,可以从控制模板的各个子模板中选取。 两种最常用的前面板对象是数字控制和数字显示。若想要在数字控制中输入或修改数值,你 只需要用操作工具(见工具模板)点击控制部件的增减按钮,或者用操作工具或标签工具双 击数值栏进行输入数值修改。
显示对象和控制对象都是前面板上的控件,前者有输入端子而无输出端子,后者正好相 反,它们分别相当于普通编程语言中的输出参数和输入参数。数值常数对象可以看成是控制 对象的一个特例。
在前面板中创建新的控制对象或显示对象时, LabVIEW 都会在流程图中创建对应的端子。端子的 符号反映该对象的数据类型。例如,DBL 符号表示 对象数据类型是双精度数;TF 符号表示布尔数;I16 符号表示 16 位整型数;ABC 符号表示对象数据类 型是字符串。一个对象应当是显示对象还是控制对 象必须弄清楚,否则无法正确连线。有时他们的图 标是相似或相同的,可以根据需要明确规定它是显 示对象还是控制对象。方法是将鼠标移到图标上, 然后点右键,可出现快速菜单(例见右图)。如果菜 单中的第一项是 Chang to Control,说明这是一个
显示对象,你可以根据需要,将其变为控制对象。如果菜单中的第一项是 Chang to Indicator ,说明这是一个控制对象,你也可以根据需要,将其变为显示对象。控制对象和显 示对象都不能在流程图中删除,只能从前面板上删除。
2.框图程序
框图程序是由节点、端点、图框和连线四种元素构成的。
- 7 -
节点类似于文本语言程序的语句、函数或者子程序。LabVIEW 有二种节点类型----函数
节点和子 VI 节点。两者的区别在于:函数节点是 LabVIEW 以编译好了的机器代码供用户 使用的,而子 VI 节点是以图形语言形式提供给用户的。用户可以访问和修改任一子 VI 节点 的代码,但无法对函数节点进行修改。上面的框图程序所示的 VI 程序有两个功能函数节点,
一个函数使两个数值相加,另一个函数使两数相减。
端点是只有一路输入/输出,且方向固定的节点。LabVIEW 有三类端点----前面板对象
端点、全局与局部变量端点和常量端点。对象端点是数据在框图程序部分和前面板之间传输 的接口。一般来说,一个 VI 的前面板上的对象(控制或显示)都在框图中有一个对象端点
与之一一对应。当在前面板创建或删除面板对象时,可以自动创建或删除相应的对象端点。 控制对象对应的端点在框图中是用粗框框住的,如例子中的 A 和 B 端点。它们只能在 VI 程 序框图中作为数据流源点。显示对象对应的端点在框图中是用细框框住的。如例子中的 A+B 和 A-B 端点。它们只能在 VI 程序框图中作为数据流终点。常量端点永远只能在 VI 程序框 图中作为数据流源点。
图框是 LabVIEW 实现程序结构控制命令的图形表示。如循环控制、条件分支控制和顺 序控制等,编程人员可以使用它们控制 VI 程序的执行方式。代码接口节点(CIN)是框图 程序与用户提供的 C 语言文本程序的接口。
连线是端口间的数据通道。它们类似于普通程序中的变量。数据是单向流动的,从源端 口向一个或多个目的端口流动。不同的线型代表不同的数据类型。在彩显上,每种数据类型 还以不同的颜色予以强调。
下面是一些常用数据类型所对应的线型和颜色:
类型
颜色
整形数
兰色
浮点数
橙色
逻辑量
绿色
字符串
粉色
文件路径 青色
当需要连接两个端点时,在第一个端点上点击连线工具(从工具模板栏调用),然后移 动到另一个端点,再点击第二个端点。端点的先后次序不影响数据流动的方向。
当把连线工具放在端点上时,该端点区域将会闪烁,表示连线将会接通该端点。当把连 线工具从一个端口接到另一个端口时,不需要按住鼠标键。当需要连线转弯时,点击一次鼠
标键,即可以正交垂直方向地弯曲连线,按空格键可以改变转角的方向。
线型为波折号的连线表示坏线。出现坏线的原因有很多,例如:连接了两个控制对象;
- 8 -
源端子和终点端子的数据类型不匹配(例如一个是数字型,而另一个是布尔型)。可以通过
使用定位工具点击坏线再按下
或者
按下
快速提示: 接线头是为了帮助正确连接端口的连线。当把连线工具放到端口 上,接线头就会弹出。接线头还有一个黄色小标识框,显示该端口的 名字。
如果要查看某个功能函数或者 VI 的输入输出,需要从 Help 菜单中选择 Show Help,
再把光标置于这个功能函数或者 VI 上。例如进程监视器 VI 的 Help 窗口显示如下:
你也可以从框图程序窗口创建前面板对象。用选择和连线工具,用鼠标右键点击任一节 点和端点,然后从弹出菜单中选择“创建常数”,“创建控制”,或“创建显示”等命令。LabVIEW 会自动地在被创建的端点与所点击对象之间接好连线。
3.子 VI 的建立
子 VI(SubVI)相当于普通编程语言中的子程序,也就是被其他的 VI 调用的 VI。可以 将 任 何 一 个 定 义 了 图 标 和 联 接 器 的 VI 作 为 另 一 个 VI 的 子 程 序 。 在 流 程 图 中 打 开
Functions?Select a VI…. ,就可以选择要调用的子 VI 。构造一个子 VI 主要的工作就是 定义它的图标和联接器。
每个 VI 在前面板和流程图窗口的右上角都显示了一个默认的图标。启动图标编辑器的 方法是,用鼠标右键单击面板窗口的右上角的默认图标,在弹出菜单中选择 Edit Icon。
左图显示了图标编辑 器的窗口。可以用窗口 左边的各种工具设计 像素编辑区中的图标 形状。编辑区右侧的一 个方框中显示了一个 实际大小的图标。图标 编辑器的具体使用细 节请参阅相关资料。
- 9 -