您好,欢迎访问三七文档
第7章数据运算与程序运算7.1数据运算7.1.1数值函数选择“数学”→“数值”,“数值”子选板,在该面板中包括基本的几何运算函数、数组几何运算函数,不同类型的数值常量等,另外,含包括6个带子选板的选项。1.转换2.数据操作3.复数4.缩放5.定点6.数学与科学“数学”子选板“数值”子选板“转换”子选板数据操作“复数”子选板“缩放”子选板“定点”子选板“数学与科学常量”子选板7.1.2函数快捷命令1.显示项2.断点3.数值/字符串转换选板4.字符串选板5.创建6.替换7.属性快捷菜单属性设置对话框7.1.3课堂练习——创建数组(1)放置For循环,VI可预先确定数组的大小,基于连接到N接线端的值。(2)放置“随机数”函数,创建数组参数值。for循环中自动索引的使用7.2初等与特殊函数和VI初等与特殊函数和VI用于常见数学函数的运算,选择“数学”→“初等与特殊函数”,打开“初等与特殊函数”子选板,在该面板中用于常见数学函数的运算。7.3数组函数“初等与特殊函数”子选板对于一个数组可进行很多操作,比如求数组的长度、对数组进行排序、查找数组中的某一元素、替换数组中的元素等等。传统的编程语言主要依靠各种数组函数来实现这些运算,而在LabVIEW中,这些函数是以功能函数节点的形式来表现的。LabVIEW中用于处理数组数据的函数选板中的数组子选板中,如图7-15所示。用于处理数组的函数7.3.1数组大小“数组大小”函数的节点图标,数组大小函数返回输入数组的元素个数,节点的输入为一个n维数组,输出为该数组各维包含元素的个数。当n=1时,节点的输出为一个标量。当n1时,节点的输出为一个一维数组,数组的每个元素对应输入数组中每一维的长度。分别求出一个一维数组和一个二维数组的长度。数组大小函数的图标和端口数组大小函数使用的程序框图显示数组大小函数使用的程序框图显示7.3.2创建数组“创建数组”函数的节点图标及端口定义。创建数组函数用于合并多个数组或给数组添加元素。函数有两种类型的输入:标量和数组,因此函数可以接受数组和单值元素输入,节点将从左侧端口输入的元素或数组按从上到下的顺序组成一个新数组。使用创建数组函数创建一个一维数组。创建数组函数的图标和端口使用创建数组函数创建一维数组使用创建数组函数创建二维数组的程序框使用创建数组函数创建二维数组的前面板7.3.3课堂练习——产生随机波形输出一个随机函数产生的波形图,输出由每个采样点和其前三个点的平均值产生的波形图。波形图的使用7.3.4索引数组“索引数组”函数的节点图标及端口定义。索引数组用于访问数组的一个元素,使用输入索引指定要访问的数组元素,第n个元素的索引号是n-1,索引号是2,索引到的是第3个元素。索引数组函数的图标和端口一维数组的索引多维数组的索引的程序框图多维数组索引的前面板7.3.5初始化数组“初始化数组”函数的节点图标及端口定义。初始化数组函数的功能是为了创建n维数组,数组维数由函数左侧的维数大小端口的个数决定。创建之后每个元素的值都与输入到元素端口的值相同。函数刚放在程序框图上时,只有一个维数大小输入端子,此时创建的是指定大小的一维数组。此时可以通过拖拉下边缘或在维数大小端口的右键弹出的选单中选择添加维度,来添加维数大小端口。初始化数组的图标和端口添加数组大小端口数组的初始化7.3.6课堂练习——创建新数组创建一个VI,通过调用“创建数组”函数来连接新的数组元素。创建数组7.4循环结构函数7.4.1For循环For循环位于“函数选板”→“编程”→“结构”的子选板中,For循环并不立即出现,而是以表示For循环的小图标出现,用户可以从中拖拽出放在程序框图上,自行调整大小和定位于适当位置。For循环的输入端与输出端判定大数和小数的程序框图判断大数和小数的前面板在For循环配置循环并行For循环并行迭代对话框配置循环并行For循环的输入端与输出端查找可并行的循环查找可并行的循环对话框7.4.2移位寄存器移位寄存器是LabVIEW的循环结构中的一个附加对象,也是一个非常重要的方面,其功能是把当前循环完成时的某个数据传递给下一个循环开始。移位寄存器的添加可以通过在循环结构的左边框或右边框上弹出的快捷键获得,在其中选择添加移位寄存器,在For循环中添加移位寄存器。在For循环中添加移位寄存器添加了移位寄存器的程序框图计算1+2+3+4+5的值不添加移位寄存器的结果计算0~99中偶数的和移位寄存器不赋初值的情况计算等差数列的乘积层叠移位寄存器层叠移位寄存器的使用7.4.3课堂练习——创建Y曲线求稳定状态时的曲线。程序框图和前面板7.4.4While循环While循环位于“函数选板”→“编程”→“结构”的子选板中,同For循环类似,While循环也需要自行拖动来调整大小和定位适当的位置。同For循环不同的是While循环无须指定循环的次数,当且仅当满足循环退出条件时,才退出循环,所以当用户不知道循环要运行的次数时,While循环就显得很重要。While循环的输入端和输出端条件为真时停止执行或执行For循环的自动索引处于死循环状态的While循环添加了布尔控件的While循环7.4.5反馈节点反馈节点和只有一个左端子的移位寄存器的功能相同,同样用于在两次循环之间传输数据。循环中一旦连线构成反馈,就会自动出现反馈节点箭头和初始化端子。使用反馈节点需注意其在选项板上的位置,若在分支连接到数据输入端的连线之前把反馈节点放在连线上,则反馈节点把每个值都传递给数据输入端;若在分支连接到数据输入端的连线之后把反馈节点放到连线上,反馈节点把每个值都传回VI或函数的输入,并把最新的值传递给数据输入端。使用带移位寄存器的For循环求出n!使用带反馈节点的For循环求出n!使用带移位寄存器的While循环求出nn!的输出结果7.4.6课堂练习——计算平方和计算n个数据的平方和。程序框图前面板显示7.4.7变量变量根据方法、左用不同,分为局部变量和全局变量。创建局部变量方法创建全局变量方法一创建全局变量方法二使用全局变量7.4.8课堂练习——全局变量的控制全局变量的建立第一个子程序框图第二个子程序框图前面板显示7.5其他循环结构函数在LabVIEW中,除常用的For循环和While循环外,还包括条件结构、顺序结构等,这里我们简单介绍这些循环结构。7.5.1条件结构条件结构选择标签的输入7.5.2顺序结构虽然数据流编程为用户带来了很多方便,但也在某些方面存在不足。如果LabVIEW框图程序中有两个节点同时满足节点执行的条件,那么这两个节点就会同时执行。但是若编程时要求这两个节点按一定的先后顺序执行,那么数据流编程是无法满足要求的,这时就必须使用顺序结构来明确执行次序。平铺式顺序结构转换为层叠式顺序结构图7-73改变各框架的顺序平铺式顺序结构使用平铺式顺序结构的程序框图层叠式顺序结构第0帧第1帧第2帧程序框图7.5.3课堂练习——计算时间差输入一个0~10000的整数,测量机器需要多少时间才能产生与之相同的数。程序框图的第0帧程序框图的第1帧前面板计算时间的程序框图7.5.4事件结构在讲解事件结构前,先介绍一下事件的有关内容。首先,什么是事件?事件是对活动发生的异步通知。事件可以来自于用户界面、外部I/O或程序的其他部分。事件结构框图创建编辑事件对话框编辑事件对话框过滤事件通知事件7.5.5公式节点由于一些复杂的算法完全依赖图形代码实现会过于繁琐。为此,在LabVIEW中还包含了以文本编程的形式实现程序逻辑的公式节点添加输入添加输出7.5.6课堂练习——四则运算输入x的值,求得相应的y,z的值,其中y=x3+6,z=5y+x。公式节点的使用公式节点与C语言的结合使用构建波形的程序框构建波形的前面板显示7.5.7属性节点属性节点可以实时改变前面板对象的颜色、大小和是否可见等属性,从而达到最佳的人机交互效果。通过改变前面板对象的属性值,可以在程序运动中动态的改变前面板对象的属性。1.键选中属性2.禁用属性3.可见属性4.闪烁属性属性节点的建立创建多个属性节点方法一键选中属性创建多个属性节点方法二禁用属性可见属性设置闪烁速度7.6课堂案例——公务卡管理系统本例主要利用“属性节点”调整控件颜色属性,前面板更形象直观。同时,VI属性的应用使运行过程中前面板显示更生动。1.设置工作环境2.添加控件3.设计程序框图4.修饰前面板5.设置VI属性6.运行程序添加控件显示程序框图控件名称修改结果程序框图显示程序框图调整前面板设置窗口位置选择窗口外观设置窗口外观运行结果7.7课后习题1.LabVIEW支持的数据类型有几种?2.数组与数值有什么区别?3.For循环与While循环有什么区别?4.For循环与While循环可以相互嵌套吗?5.输入随机数,计算四则运算y=(x×10+9)÷6。6.创建6×6的数组。7.创建一个包含10个随机数的一维数组,将该数组的元素组合,生成新的数组并输出。8.创建一个随机数组成的波形图,其中,随机数大于10亮红灯,小于5亮绿灯。9.创建一个VI,用于读取二维数组所有的数据。
本文标题:数据运算与程序运算
链接地址:https://www.777doc.com/doc-6398302 .html