GitHub仓库整理:
目录
安装包
- 注:解压密码:yixiaoshi.net;blog.eeecontrol.com
- 注:不是打开网址,网址就是密码本体。
参考链接:
LabVIEW零基础入门视频教程
Labview牛逼!带你轻松入门Labview~
思维导图
基础
基本使用
- 新建:工程-VI,打开前面板和后面板
- 添加控件:前面板-右键,单击选择所需控件,不用按住不放,找好位置以后单击放下
- 修改控件名:双击名字位置,前面板和后面板均可
- 添加函数:后面板-右键,选择所需函数,如函数-数值-加减乘除,并将其与其他控件连接
- 运行:上方工具栏的空心向右箭头;查看运行错误:碎掉的灰色右箭头
- 保存:保存为.vi文件
- 关闭前后面板:回到的是labview的初始界面,这时再次打开/直接点.vi文件打开不需要等待
- 直接打开.vi文件:在labview程序已经打开的前提下,(面向用户) 只打开前面板;调出后面板:ctrl+E
- 当labview程序没有打开的情况下直接点击.vi文件:先打开labview,后打开.vi文件对应的前面板
- 复制已有控件:鼠标框选多个控件后,按住ctrl拖动可以直接复制
加法小程序图示
labview的编程特点
- 图形化编程
- 直观,上手快,构建程序快,不会有漏写错写的语法错误
- 基于数据流运行
- 工具栏小灯泡:高亮运行过程,之后点运行可以看到数据流动的情况
- 注:小灯泡会拖慢运行,除了调试一般不点亮
- 天然并行性
- 同一个程序中:加法的两个因子是并行执行的;
- 两个并列的加法和减法程序:点运行后,加法和减法是并行执行的
- 注:没有用线连接的话,两个程序是并行运行的,与摆放位置无关;连起来的话是按数据流运行
平铺式顺序结构
- 控件/函数元件右键:展开菜单列表
- 平铺式顺序结构:选择图标后,需要多大就框拉多大,后面可调,右键添加帧;把程序按序放在框里
- 延时:添加帧后,添加 定时-等待(ms) 和 数值-数值常量
- 元件距离近时:有时会自动连上线,如果不需要可以手动删除
整理程序:
- 框选需要整理的程序部分,然后工具栏小扫把:整理所选部分
快捷键
- Ctrl+N新建一个Labview项目
- Ctrl+E切换前面板和程序框图
- Ctrl+R运行快捷键
- Ctrl+S保存快捷键(最恐怖的就是画了很久忘记保存电脑突然关机呜呜)
- Ctrl+B去掉所有的断线
===========================================================================
程序结构
顺序结构
框:形似胶卷框,每个框叫做一帧
布尔型控件为例演示
添加布尔型控件:
- 前面板:控件-布尔-指示灯;
- 后面板:函数-布尔-真常量/假常量
- 运行:灯会亮/灭
- 注:布尔的真假常量元件可以直接点击切换
同一个元件分两处控制值:
- 后面板设置:平铺式添加多帧
- 选中控件右键-创建-属性节点-值,放好后右键新创建的属性节点-全部转换为写入
- 给创建的布尔型控件的属性节点赋值:相同方法,函数-布尔-真常量/假常量
- 中间加一个等待时间:笨办法是右键添加,快捷方法:添加等待控件后,光标移动到左侧连线位置,右键小手表-添加变量
布尔型控件的平铺式顺序结构图示:
切换两种顺序结构
- 后面板:右键结构框-替换-替换为平铺式/折叠式
for循环
添加for循环控件
- 后面板(程序框图):右键-结构-条件结构,拖动构建for循环块
- for循环:
- 左上角N:循环次数,光标移动到N左侧右键-创建常量,然后设置常量值即为循环次数
- 左下角i:for循环已运行的次数
for循环控件里放平铺式结构
- 可以在for循环中添加平铺式结构,放一些循环体内循环顺序执行的步骤
- 例如:在for循环结构中放一组“亮-等1s-灭-等1s”的平铺式结构,然后设置循环N=100
i值的可视化
- 不另外设置的话,程序面板的i值在运行时是没有显示值的
- 前面板:数值-数值显示控件
- 后面板:将数值显示控件连接到i
- 运行:灯亮暗的同时,数值显示控件的值也在相应地变化
- 快速设置的方法:后面板的i,光标移动到右侧连线处右键-创建显示控件
- 图示:
案例:产生随机数
- 前面板:右键-控件-图形-波形图表
- 后面板:创建for循环,然后把波形图表的图标放到for循环框中
- 随机数:后面板右键-函数-编程-数值-随机数(0-1),然后把随机数元件连接到波形图表
- 延时:为了避免显示太快,可以在for循环体中加入一个50ms的延时控件
- i可视化:i右键-创建显示控件
- 图示:
while循环
for循环和while循环
- for循环:可以设置循环次数
- while循环:一直循环,通过小红点控制停止
添加while循环
- 后面板:右键-编程-结构-while循环,光标拉框添加
- i:已循环次数
- 小红点:设为假时会一直运行,设为真时会停止
- 注:如果小红点设为假,运行后若想停止循环,需要按工具栏的停止或暂停
- 图示:
思考
- 如何中途停止for循环和while循环?
条件结构或选择结构
条件结构简介
- 选择结构的选择器接线端确定要执行的分支,接线类型有布尔型、数值型、字符串型和枚举型。
- 布尔型选择器判断真假,数值型和字符串型选择器判断是否符合相应的分支条件。
条件结构概述
- 左侧小问号:输入值,根据此处值对应不同的分支结果
- 注意小问号的颜色,默认为布尔型绿色,如果连接不同的输入类型,小问号颜色会相应地改变
- 上方方框:选择器标签,显示不同的分支,对应不同的帧(框)的结果
- 通过左右三角或向下三角切换不同分支
- 添加分支:分支框处右键-在前面/后面添加分支,同添加帧
- 注:针对不同的输入,会产生不同的分支
条件结构的分支
- 默认分支:类似switch,除了列出的分支,其他一律按默认分支处理
- 默认分支前需要加一个与其他分支不同的值,例如"0,默认"
- 默认分支针对无限个情况的输入类型,例如布尔型只有两个值,就不需要默认分支
- 无限情况的类型缺少默认分支时,会报错,即运行图标会断裂
- 添加分支:分支框右键-在前面/后面添加分支
- 修改新添加分支的值:直接在分支值的框中修改即可,修改好后点击其他空白处即可
- 添加默认分支
- 右键-在前面或后面添加分支,然后再次右键-本分支设置为默认分支
- 注:默认分支前面挂着的值是多少都可以,只要和其他分支的值不同即可,也可以进行修改
条件结构的数据类型
- 布尔,字符串,整数,枚举,错误簇
- 其他的类型不可以,如浮点型等。
添加布尔型开关控制输出的字符串
- 后面板:右键-条件结构,拖动光标构建条件结构元件
- 前面板:右键-控件-布尔-开关按钮
- 后面板:将布尔开关控件放在条件结构外,并连接到小问号
- 添加字符串显示控件:
- 前面板右键-控件-字符串与路径-字符串显示控件;后面板右键-创建常量:“我是真”
- 字符串显示控件右键-创建-属性节点-值,把属性节点先放到条件控件框外,右键-全部转换为写入
- 切换到另一个分支后,再放入另一个分支,然后右键-创建常量:“我是假”
- 注:常量框里直接输入汉字可,不需要加引号
- 运行:布尔开关单击一下切换为假,运行输出“我是假”;布尔开关点击切换为真,运行输出“我是真”
布尔开关添加循环
- 前面板:右键-添加while循环,然后直接拖到将上述程序包住
- 将小红点设置为F:右键-创建常量
- 运行:前面板点运行后,点击切换布尔开关,显示框显示的字符串也相应改变
- 停止运行:点停止结束
- 图示:
整型分支
- 后面板:右键-条件结构
- 前面板:右键-数值-数值输入控件
- 数值输入控件默认输入的是小数,且不同类型,控件的颜色不同
- 修改:右键-表示法,中间两行是整型,名字后面会带 整型 字样
- 后面板:将数组控件放在条件结构外,并与条件结构的小问号连接,则小问号的颜色以及分支项都会相应改变
- 添加字符串显示控件:
- 右键-字符串显示控件,并创建常量,输入显示值,如“我是1”;
- 控件右键-创建-属性节点-值,右键-全部转换为写入,之后放到其他分支,并右键-创建常量,写入“我不是1”
- 运行:数值框输入某值后点运行,显示框会显示相应的结果
- 图示:
字符串分支
- 后面板:右键-条件结构
- 前面板:右键-字符串与路径-字符串控件
- 后面板:将字符串控件放在条件结构外,并与小问号连接
- 字符串分支:会显示双引号;如果自定义值没有添加双引号,确定后会自动补充
- 误删默认分支后添加:添加分支后随便输入一个与其他分支不同的值,然后右键-设置为默认分支
- 图示:
事件结构
事件结构概述
- 事件结构:labview的精髓
- 上方:事件分支框
- 左侧:
添加事件结构-控制布尔小灯亮灭
- 后面板:右键-函数-结构-事件结构
- 前面板:右键-布尔-圆形指示灯,右键-布尔-确定按钮,添加两次,按钮的值可以双击修改
- 后面板选择器标签设置事件分支:
- 事件分支右键-添加事件分支-打开"编辑事件"新窗口
- 事件源框的控件列表可以看到自行添加的三个事件 (布尔,打开,关闭),事件框可以看到若干对应的值
- 选择打开/关闭-值改变-确定
- 切换分支并编写程序:
- 切换到“打开”分支,框中放入布尔小灯控件,并布尔灯左侧右键-创建常量,赋值为真常量
- 布尔小灯右键-创建-属性节点-值,并右键-全部转换为写入,并移动到事件控件框外,右键-创建常量-赋假常量
- 切换到“关闭”分支,移入属性节点
- 打开关闭控件:建议移入相应的分支中,方便查找;不是必须,放外面也对
- 图示:
超时分支
- 事件分支框的左上角的漏斗:控制超时等待时间,时间到无操作时停止运行
- 时间默认值:不设置或右键创建常量的值均为-1,即无限等待下去
- 超时设为3000ms时跳出:
- 前面板:右键-控件-字符串与路径-字符串显示控件
- 后面板:字符串显示控件左侧右键-创建常量-输入“我超时啦”
- 运行-无操作3s:显示“我超时啦”
- 是否设置超时时间:按需
- 图示:
事件结构嵌套在while循环中
- 事件结构一般要配合while循环使用,要不运行一次就停止了
- 操作:后面板-右键-结构-while循环,套到事件结构外,小红点-右键-创建常量-F
- i显示值:后面板i右键-创建显示控件
- 当不设置超时时间时:每点一次打开/关闭,一次循环结束进入下一循环,i值增加1;
- 当设置超时循环:特定时间内,i没有检测到开关操作,则判定为超时分支,i+1后进入下一次循环;
- 注:设置超时后也不影响开关操作,会在某个循环捕获动作
- while循环一般放在事件结构外,不放在内,否则会死循环
- 图示:
禁用结构
禁用结构概述
- 与文本语言中注释的功能类似,可以暂时屏蔽一段代码的执行
事件结构中添加禁用结构
- 后面板:右键-结构-程序框图禁用结构, 拖动框住想要禁用的程序结构,如图打开的布尔小灯,则运行点打开没动作
- 切换到启用分支: 设置启用代码,如前面板添加字符串显示控件,后面板设置值为“我启用啦”,则运行点打开显示字符串
删除禁用结构
- 后面板:禁用结构右键-删除程序框图禁用结构,则恢复原来的功能
===========================================================================
数据类型
数值
浮点数
整数
含枚举、下拉列表框
添加及切换数值类型
- 前面板添加:右键-数值-数值输入控件
- 整型和浮点型没有分开
- 后面板添加:右键-数值-数值常量(蓝色整型)/DBL数值常量(橙色浮点型)
- 切换:后面板-选中右键-表示法-选择新的整型/浮点型
- 添加的整型或浮点型常量都可以转为另一种,不影响
- 常量与数值控件的转换:
- 后面板:选中常量-右键-转换为输入控件/转换为显示控件
- 后面板:选中数值输入控件-转换为常量
- 同理,输入控件和显示控件也可以相互转换:前面板或后面板-选中右键-转换为xxx
- 注:后面板的常量元件在前面板不显示
数值类型与取值范围
- 如果选取不合适的数值类型,计算结果会出错
- 示例:U8类型(无符号8位,0-255)的加法,当一个因子为255时,计算结果会与预期不符
- 255+30,结果超过255的范围时,会从0开始重新计数,因此和显示为29
- 后面板-选中控件-右键-表示法,都转换为U32后,求和即可正确显示结果
双精度浮点数不能作为条件输入
- 双精度浮点数:用64位的二进制数来表示小数,当精确度的有效位变多,能表示的小数的特定的、有限的
- 小数点后的位数可以无限多,但是用来表示的二进制数是有限的
- 不能穷举所有小数的话,计算机会找一个最近似的小数来表示特定的数
- 例如:1.239
- 前面板:数值输入控件-选中右键-显示格式,位数显示得更多时,最后的位数会变成特定数字
- 如果将末尾的1改为2,确定后会自动改为1;改为3,自动改为32;改为5,自动改为54
- 图示:
- 条件结构输入浮点型时:
- 将对其四舍五入到最近的整数值,例如1.239会舍入为1 -- 强制类型转换
- 将对其四舍五入到最近的整数值,例如1.239会舍入为1 -- 强制类型转换
- 条件分支标签中如果设置了浮点数,会自动转换为红色加引号的字符串
- 红色:表示执行前需要删除或编辑
- 红色:表示执行前需要删除或编辑
- 如果必须要用到小数类型:可以在原数值基础上乘以10转为整型
- 例如图中的1.1,1.2,1.8等
- 例如图中的1.1,1.2,1.8等
- 图示小结:
枚举类型
枚举类型的添加
- 前面板:右键-控件-下拉列表与枚举-枚举
- 注:枚举类型默认是没有项目的
- 添加项目:选中枚举控件-右键-编辑项
- 编辑项窗口:
- 项 下双击编辑项目名称,旁边的值 为本条项对应的值
- 点右侧 插入,可以插入新的一条项目
- 选中某条项目后可以点上移/下移来调整项的顺序
- 项的值:添加数值显示控件,并连接到枚举控件,运行-选择不同的项,可以看到显示控件会显示所选项对应的值
枚举类型与条件结构结合
- 将枚举类型连接到条件结构的小问号,条件分支会默认变化,缺少的分支右键-添加
- 创建字符串显示控件,在不同的分支设置不同的结果
- 运行:枚举控件选择不同的项,字符串显示控件会显示不同的结果
下拉列表
- 添加下拉列表:
- 前面板:右键-控件-下拉列表与枚举-文本下拉列表
- 下拉列表设置:
- 选中下拉列表-右键-编辑项
- 项目的编辑同枚举
- 下拉列表与枚举的区别:
- 枚举的项的值都是特定的有序值
- 下拉列表的项的值:去掉"有序值"勾选后,可以双击对值进行设置,之后连接显示控件运行,会根据不同项显示对应的值
- 某种程度讲,下拉列表可以覆盖枚举的功能,功能更强大
- 下拉列表连接到条件结构:
- 分支显示的是下拉列表中项的值,而不是项的名称
- 分支添加和编辑:正常编辑即可
- 可以切换不同分支,设置不同分支显示不同的字符串
枚举及下拉列表的值
- 后面板右键-数值-枚举常量/下拉列表常量
- 枚举常量编辑:可以添加项;右键可以进行转换输入控件/常量等
布尔
布尔控件添加
- 前面板:右键-控件-布尔,选择需要的控件添加
布尔运算符
- 后面板:右键-函数-布尔-布尔运算的各种运算符
布尔控件的注意点
- 输入控件可以在运行时改变其值
- 例如:开关按钮可以在运行时,通过点击改变其值
- 显示控件:运行时不能改变其值了
- 例如:圆形指示灯
- 转换:选中布尔控件-右键-转换为显示控件/输入控件
- 显示控件转换为输入控件以后,就可以在运行时改变其状态值了
字符串
- 本质:正常显示与十六进制显示
- 字符串操作:计算长度、截取、合并
- 转换:数值转字符串、字符串转数值
- 特殊处理:搜索替换、搜索数量、特殊查找(正则表达式)
字符串的添加
- 前面板:右键-控件-字符串与路径-字符串控件
- 后面板:右键-函数-字符串-字符串常量
- 字符串控件和字符串常量也可以相互转换:
- 选中右键-转换为常量/转换为输入控件
字符串本质:正常显示与十六进制显示
- 字符串常量输入"你好"
- 选中字符串常量-右键-正常显示/十六进制显示:
- 十六进制显示:你好 变为 C4E3 BAC3
- 十六进制显示:你好 变为 C4E3 BAC3
常量转为字符串:
- 添加一个数值常量:后面板右键-数值-数值常量
- 设置基数:选中数值常量控件-右键-显示项-基数,光标移动到数值前面选择进制数为十六进制
- 设置表示法:根据值"C4E3 BAC3",右键-表示法,设为32位表示法(有符号无符号均可)
- 强制类型转换:
- 后面板右键-数值-数据操作-强制类型转换,将数值型连接到 强制类型转换控件左侧
- 转换后的类型默认为字符串型,添加步骤:后面板右键-字符串-字符串常量到 强制类型转换控件 上方
- 添加转换后的显示控件:强制类型转换控件右侧-右键-创建-显示控件
- 运行:输入数值后显示的就是 "你好"
- 注:前面板-右键字符串显示控件-十六进制显示,会再次显示为十六进制表示
字符串长度
- 添加字符串常量:后面板-右键-函数-字符串-字符串常量,值设为"1234567890"
- 添加长度函数:后面板-右键-函数-字符串-字符串长度,连接到字符串右侧
- 添加显示控件:在长度控件的右侧-右键-创建显示控件,运行可以显示所连接的字符串的长度为10
- 长度:字符1个长度,汉字2个长度
- A右键十六进制显示为41,"你"十六进制显示为C4E3
- A右键十六进制显示为41,"你"十六进制显示为C4E3
字符串的截取与合并
- 添加字符串常量:后面板-右键-函数-字符串-字符串常量,值设为"你好123456"
- 添加截取字符串:后面板-右键-函数-字符串-截取字符串
- 截取字符串控件:左侧 (字符串,偏移量,长度); 右侧 (连接显示控件)
- 字符串的接口:连接到字符串
- 偏移量:按长度计算的起始位置,接口右键-创建常量-输入所需的值,例如从"你好"后开始应为4
- 长度(剩余):指定剩余长度,不设置就截取到字符串末尾
- 右测接口-右键-创建-显示控件
- 运行:结果显示在显示控件
- 图示:
字符串的合并
- 添加字符串合并控件:后面板右键-字符串-连接字符串
- 拉长字符串合并控件:向下拉长,露出更多接口,可以将多个字符串都连接起来
- 一般用多少个接口就露多少个,多的拉回去
- 添加显示控件:字符串合并控件右侧右键-创建显示控件
- 图示:
合并字符串的换行
- 添加换行控件:后面板右键-字符串-行结束常量,将换行控件放在字符串中间
- 添加显示控件:连接字符串控件右侧接口右键-创建显示控件
- 整理控件:框选中后,小扫把整理
- 注:显示控件默认显示一行,如果看不全多行字符串,可以在前面板拉长显示控件以显示全所有字符串
- 图示:
字符串与数值之间的转换
- 添加转换控件:后面板右键-字符串-数值/字符串转换,有各种数值/字符串转换控件
- 字符串转换为小数的步骤:
- 右键-字符串-字符串常量,并输入1.234
- 右键-字符串-数值/字符串转换-分数/指数字符串至数值转换
- 转换控件:左侧第一个接口与字符串控件连接,右侧右键创建显示控件
- 运行:显示控件会显示字符串类型的结果1.234
- 数值至小数字符串转换的步骤:
- 右键-数值-DBL数值常量 (橙色浮点数),并输入1.234
- 右键-字符串-数值/字符串转换-数值至小数字符串转换,左侧连接常量控件,右侧添加显示控件
- 运行:前面板显示控件显示1.234000
- 精度设置:转换控件左下的接口为精度,默认6,可以右键精度接口-创建常量,设为3,此时显示为1.234
- 图示:
数组和簇
- labview中,可以使用数组和簇来将相互关联的数据集合在一起
- 数组将 相同类型的数据 集合在一个数据结构中;
- 簇将 多种类型的数据 集合在一个数据结构中。
创建数组
- 两步:创建数组类型的数据结构;指定数组的数据类型 (对应开头的对比定义)
- 添加数组控件:前面板右键-数据容器-数组,单击将控件放在合适的位置
- 设置数组类型:前面板右键-数值-数值输入控件,并将此控件放入上一步创建的数组控件的右侧灰色区域中
- 此时,数值输入类型的数组已创建好
- 字符串类型的数组:
- 同理,前面板右键-字符串与路径-字符串显示控件/字符串输入控件,将此控件拖入数组右侧灰色区域
- 同理,前面板右键-字符串与路径-字符串显示控件/字符串输入控件,将此控件拖入数组右侧灰色区域
修改数组的数据类型
- 后面板:右键数值数组-表示法-选择不同的数值类型后,数组的数值类型也会相应地改变
数值的输入控件和显示控件的相互转换
- 后面板选中数组控件-右键-转换为输入控件/显示控件
数组常量和数组控件的转换
- 后面板添加数组常量:
- 添加数组:右键-数组-数组常量;
- 指定数组类型:右键-数值-数值常量<整型>/DBL数值常量<小数类型>,拖入
- 字符串型:右键-字符串-字符串常量;
- 布尔型:右键-布尔-真常量
- 转换:
- 后面板选中-右键-转换为输入/显示控件,或转换为常量
- 后面板选中-右键-转换为输入/显示控件,或转换为常量
数组构成
- 数组控件:左侧为索引值,右侧为元素值
- 多维数组:数组索引值下方锚点,往下拉
数组元素单元格的设置:
- 添加多个元素值框:元素值框最外侧锚点拖动
- 一维数组只能向右或向下扩展,二维数组可以右下直接拖出
- 设置元素值单元格的长宽:单元格中间的锚点拖动
- 设置元素值:双击单元格,键入数值
- 后面板的操作:同前面板,可以各种拖动新增
输入多个元素值
- 需求:需要输入100个元素时,拉开100个框占地大
- 索引的数字:数组最左侧的元素在数组中的位置,相当于滑动窗口,仅显示从索引开始的部分数组
- 一维数组索引值是最左侧元素,二维数组是左上角的元素
- 注:仍需穷举
数组相关函数
- 很多,这里重点讲两个:数组大小和索引数组
数组大小
- 添加数组大小函数控件:右键-数组-数组大小
- 数组常量:
- 数组大小控件左侧连接数组常量,右侧右键创建显示控件,运行可得数组大小
- 数组是显示控件:
- 数组显示控件不能直接与数组大小控件连接
- 首先:右键数组显示控件-创建-属性节点-值,作为数组显示控件的替身与数组大小控件连接
- 按照 "值-数组大小-创建显示控件" 的顺序连接
- 二维数组的大小:是一个一维数组
- 因为二维数组的大小不是一个值,因此用一维数组来表示;
- 运行后,向下拖动元素框以显示全部结果,多个值为灰色的0
索引数组
===========================================================================
===========================================================================
===========================================================================
===========================================================================
===========================================================================
问答
-
labview所属公司
NI -
Labview的优点
LabVIEW概述及其优点 -
如何中途停止for循环和while循环?
LabVIEW暂停while循环 -
条件结构/事件结构课后习题:查看帮助获得
-
数据类型-数值/布尔课后习题
-
数据类型2-字符串课后习题