数组与簇的使用
数据类型数组簇和波形
例:创建簇、分解簇,再捆绑簇并且在另一个簇中显示其内容。
Input Cluster
Numeric 6.00
Output Cluster
Numeric 6.00
stop STOP
control
Boolean1 Boolean 2
String Tsinghua
Boolean1 Boolean 2
String Tsinghua
如果想改变簇内元素的序,可在快速菜单中选择ReOrder Controls In Claster,这时会出现一个窗口,在该窗口内可以修改序。
5.4.3使用簇与子VI传递数据 一个VI的连接窗口最大有28个端子,如果你不希望使用全部28
个端子传递数据,这既烦琐又易出错。通过把控制或显示对象捆绑
成一个簇的方法,仅使用一个端子就可以实现该功能。
Indicator(注 意:不能
reorder)
Байду номын сангаас.4.4 数组和簇的互换
将数组变为簇(或者相反)很方便。尤其是因为LabVIEW包 括的关于数组的操作功能多于簇。例如,前面板上有一个多按钮的 簇,你希望颠倒这些按钮值的序。可用Reverse 1D Array功能,但 是它仅可用于数组。这没关系,你可以使用功能Cluster to Array将 簇转换为数组,使用Reverse 1D Array切换开关的值,最后再利用 Array to Claster 变换回簇。
上图是一个使用Waveform函数产生正弦波的例子。其中仅仅调 用了Sine Waveform一个函数,只要将有关参数指定,就可产生正弦 波。Sine Waveform实际上是一个子VI,点击其图标,就可看到下层 的程序,还是比较复杂的。在LabVIEW 7以前的版本中用户就需要 那样去编程。
第8-2讲-数组与簇
2. 对于一维数组[1,2,3,4,5,6,7],如果该数组前的 索引号是3,那么显示的第一个元素是
A.1 B. 3 C. 4 D. 7
3.如果有两个一维数组,维度分别是4,8,将其以索引的方 式输入For 循环,For 循环的计数端没有连线,那么For 循环实际循环次数是多少 4.如果有两个一维数组,维度分别是4,8,将其以索引的方 式输入For 循环,For 循环的计数端为5,那么For 循环实 际循环次数是多少
请思考将索引函数换成 数组子集函数如何选?
d. 一维数组{4, 7, 9, 1}
有关数组的几个考点
4. 数组和簇的比较
关于数组和簇区别的表述,正确的是? a. 无法通过簇将数据传递至子VI,但可以使用数组 b. 数组无法包含显示控件和输入控件,但簇可包含两种控件 c. 数组元素为有序,而簇的元素为无序 d. 簇可包含多种数据类型,而数组仅允许包含一种数据类型
簇函数——捆绑
捆绑:
用于将单个元素集合成簇,或者对簇进行修改。
集合簇
修改簇
簇函数——按名称捆绑
输入的个数不需要与输出簇中的个数匹配
按名称捆绑修改簇
簇函数——解除捆绑
解除捆绑用于将簇分解为单个元素; 按名称解除捆绑函数用于根据指定的元素名称返 回单个簇元素,输出接线端的个数不依赖于输入 簇中的元素个数。
有关数组的几个考点
1. 数组的元素:
必须是同类型、数组的元素不能是数组、无论数 组还是簇都不能同时包含显示控件和输入控件
2. 数组的大小和索引范围: 0~N-1
注意起始
有关数组的几个考点
3. 数组函数的理解与使用 ——创建数组函数
不同长度建成二维 时,长度要补齐
有关数组的几个考点
基于labview的数组、簇和波形
图形Graph一次性绘制预先产生的数据数组,不能将新数据追加到以前产生的数据上
波形chart和波形Graph的使用
Chart和Graph使用总结
波形Chart:单点以及多点波形Chart的框图程序 单曲线波形Graph
参考的例程
Charts.vi Waveform Graph.vi
XY Graph使用
图形是以曲线来显示数据
01
常用的二维图形控件有波形Chart和波形Graph和XY Graph
02
可显示单条曲线和显示多条曲线。
03
图形控件有很多特性,可以设置和修改,改变曲线显示的格式。
04
图形显示
图形Chart可以交互式绘制曲线,常用于循环中,可以保存并显示已采集到的数据,当新数据到来时可以追加显示。
数组、簇和波形
01
单击此处添加文本具体内容,简明扼要地阐述你的观点
LabVIEW的数据类型
数据类型选择和转换:
数值型控件对象的数据类型或格式和精度指定:右击对象,在弹出菜单上选择“Represeutation”或”Format @ Precision” 不同数据类型连接时,有的可以自动转换,有的不行 可使用转换函数强制转换 转换函数在函数面板数值运算Numeric中conversion子模板中
例:10元素的一维数组
思考?
波形可以存储在数组中,波形上一点构成数组中的一个元素。
波形如何存储?
在前面板创建
在后面板创建
通过函数或VIS动态生成
数组的创建
在前面板创建数组:
第一步创建数组壳: 从控制模板的Array&Cluster子模板中选择Array控制器,放在前面板上,即建立了一个空的数组壳(Array Shell) 第二步建立数据对象: 把一个数据对象拖入数组壳,或者从控制模板中添加一个数据对象到数组壳中,这样就可以创建一个数组 离索引显示最近的元素对应该索引显示里索引值关联的元素 索引显示
LabVIEW字符串、数组、簇编程实验
LabVIEW字符串、数组、簇编程实验
⼀、实验⽬的
1、掌握创建和使⽤数组的⽅法
2、能够使⽤多种数组内部函数
3、掌握簇的创建和使⽤⽅法
4、学会使⽤内部函数处理簇
⼆、实验内容
1、字符串函数练习:如字符串的拆分、字符长度的计算、字符串的拼接、替换字符串和搜索字符串等;
2、计算⼀组随机数的最⼤值和最⼩值
提⽰:在程序框图中,放置⼀个For循环,设置循环次数为10次。
单击边框选择添加两个移位寄存器,分别初始化为0和1。
新建⼀个VI,在前⾯板上放置⼀个波形图标,⽤它来记录产⽣的随机数。
同时在前⾯板上放置两个数值显⽰控件“最⼤值”和“最⼩值”,⽤来显⽰随机数中的最⼤值和最⼩值。
放置随机数函数和最⼤最⼩值函数与程序框图中,其中最⼤最⼩值函数位于编程→⽐较→最⼤值与最⼩值。
然后连线。
3、构建VI,输出⼀个10⾏5列的⼆维数组。
第1⾏包含0~1范围内的5个随机数,第2⾏包含1~2范围内的随机数,以此类推,直到第10⾏包含9~10范围内的5个随机数。
4、设计VI,根据输⼊的3个考试成绩数组,计算得到⼀个簇数组包括平均成绩、成绩等级和班级排名。
每次的考试成绩对应⼀个数组,平均成绩是这样定义的:第⼀次考试占30%,第⼆次考试成绩占30%,期末考试占40%。
成绩等级按照平均成绩,以下表列出的标准来确定。
(提⽰:在确定成绩等级的时候⽤Case结构将会很⽅便。
)
平均成绩标准
三、实验结论及分析
1.。
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数组控制对象、常数对象和显示对象通过把数组与数值、布尔数、字符串或者簇组合在一起,可以在前面板和流程图中创建任何一种控制对象、常数对象和显示对象。
5-6复合数据类型
快捷菜单,显示项->属性 (前面板)控件选板:新式->I/O 变体数据类型参见补充内容
属性/attributes – 变体 类型,携带相关信息如 设备号,数据采集通道 号
1. 数组(Array) 数组:相同数据类型的多个数据的有序组合。 数组的建立步骤: 1. 创建数组框架
数组输入控 件和输出显 示控件框架 (框图)函数选板, 编程->数组->数组常量
数组常 量框架
(前面板)控件选板,新式->数组、矩阵与簇->数组
1. 数组
数组元素 索引
(前面板) 数组输入控 件和输出显 示控件框架 元素区域 (框图)数组 常量框架
功能:解除捆绑已有的簇,捆绑的逆操作。
已有簇 常量
2. 簇- LabVIEW中的结构体 3. 按名称捆绑(Bundle By Name)
功能:按元素名称打包生成新簇。输入“簇”参数 必须接入。通过参考簇来获得元素名称。
已有簇常量, 建立新簇的 模板
元素名称来自“输入簇”参数
2. 簇- LabVIEW中的结构体 4. 按名称解除捆绑(Unbundle By Name)
功能:按元素名称解包已有簇。要求元素有名称(标 签,Label)。
已有簇常量
元素名称来自“已命名簇”参数
2. 簇- LabVIEW中的结构体 4. 按名称解除捆绑(Unbundle By Name)
功能:普通的解包函数解包后只有将鼠标移到输出 端子上才能看到输出元素的名称,程序的可读 性不高。该函数可以根据名称有选择的输出簇 内部元素。其中元素名称就是指元素的Label。
• 数组是同一类型数据的集合。 • LabVIEW中的数组可以为任何数值类型、布尔型、字符串 。 • 一个数组可以是一维的,在内存允许的情况下,也可以是 多维的,每维最多可以包含231个元素。 • 可以通过数组指针(索引index)访问数组元素,指针在0 到N-1的范围内变化,而N就是数组元素的个数。 例:10元素的一维数组
【LabVIEW】数组与簇的使用
【LabVIEW】数组与簇的使⽤
获取未知⼆维数组的⾏数:
⼆、簇
簇控件在LabVIEW 中的作⽤就类似于C语⾔中的结构体变量。
它能包含任意数⽬任意类型的元素,甚⾄包括数组和簇。
簇可以同时包含多种不同类型的元素,⽽且簇中的元素控件的位置可以随意独⽴地通过拖动改变。
1、按名称解除绑定函数
功能:返回指定名称的簇元素。
连线簇⾄该函数后,可在函数中选择单独的元素。
该函数可以根据名称有选择地输出簇内部元素。
其中元素名称就是指元素的标签。
注意:如果有事件结构,解绑簇时簇的局部变量要放在事件结构⾥才有效。
2、按名称捆绑函数
功能:该函数通过簇内部元素名称来给簇内部元素陚值,因此参考族(输⼊簇)是必须的。
该函数通过参考簇来获得元素名称。
参考簇必须与输出的簇完全相同,可以直接右击需要陚值的簇,选择 “创建”——>“常量” 选项来创建⼀个与输出簇完全相同的常量簇作为参考簇。
3、获取簇中的控件引⽤
编程--应⽤程序控制--Vi服务器引⽤--到-程序框图;
右击本VI——链接⾄——窗格——簇——选要添加引⽤的控件
4、按名称捆绑时,连接到显⽰簇后提⽰错误:已连接两个包含不同内容的簇
1、右击显⽰簇——创建——常量,创建参考簇;
2、把⾃动产⽣的显⽰簇到参考簇的连接线删掉;
3、拖⼊捆绑函数;
4、从参考簇引出接线到捆绑函数(如果是从捆绑函数引出接线到参考簇就报错!⽆语⼦)
5、从捆绑函数引出接线到显⽰簇上。
此时接线正确,可以看到函数⾥正确显⽰出元素名称。
labview数组、簇和图形的区别
数组是同类型元素的集合。
一个数组可以是一维或者多维,如果必要,每维最多可有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(十):数组和簇
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 数组和簇
23
错误簇和错误处理函数
error in 和error out簇
– 对于系统错误,code都有预先的定义,可以 通过选择Help->Explain Error…打开错误解 释框来查找该错误代码的更详细的解释。
24
错误簇和错误处理函数
传输错误信息:错误流
25
错误簇和错误处理函数
26
小试身手
1. 产生一个6×3的整数随机数数组,随机 数要在0到100之间,然后找出数组的最 大值和最小值及其索引。
18
数组和簇的转换
• 数组和簇的转换函数
19
数组和簇的转换
• 数组和簇的转换函数
20
数组和簇的转换
• 数组和簇的比较函数
21
数组和簇的转换
• 数组和簇的比较函数
22
错误簇和错误处理函数
error in 和error out簇
– LabVIEW利用error in 和error out这两个预定 义簇来作为传递错误信息的载体。
2. 簇的练习:教材练习7.4
27
簇的创建
通过簇控件实现的温度显示器
Байду номын сангаас11
簇(Cluster) ——LabVIEW中的结构体变量
• 改变簇内部元素控件的索引
12
簇(Cluster) ——LabVIEW中的结构体变量
簇操作函数
13
簇(Cluster) ——LabVIEW中的结构体变量
1、解包函数(Unbundle)
– 该函数将簇解开从而获得簇中各个元素的 值。缺省情况下,它会根据输入的簇自动 调整输出端子的数目和数据类型,并按照 簇内部元素索引的顺序排列。
labview应用数组array簇cluster数组和簇的转换错误簇和错误处理函数array数组控件数组控件array数组控件array数组之间的算术运算labview一个非常大的优势就是它可以根据输入数据的类型判断算子的运算方法即自动实现多态对于加减乘除数组之间的运算满足下面的规则
数组和簇
索引
从第 3 个元素 开始显 示
图1.1A
图1.1B
1.2数组的操作
将数组连线到For 循环或者While 循环时,通过自动索引可将每次迭代与数组
中的一个元素相连。 隧道图标从方形变为如图 所示的图像,这表示已使用自动索引。
右键单击隧道,从快捷菜单中选择启用索引或禁用索引,可以切换隧道的状态。
数组输入:
4.如果有两个一维数组,维度分别是 4,8,将其以索引的方式输入 For 循环,For 循环的计 数端为 5,那么 For 循环实际循环次数是多少
5.判断: 簇不可以进行数值运算()
簇元素的顺序和该元素的放置位置有关()
使用簇可以解决子 VI 所需的连线板接线端数目() 簇元素类似文本编程语言中的结构体()
6.必须按照簇顺序访问簇中元素的是下面那个 VI
A 解除捆绑
B 按名称解除捆绑
5
2
LabVIEW 初级教程 数 组 和 簇
新簇顺 序
当前簇 顺序
2.2簇函数操作 集合簇: 捆绑由于将单个元素集合成簇,或者对簇进行修改。图2.2A为使用捆绑生成了
一个错误簇;图2.2B为使用捆绑修改了错误簇的值。
修改簇:
图2.2A 创建错误簇常量
待修改的簇
簇中待修改的元素 按照簇顺序排列
修改过后的簇
LabVIEW 初级教程 数
组
数组和簇
和
簇
在编程中,有时将相关数据归为一组很有用。在LabVIEW中使用数组和簇将相关数据归 为一组。数组将相同类型的数据组合成一个数据结构,簇将多个数据类型的数据组合成一个 数据结构。 1. 数组
1.1数组的元素和维度: 数组有元素和维度构成。数组中的元素可以是数值、布尔、路径、字符串、波形和 簇等数据类型。维度就是数组的长度,高度或深度。每个维度在内存允许的情况下可以 有(231)-1个元素。 索引: 数组使用索引以便于访问数组中任意一个特定的元素。索引从0开始,即索引的范 围是0到n-1,n是数组中元素的个数。 如图1.1A创建了一个一维数组[1,2,3,4,5];如图1.1B,当指定索引是2时,数组从 第3个元素开始显示。
LabVIEW编程的图形图表和数组与簇实验
LabVIEW编程的图形图表和数组与簇实验一、实验目的1.学习如何使用数组与簇,掌握它们的区别和相应操作;2.学习并掌握Chart和Graph的使用,理解它们的区别。
二、实验内容1.练习数组的基本创建方法a.实验要求:编辑一个利用循环的自动索引(auto-indexing)功能创建一个装有10个随机数的数组。
b.实验结果:程序框图:前面板图:2.编辑下列VI 理解二维数组的产生,存为Two Dimensional Array Demo.vi。
如下分别为程序框图和前面图截取图片。
以下是自己编辑的程序框图和前面板:3.创建一个VIa.实验要求:实现将输入控件值与输入数组合并连接起来生成新的数组。
该VI使用数组大小(Array Size)和初始化数组(Initialize Array)两函数来创建维数合适的新数组,并将新数组的所有元素初始化为1。
最后,VI计算两新数组间的差,并将结果显示在前面板中。
最后将该VI保存为Practice with Arrays .vi文件。
b.添加的功能我的添加功能是在能满足基本实验要求的情况下,做了些改变。
输入数组个数由随机数产生在0-10内,而x数组为10元素的数组。
y数组显然也要为10个元素,它有输入元素和输入数组合并产生。
因此间接决定了输入元素。
c.实验结果:程序框图:前面板图:4.创建由一个控件簇和一个显示簇所组成的VIa.实验要求:要求控件进行操作时,显示簇同时进行相应的显示。
前面板组成如图4.3,最后将该VI保存为Cluster.vi文件。
b.实验说明:对输入数字取反;对第一个布尔元件进行取非操作;将二个布尔元件的值进行异或操作然后输出;对字符串中的大写字母转化为小写。
c.实验结果:程序框图:前面板:5.创建一个VIa.实验要求:用Chart和Graph分别显示40个随机数产生的曲线,比较程序的差别:b.实验说明:在满足基本要求的情况下,对程序做了些改变。
使它输出40个数据后间隔2000ms后重新开始下一轮40个数据的采集。
LabVIEW虚拟仪器设计教程第6章 变量、数组、簇和矩阵
写入局部变量
读取局部变量
局部变量应用举例
利用局部变量实现一个布尔开关同时控制两个While循环
该实例通过典型的并行循环结构,使用布尔开关局部变量读取开关的值,可 同时停止两个循环。由于布尔控件的“单击时触发”机械动作与局部变量不兼容, 因此通过另一个局部写入变量将开关值重臵为“开”,仿真“单击时触发”机械 动作。
全局变量应用举例 1. 将第一个VI连续产生的随机数传递到第二个VI中并在波形图表中显示 2. 第二个VI的停止按钮同时控制两个VI的运行
全局变量前面板对象
第一个VI的程序框图
第二个VI的程序框图及前面板
6.1.3 局部变量和全局变量使用注意事项
(1)局部变量和全局变量的初始化 如需对一个局部或全局变量进行初始化,应在VI运行前确认变量包含的是已知 的数据值,否则变量可能含有导致VI发生错误行为的数据。如变量的初始值基于一 个计算结果,则应确保LabVIEW在读取该变量前先将初始值写入变量。 (2)竞争状态 两段或两段以上代码并行改变一个共享资源的值时,就发生了竞争状态。发生 竞争时VI的运行结果取决于共享变量先执行哪个动作,竞争状态会引起不可预见性。 当有多于一个操作对同样数据的值进行更新时可能导致竞争状态,因此在使用局部 变量和全局变量时应避免竞争状态。 (3)使用局部变量和全局变量时应考虑内存 使用局部变量和全局变量通常会使用更多的内存,最终导致执行速度更慢,因 此需要考虑该问题。
6.2 数 组
数组是相同类型元素的集合,由元素和维度组成。元素是组成数组的数据,维 度是数组的长度、高度或深度。数组可以是一维或多维的,在内存允许的情况下每 一维度可有多达231-1个元素。对一组相似的数据进行操作并重复计算时,可考虑 使用数组。
第5章--数组、簇和曲线图形
第5讲
学习目标
学习如何创建和初始化数组 建立自动索引概念 学习常用数组函数 建立多态性的概念 学习簇的创建及簇函数的使用 学习波形 Graph 图形显示特性 通过实例学习Graphs数据类型组织方法
5.1 数组
数组是相同类型数据元素的有序集合。
index 0 1 2 3 4 5个元素数组 1.2 3.2 8.0 6.0 4.8
本章小结
1.数组是相同类型的数据元素的集合,可创建数值型、布尔 型、字符串型或簇数组。
2.可在前面板和框图程序中创建一个数组,创建数组包括建 立数组框和定义数组类型
两个步骤。若定义一个数组类型控制件,还需使用操作工具 对索引元素进行赋值。
3.数组元素索引(下标)从0开始,若数组元素个数为N,则 最大索引为N-1。
2. 决定For循环次数的是数组的长度而不是N,这是因为数组 的长度比 N小。
5.1.3 数组函数
数组函数选项板
1.Array Size (数组大小)函数 2.Initialize Array (初始化数组)
3. Build Array(构建数组) 函数
例5.16 Build Array函数的使用。
6. 波形Graph 以数组方式接收数据,可用Build Array函数 在波形Graph上显示多条曲线。
创建数组的方法 :
前面板创建各种数组控件; 框图程序窗口创建数组常量; 利用循环结构的自动索引功能创建数组
5.1.1创建数组
一. 在前面板创建数组控件
(1)放置数组框
(2)定义数组类型
数组元素的显示 多维数组创建方法(2种)
数组初始化
数组元素尚未定义
数组元素赋值与显示
簇和数组
簇和数组簇是一种类似数组的数据结构,用于分组数据。
簇和数组有着重要的差别,其中一个重要差别是,簇可以包含不同的数据类型,而数组仅可以包含相同的数据类型。
例如,一个数组可以包含10个数字指示器,一个簇却可以包含一个数字控件,一个开关和一个字符串控件。
尽管簇和数组的元素都是有序存放的,但访问簇的元素最好是通过释放的方法同时访问其中部分或全部元素,而不是通过索引一次访问一个元素。
簇和数组的另一个差别是簇具有固定的大小。
簇通常用于将出现在框图上的有关数据元素分组管理。
因为簇在框图中仅用唯一的连线表示,所以对于减少连线混乱和子VI需要的连接器端子个数,使用簇有着积极的效果。
可以将簇看做是一捆连线,线缆中每一个连线表示簇的不同元素。
在框图上,只有当簇具有相同类型,相同元素数量和相同元素顺序时,才可以将簇的子端连接。
多态性应用于簇时,只需要簇具有同样顺序,同样数量的元素。
下面来向大家介绍簇的创建簇的创建框位于前面板中的控件→新式→数组,矩阵和簇→簇,如图:然后就可以往簇的框中添加各种类型的控件了,例如现在要建立一个学生的记录信息,包括学生的姓名,学号,性别和年龄.这就需要在簇外壳里依次放入两个字符串输入控件,一个数字控件和一个布尔控件.如图:与数组的创建类似,簇也可以从程序框图中创建,先在程序框图上放置一个簇外壳,然后就可以在簇外壳里放置各种数据类型常数。
如图:簇内对象的大小是可以调整的,右击簇边界,在弹出的快捷菜单中可以选择各种调节操作,如图:选择调整为匹配大小,即可缩小簇的边框,如图为调整后的结果:簇结构中的元素排列是按照它们放置的先后来排序的,它与簇内元素的位置无关。
放入簇内的第一个元素序号为0,第二个元素序号是1,依次向下排列。
如果删除了一个元素,序号将重新自动调整。
簇的排序很重要,它直接影响着后面将要介绍的“捆绑”以及“接触捆绑”函数的端口顺序,如果你想将一个簇与另一个簇连接,这两个簇的序和类型必须相同。
第6讲——数组和簇
前面板
程序框图
5
数组框架的组成: 数组框架的组成:
前面板中
书:P129图7-2 图 程序框图中
索引区域
都由索引区域和元素区域组成。 都由索引区域和元素区域组成。
元素区域
索引区域:显示需要显示的数组元素的索引值。 索引区域:显示需要显示的数组元素的索引值。 元素区域:显示索引所定义的元素值。 元素区域:显示索引所定义的元素值。
1.数值常数数组 数值常数数组
15
16
2.布尔常数数组 布尔常数数组
17
6.1.2 6.1.2 利用循环的自动索引功能创建数组
什么是自动索引? 什么是自动索引? For循环和 循环和While循环结构都可以在它们的边界上自 循环和 循环结构都可以在它们的边界上自 动索引数组或积聚数组,这一汇集数据的能力称为 动索引数组或积聚数组,这一汇集数据的能力称为 自动索引。 自动索引。 利用For循环创建一维数组。 循环创建一维数组。 例6.1.1 利用 循环创建一维数组
图所示是一个含4个控件的簇。 图所示是一个含4个控件的簇。
43
6.2.1 簇的创建
类似于数组的创建。首先建立簇框架,然后向其中添 类似于数组的创建。首先建立簇框架, 加对象作为簇元素。 加对象作为簇元素。
在前面板中添加簇
在程序框图中添加簇常量
44
(a) 混合簇输入控件 (b) 混合簇显示控件 (c)数值型簇输入控件 (c)数值型簇输入控件
上次课内容复习
事件结构:对用户的操作做出响应和处理。其组织方式是把 事件结构:对用户的操作做出响应和处理。 多个子框图堆叠在一起,根据所发生的事件的不同, 多个子框图堆叠在一起,根据所发生的事件的不同,每次只 有一个子框图得到执行。事件结构必须放在While循环中,否 循环中, 有一个子框图得到执行。事件结构必须放在 循环中 则没有意义。 则没有意义。 定时结构:定时结构的定时精度高于“等待(ms)”函数和“等 函数和“ 定时结构:定时结构的定时精度高于“等待 函数和 待下一个整数倍毫秒”函数。 待下一个整数倍毫秒”函数。在定时要求比较高的情况下使 用。 禁用结构:分程序框图禁用结构和条件禁用结构。条件禁用 禁用结构:分程序框图禁用结构和条件禁用结构。 分支的选择由外部环境变量加以控制。 分支的选择由外部环境变量加以控制。而外部环境变量只有 项目”中才能使用。 在“项目”中才能使用。 局部变量和全局变量:其功能基本类似,作用范围不同。 局部变量和全局变量:其功能基本类似,作用范围不同。局 部变量只在所在VI中有效 而全局变量在多个VI中有效 中有效, 中有效。 部变量只在所在 中有效,而全局变量在多个 中有效。使 用局部/全局变量 全局变量, 可以在不太好连线的地方传递数据; 用局部 全局变量,①可以在不太好连线的地方传递数据;② 可以实现对输入控件的写操作和输出控件的读操作。 可以实现对输入控件的写操作和输出控件的读操作。
簇函数的使用-KC10131503-c01解读
6
b 替换簇元素功能
簇函数的 “按名称解除捆绑”与“按名称捆绑” 使用
按名称解除捆绑函数 按名称捆绑函数 按名称解除捆绑函数按指定的元素名称从 簇中提取元素。 按名称捆绑函数是按照簇中元素的名称替换 簇中的元素。 输入簇端子必须接线
a “按名称解除捆绑”函数
7
b “按名称捆绑”函数(替换簇元素)
簇函数的 “按名称解除捆绑”与“按名称捆绑” 使用
8
数组与簇互换函数
数组至簇转换函数 簇至数组转换函数
簇函数的 使用
数组至簇转换函数把输入的一维数组转换为簇
将输入的簇转换为一维数组,簇元素数据类型 必须一致
9
数组与簇互换函数
• 例程1:数组与簇互换函数.vi
• 例程2:数码管显示.vi
簇函数的 使用
10
谢谢观看!
11
基于LabVIEW的 物联网应数的使用
• 簇函数 • “解除捆绑”与“捆绑”函数
• “按名称解除捆绑”与“按名称捆绑”函数
• 数组与簇互换函数
3
簇函数
解除捆绑函数 捆绑函数 按名称解除捆绑函数
簇函数的 使用
按名称捆绑函数
数组至簇转换函数 簇至数组转换函数
4
“解除捆绑”与“捆绑”函数
解除捆绑函数
簇函数的 使用
• 该函数的功能是把一个簇中的每个元素进行分解,并将分解后的元 素输出。
5
“解除捆绑”与“捆绑”函数
捆绑函数 • 用法
a)用捆绑函数将几个元素捆绑成一个簇——组合簇 b)用捆绑函数替换一个簇中的几个元素——替换簇元素
簇函数的 使用
a 组合簇功能
• 不需要组合或分解整个簇时,适合使用“按名称捆绑”与“按名称解除捆绑”
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西安文理学院
机械与材料工程学院实验报告课程名称:虚拟仪器
实验项目:数组与簇的操作
专业:测控技术与仪器
班级:2012级02班
姓名:罗蒙
学号:0703110217
一、程序设计思路
本次实验通过三个程序设计,来完成labview的熟悉以及掌握数组与簇的使用和创建方法
1.题目要求:
认识和熟悉数组:创建3行4列的数值。
(1)求数组的的最大值和最小值;(2)求出创建数组的大小(3)将该数组倒置;(4)将该二维数组改为一个一维数组设计思路
创建For循环生成数组,使用数组控制控件,完成设计。
2.题目要求
认识和熟悉簇,使用簇实现虚拟温度计:在前面板中显示两个簇,分别是温度适配器和温度显示器。
前面板如实验4.2所示
设计思路:
使用条件结构以及簇实现虚拟温度计的设计,其他设计思路与实验二中的虚拟温度计设计思路相同
3.题目要求
设计掷骰子游戏,骰子点数为1~6,可预先设置骰子投掷次数,并统计骰子各点数投掷次数
设计思路
使用For循环,循环次数为预置投掷次数,并使用随机数以及数组控件等合理分配实现设计
二、前面板设计
图1-1-1
图1-2-1
图1-3-1
三、程序框图设计
图1—1—2
图1-2-2
图1-3-2
四、调试运行结果
经过调试运行,各个程序都能够完整的执行相应的程序过程。
下面是分别的实验结果:
图1-1-3
图1-2-3
图1-3-3
五、实验小结
通过实验,大致了解到了LabVIEW2012的基本操作流程,掌握了创建、
编辑、运行调试VI程序的方法和步骤。
在思路上得到了拓宽,学到了整体化,结构化的思维方式。
同时,这个软件很实用,很容易理解,方便学习和操作。