LabVIEW编程基础中.docx
《LabVIEW编程基础中.docx》由会员分享,可在线阅读,更多相关《LabVIEW编程基础中.docx(22页珍藏版)》请在冰豆网上搜索。
LabVIEW编程基础中
LabVIEW的基本控件与基本函数
LabVIEW基本控件:
数值、布尔、字符串与路径、数组与簇、图形、枚举
1、数值:
数值输入控件与数值显示控件(数值输入控件有增量/减量按钮;输入为白色背景,输出为灰色背景)
默认数据类型为:
双精度,橙色。
2、布尔:
值默认为False,图标为绿色。
布尔控件的机械动作属性
单击时转换:
按下按钮时改变状态,再次单击后恢复原状态。
与VI是否读取控件无关。
(可赋值恢复)类似开关按钮
释放时转换:
按下按钮时保持当前状态,直到释放按钮,再次单击后恢复原状态。
与VI是否读取控件无关。
(可赋值恢复)类似开关按钮
保持转换直到释放:
按下按钮时改变状态,直到释放按钮,,再次单击后恢复原状态。
与VI是否读取控件无关。
(可赋值恢复)。
类似开关按钮
单击时触发:
按下按钮时改变状态,LabVIEW再次读取控件值后返回原状态。
释放时触发:
:
按下按钮时保持当前状态,释放时改变状态,LabVIEW再次读取控件值后返回原状态。
保持触发直到释放:
按下按钮时改变状态,直到释放按钮,LabVIEW再次读取控件值后返回原状态。
3、字符串与路径:
(字符串输入控件与字符串显示控件),粉色。
4种显示方式(正常显示、’\’代码显示、密码显示、十六进制显示)
4、数组:
依据加入的控件类型同样分为输入控件与显示控件
LabVIEW的数组以索引号0表示数组的首个数据。
增加数组维度的方法:
(1)索引框的快捷菜单中->增加维度
(2)直接向下拖动索引框
(3)属性对话框->外观选项卡->维
数组中的元素为同类型的控件,可以是各种类型的控件,但不能是数组的数组。
数组的多态性:
5、簇:
依据加入的控件类型同样分为输入控件与显示控件
簇本身的属性:
重新排序簇中控件、自动调整大小(无、调整为匹配大小、水平排列、垂直排列)
使用簇结构时,尽可能的使用:
严格自定义类型。
错误簇:
状态(布尔)、代码(数值输入)、源(字符串输入)
6、波形图表(Chart)与波形图(Graph):
波形图表有一个“先入先出的缓冲区(默认为1024个数据)”,所以特别适合实时显示数据。
波形图表的组成要件:
X标尺、Y标尺、图例、标尺图例、图形工具选板、X滚动条、数字显示
波形图表(chart)专用属性:
1、刷新模式:
带状模式、示波器模式、扫描模式
带状模式:
从左至右显示数据,右边添加新数据的同时擦除左边旧数据。
示波器模式:
从左至右显示数据,绘图至右边界时,擦除原曲线,重新显示新曲线。
扫描模式:
从左至右显示数据,绘图至右边界时,以垂直分割线分隔新旧数据。
波形图表既可以显示单条曲线,也可以显示多条曲线。
显示多条曲线:
(1)N维数组:
按列来显示,数组有几列在波形图表中就显示几条曲线
(2)多个标量数据捆绑成簇,然后输入波形图表
波形图的组成要件:
X标尺、Y标尺、图例、标尺图例、图形工具选板、X滚动条、游标、注释(数据操作-创建注释)
显示单条曲线,输入可以是:
一维数组、波形数据、波形簇【捆绑,t0、d0、Y(一维数组、二维数组、簇数组等】
显示多条曲线:
N维数组(每一行代表一条曲线)、多个一维数组分别捆绑成簇,创建簇数组(簇数组中每个簇元素代表一条曲线)、多个波形数据显示多条曲线(创建波形数组或合并波形信号)
专用属性之游标:
波形图与波形图表显示曲线时,只需要提供Y坐标的数据值,应为他们都是按照顺序显示到X坐标的。
而XY图需要成对输入V坐标和Y坐标的数据值。
显示两条曲线:
要先将已经捆绑成簇的两条曲线数据(每条的X坐标与Y坐标数据)用“创建数组”函数合成簇数组,然后再输入到XY图中。
7、枚举:
枚举控件
∙枚举控件用于向用户提供一个可供选择的项列表。
∙枚举控件广泛用于状态机中。
使用枚举型控件时,应首先定义枚举的值(建议用:
“自定义类型”)。
在枚举型控件中添加或删除项时,先定义枚举型的值可避免重写代码。
常用函数
1、数值函数:
复合运算、最近数取整、数值常量、随机数(0-1)、枚举常量等
DBL:
双精度浮点型,橙色;I32:
长整形,蓝色;U32:
无符号长整形,蓝色。
复合运算:
反转,更改模式
2、比较函数:
选择
3、布尔函数:
真常量、假常量、与、或、非、异或
4、字符串:
字符串长度、连接字符串、截取字符串
(1)从偏移量开始在字符串中删除长度个字符,并使删除的部分替换为子字符串;
(2)如长度为0,替换子字符串在偏移量位置插入子字符串;
(3)如果字符串空闲,替换子字符串在偏移量位置后用子字符串覆盖原有字符
(4)如子字符串为空,该函数在偏移量位置删除长度个字符。
常用的一些字符串常量
5、对话框与用户界面:
单按钮对话框、双按钮对话框、三按钮对话框、提示用户输入(对话框)、显示对话框信息、简易错误处理器
Y返回值0;N返回值1;C返回值2。
提示用户输入:
显示标准对话框,提示用户输入用户名(文本输入)、密码(数字)等信息。
窗口标题显示的信息输入(输入名称、输入数据类型)与下图从上到下一一对应。
显示对话框信息:
显示的信息(输入提示信息)
5、定时函数:
等待下一个整数倍毫秒(函数)精度高于等待(ms)(函数),前者还可以实现多线程同步。
“时间延迟”(s)(ExpressVI):
相当于“等待(ms)”函数.
6、数组函数:
数组大小、索引数组、替换数组子集、数组插入、删除数组元素、初始化数组、创建数组、数组子集、搜索一维数组
只能连线一个索引输入端。
可以用初始化数组创建数组
创建数组函数右“连接输入”和“不连接输入”两种模式,默认为“不连接输入”。
如未选择连接输入,函数可创建比输入数组多一个维度的数组。
例如,如连线一维数组至该函数,即使输入值为一维空数组,输出值仍为二维数组。
输入数组的维度应该相同。
该函数可按顺序拼接各个数组,形成输出数组的子数组、元素、行或页。
如有需要,可填充输入以匹配最大输入的大小。
该函数可依据是否在快捷菜单中选择连接输入,选择两种模式的一种。
如选择连接输入,函数可按顺序拼接所有输入,形成输出数组,该输出数组的维度与连接的最大输入数组的维度相同。
7、簇函数:
捆绑(使独立元素组合为簇)、解除捆绑(使簇分解为独立元素)、按名称捆绑(替换一个或多个簇元素)、按名称解除捆绑(返回指定名称的簇元素)、创建簇数组
文件I/O:
打开/创建/替换文件、写入文本文件、读取文本文件、关闭文件、
创建路径、拆分路径、文件常量(路径常量、当前VI路径)
数据通信:
变量(共享变量、局部变量、全局变量);DataSocket;协议(TCP与UDP)、同步(通知器、队列、信号量)
变量:
使程序可以在多个地方对同一个控件进行读/写(“结构”子选板中/‘数据通信”子选板中)
局部变量:
实现在同一个程序中不同地方的数据传递。
全局变量:
【功能全局变量(不存在数据竞争)、内置全局变量】用于不同程序间数据的传递。
共享变量:
有全局变量的所有特性,可以在网络中的不同计算机间相互通信。
DataSocket:
TCP:
连接通信、数据传输可靠
UDP:
无连接通信,采用广播的方式来发布数据,适用于一点对多点的通信。
速度快、数据传输不可靠,适用于要求不高的数据通信。
通知器:
队列适用于多对一的操作,而通知器适用于一对多的操作,类似广播:
一点发出的信息,多点可以同时接收。
队列:
类似数据缓冲区,也是一个先入先出的数据结构。
但是与数据缓冲区有明显的区别。
信号量:
控制获取共享济源权限的数量。
当达到信号量规定的数量之后,其他线程只能等待,直到别的线程释放控制权。
信号量不传递数据。
通知器传递数据,但是一次只能传输一个数据,如写入通知器的数据还未被读取时,程序又写入通知器,前一次写入的数据将被覆盖。
局部变量没有判断数据更新的机制,无法判断数据是否是新数据。
队列通过FIFO支持多元素操作,保证没有数据丢失或被覆盖。