当前位置:文档之家› LabVIEW开发环境及程序设计基础(LabVIEW基础入门)

LabVIEW开发环境及程序设计基础(LabVIEW基础入门)


例: 根据情况选择转移状态
调试你的LabVIEW代码
• 找出编译错误 • 高亮执行 • 探针
• 设置断点
LabVIEW帮助
• Ctrl+H
LabVIEW范例查找器
网络学习资源

• NI Developer Zone
启发: 一些LabVIEW软件小游戏演示
俗话说“师傅领进门 修行在个人”,程序设计的学习尤 其如此. 希望大家利用好参考书和网络学习资源,学习借
• 布尔型
– 注意 : 前面板对应的布
尔控件有六种机械动作 可选
– 可通过范例区别六种机
械动作的不同
基本数据类型3
• 字符串
– 前面板控件可现实不同的显示方式
• Normal, ‘\’ Codes, Password 以及 Hex
– 字符串操作函数选板
基本数据类型4
• 枚举型
– 本质上也可以认为是整
– 只不过是图形化的而已
• 是一种针对工程师和科学家所设计的开发环境
– 内置许多简化编程复杂度的功能和函数
– 不仅仅是纯软件,能够控制并部署到硬件当中
LabVIEW作为编程语言的优势
基于数据流的自然思维方式,但同时也支持调用文本语言的代码
Dataflow C / HDL Code Textual Math Simulation Statechart
一个简单而典型的LabVIEW应用
采集
第4讲 数据采集与信号调理
分析
第5讲 LabVIEW中的信号处理
表达
第3讲 LabVIEW开发环境及程 序设计基础 第6讲 LabVIEW程序设计进阶
LabVIEW基本开发环境介绍
VI —— LabVIEW程序文件的基本单位
• VI (Virtual Instruments的缩写) 由三部分组成
• LabVIEW中常用的软件定时VI
• 注意: 软件定时的精度通常为1ms左右
子VI
当程序中有些部分的内聚度较高 时,可利用子VI使主程序结构更 清晰简洁(类似于文本语言的子 函数)
创建并调用子VI
• 方法一: 定义子VI图标和连线板
– 连线板决定了子VI的参数输入与输出
– 通过图标或函数选板调用子VI
函数选板
程序框图中的连线
• 通过颜色、类型、粗细来表示不同的数据类型
Scalar 1D Array 2D Array DBL Numeric Integer Numeric String
• 不同数据类型之间的连线会产生错误
– Ctrl+B可清楚所有错误连线
– LabVIEW 8.6之后具有整理连线功能
– 数据采集助手
• Instrument I/O Assistant Express VI
– 仪器I/O助手 (用于仪器控制)
• Simulate Signal Express VI • Read from Measurement File Express VI
33
LabVIEW中的“分析”Express VI
• Amplitude and Level Measurements Express VI
– 幅值和电平
• Statistics Express VI
– 统计
• Spectral Measurements Express VI
– 频谱测量
• Tone Measurements Express VI
– 单频测量
• Filter Express VI
– 滤波器
• …
数据“表达”
• 显示控件
– 波形图、波形图标、XY图…
• Express VI
– Write to Measurement File Express VI…
• 其他功能函数
– 数据库、网络通信…
Lห้องสมุดไป่ตู้bVIEW中的结构
• 条件结构
• While循环
– 针对测量应用的界面控件
– 符合工程思维方式的数据流编程
LabVIEW的出现推动了测试技术的发展
• 从手工测试迈向自动化测试
– 使仪器和PC得以有效连接
– 有效降低了仪器控制的复杂程度 – 从此以后,软件在测控系统中发挥的作用越来越大
LabVIEW的发展
• 功能不断增加,效率不断提升
• 不断融合各种最新的技术发展,简化工程师在测控系统中利用

• 类似与C语言中的结构体

• 创建簇
– 需注意元素顺序
LabVIEW 执行顺序 - 数据流
• 原则1: 只有当一个节点 (函数或子VI) 的所有输入端的
数据全部准备好才会执行
• 原则2: 一个节点 (函数或子VI) 只有执行完成后才会向 后输出数据
理解数据流
哪个节点先执行?
A) 加法
B) 减法 C) 随机数
• 至少会执行一次
• 默认情况下,隧道输出的是一 个值 (需要开启索引才能输出数 组)
值)
使用数组作为索引输入
• 可不定义循环次数,循环次数自动设置为数组大小
例: 利用For循环自动索引对数组赋值
一维数组
二维数组
移位寄存器
• 通过右键菜单可以对循环添加移位寄存器
– 可以“记住”上一次循环执行后的数据
实时技术
2003 2000
2005 2006
LabVIEW 8
分布式智能
2008 2009
LabVIEW 8.6 多核、FPGA、无线
2010
LabVIEW 5.0
编译语言程序
LabVIEW 7 Express
PDA 和 FPGA
LabVIEW 2010
FPGA云编译
LabVIEW的本质是什么?
• 首先是一种编程语言
– 前面板、程序框图(后面板)、图标/连线板
前面板
• 相当于界面
– 每个VI都有前面板
• 输入控件
– Control, 相当于输入
• 显示控件
– Indicator, 相当于输出
• 控件选板
程序框图
• 图形化的程序代码
– 决定程序运行行为
• 可能包含元素
– 终端 – 子VI – 函数 – 常数 – 结构 – 连线
• For循环 • 隧道 • 寄存器 • For循环的条件终止
条件结构
• 可以有多个分支,可以设置默认分支
• 类似于文本语言的 case 或 if…else if…else 结构
分支标签
分支选择端
条件结构的输入和输出通道
• 输入通道可以只传递到某些分支
• 但各个分支的输出通道必须赋值
While循环
鉴. 但最重要的是多动手尝试,从而深刻领悟图形化编程
之道
作业
• (准备一个题目, 利用目前所掌握的编程技术完成)
• 例如:自动抽奖机(用在每年年会上)、学生作业递
交情况报告系统(针对某一特定邮箱,自动检索哪些人 交了作业,哪些人迟交作业)… • 课后推荐自学内容: 文件操作
LabVIEW For Loop
Flowchart
Pseudo Code
For循环
• 可增加条件终止端
While循环和For循环的比较
For Loop While Loop
• 按照约定的次数执行 (除非增加
• 循环终止执行由终止条件决定
了条件终止端)
• 可以一次也不执行 • 默认情况下,隧道输出的是一 个数组 (需要禁用索引才能输出
前面板和程序框图的工具栏
• LabVIEW程序的基本调试
– 查看编译错误 – 单步执行 – 布置探针 – 设置断点
工具选板
• 一般LabVIEW会自动选择当前工具
– 连线、拖拽、文字…
• 利用工具选板可以强制选择工具
– 着色、设置断点…
总结
• 基本单元 - VI
• 前面板 – 仪器的交互
• 程序框图 – 仪器的功能 • 工具栏
D) 除法
E) 正弦
理解数据流 (没有固定答案)
哪个节点先执行?
A) 加法 – 可能
B) 减法 – 不可能 C) 随机数 – 可能
D) 除法 – 可能
E) 正弦 – 不可能
一个简单的VI:采集、分析、表达
LabVIEW中的“采集”Express VI
• DAQ Assistant Express VI
LabVIEW程序设计基础
基本数据类型1
• 数值型
– 整型
• 有些数据类型的本质也是整形, 如枚举型
– 浮点型
– 可以更改数据表达方式
• 决定其占用的存储字节数及数 值表达方式
强制数据类型转换
• 通常,函数返回占用字节数较多的数据类型
• 为提高程序执行效率, 尽量避免自动强制转换
强制转换点
基本数据类型2
第三讲 LabVIEW开发环境及程序设计基础
课程章节
• LabVIEW 简介
• LabVIEW基本开发环境介绍
– 基本单元 – VI – 前面板 & 程序框图
• LabVIEW 程序设计基础
– 基本数据类型 – 数据流 – 基本结构 – 子VI & 延时 – 基本程序架构
LabVIEW的出现
• 1986年诞生,革命性地简化了仪器控制的复杂度
创建并调用子VI
• 方法二: 在主程序中直接圈出一块程序,通过右键菜
单直接创建子VI
程序架构
• 程序架构的重要性
– 好的程序架构可以简化编程和调试的复杂度
– 便于增加、扩展程序功能 – 代码更清晰,增强程序的可读性 – 就像盖房子,规划和框架设计非常重要
相关主题