图形化编程Labview入门教程 暂存编辑中,仅自己可见

guoxiao69LabVIEW 2020-04-16 14:57:25 5268阅读 举报

Labview为图形化编程,一个文件(VI)分为前面板和程序框图。前面板即为人机交互页面,程序框图则是实现的程序。

前面板认识

在灰色部分右键显示控件模块

查看—》工具悬版


控件上右键可以开启快捷菜单设置。

程序框图
包括:
接线端
函数节点 带有输入输出端,在VI运行时执行运算
子VI节点 一个VI在另一个VI内部
函数
常量
结构
连线

不同数据类型的连线颜色不同,粗细,样式均有差异如下图

断开的连线显示中间带有红叉的黑色虚线
ctrl +B 删除程序框图中所有断开连线,右键可以整理连线

ctrl +H 显示帮助、

数值型控件
右键改变表示法,也可转换为显示控件,常量
右键属性可以改变标尺,显示位数等

布尔型控件使用
右键调整机械动作(释放时转换,单击时转换等)

动态数据类型
动态数据类型表示为蓝色】保存由Express VI产生或采集的信息,包含与信号相关的数据,以及信号相关的属性信息。例如,信号的名称、采集的日期和时间等待
非Express VI无法接收动态数据。
需要用动态数据类型转换来使普通函数,VI来接收。也可以将普通的转换为动态数据类型

while循环应用
左边是计数接线端,返回以执行循环次数
右边是条件接线端,定义循环结束条件,可以真时循环,也可以假时循环

for循环
要用32位有符号整数,如果不是需要转换。


变量的应用
局部变量起着在单个VI中实现数据传递功能

如图,一个控件并不能结束两个循环,循环控件是一个布尔控件,按下循环控件按钮传出真值,循环1停止,但是循环二收到真值只循环一次然后便停止。
解决方法1:

并行循环不能通过连线传送数据,因为while隧道只输出最后一次执行的值


解决方法2:使用局部变量在单个VI中传递数据


注意:布尔变量使用关联局部变量必须使用开关机械动作,布尔触发动作与局部变量不兼容,即只能用上面三个,下面三个不可以用

创建局部变量的方式
1、右键控件选择创建局部变量,使用此方法记得将创建出来的局部变量右键转换为读写



2、直接在结构中找到局部变量


循环数据传输
经常用到前一次循环产生的数据,移位寄存器将前一个循环产生的数据传递到下一次循环

红圈中即移位寄存器,他是成对出现的。在循环框右键单击选择添加移位寄存器
右侧的移位寄存器存储每次循环后的数据
左侧的寄存器为下一个循环提供所存储的数据


移位寄存器一定要进行初始化


属性节点
属性节点用于访问对象的属性
比如当数值高于指定数值时,线条变为红色

右键 -》创建-》属性节点-》值 然后右键转换为写入 这种方法创建的 称为隐含属性节点
属性节点有很多种类,灵活使用

从控件中找到应用程序控制——》属性节点 叫做严格属性节点
多个VI中涉及到同一个控件的属性时会用严格属性节点

控件的属性可以使用隐式连接的方法直接访问,也可使用引用来访问
VI和应用程序本身的属性必须通过引用接入相应节点的方式来访问

调用节点的创建与应用
调用节点可用于执行引用的项的操作和方法
VI 输入控件
一个调用节点只能对对象调用一个方法

使用VI服务器引用。关联调用节点和当前VI
1、创建一个VI方法-放置一个VI服务器引用函数,选择本VI
2、单击右键,从快捷菜单中选择创建》VI类 的方法,并选择所需方法

要创建隐式连接调用节点,右键单击控件,从快捷菜单选择创建》调用节点并选择方法,

右键-》结构》顺序结构可以控制程序顺序

如图中的边框,右击边框可以添加帧

数组与数组函数的创建与应用
数组初始化:
1、直接在前面板输入元素进行初始化
2、for循环索引输出
3、数组的初始化函数
注意:未初始化的数组只有维数,没有任何元素
数组连接至for或while循环,启用隧道的自动索引功能可有序对应循环与数组中元素
如果使用自动索引功能,隧道突变将有方形变为如下所示

循环次数将由数组大小决定


上图循环次数为5次(取决于最小)





一个for循环为一维数组,两个for想你换为二维数组

数组创建可以手动创建也可以用循环输出也可以用数字初始化函数

簇*
将不同类型数据元素归为一组
类似于文本变成语言中的记录或结构
簇的大小是固定的

簇元素的逻辑顺序与其在簇内的位置无关
右键单击簇外框,从快捷菜单选择重新排序簇中的控件

波形簇
显示波形的时间戳,间隔

波形图
单曲线显示

可以显示数组,簇,波形

1为单曲线
2为双曲线,用数组来完成显示
3为单曲线,输出是一个簇




波形图表

右键可以选择缓存区的大小



在波形图中,二维数组的每一行就是一条曲线,而在波形图表中,每一列是一条曲线,因此需要先转秩在传入波形图表


XY图
不规则间隔采样
每个X值对应多个Y值
使用坐标确定每个数据点

方法1:单个点的XY坐标捆绑成簇,在组成数组

方法2:先输出数组,在进行捆绑


顺序结构


条件结构



可创建多个输入输出隧道。输入数据可供全部条件分支使用,必须为每个条件分支定义各自的输出隧道。如果那个分支没有定义则会报错

事件结构
根据不同的动作执行不同的功能
例如

数据节点与过滤节点
下图右边为过滤节点,数据节点中的数据不可修改。

通知事件与过滤事件

事件结构要配合while循环

自定义控件的设计


子VI的使用
右键右上角图标可自定义子VI的图标

引入子VI的方法


创建子VI的方法:
1、圈选住要变成子VI的部分
2、编辑》创建子VI

方法2:
1、右上角图标双击
2、选择模板
3、选择符号
4、设置突变文本
5、在前面板中设置连线版,右键选择模式,点击连线版,在点击对应的控件,就可以将连线版的接线端和控件
6、放到新的VI中

单循环结构的创建:状态机
状态机由状态的集合以及对应状态切换的转换函数构成
每个状态可触发一个或多个状态或结束进程处理
状态机结构包括:while循环,移位寄存器(保存上一次的状态),条件结构
默认转移,状态转移,条件结构转移、转换数组转移

多循环结构:
基本状态机缺点:任何时刻只能有一个状态在运行

队列:
队列可存储多个数据
默认FIO方式



多循环架构:单生产者多消费者


程序生成规范

标签: #LabView#

版权声明:
作者:guoxiao69
链接:https://www.dianziwang.net/p/200f18645142d2.html
来源:LabVIEW
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以点击 “举报”


登录 后发表评论
0条评论
还没有人评论过~