数组(labview系列教程之七)
Labview数组
创建多维数组首先要在一维数组基础上修改维数。
修改数组维数通常有以下几种方法。
(1)改变索引框大小来增减维数。
将光标移至索引号四周,出现改变大小的箭头,单击鼠标拖动箭头改变索引号框的大小和索引号的个数。
索引号的个数就代表数组的维数,如图1所示为拖出了两个索引号,成为二维数组,然后再改变元素区域大小以显示出二维数组。
图1 改变索引号大小以创建二维数组(2)通过索引号的右键快捷菜单选项“添加维度”来增加数组的维数,通过选项“删除维度”来减少数组的维数,如图2所示。
(3)选择数组的右键快捷菜单选项“属性”,在弹出的属性对话框中改变数组的维数,如图3所示,在对话框“外观〃选项卡左下方的“维”数字框中即可设置维数。
图2 通过索引号的右键快捷菜单选项增减维数图3 数组属性对话框在前面板窗口中,可以创建上述输入控件数组,也可以创建显示控件数组。
在添加元素时选择添加显示控件即可创建显示控件数组。
在程序框图窗口中可以创建数组常量。
在程序框图函数选板中选择“编程-数组→数组常量”置于程序框图窗口中,出现如图4所示数组常量框架。
数组常量框架类似于前面板数组框架,包括索引号和元素区域。
创建数组常量的过程与创建输入控件数组类似,设置显示的元素和增减维数的方法也相同。
首先在数组常量框架中然后设置数组元素,操作过程如图5 所示。
图4 数组常量框架图5创建数值型数组常量首先要说明一下,LabVIEW中其实并没有明确的赋值的概念,他和传统的文本编程语言的思路不一样,是数据流驱动的编程。
在一般的文本编程语言里,定义二维数组变量的时候只是开辟了一块内存空间,里面是空的,所以要有赋值的过程;而LabVIEW中内存不需要手动分配,其后台有自动管理内存的机制,出现新的二维数组的时候,不需要变量定义,直接分配内存空间,然后就把数据存进去了。
如果硬要说有什么“赋值”的概念的话,LabVIEW中倒是有几种常见的类似于“赋值”的操作。
1.在二维数组控件的前面板里直接填入数值这个最简单,不用多说想必你也明白,手动填数。
LabVIEW 2014 基础实例教程 (7)
创建全局变量方法二
使用全局变量
7.4.8 课堂练习——全局变量的控制
全局变量的建立
第一个子程序框图
第二个子程序框图
前面板显示
7.5 其他循环结构函数
在LabVIEW中,除常用的For循环和While循环外,好包括条件结构、顺序结 构等,这里我们简单介绍这些循环结构。
7.5.1 条件结构
条件结构
选择标签的输入
“初始化数组”函数的节点图标及端口定义。初始化数组函数的功能是为了创 建n维数组,数组维数由函数左侧的维数大小端口的个数决定。创建之后每个元素
的值都与输入到元素端口的值相同。函数刚放在程序框图上时,只有一个维数大小
输入端子,此时创建的是指定大小的一维数组。此时可以通过拖拉下边缘或在维数 大小端口的右键弹出的选单中选择添加维度,来添加维数大小端口。
计算1+2+3+4+5的值
在For循环中添加移位寄存器
添加了移位寄存器的程序框图 不添加移位寄存器的结果
计算0~99中偶数的和
移位寄存器不赋初值的情况
计算等差数列的乘积
层叠移位寄存器
层叠移位寄存器的使用
7.4.3 课堂练习——创建Y曲线
求稳定状态时的曲线。
7.4.4 While循环
While循环位于“函数选板”→“编程
中还包含了以文本编程的形式实现程序逻辑的公式节点
添加输入
添加输出
7.5.6 课堂练习——四则运算
输入x的值,求得相应的y,z的值,其中y=x3+6,z=5y+x。
公式节点的使用
公式节点与C语言的结合使用
构建波形的程序框 构建波形的前面板显示
7.5.7 属性节点
labview完整教程详细解答
第一讲:认识Labview1.1 Labview 简介在开始菜单里找见NI Labview7.1 点击打开,会出现如下界面:从File>>New VI 或者从右半部分中的New>>Blank VI 都可以打开如下界面:上图中前图是虚拟仪器的前面板,是用户使用的人机界面,后面的是程序框图界面(即后面板)。
在LabVIEW的用户界面上,应特别注意它提供的操作模板,包括工具(Tools)模板、控制(Controls)模板和函数(Functions)模板。
这些模板集中反映了该软件的功能与特征。
下面我们来大致浏览一下。
工具模板(Tools Palette)该模板提供了各种用于创建、修改和调试VI程序的工具。
如果该模板没有出现,则可以在Windows菜单下选择Show ToolsPalette命令以显示该模板。
当从模板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状。
当从Windows菜单下选择了Show Help Window功能后,把工具模板内选定的任一种工具光标放在流程图程序的子程序(Sub VI)或图标上,就会显示相应的帮助信息。
工具图标有如下几种:图标名称功能1Operate Value(操作值)用于操作前面板的控制和显示。
使用它向数字或字符串控制中键入值时,工具会变成标签工具2Position/Size/Select (选择)用于选择、移动或改变对象的大小。
当它用于改变对象的连框大小时,会变成相应形状。
3Edit Text(编辑文本)用于输入标签文本或者创建自由标签。
当创建自由标签时它会变成相应形状。
4Connect Wire(连线)用于在流程图程序上连接对象。
如果联机帮助的窗口被打开时,把该工具放在任一条连线上,就会显示相应的数据类型。
5ObjectShortcut Menu(对象菜单)用鼠标左键可以弹出对象的弹出式菜单。
6ScrollWindows(窗口漫游)使用该工具就可以不需要使用滚动条而在窗口中漫游。
lABVIEW关于数据类型的编辑:数组、簇和波形
数据类型:数组、簇和波形.1概述数组是同类型元素的集合。
一个数组可以是一维或者多维,如果必要,每维最多可有231-1个元素。
可以通过数组索引访问其中的每个元素。
索引的范围是0到n – 1,其中n是数组中元素的个数。
图3-1所显示的是由数值构成的一维数组。
注意第一个元素的索引号为0,第二个是1,依此类推。
数组的元素可以是数据、字符串等,但所有元素的数据类型必须一致。
图3-1数组示意图簇(Cluster)是另一种数据类型,它的元素可以是不同类型的数据。
它类似于C语言中的stuct。
使用簇可以把分布在流程图中各个位置的数据元素组合起来,这样可以减少连线的拥挤程度。
减少子VI的连接端子的数量。
波形(Waveform)可以理解为一种簇的变形,它不能算是一种有普遍意义的数据类型,但非常实用。
3.2数组的创建及自动索引3.2.1创建数组一般说来,创建一个数组有两件事要做,首先要建一个数组的“壳”(shell),然后在这个壳中置入数组元素(如果需要用一个数组作为程序的数据源,可以选择Functions»Array»Array Constant,将它放置在流程图中。
然后再在数组框中放置数值常量、布尔数还是字符串常量。
下图显示了在数组框放入字符串常量数组的例子。
左边是一个数组壳,中间的图上已经置入了字符串元素,右边的图反映了数组的第0个元素为:”ABC”,后两个元素均为空。
图3-1数组的创建在前面板中创建数组的方法是,从Controls模板中选择Array & Cluster,把数组放置在前面板中,然后选择一个对象(例如数值常量)插入到数组框中。
这样就创建了一个数值数组。
也可以直接在前面板中创建数组和相应的控制对象,然它们复制或者拖曳到流程图中,创建对应的常数。
还有很多在流程图中创建和初始化数组的方法,有些功能函数也可以生成数组。
3.2.2数组控制对象、常数对象和显示对象通过把数组与数值、布尔数、字符串或者簇组合在一起,可以在前面板和流程图中创建任何一种控制对象、常数对象和显示对象。
LABVIEW数组讲义.pptx
Array 计算
Add element by element Multiply element by element
统一 X 轴 - initial X = 0.0, delta X = 1.0 统一 X 轴 – 定义点间距
Multiple-Plot Waveform Graphs
每行分别显示 (initial X = 0, delta X = 1)
每行分别显示(Bundle 定义 X 轴增量)
• Non-uniform X axis
Example: gp4_2.vi.
Arrays -数组操作
Build Array:
• array or element 可以是 n-dimensional array 或scalar element. All inputs must be either elements and 1D arrays or n-dimensional and (n-1)-dimensional arrays. 所有的输入必须是相同的数据类型. • appended array 是建立的数组.
rows index columns index
index display 索引的是左上角单元(cell)内的元素
Arrays –数组控件 3-维数组:
rows
page index rows index columns index
columns pages
Arrays –数组控件 4-维数组:
...
• 4、All that you do, do with your might; things done by halves are never done right. ----R.H. Stoddard, American poet做一切事都应尽力而为,半途而废永远不行 8.5.20208.5.202011:0311:0311:03:1011:03:10
LabVIEW(十):数组和簇
LabVIEW(⼗):数组和簇★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★⼀、数组1、创建数组(1)、前⾯板右键>“数组、矩阵与簇”>数组。
(2)、前⾯板右键>(选择要添加的数组数据类型,⽐如创建数值数组)数值>将“数值输⼊控件”拖⼊数组中。
(3)、选中数组右键>表⽰法>”DBL(双精度)”或“I32(长整型)”等,根据需要修改。
2、查看数组⼤⼩:(前⽂已有赘述)选中索引框右键>⾼级>显⽰最后元素3、改变数组的维度选中索引框>“添加维度”或“删除维度”4、数组的初始化将数组的“数值输⼊控件”往下拖拉以显⽰更多元素,在输⼊控件中填⼊数值。
初始化完毕。
5、“数组⼤⼩”函数:返回数组每个维度中元素的个数程序框图右键>数组>数组⼤⼩>为“数组⼤⼩”创建显⽰控件>连接需要获得数组⼤⼩的数组。
6、“创建数组”函数:连接多个数组或向N维数组添加元素。
(1)、程序框图右键>数组>创建数组(2)、将“创建数组”向上/下拖动可显⽰更多输⼊端。
也即:选中“创建数组”右键>”添加输⼊”或”删除输⼊”。
(3)、可输⼊单个“数值输⼊控件”(在前⾯板中添加),也可以输⼊数组。
7、添加的数组:“创建数组”创建的显⽰控件。
(1)、选中“创建数组”右键>(勾选)连接输⼊:两个N维的数组连接之后仍是N维数组。
(2)、选中“创建数组”右键>(未勾选)连接输⼊:两个N维的数组连接之后是2N维数组。
8、“数组插⼊”函数:在n维数组中索引指定的位置插⼊元素或⼦数组。
(1)、程序框图右键>数组>数组插⼊。
(2)、将“数组插⼊”向上/下拖动可显⽰更多输⼊端。
但不像创建数组那样有快捷菜单。
(3)、要添加索引的位置:“数组插⼊”右键>创建>常量。
可省略此项,省略该项则添加到数组末尾。
LabVIEW中的数组操作函数
LabVIEW中的数组操作函数现在我们已经了解了中的的一些基本概念(包括了前面这几篇文章、、)。
在这篇文章里面我们接着讨论一下如何操作数组了。
在的Functions(函数)工具框的Programming>>Array子工具框中有很多操作数组的函数。
(我们在使用数组的时候要记住中的数组元素的索引是从0开始的,也就是说它的第一个元素的索引为0,第二个元素的索引为1,以此类推。
)我们将在这里讲解常用的数组操作函数,LabVIEW中数组函数的工具框如下图所示:初始化数组函数将创建并按照你设定的值来初始化N维数组。
通过将光标置于该函数最下方边框,出现拖动光标后向下拖动就可以为该数组增加维数。
该函数适用于为已知大小的数组分配内存或者是初始化数组类型数据的。
该函数如下图所示:数组大小函数会返回输入数组的元素的个数。
如果输入的数组为N维的多维数组,该函数就会返回有N个元素的一维数组,每个元素按顺序对应每维的元素的个数。
该函数如下图所示:创建数组函数(BuildArray)可以根据你的设置来将两个数组连接或合成为一个数组以及为现有数组添加新的元素。
当第一次将该函数放到LabVIEW的框图中的时候,该函数可能像下图左侧所示是个非常简单的图标。
你可以通过拖动该函数下边框的图标或者是通过在该函数上点击右键从右键菜单中选择AddInput来为该函数增加输入参数的个数,如下图右侧所示。
该函数可以有两种类型的输入:数组以及数组元素,该函数可以从数组以及单值的输入来组装一个新的数组。
创建数组函数的输入会根据你连接到输入端点的数据类型自动调整为元素类型或数组类型的输入。
在更高级的应用中,该函数还可以创建多维数组或者是为多维数组增加新的数组元素。
为多维数组增加元素时,该元素必须是比要增加的数组小一维的数组。
例如,为二维数组添加的新元素必须是一个一维数组。
也可以将多个一维数组作为元素连接到这个函数的输入端点上来创建一个新的二维数组,每个一维数组就成为这个二维数组的一行。
LabVIEW 7教程ppt课件
的资源管理器就是用树形控件来显示文件目录 的。
§1 字符串
表格控件举例
〔表格例如.vi〕
§1 字符串
3 字符串函数
§1 字符串
字符串函数举例
〔字符串函数例如.vi〕
§1 字符串
字符串函数举例
数据数组/电子表格字符串转换函数例如
§3 簇
error in 和error out簇
对于系统错误,code都有预先的定义,可 以通过选择Help->Explain Error…翻开错 误解释框来查找该错误代码的更详细的解释。
练习
利用簇模拟汽车控 制,如右图所示, 控制面板可以对显 示面板中的参量进 展控制。油门控制 转速,转速=油门 *100,档位控制时 速,时速=档位*40, 油量随VI运行时间 减少。
簇控件
常量簇§Βιβλιοθήκη 簇LabVIEW中使用簇可以为编程带来以下的便 ①利把。子程序框图中不同位置,不同数据类型的多个数
据攒在一起,减少了连线的混乱。 ② 子程序有多个不同数据类型的参数输入输出时,把
它们攒成一个簇可以减少连接板上端口的数量。
③ 某些控件和函数必需要簇这种数据类型的参数。
注意:簇的成员可以是任意的数据类型,但是必须同时 都是控制件或同时都是显示件。
〔字符串函数例如2.vi〕
§2 数组
数组:数组控件与数组函数
数组控件
§2 数组
1 数组控件
注意:可以是数字、字符、布尔量等数组!
§2 数组
数组之间的算术运算
LabVIEW一个非常大的优势就是它可以根据输入 数据的类型判断算子的运算方法,即自动实现多态
labview中数组的用法
LabVIEW中数组的用法一、引言LabVIEW是一种基于图形化编程语言的环境,常用于数据获取、处理和可视化等应用。
在LabVIEW中,数组是一种常见的数据结构,用于存储和操作一组相关的数据。
本文将详细介绍LabVIEW中数组的用法,包括如何创建数组、访问数组元素、对数组进行操作等。
二、创建数组在LabVIEW中,可以使用以下几种方式来创建一个数组:1.手动创建:可以手动创建一个空的数组,并逐个填充数组元素。
这种方式适用于知道数组元素个数和值的情况。
2.数组构造器:数组构造器是一个非常方便的创建数组的工具,可以选择数组的维数、大小和初始值。
这种方式适用于需要创建特定大小和初始值的数组。
3.循环创建:在循环结构中重复生成数组元素,并通过索引来填充数组。
这种方式适用于需要根据某种规律生成数组的情况。
通过上述方式创建的数组可以是一维、二维或多维的。
LabVIEW提供了丰富的工具和函数来操作这些数组。
三、访问数组元素在LabVIEW中,可以使用索引来访问数组中的元素。
数组的索引从0开始,依次递增。
例如,对于一个一维数组arr,可以使用arr[0]、arr[1]、arr[2]等来访问不同的元素。
对于多维数组,可以使用多个索引来访问元素。
例如,对于一个二维数组arr,可以使用arr[0][0]、arr[0][1]、arr[1][0]等来访问不同的元素。
LabVIEW还提供了一些便捷的函数来访问数组中的元素,例如使用索引数组来同时获取多个元素的值,或使用循环来访问整个数组等。
四、对数组进行操作在LabVIEW中,可以对数组进行各种操作,包括插入、删除、截取、排序等。
下面将介绍几种常用的数组操作方式:1.插入元素:可以使用插入函数向数组中插入一个或多个元素。
可以选择要插入元素的位置和值。
2.删除元素:可以使用删除函数从数组中删除一个或多个元素。
可以选择要删除元素的位置和数量。
3.截取数组:可以使用数组截取函数来截取数组的一部分。
虚拟仪器第七讲 数组和簇
13
用名称捆绑与分解簇
Bundle By Name和Unbundle By Name功能允
许根据元素的名称(而不是其位置)来查询元 素。 与Bundle不同,使用Bundle By Name可以访问 你需要的元素,但不能创建新簇; 它只能替换一个已经存在的簇的元素,同时你 必须给Bundle By Name图标中间的输入端子一 个输入,以申明要替换其元素的簇。 Unbundle可返回指定名称的簇元素,不必考虑 簇的序和大小。(演示,注意理解)
并且在另一个簇中显示其内容 前面板
Input Cluster Numeric 6.00 Boolean1 Boolean 2 Output Cluster Numeric 6.00 Boolean1 Boolean 2 stop STOP
String Tsinghua
String Tsinghua
有时你会发现,将数组变为簇(或者相反)很
方便。尤其是因为LabVIEW包括的关于数组的 操作功能多于簇。例如,前面板上有一个多按 钮的簇,你希望颠倒这些按钮值的序。 Reverse 1D Array功能正好可用,但是它仅可 用于数组。 你可以使用功能Cluster to Array将簇转换为数 组,使用Reverse 1D Array切换开关的值,最 后再利用Array to Claster 变换回簇。
21
10
练习簇
流程图
11
Bundle 函数的解释
12
用名称捆绑与分解簇
有时你并不需要汇集或分解整个簇,而
仅仅需要对其一、两个元素操作。 这时你可以用名称来捆绑与分解簇。 在Cluster 工具模板中除了Bundle及 Unbundle功能外,还提供有Bundle By Name和Unbundle By Name功能
第7章 LabView高级控件的运用
第7章高级控件的运用在设计应用程序显示界面时,简单的界面可以用基本控件构成,但是对复杂的程序而言,仅仅使用基本控件是远远不能满足界面显示需求的。
Labview除了提供常规的控件外,还提供了丰富的图形显示控件,用于显示测量数据。
7.1 列表框列表框是由一系列的项目组成的,每个项目都包括符号和文本。
其中,符号为图形显示,文本为字符显示。
列表框作为显示控件的时候比较多,比如用列表框显示一个文件夹中的所有文件名和图标。
列表框作为输入控件时,其主要用途则是提供用户选择多个项目,形成新的列表。
在前面板控件选板上找到列表、表格和树选板,即可找到列表框。
如图7-1所示。
7-1 列表框列表框可以通过右键快捷菜单的显示项选择是否显示滚动条、列首、水平行和符号等。
列表框控件内含的数据类型是I32,它本质是数值型控件。
列表框控件具有众多属性,对于不需要经常改动的属性,可以通过控件的快捷菜单设置。
需要动态设置的属性,则必须借助与属性节点来控制。
7.1.1 列表框应用实例1、列出文件夹中的所有文件及文件夹列出文件夹中的文件是列表框的典型应用之一。
使用“罗列文件夹”函数获取Labview 默认文件夹,即Labview.exe文件所在的文件夹下所有的文件和文件夹。
在函数选板中文件I/O→文件常量选择“默认目录”文件常量。
利用“罗列文件夹”(函数选板文件I/O→高级文件函数)将该目录下的所有文件和文件夹名称列表组成两个字符串数组。
将文件和文件夹名称的字符串数组串接成一个字符串数组输入到列表框的“项名”属性。
另外通过数组大小函数提取文件和文件夹的数量,并分别用文件和文件夹列表常量(函数选板对话框与用户界面→列表框符号下拉列表控件常量)初始化两个数组,并将两个数组进行连接输入到“项符号”属性。
运行程序在前面板列表框得到文件夹中所有文件和文件夹名称列表,如图7-2所示。
图7-2 列出文件夹中所有文件和文件夹2、列表框项目的添加与删除从列表框中选择合适的项目并组成新的列表,也是列表框典型的用法。
LABVIEW数组讲义.pptx
4D (5x2x3x4) array:
Example: gp4_1.vi. Note: 维数越多,连线越粗
Arrays -数组操作
Array Size: Long integer if array is 1D.
如果array是多维的则返回值是 1D array 数组元素代表相应空间(dimension)的值
Data Acquisition & Waveforms
仪器控制
循环及图表
VI 用户化
Arrays
Arrays
• 集合同类型数据
• 一维或多维, 每一维可多达 2 31-1(21亿)个元素
• 通过Index可查找某一元素
• index索引的起点是 0
index 0 1 2 3 4 5 6 7 8 9 10-element array 1.2 3.2 8.2 8.0 4.8 5.1 6.0 1.0 2.5 1.7
.
Graphs
• 从 Graph subpalette选择 • Waveform Graph – 输出一组数
• XY Graph
Plot Legend
(point and line styles)
Scale Legend
游标
游标坐标值 移动控制 游标显示控制
Single-Plot Waveform Graphs
• Auto-Indexing (自动索引)– 循环程
序在边界处累积数 组
• For 循环默认是自动 索引; While 循环不 是
Creating 2D Arrays
• 内循环建立 列元素 • 外循环是行元素
Arrays –数组控件
其它类型 12 34 56 2D array 0
虚拟仪器labview变量数组与簇.pptx
实验二 1.在程序的前面板上创建一个数值型控件,为 它输入一个数值;把这个数值乘以一个比例系数,
再由该控件显示出来。 2.生产一个正弦波,并显示在Chart波形控件上, 由另外一个程序把该波形显示出来。调节两个程 序运行的速度,观察对比两个波形的差异。 3.创建一个3行4列的数组,(1)求数组的最大与 最小值;(2)求出创建数组的大小;(3)将该数组 转置;(4)将该二维数组改为一个一维数组。 4.创建一个簇控件,成员为字符型姓名,数值 型学号,布尔型注册。从该控件中提取簇成员注
第46页/共59页
1.解包—Unbundle函数 用该节点可以获得簇中元素的值,注意:输出element
端口的个数必须与簇中元素的个数一致。
第47页/共59页
2.打包—Bundle函数 将相互关联的不同类型数据组成簇,或给簇的某个元素
赋值,注意:输入element端口的个数必须与簇中元素的 个数一致。
10.颠倒一维数组—Reverse 1D Array函数 将一维数组的元素前后颠倒。结合Sort 1D Array函
数,可实现降序排列。
第32页/共59页
11.转置二维数组—Transpose 2D Array函数 将二维数组进行转置输出。
第33页/共59页
12.搜索一维数组—Search 1D Array函数 搜索指定元素在一维数组中的位置。
转速在500-1000间变化。
第7页/共59页
4.1.3 本地变量的特点 1. 一个本地变量是其前面板对象的一个数据 拷贝,要占用一定内存,应控制其数量。 2. LabVIEW是一种并行处理语言,只要节点 输入有效,节点就会执行。当程序中有多个本
地变量时,要特别注意。 3. 本地变量只能在一个VI中使用。
虚拟仪器labview分组的数据.pptx
6. 索引与捆绑簇数组函数
第33页/共58页
4-2-3 簇函数
7.数组至簇转换函数和簇至数组转换函数
第34页/共58页
4-3 波形
4-3-1波形的概念波形类似于簇,但是它的元素的数量和类型是固定的。波形也很便于用图形显示控件来显示。波形的全部元素包括数据采集的起始时间t0、时间间隔dt、波形数据y和属性。波形数据y可能是一个数组也可能是一个数值。LabVIEW提供基本的波形操作函数位于“波形”函数子选板中;LabVIEW还提供大量高级波形分析函数,位于“信号处理”函数子选板中,包括波形生成、波形调理、波形测量3个子选板。
第27页/共58页
4-2-3 簇函数
1. 解除捆绑函数
第28页/共58页
4-2-3 簇函数
2. 捆绑函数
第29页/共58页
4-2-3 簇函数
3. 按名称解除捆绑函数
第30页/共58页
4-2-3 簇函数
4. 按名称捆绑函数
第31页/共58页
4-2-3 簇函数
5. 创建簇数组函数
第32页/共58页
4-1-3 数组函数
11.二维数组转置函数
第21页/共58页
4-1-3 数组函数
12.数组至矩阵转换和矩阵至数组转换
第22页/共58页
4-2 簇
4-2-1 簇的概念 簇把若干不同数据类型的元素组合在一起,类似于C语言中的结构体和Pascal语言中的记录。可以把簇想象成一束通讯电缆,电缆中每一根线就是簇中一个不同的数据元素。 使用簇可以为编程带来以下的便利。1. 把程序框图中不同位置、不同数据类型的多个数据捆绑在一起,减少了连线的混乱。2. 子程序有多个不同数据类型的参数输入输出时,把它们捆绑成一个簇可以减少连线板上接线端的数量。3. 某些控件和函数必须要簇这种类型的参数。
labview数组和簇的应用教程
:Document Type TutorialThis exercise is divided into parts. You are given the scenario for each part first. Refer to the end of this exercise for detailed implementation instructions for each part.1. Open the block diagram of the VI.In the following steps, you create a block diagram similar to the next figure.5. Iterate the Array.Add a to the right of the existing code.For LoopFor Loop For LoopAdd a second inside the first .array indicator For LoopWire the terminal to the interior border. This creates an auto-indexed input tunnel on both For Loops.1006. Multiply each element of the array by .Multiply For LoopAdd a function to the interior .x MultiplyWire the indexed input tunnel to the input of the function.Right-click the input and select from the shortcut menu.y Create»Constant100Enter in the constant.7. Round each element to the nearest whole number.Add a function to the right of the function.Round To Nearest MultipleMultiply Round To NearestWire the output of the function to the input of the function.8. Create a 2D array on the output of the For Loops to recreate the modified array.Wire the output of the function to the outer . This creates an auto-indexed output tunnel on both For Loops.Round To Nearest For LoopIntensity Graph9. Wire the output array to the indicator.10. Switch to the front panel.11. Save the VI.12. Enter values for Rows and Columns.13. Run the VI.Part 2: ImplementationModify Part 1 to accomplish the same goals without using the nested For Loops.Array Investigation Part 1.vi1. Open if it is not still open.2. Save the VI as Array Investigation Part 2.vi.3. Open the block diagram.Multiply Round to Nearest Remove For Loop 4. Right-click the border of the interior For Loop, containing the function and the function, and select .For Loop Remove For Loop5. Right-click the border of the remaining and select from the shortcut menu. Your block diagram should resemble the figure below.6. Save the VI.7. Switch to the front panel.8. Enter values for Rows and Columns.9. Run the VI.xNotice that the VI behaves the same as the solution for Part 1. This is because mathematical functions are polymorphic. For example, because the input of the Multiply function is a y Multiply xtwo-dimensional array, and the input is a scalar, the function multiplies each element in the array by the scalar, and outputs an array of the same dimension as the input.Part 3: ImplementationModify Array Investigation VI so that the VI creates a new array that contains the contents of the third row, and another new array that contains the contents of the second column.Array Investigation.vi1. Open located at the bottom of this pageArray Investigation Part 3.vi2. Save the VI as .3. Open the block diagram of the VI.In the following steps, you build a block diagram similar to that shown in the next figure.4. Retrieve the third row of data from Array using the Index Array function.Add the function to the block diagram.Index ArrayArray array Index ArrayWire to the input of the function.Tip: The Index Array function accepts an n-dimensional array. After you wire the input array to the Index Array function, the input and output terminal names change to match the dimension of the array wired. Therefore, wire the input array to the Index Array function before wiring any other terminals.index(row)Right-click the input of the Index Array function.Create»ConstantSelect from the shortcut menu.2Enter in the constant to retrieve the third row. Remember that the index begins at zero.Right-click the output of the function.subarray Index ArrayCreate»IndicatorSelect from the shortcut menu.Third RowName the indicator .5. Retrieve the second column of data from the Array using the Index Array function.Add another function to the block diagram.Index ArrayArray array Index ArrayWire to the input of the function.disable index(col)Index ArrayRight-click the input of the function.Create»ConstantSelect .1Enter in the constant to retrieve the second column because the index begins at zero.subarray Index ArrayRight-click the output of the function.Select .Create»IndicatorSecond ColumnName the indicator .6. Save the VI.7. Switch to the front panel.8. Enter values for Rows and Columns.9. Run the VI.1. Open a blank VI.Cluster Experiment.vi2. Save the VI as .In the following steps, you create a front panel similar to the figure below.top button3. Add a S to the front panel window.umeric4. Add a N indicator to the front panel window.Round LED5. Add a to the front panel.6. Rename the LED .Boolean 2Cluster numeric control, two toggle switches, and a slide control 7. Create a cluster named , containing a .Cluster ShellAdd a to the front panel.NumericAdd a control to the cluster.Vertical Toggle SwitchesAdd two to the cluster.Rename the Boolean toggle switches to Boolean 1.Horizontal Fill SlideAdd a to the cluster.Modified Cluster8. Create , containing the same contents as Cluster, but indicators instead of controls.ClusterCreate a copy of .Modified ClusterRelabel the copy .Modified Cluster Change to IndicatorRight-click the shell of , and select from the shortcut menu.9. Create , containing a and a .Small Cluster Boolean indicator numeric indicatorModified ClusterCreate a copy of .Small ClusterRelabel the copy .Delete the second toggle switch.Delete the horizontal fill slide indicator.Autosizing»Size to FitRight-click Small Cluster and select .SlideRelabel the numeric indicator to value.Resize the cluster as needed.Cluster, Modified Cluster, and Small Cluster10. Verify the cluster order of .Cluster Reorder Controls in ClusterRight-click the boundary of and select from the shortcut menu.1. Confirm the cluster order shown in the figure below.Click the button on the toolbar to set the cluster order and exit the cluster order edit mode.Confirm Right-click the boundary of and select from the shortcut menu.Modified Cluster Reorder Controls in Cluster Confirm the cluster orders shown in the figure below. should have the same cluster order as .Modified Cluster Cluster Click the button on the toolbar to set the cluster order and exit the cluster order edit mode.Confirm Right-click the boundary of and select from the shortcut menu. Click the button on the toolbar to set the cluster order and exit the cluster order Small Cluster Reorder Controls in Cluster OKedit mode. Confirm the cluster orders shown in the figure below.In the following steps, build the block diagram shown in the next figure.11. Add the from the Structures palette to the block diagram.While Loop Disassemble Cluster.Add the function to the block diagram.Unbundle Wire to the input of the to resize the function automatically.Cluster Unbundle function 13. Assemble Small Cluster.Add the function to the block diagram.Bundle Wire the function as shown in the figure above.Bundle 14. Assemble Modified Cluster.Add the function to the block diagram.Unbundle by Name Wire the to the function.Cluster Unbundle by Name Resize the function to have two output terminals.Unbundle by Name Select in the first node, and in the second node. If a label name is not correct, use the Operating tool to select the correct item.Numeric Boolean 1 Add the function to the block diagram.Increment Wire the output of the function to the input of the function. This function adds one to the value of .Numeric Unbundle By Name Increment Numeric Add the function to the block diagram.Not Wire the output of the function to the input of the function. This function returns the logical opposite of the value of Boolean.Boolean 1Unbundle By Name x Not。
LabVIEW程序结构、数组、簇和字符串
实验二LabVIEW程序结构、数组、簇和字符串一、实验目的(1)掌握LabVIEW的程序结构;(2)掌握建立数组控件的方法;(3)掌握常用的数组函数;(4)掌握簇的建立方法;(5)掌握常用的字符串函数。
二、实验工具(1)PC(2)LabVIEW 7.1三、实验内容略四、实验记录实验:(1)创建一个VI,命名为“2-1.vi”,使用Case结构,实现:Case 0,VI进行两个数的加法运算并输出结果;Case 1,VI进行两个数的减法运算并输出结果。
使用Text Ring控制型控件(在控件模板中的Ring&Enum子模板中)来切换加减法;步骤记录:(1)在前面板放置两个数值控制型控件、一个数值指示型控件和一个Text Ring控制性控件。
在修改Text Ring控件的值为0和1;(2)切换至程序框图,放置case结构,连线;(3)选择default 0,放入加法器,连线;切换至1,放入减法器,连线;(4)保存文件。
实验:(4)创建一个VI,命名为“2-4.vi”,建立一个5秒的超时事件和一个“OK Button”开关值发生变化的事件。
具体要求为:①使用Event结构;②由不同的框图程序响应不同的事件,显示出对话框显示“超时5秒”或显示“单击了OK按钮”。
步骤记录:(1)在前面板窗口插入OK button按钮控件(2)切换至程序框图,放置Event结构(3)放置数值为5000的控件,连线,分别设置超时事件发生和单击OK Button(4)保存文件实验:(6)将一个VI程序中旋钮Knob的数值和开关Horizontal Toggle Switch状态,传递到另一个VI程序中的仪表(Meter)控件和方形LED(Square Led控件)显示。
具体要求为:①创建1个VI程序,命名为“2-6-1.vi”,其前面板放置旋钮和一个布尔型开关;②创建1个VI程序,命名为“2-6-2.vi”,其前面板放置一个meter控件和一个Square Led控件;③将①VI程序中的旋钮和开关的值分别传送给②中VI程序中的Meter和Square LED控件,通过全局变量传送可实现。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
07、数组
数组是由同一类型数据元素组成的大小可变的集合。
同其他语言一样,Labview也提供了数组结构,数组是相同数据类型的集合,这些数据类型可以是数组型,布尔型,字符串型等。
当需要频繁地对一批数据进行绘图时,使用数组将获益匪浅。
下面将详细介绍数组及数组函数的各种用法。
创建数组
1.从前面板上创建数组:打开前面板,在控件→新式→数组,矩阵与簇→数组,如图:
再在里面放置一个数值输入控件即可,如图:
如果要显示更多的数组成员,在工具选项板上选择定位工具,在数组的边框停滞,当出现网状拐角后就可以拖动增加或减少显示区域。
如图:
如果要增加或减少数组的维度,既可以在索引框的快捷菜单上执行,如图:
增加后如图:
对于二维数组来说,索引框中上一个为行索引,下一个为列索引。
2.程序框图上创建数组:在程序框图上创建数组和在前面板上创建数组有点类似,也首先创建一个外壳,然后再放入数值型常量,枚举或环形常量,字符串型常量以及布尔型常量等。
刚刚放入常量后,所有的数组成员显示为灰色,可以用操作工具依次给它们赋值,赋
值范围以外的数组成员保持灰色不变。
如果跳过一些数组成员给后面的成员赋值,则前面的成员自动赋一个系统默认的值。
先在程序框图上放置一个数组常量,位于函数→编程→数组→数组常量,如图:
然后再往里放入一个数值常量,完成后如图:
数组函数
数组函数的面板如图:
设计步骤如下:
1.创建一个For循环,循环次数定为100次
2.在数学函数中调用Sinc函数,重复端子作为输入,输出用一个波形图表和一个数组
显示。
如图:
例二:创建一个二维数组
1.程序框图如图所示:
2.现在已经有两组一维数组了,可以使用创建数组函数就可以把他们创建为二维数组,
在一个波形图中显示,如图:
3.可以用鼠标对该函数进行拉伸操作,即可有两个输入端子了。
4.程序框图如图:
5.前面板运行结果如图:
例三:初始化和分离数组:利用For循环的自动索引功能从一个输入数组中依次抽取各个元素,如果是大于0的数则添加到正数数组,如果是小于0的则添加到负数数组。
并分别计算两个数组中各自有多少个元素。
如图所示便是程序框图
下图是在选择结构中为“假”时的情景
其中一共用到了三个数组函数,一个初始化函数,一个创建函数,一个数组大小函数,运行时前面板如图:
数组函数就给大家介绍这么多,大多数函数的功能看汉语意思便能明白,当大家有什么问题的时候,可上我们的网站提问,我们将尽力为大家解答。