LABVIEW第6章字符串、数组、簇和矩阵
第6 字符串数组簇和矩阵
25
6.4 矩阵(Matrix)
LabVIEW 8之前的版本中只能通过二维数组来 实现矩阵的操作。但是数组的运算方法和矩阵 的运算方法有很大不同,譬如两个数组相乘是 直接将相同索引的数组元素相乘,而矩阵的相 乘必须按照线性代数中规定的方法相乘,因此 用数组实现矩阵运算是非常麻烦的。LabVIEW 8最新加入了对矩阵的支持,从而使矩阵的运 算变得非常简单。
2、打包函数(Bundle)
该函数用来为Cluster中各元素赋值。
20
6.3 簇(Cluster) ——LabVIEW中的结构体变量
3、按元素名称解包函数(Unbundle By Name)
普通的解包函数解包后只有将鼠标移到输出端子 上才能看到输出元素的名称,程序的可读性不高。 该函数可以根据名称有选择的输出簇内部元素。 其中元素名称就是指元素的Label。
21
6.3 簇(Cluster) ——LabVIEW中的结构体变量
4、按元素名称打包函数(Unbundle By Name)
该函数通过簇内部元素名称来给簇内部元素赋值。 参考簇是必须的,该函数通过参考簇来获得元素 名称。
22
6.3 簇(Cluster) ——LabVIEW中的结构体变量
簇操作函数使用示例
23
6.3 簇(Cluster) ——LabVIEW中的结构体变量
6.3.3 error in 和error out簇
LabVIEW利用error in 和error out这两个预定义簇 来作为传递错误信息的载体。
24
6.3 簇(Cluster) ——LabVIEW中的结构体变量
虚拟仪器 labview 变量 数组与簇共61页文档
11、战争满足了,或曾经满足过人的 好斗的 本能, 但它同 时还满 足了人 对掠夺 ,破坏 以及残 酷的纪 律和纪律 是教育 过程的 结果, 首先是 学生集 体表现 在一切 生活领 域—— 生产、 日常生 活、学 校、文 化等领 域中努 力的结 果。— —马卡 连柯(名 言网)
拉
60、生活的道路一旦选定,就要勇敢地 走到底 ,决不 回头。 ——左
13、遵守纪律的风气的培养,只有领 导者本 身在这 方面以 身作则 才能收 到成效 。—— 马卡连 柯 14、劳动者的组织性、纪律性、坚毅 精神以 及同全 世界劳 动者的 团结一 致,是 取得最 后胜利 的保证 。—— 列宁 摘自名言网
15、机会是不守纪律的。——雨果
56、书不仅是生活,而且是现在、过 去和未 来文化 生活的 源泉。 ——库 法耶夫 57、生命不可能有两次,但许多人连一 次也不 善于度 过。— —吕凯 特 58、问渠哪得清如许,为有源头活水来 。—— 朱熹 59、我的努力求学没有得到别的好处, 只不过 是愈来 愈发觉 自己的 无知。 ——笛 卡儿
基于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第6章字符串数组簇和矩阵
PPT文档演模板
LABVIEW第6章字符串数组簇和矩阵
6.3 簇(Cluster) ——LabVIEW中的结构体变量
n 簇操作函数使用示例
PPT文档演模板
LABVIEW第6章字符串数组簇和矩阵
6.3 簇(Cluster) ——LabVIEW中的结构体变量
PPT文档演模板
LABVIEW第6章字符串数组簇和矩阵
小试身手
n 3. 产生一个3×3的整数随机数数组,随机数要 在0到100之间,然后找出数组的鞍点,即该位 置上的元素在该行上最大,在该列上最小,也 可能没有鞍点。如下图所示:
PPT文档演模板
LABVIEW第6章字符串数组簇和矩阵
演讲完毕,谢谢听讲!
n 6.3.3 error in 和error out簇
n LabVIEW利用error in 和error out这两个预定义簇来 作为传递错误信息的载体。
PPT文档演模板
LABVIEW第6章字符串数组簇和矩阵
6.3 簇(Cluster) ——LabVIEW中的结构体变量
n 6.3.3 error in 和error out簇
n 6.1.3 字符串函数举例
•
PPT文档演模板
•基本字符串函数示例
LABVIEW第6章字符串数组簇和矩阵
6.1 字符串(String)
n 6.1.3 字符串函数举例
PPT文档演模板
•数据数组/电子表格字符串转换函数示例
LABVIEW第6章字符串数组簇和矩阵
6.2 数组(Array)
n 6.2.1 数组控件
n 普通的解包函数解包后只有将鼠标移到输出端子 上才能看到输出元素的名称,程序的可读性不高。 该函数可以根据名称有选择的输出簇内部元素。 其中元素名称就是指元素的Label。
LABVIEW第6章字符串、数组、簇和矩阵
小试身手
2. 对字符串进行加密,规则是每个字母后移5 位,例如A变为F,b变为g,x变为c,y变为d…
31
小试身手
3. 产生一个3×3的整数随机数数组,随机数要 在0到100之间,然后找出数组的鞍点,即该位 置上的元素在该行上最大,在该列上最小,也 可能没有鞍点。如下图所示:
32
小试身手
14、他乡生白发,旧国见青山。。2021年3月6日星期六上午11时6分13秒11:06:1321.3.6
15、比不了得就不比,得不到的就不要。。。2021年3月上午11时6分21.3.611:06March 6, 2021
16、行动出成果,工作出财富。。2021年3月6日星期六11时6分13秒11:06:136 March 2021
11、越是没有本领的就越加自命不凡。21.3.611:06:1311:06Mar-216-Mar-21
MOMODA POWERPOINT 12、越是无能的人,越喜欢挑剔别人的错儿。11:06:1311:06:1311:06Saturday, March 06, 2021
13、知人者智,自知者明。胜人者有力,自胜者强。21.3.621.3.611:06:1311:06:13March 6, 2021
字符串控件包括输入控件、显示控件和下拉框。
3
6.1 字符串(String)
4
6.1 字符串(String)
6.1.1 字符串控件
字符串输入控件一般被用作文本输入框,而字符串 显示控件一般被用作文本显示框。
5
6.1 字符串(String)
6.1.2 表格和树形控件
表格(Table)和树形控件在Controls Palette的 Modern->List & Table…面板下。
LabVIEW中的数据类型和变量管理
LabVIEW中的数据类型和变量管理在LabVIEW中,数据类型和变量管理是非常重要的概念。
通过正确地理解和使用数据类型和变量,我们可以更好地组织和管理数据,提高程序的可读性和可维护性。
本文将介绍LabVIEW中常用的数据类型,并探讨变量的管理方法。
一、数据类型在LabVIEW中,数据类型用于定义变量或数据的格式和属性。
常见的LabVIEW数据类型包括整数(Integer)、浮点数(Floating-Point)、布尔值(Boolean)、字符串(String)等。
不同的数据类型在内存占用、数据范围、精度等方面有所差异,选择合适的数据类型可以提高程序的效率和准确性。
例如,对于表示温度的变量,我们可以选择浮点型数据类型,以保留小数位数并能表示负数。
而对于只有两个状态的变量(如开关状态),布尔值可以更好地满足需求。
除了基本的数据类型,LabVIEW还提供了聚集数据类型,如数组(Array)和矩阵(Matrix)。
数组可以方便地存储和处理多个相同类型的数据,而矩阵则更适用于数学计算和图像处理等领域。
二、变量管理变量是在LabVIEW中存储和处理数据的基本单元。
良好的变量管理可以提高程序的可读性和可维护性。
1. 命名规范在LabVIEW中,变量的命名应遵循一定的规范,以提高程序的可读性。
以下是一些常见的命名规范:- 使用有意义的变量名,能准确描述变量的用途。
- 变量名应使用英文单词或单词缩写,避免使用拼音或中文等。
- 避免使用与LabVIEW内置函数或关键字相同的名称。
例如,对于表示温度的变量,我们可以使用“temperature”或“temp”等命名,而不要使用“t”或“temp1”等命名,以提高变量的可读性。
2. 变量作用域变量的作用域决定了变量的可见性和生存周期。
在LabVIEW中,可以通过将变量定义在合适的作用域内来控制其访问权限。
- 局部变量(Local Variable):定义在VI或子VI中,只在当前VI 中可见,适用于内部数据传递。
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编程与项目开发实用教程 第6章 LabVIEW高级编程
图6-4 公式节点输入/输出端子对应,左图正确/右图错误
6.1.2 公式
在函数数学公式与脚本选板中公式节点 ,见图6-5。
当把公式节点放置到程序框图上时,系统会自动弹出“配置公式”对 话框,见图6-6。在对话框中输入公式后,若对话框右上方的方块显示为 绿色时,则表明系统识别了输入的函数。当出现错误或非法公式时,对 话框右上方的方块显示为灰色,表明系统不识别。
图 6-1 公式节点选板
图 6-5 脚本与公式选板
与创建循环的方法类似,用户从结构选板中选择公式节点,用鼠标 在程序框图上任意位置拖放任意大小的公式节点。公式节点是一个大小 可变的方框,利用它可直接在程序框图中输入数学公式,如图6-3所示。
在程序框图上输入数学公式或类似于C语言的表达式,可以使用的函 数如下:abs、acos、acosh、asin、asinh、atan、atan2、atanh、ceil、cos 、cosh、cot、csc、exp、expm1、floor、getexp、getman、int、intrz、ln、 lnp1、log、log2、max、min、mod、pow、rand、rem、sec、sign、sin、 sinc、sinh、sqrt、tan和tanh等。
LabVIEW通过对象标签将局部变量和 前面板对象相关联,因此必须用描述性 的自带标签对前面板控件和显示件进行 标注,如图6-11中对象标签“字符串”、 “数值”等。
2.局部变量使用方法
(1)使用局部变量可对前面板控件进行 读/写。 局部变量有读和写两种属性。当一个局部 变量为读属性时,说明可以从该局部变量 中读取数据。相反,当其为写属性时则可 以给该变量赋值。右键单击从弹出菜单上 选 转换为写入 或 转换为读取。
1.全局变量创建
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)、要添加索引的位置:“数组插⼊”右键>创建>常量。
可省略此项,省略该项则添加到数组末尾。
数组和簇
索引
从第 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课件-[5_数组、簇、波形数据]
将数组变为簇(或者簇变为数组)很方便,其操 作如下图:
例如,前面板上有一个多按钮的簇,你希望颠倒这些按钮
值的序。好了,Reverse 1D Array功能正好可用,但是它 仅可用于数组。这没关系,你可以使用功能Cluster to Array将簇转换为数组,使用Reverse 1D Array切换开关的 值,最后再利用Array to Claster 变换回簇。
String Tsinghua
23
簇
流程图
练习
24
用名称捆绑与分解簇
有时你并不需要汇集或分解整个簇,而仅仅需要对其中某些
元素操作。这时你可以用名称来捆绑与分解簇。
在Cluster 工具模板中除了Bundle Unbundle 功能外,还提
供有Bundle By Name和Unbundle By Name功能 。
都相等的数组
初始化一维数组
初始化三维数组:如果所有的维长度输入都是0,该函
数会创建一个具有指定数据类型和维数的空数组
8
数组功能函数
数组大小,Array Size函数:返回输入数
组中的元素个数
9
数组功能函数
数组子集(Array Subset):选取
数组或者矩阵的某个部分 。
该函数可以返回从某个指针开始的部分数组,并包括了 长度元素。下图显示了一些数组子集的例子,注意,数 组索引从0开始。
6
数组功能函数 利用流程图中的Fra bibliotek数对象的值创建和初
始化数组的两种方法 (Build Array?)
左侧的方法是,将5个字符串常数放入一个一维字符串
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个元素。对一组相似的数据进行操作并重复计算时,可考虑 使用数组。
LabVIEW中的数据结构
将多个数据元素捆绑在一起,可以使程序框图上的连线更加简洁,并减少子 VI 的接线端的数量。接线板最多 可以有 28 个接线端。如果一个 VI 的前面板上有超过 28 个控件需要将值传递至另一个 VI,则可以将其中的一 部分集合到一个簇中,并为其分配一个接线端即可。
程序框图上的大多数簇的连线和数据类型接线端都是粉色的。错误簇的连线与数据类型接线端则是暗黄色。数 值类型的簇(有时视为点)则使用棕色的连线与数据类型接线端。将棕色的数值簇连接至数值运算函数(如加 运算或求方根),即可以对簇中的所有元素同时进行运算。
使用簇函数
簇函数用于创建并操作簇。举例来说,可执行类似下列的操作: 从簇中提取一个数据元素。 向簇中添加一个数据元素。 将簇分解为单独的数据元素。 另外也可以使用“捆绑”函数来组装一个簇。“捆绑”与“按名称捆绑”函数可以修改簇;而“解除捆绑”与“按名称解除 捆绑”则可以将簇打散。
在程序框图上右键单击簇接线端,从快捷菜单中选择“簇、类与变体”选板,可在程序框图上放置“捆绑”、“按名 称捆绑”、“解除捆绑”和“按名称解除捆绑”函数。“捆绑”或“解除捆绑函数”将自动产生正确的接线端数量。“按名 称捆绑”与“按名称解除捆绑”函数将显示簇中的第一个元素。 此时可通过位置调整工具来改变“按名称捆绑”和 “按名称解除捆绑”函数的大小,以显示簇内的其他元素。
图 6. 使用数组来决定 For 循环的次数 如果有多个隧道启用自动索引,或者连接了循环计数端,则循环的实际执行次数将取其中的最小值。举例来说, 如有两个数组进入 For 循环(分别具有 10 个、20 个元素),同时将值 15 连接至循环计数端,则循环的实际 执行次数为 10 次。此时虽然可以索引第一个数组的所有元素,但是仅能索引第二个数组的前 10 个元素。
LabVIEW入门与虚拟仪器 第6章 字符串和文件存取_OK
LabVIEW支持的文件类型(4种) • ASCII 码流文件(文本文件) • 二进制流文件 • 数据记录文件 • 波形数据文件
13
6.2.1 文件 I/O 子模板简介
14
6.2.2 高层文件操作VI 及应用 ❖文件格式:电子表格读写/直接读写字符串/二进制
20
例 6.2.4:将温度采样值转换为以“,”分隔的格式化 字符串,写入文本文件中。(演示:写字符串文件VI)
21
例 6.2.5 读取文本文件数据。
本例使用 Read Characters From File 节点从上例创建的温 度数据.txt 文件中读取数据,送前面板的读出数据指示器显 示,同时将这些数据显示在温度曲线 Graph 上。
创建一个新文件或覆盖一个已存在文件
创建一个新文件,若与其它文件同名则返回一个 错误代码
23
2.Write File(写文件)
该节点向文件标识符 refnum 指定的文件中写入数据(文本字符),写入字符 的起始位置由pos mode 和 pos oftset 端口参数指定。
例6.2.6 将前面 例6.2.2 的任务使用低级模块 Write File VI实现。
2. LabVIEW 字符串函数在功能模板上的 String子模板中。 3. 读/写文件操作之前,必须指定文件路径
4. LabVIEW支持的文件类型(4种) ASCII 码流文件(文本文件) 二进制流文件 数据记录文件 波形数据文件
37
电子表格字符串, 并将其写入一个新的文件或添加 到现存文件中,写入之后自动关闭文件。
பைடு நூலகம்16
例 6.2.1 : 使 用 Write To Spreadsheet File 节 点 构 建 一 VI 将一个浮点型二维数组写入电子表格文件。
labview 数组、簇和图形
第三章数据类型:数组、簇和波形3.1概述数组是同类型元素的集合。
一个数组可以是一维或者多维,如果必要,每维最多可有231-1个元素。
可以通过数组索引访问其中的每个元素。
索引的范围是0到n – 1,其中n是数组中元素的个数。
图3-1所显示的是由数值构成的一维数组。
注意第一个元素的索引号为0,第二个是1,依此类推。
图3-0数组示意图簇(Cluster)是另一种数据类型,它的元素可以是不同类型的数据。
它类似于C语言中的stuct波形(Waveform)可以理解为一种簇的变形,它不能算是一种有普遍意义的数据类型,但非常实用。
3.2数组的创建及自动索引3.2.1创建数组一般说来,如果需要用一个数组作为程序的数据源,可以选择Functions»Array»Array Constant,将它放置在流程图中。
然后再在数组框中放置数值常量、布尔数还是字符串常量。
下图显示了在数组框放入字符串常量数组的例子。
左边是一个数组壳,中间的图上已经置入了字符串元素,右边的图反映了数组的第0个元素为:”ABC”,后两个元素均为空。
图3-1数组的创建在前面板中创建数组的方法是,从Controls模板中选择Array & Cluster,把数组放置在前面板中,然后选择一个对象(例如数值常量)插入到数组框中。
这样就创建了一个数值数组。
也可以直接在前面板中创建数组和相应的控制对象,然后将它们复制或者拖曳到流程图中,创建对应的常数。
还有很多在流程图中创建和初始化数组的方法,有些功能函数也可以生成数组。
3.2.2数组控制对象、常数对象和显示对象通过把数组与数值、布尔数、字符串或者簇组合在一起,可以在前面板和流程图中创建任何一种控制对象、常数对象和显示对象。
数组元素不能是数组、图表或者图形。
如果您想查看一些数组的例子,请查看Examples\General\arrays.llb中的例子。
3.2.3自动索引当把某个外部节点的任何一维元素连接到循环边框的某个输入通道时,该数组的各个元素就将按顺序一个一个地输入到循环中。
数组和簇
6.必须按照簇顺序访问簇中元素的是下面那个 VI
A 解除捆绑
B 按名称解除捆绑
5
4.如果有两个一维数组,维度分别是 4,8,将其以索引的方式输入 For 循环,For 循环的计 数端为 5,那么 For 循环实际循环次数是多少
5.判断: 簇不可以进行数值运算()
簇元素的顺序和该元素的放置位置有关()
使用簇可以解决子 VI 所需的连线板接线端数目() 簇元素类似文本编程语言中的结构体()
图2.2B修改错误簇常量
可以使用按名称捆绑来实现对簇的修改。与捆绑基于簇顺序不同,按名称捆 绑是以自身标签为引用,输入的个数不需要与输出簇中的个数匹配。比如图2.2B 中只想修改错误簇中的代码一项,就可以使用如图2.3方式。
3
LabVIEW 初级教程 数 组 和 簇
图2.3 按名称捆绑修改簇 分解簇:
LabVIEW 初级教程
数
组
练习:
和
1. 下列哪些数据类型可以作为数组的元素:
簇
A. 数值 B 布尔 C 路径 D 字符串 E 波形 F 簇
2. 对于一维数组[1,2,3,4,5,6,7],如果该数组前的索引号是 3,那么显示的第一个
元素是
A.1 B. 3 C. 4 D. 7
3.如果有两个一维数组,维度分别是 4,8,将其以索引的方式输入 For 循环,For 循环的计 数端没有连线,那么 For 循环实际循环次数是多少
如果对连接到For 循环输入接线端的数组启用自动索引, LabVIEW 会将计数接线
端设置为数组的大小,因此您无需再连接计数接线端。 因为For 循环一次可以处理数组
中的一个元素,所以,在默认情况下, LabVIEW 对连接到For 循环的每个数组均启用自
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
源管理器就是用树形控件来显示文件目录的。
6
6.1 字符串(String)
6.1.2 表格和树形控件举例
7
6.1 字符串(Strห้องสมุดไป่ตู้ng)
6.1.3 字符串函数
8
6.1 字符串(String)
6.1.3 字符串函数举例
22
6.3 簇(Cluster) ——LabVIEW中的结构体变量
4、按元素名称打包函数(Unbundle By Name)
该函数通过簇内部元素名称来给簇内部元素赋值。 参考簇是必须的,该函数通过参考簇来获得元素 名称。
23
6.3 簇(Cluster) ——LabVIEW中的结构体变量
簇操作函数使用示例
基本字符串函数示例
9
6.1 字符串(String)
6.1.3 字符串函数举例
数据数组/电子表格字符串转换函数示例
10
6.2 数组(Array)
6.2.1 数组控件
数组控件 11
6.2 数组(Array)
6.2.1 数组控件
12
6.2 数组(Array)
6.2.2 数组之间的算术运算
LabVIEW一个非常大的优势就是它可以根据输入 数据的类型判断算子的运算方法,即自动实现多态
对于系统错误,code都有预先的定义,可以通过选 择Help->Explain Error…打开错误解释框来查找 该错误代码的更详细的解释。
26
6.4 矩阵(Matrix)
LabVIEW 8之前的版本中只能通过二维数组来 实现矩阵的操作。但是数组的运算方法和矩阵 的运算方法有很大不同,譬如两个数组相乘是 直接将相同索引的数组元素相乘,而矩阵的相 乘必须按照线性代数中规定的方法相乘,因此 用数组实现矩阵运算是非常麻烦的。LabVIEW 8最新加入了对矩阵的支持,从而使矩阵的运 算变得非常简单。
2、打包函数(Bundle)
该函数用来为Cluster中各元素赋值。
21
6.3 簇(Cluster) ——LabVIEW中的结构体变量
3、按元素名称解包函数(Unbundle By Name)
普通的解包函数解包后只有将鼠标移到输出端子 上才能看到输出元素的名称,程序的可读性不高。 该函数可以根据名称有选择的输出簇内部元素。 其中元素名称就是指元素的Label。
6.2.3 数组函数
14
6.2 数组(Array)
6.2.3 数组函数举例
用Array Size 函数获得三维数组大小示例
15
6.3 簇(Cluster) ——LabVIEW中的结构体变量
簇是LabVIEW中比较独特的一个概念,但实 际上它就对应于C语言等文本编程语言中的结 构体变量。
16
27
6.4 矩阵(Matrix)
矩阵乘法举例
28
6.4 矩阵(Matrix)
LabVIEW 8还提供了丰 富的线性代数运算函 数,它们位于 Functions Palette的 mathematics -> liner algebra…面板 下
29
小试身手
1. 为第5章的习题2连续温度采集监测添加报警 信息,如下图所示,当报警发生时输出报警信 息,例如“温度超限!当前温度78.23℃”,正常 情况下输出空字符串。
对于加减乘除,数组之间的运算满足下面的规则:
a) 如果进行运算的两个数组大小完全一样,则将两个数组中索 引相同的元素进行运算形成一个新的数组。
b) 若大小不一样,则忽略较大数组多出来的部分。 c) 如果一个数组和一个数值进行运算,则数组的每个元素都和
该数值进行运算从而输出一个新的数组。
13
6.2 数组(Array)
4. 利用簇模拟汽车控 制,如右图所示,控制 面板可以对显示面板中 的参量进行控制。油门 控制转速,转速=油门 *100,档位控制时速, 时速=档位*40,油量 随VI运行时间减少。
33
30
小试身手
2. 对字符串进行加密,规则是每个字母后移5 位,例如A变为F,b变为g,x变为c,y变为d…
31
小试身手
3. 产生一个3×3的整数随机数数组,随机数要 在0到100之间,然后找出数组的鞍点,即该位 置上的元素在该行上最大,在该列上最小,也 可能没有鞍点。如下图所示:
32
小试身手
LABVIEW第6章字符串、数组、簇和矩阵
6.1 字符串(String)
4
6.1 字符串(String)
6.1.1 字符串控件
字符串输入控件一般被用作文本输入框,而字符串 显示控件一般被用作文本显示框。
5
6.1 字符串(String)
6.1.2 表格和树形控件
表格(Table)和树形控件在Controls Palette的 Modern->List & Table…面板下。
24
6.3 簇(Cluster) ——LabVIEW中的结构体变量
6.3.3 error in 和error out簇
LabVIEW利用error in 和error out这两个预定义簇来 作为传递错误信息的载体。
25
6.3 簇(Cluster) ——LabVIEW中的结构体变量
6.3.3 error in 和error out簇
6.3 簇(Cluster) ——LabVIEW中的结构体变量
1、解包函数(Unbundle)
该函数将簇解开从而获得簇中各个元素的值。缺 省情况下,它会根据输入的簇自动调整输出端子 的数目和数据类型,并按照簇内部元素索引的顺 序排列。
20
6.3 簇(Cluster) ——LabVIEW中的结构体变量
6.3 簇(Cluster) ——LabVIEW中的结构体变量
6.3.1 簇的创建
通过簇控件实现的温度显示器
17
6.3 簇(Cluster) ——LabVIEW中的结构体变量
改变簇内部元素控件的索引
18
6.3 簇(Cluster) ——LabVIEW中的结构体变量
6.3.2 簇操作函数
19