LabVIEW虚拟仪器程序设计从入门到精通
- 格式:docx
- 大小:15.56 KB
- 文档页数:1
第10章XControl的制作10.1 XControl的特点介绍XControl是LabVIEW 8开始出现的一个制作LabVIEW控件的工具。
之前的用户自定义控件只能定义控件的界面,而XControl还允许通过编写程序来定义控件本身的行为属性。
因此,Xcontrol的功能更加强大。
XControl的主要优点是可以把界面元素与相关的代码封装在一起,从而方便发布和重用这些界面组件。
相比用户自定义控件,Xcontrol也有不足的地方,它开发起来比较困难,若设计不合理,XControl会导致程序更加严重的问题。
在开发一个新的控件之前,首先要考虑一下以何种方式实现这个控件。
如果这个控件极为特殊,只会用在某个特定的程序中,那么也许没有必要将其作为单独的控件。
如果这个控件需要被多次使用,那么就应该考虑把它做成可重用的独立控件。
这个控件也许不包含任何特殊的行为,比如一个用于表示坐标位置的控件由两个数值控件组成,程序只是使用它的值就可以了;或者一个新型按钮,其外观与旧按钮不同,其他行为都与传统的按钮一模一样。
这样的控件适合使用用户自定义控件来制作。
如果新的控件需要重用,行为与已有的其他控件又有较大的差别,那么就要考虑使用XControl。
比如制作一个新按钮,它比传统按钮多一个状态,或者它的界面带有动画效果;制作数值类控件,但是使用中国本土度量单位;基于图片控件,专用于绘制某种特殊曲线等。
10.2 XControl的制作本节介绍XControl的制作,这是一个比较复杂的过程,需要定义控件本身的颜色、值、大小等属性,如果需要的话,还要定义其鼠标按下、释放、移动等事件功能。
下面通过一个例子介绍XControl的制作。
227 XControl的制作 第 10 章在其他的界面编程语言中,经常可以看到根据鼠标的动作而外观会有变化的按钮控件,现在就按照这一目的来制作XControl 控件。
参看光盘中的Hover Button.xctl 。
人民邮电出版社
1局部变量:1.层叠式顺序结构中,对于不同帧之间传递数据利用数据局部变量;2当一个控件既作为输入控件,又作为输出控件的时候利用局部变量;3在不同循环体之间的数据传递。
2全局变量:在不同的VI之间传递数据,但是对于内存资源的占用很大;
3共享变量:在不同的计算机或者网络之间共享。
4顺序结构强制破坏了LabView从左到右的数据流编程习惯,在平铺式结构中可以做到从右到左。
顺序结构破坏了LabView的优点之一:并行运行机制,因此一般不太提倡。
5那么程序中需要利用顺序执行程序的时候我们一般认为控制数据依存关系,此时,是通过数据的到达而不是数据的值来触发新结构对象的执行,数据的接收对象不一定需要该数据的值。
事件结构
事件结构是一个非常强大的功能,为事件驱动,可用于编写等待事件发生的高效代码,代替循环检测事件是否发生的低效代码。
对比条件结构和事件结构,在条件结构中,系统采用轮询的方式来检测“单击”按钮是否发生,但是在事件结构的技术过程中,只有单击按钮被按下以后触发,才执行一次循环。
因此,事件结构在执行前面板UI接口事件具有很强大的优越性。
事件结构的建议:
●避免在循环外使用事件结构;
●在“值”改变事件分支中读取触发布尔控件的接线端;
●条件结构用于处理触发布尔操作的撤销操作;
●不要使用不同的事件数据将一个分支配置为处理多个过滤事件;
●避免一个事件分支中同时使用对话框和“鼠标按下?”过滤事件;
●避免在一个循环中放置两个事件结构。
利用公式节点可以有效简化数值中的公式的繁琐结构。
禁用结构一般用于系统调试,避免程序在编辑中不停的删除、复制和修改中产生不必要的错误。
38LabVIEW虚拟仪器程序设计从入门到精通:创建或编辑VI 时,如果VI 存在错误,运行按钮将显示为如此断开形状。
如程序框图完成连线后,运行按钮仍显示为断开,则VI 是断开的,无法运行。
连续运行:连续运行LVI 直至中止或暂停操作。
中止执行:中止顶层VI 的操作。
多个运行中的顶层VI 使用当前VI 时,按钮显示为灰色。
也可使用中止VI 方法通过编程中止VI 运行。
注:中止执行按钮可在VI 完成当前循环前使VI 立即停止运行。
中止使用外部资源(如外部硬件)的VI可能导致外部资源无法恰当复位或释放,并停留在一个未知状态。
VI 设计有一个停止按钮,可防止此类问题的发生。
暂停:暂停或恢复执行。
单击暂停按钮,程序框图中暂停执行的位置将高亮显示。
再按一次可继续运行VI 。
运行暂停时,暂停按钮为红色。
高亮显示执行过程:单击运行按钮可动态显示程序框图的执行过程。
高亮显示执行过程按钮为黄色时,表示高亮显示执行过程已被启用。
保存连线值:保存数据值。
单击保存连线值按钮,LabVIEW 将保存运行过程中的每个数据值,将探针放在连线上时,可立即获得流经连线的最新数据值。
调试工具会影响VI 的性能。
单步步入:打开节点,然后暂停。
再次单击单步步入按钮,将进行第1个操作,然后在子VI或结构的下一个操作前暂停。
也可按下<Ctrl>和向下箭头键。
单步步过:执行节点并在下一个节点前暂停。
也可按下<Ctrl>和向右箭头键。
单步步出:结束当前节点的操作并暂停。
VI 结束操作时,单步步出按钮将变为灰色。
也可按下<Ctrl>和向上箭头键。
3.2.2 LabVIEW 面板设置1.文本设置LabVIEW 的工具栏为用户提供了设置应用程序字体和颜色的工具,如图3-32所示。
使用LabVIEW 默认字体和颜色。
LabVIEW 使用相近字体替换不同平台的内置字体。
如果选择了不同字体,而且计算机上没有该字体,LabVIEW 将用最接近的字体替代。
精通LabVIEW虚拟仪器程序设计LabVIEW是一种图形化编程语言,它广泛应用于虚拟仪器的设计和开发。
精通LabVIEW虚拟仪器程序设计,需要对LabVIEW的基本概念、编程环境、编程技巧以及高级功能有深入的理解和实践。
LabVIEW基础首先,了解LabVIEW的基本概念是至关重要的。
LabVIEW使用图形化编程,与传统的文本编程语言不同,它通过图形化的“块图”来表示程序的逻辑。
LabVIEW的编程元素包括函数、控件、指示器、数组、簇等。
编程环境LabVIEW的编程环境主要由前面板(Front Panel)和块图(Block Diagram)组成。
前面板用于设计用户界面,块图用于编写程序逻辑。
熟悉这些界面元素和环境设置是精通LabVIEW的第一步。
编程技巧1. 结构化编程:使用循环结构、条件结构和事件结构来组织代码,使程序更加模块化和易于维护。
2. 数据流编程:LabVIEW支持数据流编程,这意味着数据的流动决定了程序的执行顺序。
3. 数组和簇:掌握数组和簇的使用,可以有效地处理大量数据和复杂的数据结构。
4. 错误处理:学会使用错误处理结构来增强程序的健壮性。
高级功能1. 多线程:LabVIEW支持多线程编程,可以利用多核处理器的计算能力。
2. 动态调用:使用动态调用可以创建更灵活的程序,适应不同的运行时需求。
3. 信号处理:LabVIEW提供了丰富的信号处理工具,包括滤波器设计、频谱分析等。
4. 仪器控制:LabVIEW可以与多种仪器进行通信,实现自动化测试和数据采集。
实践应用精通LabVIEW不仅仅是理论知识的学习,更重要的是将这些知识应用到实践中。
以下是一些实践应用的建议:1. 项目实践:通过参与实际的LabVIEW项目,可以加深对LabVIEW编程的理解。
2. 案例学习:研究现有的LabVIEW程序,了解其设计思路和实现方法。
3. 社区交流:加入LabVIEW开发者社区,与其他开发者交流经验,获取新的思路和解决方案。
LabVIEW入门从零基础到快速上手LabVIEW是一种图形化编程语言和开发环境,用于控制和测量系统应用的快速原型设计、数据采集和分析。
本文将引导读者从零基础开始,逐步学习LabVIEW的基本概念和使用技巧,以帮助读者快速掌握LabVIEW的入门知识。
一、LabVIEW简介LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是由美国国家仪器公司(National Instruments)开发的一种图形化编程语言和开发环境。
LabVIEW广泛应用于控制和测量系统领域,其独特的可视化编程方式使其成为工程师和科学家的首选工具。
二、LabVIEW安装和配置1. 下载LabVIEW安装程序并运行;2. 根据提示选择安装选项和目标文件夹;3. 完成安装后,启动LabVIEW,并进行基本配置,如选择界面语言、设置默认文件夹等。
三、LabVIEW界面介绍LabVIEW的界面由工具栏、项目资源、控制面板和主编辑区组成。
工具栏提供了常用的控件和工具,项目资源用于管理程序文件,控制面板用于运行程序,主编辑区用于编写和调试程序。
四、LabVIEW基本元素1. 控件:LabVIEW提供了丰富的控件,如按钮、滑动条、图形显示等,用于构建用户界面;2. 连接线:用于连接程序中的各个元素,形成数据流;3. 图标和面板:图标表示程序的功能,面板显示用户界面;4. 节点:用于执行具体的功能操作,如数学运算、控制结构等。
五、LabVIEW编程基础1. 数据流图:LabVIEW的编程模型基于数据流图,程序通过连续的数据流传递来实现功能;2. 程序结构:LabVIEW提供了各种结构化编程元素,如循环结构、条件结构等,用于控制程序流程和实现条件判断;3. 变量和数据类型:LabVIEW支持多种数据类型,如数值、字符串、数组等,变量用于存储和处理数据;4. VI(Virtual Instrument):VI是LabVIEW程序的基本单元,包含了一个完整的功能模块。
基本操作1.创建调用子程序我们通过例子来说明如何创建一个VI。
练习1-1:建立一个测量温度和容积的VI,其中须调用一个仿真测量温度和容积的传感器子VI。
步骤如下:1.选择File»New,打开一个新的前面板窗口。
2.从Controls»Numeric中选择Tank放到前面板中。
3.在标签文本框中输入“容积”,然后在前面板中的其他任何位置单击一下。
4.把容器显示对象的显示范围设置为到。
a. 使用文本编辑工具(Text Edit Tool),双击容器坐标的标度,使它高亮显示。
b.在坐标中输入1000,再在前面板中的其他任何地方单击一下。
这时到之间的增量将被自动显示。
5.在容器旁配数据显示。
将鼠标移到容器上,点右键,在出现的快速菜单中选VisibleIterms»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 8.20 程序设计从入门到精通教学设计前言LabVIEW 是一种功能强大的可视化编程语言和开发环境,广泛应用于数据采集、控制系统、信号处理、测试与测量等领域。
本文主要介绍如何从入门到精通地学习和使用 LabVIEW 8.20。
LabVIEW 简介LabVIEW (Laboratory Virtual Instrument Engineering Workbench) 是美国国家仪器公司(National Instruments,简称 NI)开发的一种可视化编程语言和软件开发环境,用于实现数据采集、控制、信号处理、测试测量等应用。
LabVIEW 的主要特点是可视化编程,即通过图形化表示数据流程图(Flowchart)来完成程序的编写和调试。
且不需要编写代码,可以直接使用已经开发好的模块和函数。
在 LabVIEW 中,数据流程图是由多个节点(Node)组成的,其中数据输入输出节点、函数节点和结构节点是最基本的节点类型。
通过将这些节点以特定的方式连接起来,可以形成一个完整的程序。
LabVIEW 8.20 程序设计教学设计入门课程设计针对没有编程基础的初学者,我们可以采用以下教学设计:1. 认识 LabVIEW介绍 LabVIEW 的概念、特点和应用领域,帮助学生掌握 LabVIEW 的背景知识。
2. 环境搭建详细介绍 LabVIEW 8.20 的软硬件安装和配置,帮助学生平稳地进入实践环节。
3. 应用案例讲解通过针对实际案例进行分析,来介绍 LabVIEW 程序的基本结构和数据流程图的组成方式。
4. 基础语法学习通过讲解数据类型、变量、常量、运算符等基本语法,帮助学生掌握 LabVIEW 的基础语法。
5. 实际应用创建小程序,如计算器等,帮助学生综合了解和应用基本语法,加深对LabVIEW 的认识。
进阶课程设计对于有一定编程基础的学生,我们可以采用以下教学设计:1. 功能模块详细介绍介绍常用功能模块的使用方法,如仪表控制、图形化显示、数据处理等,帮助学生了解这些模块的基本原理和应用场景。
LabVIEW使用指南从入门到精通LabVIEW使用指南:从入门到精通LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种图形化编程语言和开发环境,用于快速创建数据采集、仪器控制和实时数据处理应用程序。
它被广泛应用于科学实验室、工业自动化以及教育领域。
本文将从入门到精通,为您提供LabVIEW的使用指南。
一、LabVIEW入门1. 安装LabVIEW软件在官方网站下载并安装LabVIEW软件。
根据自己的操作系统选择相应的版本,并按照安装向导进行完成。
2. 熟悉LabVIEW界面打开LabVIEW软件后,您将看到一个图形化的编程界面。
界面中包含了工具栏、项目资源、前面板和块图等各个部分。
熟悉这些部分的作用和使用方法,是学习LabVIEW的第一步。
3. 创建并运行第一个程序在LabVIEW中,程序由前面板(Front Panel)和块图(Block Diagram)组成。
前面板是用户界面,用于显示和控制程序,而块图是程序的实际运行部分。
通过拖拽控件和连接线,您可以在前面板和块图中进行图形化的编程。
尝试创建一个简单的程序,并通过点击“运行”按钮来运行它。
这将帮助您了解LabVIEW的基本工作原理。
二、LabVIEW基础1. 数据类型和变量LabVIEW支持多种数据类型,例如数字、字符串、布尔值等。
了解这些数据类型的特点和使用方法,能够帮助您更好地处理数据。
在LabVIEW中,使用变量来存储和处理数据。
变量是一种命名的存储位置,用于存储特定类型的数据。
学会如何创建和使用变量,是掌握LabVIEW基础的重要一步。
2. 控制结构控制结构是LabVIEW中用于控制程序流程的重要组成部分。
常用的控制结构有循环结构、条件结构和事件结构等。
了解这些控制结构的使用方法,能够帮助您实现复杂的程序逻辑。
3. 数据采集与仪器控制LabVIEW具有强大的数据采集和仪器控制功能。
LabVIEW与Microsoft的链接 第 14 章Word Insert Field VI:向当前文档添加自由数据。
该VI可以在文档末尾添加,或者通过书签来设置添加的位置,如图14-32(a)所示。
通过该VI可以向文档中添加时间、日期、用户名或者其他任意数据。
Word Set Paper Size VI:设置当前文档的页面大小,如图14-32(b)所示。
设置页面大小时,要首先确认打印机支持所设置的页面大小模式。
图14-32(a) Word Insert Field.vi 图14-32(b) Word Set Paper Size.viWord Send Document VI:通过email将当前文档发送给收件人。
只要设置好Microsoft Outlook为默认的email应用服务器,就可以充分利用该VI来发送文档,如图14-33所示。
若没有设置Outlook,运行该VI将给Outlook发件箱发送一个消息,但是没有发送给发件人。
若电脑上没有安装Outlook,将返回一个错误。
Word Constants函数子选板:为Word报表格式的常量设置,如图14-34所示。
这些常量可以和Word报表的其他函数一起使用,可以更加方便地设置报表的属性。
Word Macros函数子选板:为Word运行宏命令,如图14-35所示。
图14-33 Word Send Document.vi 图14-34 Word Constant 图14-35 Word Macros函数子选板函数子选板14.1.3 报表函数——Excel与Word报表类似,Report Generation工具包安装后,也会生成一个专门的Excel函数子选板,如图14-36所示。
LabVIEW为用户提供的文件输入/输出子选板的保存有很多限制功能,无法对Excel的具体功能进行扩展编程,因此这些函数的提供将使得Excel报表更加美观。
Excel Easy Title VI:给Excel报表添加标题。
LabVIEW虚拟仪器程序设计从入门到精通
前面板主要由输入控件和输出显示器组成。
输入控件模拟典型的输入对象,比如仪表盘、旋钮和开关等。
控件的作用是输入数据,向VI的程序框图提供数据。
输出显示器是程序框图经过运行处理后产生的输出数据信息。
更为形象地说,前面板类似用户接口。
新建VI前面板会出现一个小小的控件窗口,如图3-2所示。
若不小心关闭了控件窗口,可以在VI前面板的查看菜单栏的控件选板中重新打开。
从控件窗口中选定控件或显示器,放置到前面板,如图3-3所示,根据程序的需要,可调整控件大小、颜色、位置等属性。
图3-2 控件窗口图3-3 将控件放置到前面板
3.1.2 程序框图
程序框图表示LabVIEW的程序代码,即可执行代码。
程序框图主要由3个部件组成:端子、节点和连线。
图3-4所示为两个数相加的程序,程序框图看起来非常直观,而且很容易操作。
图3-4 两个数相加的程序
编写图3-4所示的程序需要经过以下几个步骤。
●从前面板控件窗口的新式>>数值子选项卡中选择数值输入控件放入前面板,打开程序框
图,可以看到LabVIEW自动在框图中创建了对应的端子“数值”,再创建“数值2”。
从数值子选项卡中选择数值显示控件放入前面板,在程序框图中会创建对应的端子“数值3”。
●从程序框图的函数选项卡函数>>数值子选项卡中选择加函数,放入程序框图中,将“数值”
与“数值2”与加函数的输入点相连,“数值3”与加函数的输出点连接。
●保存该函数为add.vi。
26。
LabVIEW的编辑环境 第 3 章按照下列步骤,可改变对象的颜色,前面板或程序框图工作区的背景颜色。
●用上色工具右键单击对象或工作区,显示颜色选择器。
如已启用自动工具选择功能,从工具选板中选择上色工具以禁用自动工具选择。
颜色选择器顶部的灰度谱,用于创建透明对象;第2个色谱的颜色较为柔和,适用于背景及前面板对象;第3个色谱的颜色适用于对象的高亮突出显示。
颜色盒的第1行是用户定义的颜色,颜色盒的第2行是最近选中的颜色和系统颜色。
用户可将前面板的外观设置为与运行该VI的计算机的系统颜色一致。
系统颜色是3组颜色,每组均包含一个背景颜色和一个文本颜色。
还有前面板和对象、窗口以及菜单高亮显示的颜色。
颜色选择器底部的颜色盒显示了当前选中的颜色。
对于既有前景色又有背景色的对象而言,该颜色盒的左半侧显示前景色,右半侧显示背景色。
●用光标在颜色选择器中浏览并选择颜色,选中颜色后可预览对象或背景使用该颜色的效果。
光标移到某一颜色上时,LabVIEW会在颜色选择器底部显示颜色的RGB值。
●如果对象有前景色和背景色,按<F>键可选中并设置前景色,按<B>键可选中并设置背景色,按空格键可在前景色和背景色之间切换。
●(可选)单击颜色选择器右下角的更多颜色按钮,可通过操作系统的颜色工具选择一种颜色。
●单击颜色,将其应用于对象或背景。
按<Esc>键可取消上色操作。
3.3.2 控件选板控件选板用于显示控件和显示器的一个浮动选板,它只在前面板显示。
在控件选板的顶层按照不同的类型归为若干个子选板。
控件选板又分为许多类,如新式、系统、经典等,如图3-42所示。
单击这些分类,可以展开或者关闭。
1.查看按下控件选板的“查看”按钮,选择“查看本选板”,可以查看类别(标准)、类别(图标和文本)、图标、图标和文本、文本、树形等。
其中LabVIEW默认以类别(图标和文本)方式显示,如图3-43所示。
图3-42 控件选板图3-43 查看菜单类别(标准):默认的查看格式。
数据表达 第 4 章
簇至数组转换.vi:将相同数据类型元素组成的簇转换为数据类型相同的一维数组。
如图4-63所示。
数组至簇转换.vi:将一维数组转换为簇,簇元素和一维数组元素的类型相同。
右键单击该函数,从弹出的快捷菜单中选择“簇大小”,可以设置簇中元素的数量,默认值为9。
该函数最大的簇可包含256个元素。
如要在前面板簇显示控件中显示相同类型的元素,但又要在程序框图上按照元素的索引值对元素进行操作,则可使用该函数,如图4-64所示。
图4-63 簇至数组转换函数图标图4-64 数组至簇转换函数图标
一些比较函数在比较数组与簇的数据时有两种模式:比较元素模式和比较集合模式。
可在比较节点的弹出菜单的比较模式子菜单中选择程序所需要的模式,如图4-65所示。
图4-65 簇的比较模式
在比较集合模式下,比较函数返回集合整体比较后的布尔值,当且仅当所有元素的比较结果都为真时返回值才是真。
在比较元素模式下,返回一个布尔型的数组或簇,里面的数据是基于每个元素的比较结果,如图4-66和图4-67所示。
图4-66 两个簇比较元素的结果图4-67 两个簇比较集合的结果
4.4.3 错误簇
在前面簇的例子中,我们都采用了错误簇来做例子。
在LabVIEW中,错误簇是一个很特殊的数据类型,用来传送LabVIEW代码运行产生的错误信息,图4-68所示为错误簇的控件图。
69。
213
文件输入输出 第 9 章
图9-32 写入键函数应用例子
注:“写入键”函数当键值为字符串时,有个特殊的输入布尔参数“写入原始字符串?”输入为False 。
图9-33所示为“读取键”函数应用例子。
图9-33 读取键函数应用例子
“读取键”函数例子与“写入键”函数例子相互对应,比较容易理解,这里不再赘述。
9.4 TDMS 文件操作
TDMS 流函数子选板如图9-34所示。
TDMS 获取属性
TDMS 写入
TDMS
读取
关闭 列出内容 TDMS TDMS 刷新 文件查看器 碎片整理
图9-34 TDMS 流函数子选板
TDMS 打开函数:打开用于读写操作的.tdms 文件。
该VI 也可用于创建新文件或替换现有文件,如图9-35(a)所示。
167同步数据传递 第 7 章
销毁集合点
等待集合点
创建集合点
图7-32 集合点函数子选板
创建集合点函数:查找现有的集合点或创建新的集合点并返回引用句柄。
可使用返回的引用句柄调用其他集合点VI ,如图7-33(a)所示。
销毁集合点函数:销毁指定的集合点。
所有正在当前集合点上等待的“等待集合点”VI
随即超时并返回错误,如图7-33(b)所示。
图7-33(a) 创建集合点函数 图7-33 (b) 销毁集合点函数 等待集合点函数:等待直到足够数量的任务达到集合点,如图
7-34(a)所示。
获取集合点状态函数:返回集合点的当前状态信息,如图7-34(b)所示。
图7-34(a) 等待集合点函数 图7-34 (b) 获取集合点状态函数 调整集合点大小函数:通过大小变化改变集合点的大小并返回新的大小,如图7-35(a)所示。
非法集合点函数:如集合点不是合法的集合点引用句柄,则返回True ,如图
7-35(b)所示。
图7-35(a) 调整集合点大小函数 图7-35 (b) 非法集合点函数 7.6.2 集合点操作典型实例
下面例子为集合点的一个典型应用,通过该例子很容易理解集合点用于在单独的循环间同步并行任务。
图7-36所示为带集合点操作函数的主VI 。
步骤如下。
● “创建集合点”函数创建新的集合点并返回该集合点的引用,“大小”输入为3,即继续执行前需到
达集合点的任务数量为3。
● 集合点的引用传输给3个子VI 。
● 利用一个空循环来控制程序的流程,当布尔按钮按下之后,程序停止循环,集合点的引用和错
误状态数据流继续往后流动。
355总线技术 第 20 章图20-18 不使用驱动程序对GPIB 仪器进行读写20.3 串口总线20.3.1 串口总线定义1.串口总线串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus 或者USB 混淆)。
大多数计算机包含两个基于RS232的串口。
串口同时也是仪器仪表设备通用的通信协议,很多GPIB 兼容的设备也带有RS-232口。
同时,串口通信协议也可以用于获取远程采集设备的数据。
串口通信的概念非常简单,串口按位(bit )发送和接收字节。
尽管比按字节(byte )的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。
它很简单并且能够实现远距离通信。
比如IEEE488定义并行通行状态时,规定设备线总长不得超过20m ,并且任意两个设备间的长度不得超过2m ;而对于串口而言,长度可达1200m 。
典型的串口用于ASCII 码字符的传输。
通信使用3根线完成:(1)地线;(2)发送;(3)接收。
由于串口通信是异步的,因此端口能够在一根线上发送数据的同时,在另一根线上接收数据。
其他线用于握手,但是不是必需的。
串口通信最重要的参数是波特率、数据位、停止位和奇偶校验等。
对于两个进行通信的端口,下面几个参数必须匹配。
● 波特率:这是一个衡量通信速度的参数,它表示每秒钟传送的bit 的个数。
例如300波特表示每秒钟发送300个bit 。
当提到时钟周期时,就是指波特率。
例如协议需要4800波特率,那么时钟就是4800Hz ,这意味着串口通信在数据线上的采样率为4800Hz 。
通常电话线的波特率为14400、28800和36600。
波特率可以远远大于这些值,但是波特率和距离成反比。
高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB 设备的通信。
● 数据位:这是衡量通信中实际数据位的参数。
当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。
人民邮电出版社
1局部变量:1.层叠式顺序结构中,对于不同帧之间传递数据利用数据局部变量;2当一个控件既作为输入控件,又作为输出控件的时候利用局部变量;3在不同循环体之间的数据传递。
2全局变量:在不同的VI之间传递数据,但是对于内存资源的占用很大;
3共享变量:在不同的计算机或者网络之间共享。
4顺序结构强制破坏了LabView从左到右的数据流编程习惯,在平铺式结构中可以做到从右到左。
顺序结构破坏了LabView的优点之一:并行运行机制,因此一般不太提倡。
5那么程序中需要利用顺序执行程序的时候我们一般认为控制数据依存关系,此时,是通过数据的到达而不是数据的值来触发新结构对象的执行,数据的接收对象不一定需要该数据的值。
事件结构
事件结构是一个非常强大的功能,为事件驱动,可用于编写等待事件发生的高效代码,代替循环检测事件是否发生的低效代码。
对比条件结构和事件结构,在条件结构中,系统采用轮询的方式来检测“单击”按钮是否发生,但是在事件结构的技术过程中,只有单击按钮被按下以后触发,才执行一次循环。
因此,事件结构在执行前面板UI接口事件具有很强大的优越性。
事件结构的建议:
●避免在循环外使用事件结构;
●在“值”改变事件分支中读取触发布尔控件的接线端;
●条件结构用于处理触发布尔操作的撤销操作;
●不要使用不同的事件数据将一个分支配置为处理多个过滤事件;
●避免一个事件分支中同时使用对话框和“鼠标按下?”过滤事件;
●避免在一个循环中放置两个事件结构。
利用公式节点可以有效简化数值中的公式的繁琐结构。
禁用结构一般用于系统调试,避免程序在编辑中不停的删除、复制和修改中产生不必要的错误。