LabvieW入门讲义 背景介绍 LabVIeW是实验室虚拟仪器集成环境( Laboratory Virtual Instrument Engineering Workbench)的简称是美国国家仪器公司( NATIONAL INSTRUMENTS, 简称NI)的创新软件产品,也是目前应用最广、发展最快、功能最强的图形化 软件集成开发环境。目前它广泛地被工业界、学术界和研究实验室所接受,视为 个标准的数据采集和仪器控制软件。 LabvieW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡 通讯的全部功能。它还内置了便于应用TCP/IP、 Activex等软件标准的库函数。 这是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图 形化的界面使得编程及使用过程都生动有趣。图形化的程序语言,又称为“G” 语言。其编写的程序称为虚拟仪器ⅥI( Virtual instrument),以.ⅥI后缀。使 用这种语言编程时,基本上不写程序代码,取而代之的是流程图或流程图。它尽 可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此, LabvieW 是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的能力 提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理硏究、设计、 测试并实现仪器系统时,可以大大提高工作效率。 以下的课程内容可以在wiki上找到 http://phylab.fudaneducn/doku.php?id=home:whyx:labview 第一课 Labview概述 第一节虚拟仪器(Ⅵ)的概念 使用LabⅥI玶w开发平台编制的程序称为虚拟仪器程序,简称为ⅥI。ⅥI包括三个 部分:程序前面板、框图程序和图标/连接器 程序前面板用于设置输入数值和观察输出量,用于模拟真实仪表的前面板。在程 序前面板上,输入量被称为控制( Controls),输出量被称为显示( Indicators)。 控制和显示是以各种图标形式出现在前面板上,如旋钮、开关、按钮、图表、图 形等,这使这得前面板直观易懂。下面是一个温度计程序 1/68
1 / 68 LabVIEW 入门讲义 背景介绍 LabVIEW 是实验室虚拟仪器集成环境(Laboratory Virtual Instrument Engineering Workbench)的简称,是美国国家仪器公司(NATIONAL INSTRUMENTS, 简称 NI)的创新软件产品,也是目前应用最广、发展最快、功能最强的图形化 软件集成开发环境。目前它广泛地被工业界、学术界和研究实验室所接受,视为 一个标准的数据采集和仪器控制软件。 LabVIEW 集成了与满足 GPIB、VXI、RS-232 和 RS-485 协议的硬件及数据采集卡 通讯的全部功能。它还内置了便于应用 TCP/IP、ActiveX 等软件标准的库函数。 这是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图 形化的界面使得编程及使用过程都生动有趣。图形化的程序语言,又称为“G” 语言。其编写的程序称为虚拟仪器 VI(Virtual Instrument),以.VI 后缀。使 用这种语言编程时,基本上不写程序代码,取而代之的是流程图或流程图。它尽 可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW 是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的能力, 提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、 测试并实现仪器系统时,可以大大提高工作效率 。 以下的课程内容可以在 wiki 上找到: http://phylab.fudan.edu.cn/doku.php?id=home:whyx:labview 第一课 LabVIEW 概述 第一节 虚拟仪器(VI)的概念 使用 LabVIEW 开发平台编制的程序称为虚拟仪器程序,简称为 VI。VI 包括三个 部分:程序前面板、框图程序和图标/连接器。 程序前面板用于设置输入数值和观察输出量,用于模拟真实仪表的前面板。在程 序前面板上,输入量被称为控制(Controls),输出量被称为显示(Indicators)。 控制和显示是以各种图标形式出现在前面板上,如旋钮、开关、按钮、图表、图 形等,这使这得前面板直观易懂。下面是一个温度计程序
Temperature ( ThermometerⅥI)的前面板。 每一个程序前面板都对应着一段框图程序。框图程序用LabⅥIEW图形编程语言编 写,可以把它理解成传统程序的源代码。框图程序由端口、节点、图框和连线构 成。其中端口被用来同程序前面板的控制和显示传递数据,节点被用来实现函数 和功能调用,图框被用来实现结构化程序控制命令,而连线代表程序执行过程中 的数据流,定义了框图内的数据流动方向。上述温度计程序( Thermometer vi) 的框图程序如下 oar K True b emperature ann Mode Convert to c 图标/连接器是子ⅥI被其它Ⅵ调用的接口。图标是子Ⅵ在其他程序框图中被调 用的节点表现形式而连接器则表示节点数据的输入/输出口,就象函数的参数。 用户必须指定连接器端口与前面板的控制和显示一一对应下面图示为温度计程 序( ThermometerⅠ)的图标和连接器。连接器一般情况下隐含不显示,除非用户 择打开观察它 en 2/68
2 / 68 (Thermometer VI)的前面板。 每一个程序前面板都对应着一段框图程序。框图程序用 LabVIEW 图形编程语言编 写,可以把它理解成传统程序的源代码。框图程序由端口、节点、图框和连线构 成。其中端口被用来同程序前面板的控制和显示传递数据,节点被用来实现函数 和功能调用,图框被用来实现结构化程序控制命令,而连线代表程序执行过程中 的数据流,定义了框图内的数据流动方向。上述温度计程序(Thermometer VI) 的框图程序如下: 图标/连接器是子 VI 被其它 VI 调用的接口。图标是子 VI 在其他程序框图中被调 用的节点表现形式;而连接器则表示节点数据的输入/输出口,就象函数的参数。 用户必须指定连接器端口与前面板的控制和显示一一对应。下面图示为温度计程 序(Thermometer VI)的图标和连接器。连接器一般情况下隐含不显示,除非用户 选择打开观察它
LabVieW的强大功能归因于它的层次化结构,用户可以把创建的Ⅵ程序当作子 程序调用,以创建更复杂的程序,而这种调用的层次是没有限制的。举一个例 子,我们把前面创建的温度计程序( Thermometer v作为一个子程序用在当前新 建程序里,当前程序的前面板如下图所示,先前的温度计子程序用于采集数据, 而当前的程序用于显示温度曲线,并在前面板上设定测量次数和每次测量间隔的 延时。 延迟时间〔sec) 测量次签 ≈10.00 4.06.0 8.0 0.0 10.0 温度曲线 deg F 80.0 75.0 70.0 100 当前程序的框图如下图所示,它把温度计子程序放置在一个FOR循环里,每次循 环过程采集一次测量结果,当循环执行了设定的次数后,程序把采集的数据送到 前面板的图表上显示。 3/68
3 / 68 LabVIEW 的强大功能归因于它的层次化结构,用户可以把创建的 VI 程序当作子 程序调用,以创建更复杂的程序,而这种调用的层次是没有限制的。 举一个例 子,我们把前面创建的温度计程序(Thermometer VI)作为一个子程序用在当前新 建程序里,当前程序的前面板如下图所示,先前的温度计子程序用于采集数据, 而当前的程序用于显示温度曲线,并在前面板上设定测量次数和每次测量间隔的 延时。 当前程序的框图如下图所示,它把温度计子程序放置在一个 FOR 循环里,每次循 环过程采集一次测量结果,当循环执行了设定的次数后,程序把采集的数据送到 前面板的图表上显示
刚量次 DBL 温度曲 DBL eml 延迟时间(see) 10000 LabVieW这种创建和调用子程序的方法使创建的程序结构模块化更易于调试、 理解和维护。 第二节LabⅥIEW的操作模板 LabvieW具有多个图形化的操作模板,用于创建和运行程序。这些操作模板可以 随意在屏幕上移动,并可以放置在屏幕的任意位置。操纵模板共有三类,为工具 ( Tools)模板、控制( Controls)模板和功能( Functions)模板。 工具模板( Tools palette) 工具模板为编程者提供了各种用于创建、修改和调试Ⅵ程序的工具。如果该模 板没有出现,则可以在 Windows菜单下选择 Show tools palette命令以显示该 模板。当从模板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状。 当从 Windows菜单下选择了 Show Help Window功能后,把工具模板内选定的任 种工具光标放在框图程序的子程序(SubⅥI)或图标上,就会显示相应的帮助 信息。工具图标有如下几种:
4 / 68 LabVIEW这种创建和调用子程序的方法,使创建的程序结构模块化,更易于调试、 理解和维护。 第二节 LabVIEW 的操作模板 LabVIEW 具有多个图形化的操作模板,用于创建和运行程序。这些操作模板可以 随意在屏幕上移动,并可以放置在屏幕的任意位置。操纵模板共有三类,为工具 (Tools)模板、控制(Controls)模板和功能(Functions)模板。 工具模板(Tools Palette) 工具模板为编程者提供了各种用于创建、修改和调试 VI 程序的工具。如果该模 板没有出现,则可以在 Windows 菜单下选择 Show Tools Palette 命令以显示该 模板。当从模板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状。 当从 Windows 菜单下选择了 Show Help Window 功能后,把工具模板内选定的任 一种工具光标放在框图程序的子程序(Sub VI)或图标上,就会显示相应的帮助 信息。工具图标有如下几种:
A 由左而右由上而下依次为: 1.操作工具:使用该工具来操作前面板的控制和显示。使用它向数字或字符 串控制中键入值时,工具会变成标签工具的形状。 2.选择工具:用于选择、移动或改变对象的大小。当它用于改变对象的连框 大小时,会变成相应形状。 3.标签工具:用于输入标签文本或者创建自由标签。当创建自由标签时它会 变成相应形状。 4.连线工具:用于在框图程序上连接对象。如果联机帮助的窗口被打开时, 把该工具放在任一条连线上,就会显示相应的数据类型 5.对象弹出菜单工具:用左鼠标键可以弹出对象的弹出式菜单。 6.漫游工具:使用该工具就可以不需要使用滚动条而在窗口中漫游。 7.断点工具:使用该工具在ⅥI的框图对象上设置断点。 8.探针工具:可以在框图程序内的数据流线上设置探针。程序调试员可以通 过控针窗口来观察该数据流线上的数据变化状况 9.颜色提取工具:使用该工具来提取颜色用于编辑其他的对象 10.颜色工具:用来给对象定义颜色。它也显示出对象的前景色和背景色 与上述工具模板不同,控制和功能模板只显示顶层子模板的图标。在这些顶层子 模板中包含许多不同的控制或功能子模板。通过这些控制或功能子模板可以找到 创建程序所需的面板对象和框图对象。用鼠标点击顶层子模板图标就可以展开对 应的控制或功能子模板只需按下控制或功能子模板左上角的大头针就可以把对 这个子模板变成浮动板留在屏幕上 控制模板( Controls palette 用控制模板可以给前面板添加输入控制和输出显示。每个图标代表一个子模板。 如果控制模板不显示,可以用 Windows菜单的 Show Controls palette功能打开 它,也可以在前面板的空白处,点击鼠标右键,以弹出控制模板。注:只有当 打开前面板窗口时才能调用控制模板。 控制模板如左图所示,它包括如图所示的几个子模板
5 / 68 由左而右由上而下依次为: 1. 操作工具:使用该工具来操作前面板的控制和显示。使用它向数字或字符 串控制中键入值时,工具会变成标签工具的形状。 2. 选择工具:用于选择、移动或改变对象的大小。当它用于改变对象的连框 大小时,会变成相应形状。 3. 标签工具:用于输入标签文本或者创建自由标签。当创建自由标签时它会 变成相应形状。 4. 连线工具:用于在框图程序上连接对象。如果联机帮助的窗口被打开时, 把该工具放在任一条连线上,就会显示相应的数据类型。 5. 对象弹出菜单工具:用左鼠标键可以弹出对象的弹出式菜单。 6. 漫游工具:使用该工具就可以不需要使用滚动条而在窗口中漫游。 7. 断点工具:使用该工具在 VI 的框图对象上设置断点。 8. 探针工具:可以在框图程序内的数据流线上设置探针。程序调试员可以通 过控针窗口来观察该数据流线上的数据变化状况。 9. 颜色提取工具:使用该工具来提取颜色用于编辑其他的对象。 10.颜色工具:用来给对象定义颜色。它也显示出对象的前景色和背景色。 与上述工具模板不同,控制和功能模板只显示顶层子模板的图标。在这些顶层子 模板中包含许多不同的控制或功能子模板。通过这些控制或功能子模板可以找到 创建程序所需的面板对象和框图对象。用鼠标点击顶层子模板图标就可以展开对 应的控制或功能子模板,只需按下控制或功能子模板左上角的大头针就可以把对 这个子模板变成浮动板留在屏幕上。 控制模板(Controls Palette) 用控制模板可以给前面板添加输入控制和输出显示。每个图标代表一个子模板。 如果控制模板不显示,可以用 Windows 菜单的 Show Controls Palette 功能打开 它,也可以在前面板的空白处,点击鼠标右键,以弹出控制模板。 注:只有当 打开前面板窗口时才能调用控制模板。 控制模板如左图所示,它包括如图所示的几个子模板
CONtrols String是Tabe 123 国 A POLE 8R区 11, 由左而右由上而下依次为: 数值子模板:包含数值的控制和显示。 2.布尔值子模块:逻辑数值的控制和显示 3.字符串子模板:字符串和表格的控制和显示。 4.列表和环(Ring)子模板:菜单环和列表栏的控制和显示。 5.数组和群子模板:复合型数据类型的控制和显示。 6.图形子模板:显示数据结果的趋势图和曲线图。 7.路径和参考名( Refnum)子模板:文件路径和各种标识的控制和显示。 8.控件容器库子模板:用于操作OLE、 ActiveX等功能 9.对话框子模板:用于输入对话框的显示控制 10.修饰子模板:用于给前面板进行装饰的各种图形对象 11.用户自定义的控制和显示。 12.调用存储在文件中的控制和显示的接口。 功能模板( Functions palette) 功能模板是创建框图程序的工具。该模板上的每一个顶层图标都表示一个子模板。 若功能模板不出现,则可以用 Windows菜单下的 Show Functions palette功能 打开它,也可以在框图程序窗口的空白处点击鼠标右键以弹岀功能模板。 注:只有打开了框图程序窗口,才能出现功能模板。 功能模板如下图所示。 6/68
6 / 68 由左而右由上而下依次为: 1. 数值子模板:包含数值的控制和显示。 2. 布尔值子模块:逻辑数值的控制和显示。 3. 字符串子模板:字符串和表格的控制和显示。 4. 列表和环(Ring)子模板:菜单环和列表栏的控制和显示。 5. 数组和群子模板:复合型数据类型的控制和显示。 6. 图形子模板:显示数据结果的趋势图和曲线图。 7. 路径和参考名(Refnum)子模板:文件路径和各种标识的控制和显示。 8. 控件容器库子模板:用于操作 OLE、ActiveX 等功能。 9. 对话框子模板:用于输入对话框的显示控制。 10.修饰子模板:用于给前面板进行装饰的各种图形对象。 11.用户自定义的控制和显示。 12.调用存储在文件中的控制和显示的接口。 功能模板(Functions Palette) 功能模板是创建框图程序的工具。该模板上的每一个顶层图标都表示一个子模板。 若功能模板不出现,则可以用 Windows 菜单下的 Show Functions Palette 功能 打开它,也可以在框图程序窗口的空白处点击鼠标右键以弹出功能模板。 注:只有打开了框图程序窗口,才能出现功能模板。 功能模板如下图所示
。四 Functi ons Boolean hmf dlh ≈2 由左而右由上而下依次为: 1.结构子模板:包括程序控制结构命令,例如循环控制等,以及全局变量和 局部变量 2.数值运算子模板:包括各种常用的数值运算符,如+、-等;以及各种常见 的数值运算式,如+1运算;还包括数制转换、三角函数、对数、复数等 运算,以及各种数值常数。 3.布尔逻辑子模板:包括各种逻辑运算符以及布尔常数。 4.字符串运算子模板:包含各种字符串操作函数、数值与字符串之间的转换 函数,以及字符(串)常数等。 5.数组子模板:包括数组运算函数、数组转换函数,以及常数数组等。 6.群子模板。包括群的处理函数,以及群常数等。这里的群相当于C语言中 的结构。 7.比较子模板:包括各种比较运算函数,如大于、小于、等于 8.时间和对话框子模板:包括对话框窗口、时间和出错处理函数等。 9.文件输入/输出子模板:包括处理文件输入/输出的程序和函数。 10.仪器控制子模板:包括GPIB(488、488.2)、串行、VXI仪器控制的程序和 函数,以及VISA的操作功能函数。 11.仪器驱动程序库:用于装入各种仪器驱动程序。 12.数据采集子模板:包括数据采集硬件的驱动程序,以及信号调理所需的各 种功能模块。 7/68
7 / 68 由左而右由上而下依次为: 1. 结构子模板:包括程序控制结构命令,例如循环控制等,以及全局变量和 局部变量。 2. 数值运算子模板:包括各种常用的数值运算符,如+、-等;以及各种常见 的数值运算式,如+1 运算;还包括数制转换、三角函数、对数、复数等 运算,以及各种数值常数。 3. 布尔逻辑子模板:包括各种逻辑运算符以及布尔常数。 4. 字符串运算子模板:包含各种字符串操作函数、数值与字符串之间的转换 函数,以及字符(串)常数等。 5. 数组子模板:包括数组运算函数、数组转换函数,以及常数数组等。 6. 群子模板。包括群的处理函数,以及群常数等。这里的群相当于 C 语言中 的结构。 7. 比较子模板:包括各种比较运算函数,如大于、小于、等于。 8. 时间和对话框子模板:包括对话框窗口、时间和出错处理函数等。 9. 文件输入/输出子模板:包括处理文件输入/输出的程序和函数。 10.仪器控制子模板:包括 GPIB(488、488.2)、串行、VXI 仪器控制的程序和 函数,以及 VISA 的操作功能函数。 11.仪器驱动程序库:用于装入各种仪器驱动程序。 12.数据采集子模板:包括数据采集硬件的驱动程序,以及信号调理所需的各 种功能模块
13.信号处理子模板:包括信号发生、时域及频域分析功能模块。 14.数学模型子模块:包括统计、曲线拟合、公式框节点等功能模块,以及数 值微分、积分等数值计算工具模块。 15.图形与声音子模块:包括3D、 penGL、声音播放等功能模块。 16.通讯子模板:包括TCP、DDE、 ActiveX和OLE等功能的处理模块, 17.应用程序控制子模块:包括动态调用VI、标准可执行程序的功能函数。 18.底层接口子模块:包括调用动态连接库和CIN节点等功能的处理模块。 19.文档生成子模板 20.示教课程子模板:包括 LabvieW示教程序。 21.用户自定义的子ⅥI模板。 “选择…ⅥI子程序”子模板:包括一个对话框,可以选择一个Ⅵ程序作为子程 序(SUBⅥI)插入当前程序中。 其它几个子模板是 Labview的附加 Toolkit安装上去的在 Labview完全版中不 包括这些子模板。 第三节创建一个Ⅵ程序 请记住,Ⅵ程序具有三个要素:前面板、框图程序和图标/连接器。我们将在练 习1-1中讨论图标/连接器 1.前面板 使用输入控制和输出显示来构成前面板。控制是用户输入数据到程序的接口。而 显示是输出程序产生的数据接口。控制和显示有许多种类,可以从控制模板的各 个子模板中选取。 两种最常用的前面板对象是数字控制和数字显示若想要在数字控制中输入或修 改薮值,你只需要用操作工具(见工具模板)点击控制部件和增减按钮,或者用 操作工具或标签工具双击数值栏进行输入数值修改。 前面板 框图 A+B 0.00 I DBL I A-B 00 0.00
8 / 68 13.信号处理子模板:包括信号发生、时域及频域分析功能模块。 14.数学模型子模块:包括统计、曲线拟合、公式框节点等功能模块,以及数 值微分、积分等数值计算工具模块。 15.图形与声音子模块:包括 3D、OpenGL、声音播放等功能模块。 16.通讯子模板:包括 TCP、DDE、ActiveX 和 OLE 等功能的处理模块。 17.应用程序控制子模块:包括动态调用 VI、标准可执行程序的功能函数。 18.底层接口子模块:包括调用动态连接库和 CIN 节点等功能的处理模块。 19.文档生成子模板。 20.示教课程子模板:包括 LabVIEW 示教程序。 21.用户自定义的子 VI 模板。 “选择…VI 子程序”子模板:包括一个对话框,可以选择一个 VI 程序作为子程 序(SUB VI)插入当前程序中。 其它几个子模板是 LabVIEW 的附加 Toolkit 安装上去的。在 LabVIEW 完全版中不 包括这些子模板。 第三节 创建一个 VI 程序 请记住,VI 程序具有三个要素:前面板、框图程序和图标/连接器。我们将在练 习 1-1 中讨论图标/连接器。 1.前面板 使用输入控制和输出显示来构成前面板。控制是用户输入数据到程序的接口。而 显示是输出程序产生的数据接口。控制和显示有许多种类,可以从控制模板的各 个子模板中选取。 两种最常用的前面板对象是数字控制和数字显示。若想要在数字控制中输入或修 改数值,你只需要用操作工具(见工具模板)点击控制部件和增减按钮,或者用 操作工具或标签工具双击数值栏进行输入数值修改
2框图程序 框图程序是由节点、端点、图框和连线四种元素构成的。 节点类似于文本语言程序的语句、函数或者子程序。 LabvieW有二种节点类型 函数节点和子ⅥI节点。两者的区别在于:函数节点是 LabVieW以编译好了的机 器代码供用户使用的,而子ⅥI节点是以图形语言形式提供给用户的。用户可以 访问和修改任一子Ⅵ节点的代码,但无法对函数节点进行修改。上面的框图程 序所示的ⅥI程序有两个功能函数节点,一个函数使两个数值相加,另一个函数 使两数相减 端点是只有一路输入/输出,且方向固定的节点。 LabvieW有三类端点一一前面板 对象端点、全局与局部变量端点和常量端点。对象端点是数据在框图程序部分和 前面板之间传输的接口。一般来说,一个ⅥI的前面板上的对象(控制或显示) 都在框图中有一个对象端点与之一一对应当在前面板创建或删除面板对象时, 可以自动创建或删除相应的对象端点。控制对象对应的端点在框图中是用粗框框 住的,如例子中的A和B端点。它们只能在ⅥI程序框图中作为数据流源点。显 示对象对应的端点在框图中是用细框框住的。如例子中的A+B和A-B端点。它们 、能在Ⅵ程序框图中作为数据流终点常量端点永远只能在Ⅵ程序框图中作为 数据流源点。 图框是LabⅥEw实现程序结构控制命令的图形表示。如循环控制、条件分支控制 和顺序控制等,编程人员可以使用它们控制Ⅵ程序的执行方式。代码接口节点 (CIN)是框图程序与用户提供的C语言文本程序的接口 连线是端口间的数据通道。它们类似于普通程序中的变量。数据是单向流动的, 从源端口向一个或多个目的端口流动。不同的线型代表不同的数据类型。在彩显 上,每种数据类型还以不同的颜色予以强调。 下面是一些常用数据类型所对应的线型和颜色 标量 一维数組 二維数组 整形数 兰色 浮点数 橙色 逻辑量 绿色 字符串 粉色 文件路径— 青 9/68
9 / 68 2.框图程序 框图程序是由节点、端点、图框和连线四种元素构成的。 节点类似于文本语言程序的语句、函数或者子程序。LabVIEW 有二种节点类型— -函数节点和子 VI 节点。两者的区别在于:函数节点是 LabVIEW 以编译好了的机 器代码供用户使用的,而子 VI 节点是以图形语言形式提供给用户的。用户可以 访问和修改任一子 VI 节点的代码,但无法对函数节点进行修改。上面的框图程 序所示的 VI 程序有两个功能函数节点,一个函数使两个数值相加,另一个函数 使两数相减。 端点是只有一路输入/输出,且方向固定的节点。LabVIEW 有三类端点—-前面板 对象端点、全局与局部变量端点和常量端点。对象端点是数据在框图程序部分和 前面板之间传输的接口。一般来说,一个 VI 的前面板上的对象(控制或显示) 都在框图中有一个对象端点与之一一对应。当在前面板创建或删除面板对象时, 可以自动创建或删除相应的对象端点。控制对象对应的端点在框图中是用粗框框 住的,如例子中的 A 和 B 端点。它们只能在 VI 程序框图中作为数据流源点。显 示对象对应的端点在框图中是用细框框住的。如例子中的 A+B 和 A-B 端点。它们 只能在 VI 程序框图中作为数据流终点。常量端点永远只能在 VI 程序框图中作为 数据流源点。 图框是 LabVIEW 实现程序结构控制命令的图形表示。如循环控制、条件分支控制 和顺序控制等,编程人员可以使用它们控制 VI 程序的执行方式。代码接口节点 (CIN)是框图程序与用户提供的 C 语言文本程序的接口。 连线是端口间的数据通道。它们类似于普通程序中的变量。数据是单向流动的, 从源端口向一个或多个目的端口流动。不同的线型代表不同的数据类型。在彩显 上,每种数据类型还以不同的颜色予以强调。 下面是一些常用数据类型所对应的线型和颜色:
当需要连接两个端点时,在第一个端点上点击连线工具(从工具模板栏调用), 然后移动到另一个端点,再点击第二个端点。端点的先后次序不影响数据流动的 方向 当把连线工具放在端点上时,该端点区域将会闪烁,表示连线将会接通该端点 当把连线工具从一个端口接到另一个端口时,不需要按住鼠标键。当需要连线转 弯时,点击一次鼠标键,即可以正交垂直方向地弯曲连线,按空格键可以改变转 角的方向。 快速提示接线头是为了帮助正确连接端口的连线当把连线工具放到端口上, 接线头就会弹出。接线头还有一个黄色小标识框,显示该端口的名字。 3从框图程序窗口创建前面板对象 用选择和连线工具,你都可以用鼠标右键点击任一节点和端点,然后从弹出菜单 中选择“创建常数”,“创建控制”,或“创建显示”等命令。 LabVIeW会自动 地在被创建的端点与所点击对象之间接好连线 4数据流编程 控制Ⅵ程序的运行方式叫做“数据流”。对一个节点而言,只有当它的所有输 入端口上的数据都成为有效数据时,它才能被执行。当节点程序运行完毕后,它 把结果数据送给所有的输出端口,使之成为有效数据。并且数据很快从源送到目 的端口 DBI 500 如左图所示,这个Ⅵ程序把两个输入数值相乘,再把乘积减去50.0。这个程序 中,框图程序从左往右执行,这个执行次序不是由于对象的摆放位置,而是由于 相减运算函数的一个输入量是相乘函数的运算结果它只有当相乘运算完成并把 结果送到减运算的输入口后才能继续下去。请记住,一个节点(函数)只有当它 所有的输入端的数据都成为有效数据后才能被执行,而且只有当它执行完成后, 它的所有输出端口上的数据才成为有效。 再看另一个程序(见下图),你认为哪一个节点函数将先执行-是乘法还是除法? 在这个例子中,我们无法知道哪一个节点函数首先执行,因为所有输入量几乎同 10/68
10 / 68 当需要连接两个端点时,在第一个端点上点击连线工具(从工具模板栏调用), 然后移动到另一个端点,再点击第二个端点。端点的先后次序不影响数据流动的 方向。 当把连线工具放在端点上时,该端点区域将会闪烁,表示连线将会接通该端点。 当把连线工具从一个端口接到另一个端口时,不需要按住鼠标键。当需要连线转 弯时,点击一次鼠标键,即可以正交垂直方向地弯曲连线,按空格键可以改变转 角的方向。 快速提示: 接线头是为了帮助正确连接端口的连线。当把连线工具放到端口上, 接线头就会弹出。接线头还有一个黄色小标识框,显示该端口的名字。 3.从框图程序窗口创建前面板对象 用选择和连线工具,你都可以用鼠标右键点击任一节点和端点,然后从弹出菜单 中选择“创建常数”,“创建控制”,或“创建显示”等命令。LabVIEW 会自动 地在被创建的端点与所点击对象之间接好连线。 4.数据流编程 控制 VI 程序的运行方式叫做“数据流”。对一个节点而言,只有当它的所有输 入端口上的数据都成为有效数据时,它才能被执行。当节点程序运行完毕后,它 把结果数据送给所有的输出端口,使之成为有效数据。并且数据很快从源送到目 的端口。 如左图所示,这个 VI 程序把两个输入数值相乘,再把乘积减去 50.0。这个程序 中,框图程序从左往右执行,这个执行次序不是由于对象的摆放位置,而是由于 相减运算函数的一个输入量是相乘函数的运算结果,它只有当相乘运算完成并把 结果送到减运算的输入口后才能继续下去。请记住,一个节点(函数)只有当它 所有的输入端的数据都成为有效数据后才能被执行,而且只有当它执行完成后, 它的所有输出端口上的数据才成为有效。 再看另一个程序(见下图),你认为哪一个节点函数将先执行 – 是乘法还是除法? 在这个例子中,我们无法知道哪一个节点函数首先执行,因为所有输入量几乎同