该节目标是熟悉vi构成,编写一个单独的vi
该vi代码由LabVIEW自带的函数构成,包含事件基本的事件触发功能
一、前面板和程序框图
LabVIEW最小的编程单位是vi,每个vi都会包含前面板和程序框图
笼统地说,前面板是用户交互的地方,程序框图是代码本体。
○ 前面板包含控件,其功能可以划分为:
1.用户交互
2.设置输入输出节点
3.观察调试
其界面可以划分为
P1.菜单栏
P2.工具栏
P3.面板
P4.接线端
○ 程序框图包含常量/变量,连线,结构和子vi:
1.常量:固定值
2.变量:控件值,程序框图的变量会和前面板控件一一对应
3.连线:数据流的保证,输入输出的搭建
4.结构:循环,事件,顺序等等
5.子vi:相当于函数,控制逻辑
要编写一个单独的vi,主要是要先熟悉1-4点
二、前面板
在前面板空白地方右键,可以选择控件,点击对应的控件后,可以放置在任何地方。
- 控件分为输入控件和输出控件,右键点击控件可以相互切换。只有输入控件才能供用户输入,显示控件仅用于显示。
- 每个控件都会有对应的标签,图中标签就是"数值 2",“数值 3”,在编写过程要严格保证标签是唯一的。
三、程序框图
在程序框图空白地方右键,可以拉出G代码列表
2.1、数据类型
LabVIEW属于高层语言,大部分应用场合可以忽略掉类型的细节,知道每个类型的用法就行。
也属于强类型语言,不同的类型之间需要强制转换。
常量/变量,常用类型如下:
1.字符串
2.数值
3.布尔
4.引用:控件引用,队列引用,.net句柄等等
- 常量和变量的区别在于,变量在前面板有对应的控件,而常量没有
- 左边的是常量,右边的是变量
可以看到右边的变量图标在前面板是有对应的控件
2.2、连线
1.线头:输出
2.线尾:输入
这里需要引出一个数据流的概念
数据流:是LabVIEW顺序执行的概念,彼此节点有连线的,从线头到线尾顺序执行。而彼此节点
不存在连线的,并行。可以点击前面板工具栏中的灯泡,再执行vi,可以清晰看到数据流的执行。
2.3、结构
在程序框图右键->点击结构
2.3.1、循环
- for循环:需要有明确的执行次数
- while循环:不需要明确的执行次数,需要有明确的退出条件
2.3.2、条件
2.3.3、顺序
2.3.4、事件
四、编写vi
目标:实现一个用户点击计算按钮后,计算两个数值控件的值相加,得出的结果显示到另一个控件当中。
小程序写法一般先界面后功能。
步骤:
1、打开LabVIEW,ctrl+N新建一个vi
2、保存vi到某个指定的路径,此处名字为"单独vi"
3、在前面板右键,放置3个<数值>控件,两个数值输入控件,一个数值输出控件。
4、再放置一个布尔按钮控件至此界面完成,前面板如下:
程序框图如下:
可以看到前面板所有控件,在程序框图中都有一一对应的图标,对应的标签也是一样的。
5、要触发按钮事件,则需要在程序框图放置<事件结构>。要多次触发按钮事件,则用<while循环结构>包住<事件结构>。
6、<事件结构>添加<布尔>的"值改变"
① 右键"事件结构"->选中"添加事件分支"
② “事件源"中选中"布尔”(控件标签名称)->“事件"选中"值改变”->点击确定
7、右键程序框图->选中函数中的"数值"->选中"加"->放置在"事件结构"中
8、“数值"和"数值 2"图标引出线连接到"加"的输入端->“加"的输出端连接到"数值 3"的输入端->放置到"事件结构"的”“布尔”:值改变"分支。
9、右键点while循环里的红点->选中"创建常量”
10、"程序框图"完成,如下:
11、ctrl+R运行->"数值"输入1,“数值 2"输入2->点击"布尔”,当"数值 3"显示3的时候,说明功能完成