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

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第三讲LabVIEW开发环境及程序设计基础课程章节•LabVIEW简介•LabVIEW基本开发环境介绍–基本单元–VI–前面板&程序框图•LabVIEW程序设计基础–基本数据类型–数据流–基本结构–子VI&延时–基本程序架构LabVIEW的出现•1986年诞生,革命性地简化了仪器控制的复杂度–针对测量应用的界面控件–符合工程思维方式的数据流编程LabVIEW的出现推动了测试技术的发展•从手工测试迈向自动化测试–使仪器和PC得以有效连接–有效降低了仪器控制的复杂程度–从此以后,软件在测控系统中发挥的作用越来越大LabVIEW的发展•功能不断增加,效率不断提升•不断融合各种最新的技术发展,简化工程师在测控系统中利用新技术的复杂度200520062003199820001993199719901986LabVIEW1.0MacintoshLabVIEW2.0编译语言程序LabVIEW3.0多平台LabVIEW4.0专业化开发LabVIEW6i网络技术LabVIEW5.0实时技术LabVIEW7ExpressPDA和FPGALabVIEW8.2020周年纪念版简体中文版LabVIEW8分布式智能2008LabVIEW8.6多核、FPGA、无线2009LabVIEW2009更高效率,机器人2010LabVIEW2010FPGA云编译LabVIEW的本质是什么?•首先是一种编程语言–只不过是图形化的而已•是一种针对工程师和科学家所设计的开发环境–内置许多简化编程复杂度的功能和函数–不仅仅是纯软件,能够控制并部署到硬件当中LabVIEW作为编程语言的优势DataflowC/HDLCodeTextualMathSimulationStatechartPersonalComputersPXISystemsCompactRIOCustomDesignSingle-BoardRIOLabVIEW``Real-TimeLabVIEWDesktopLabVIEWFPGALabVIEWMPU/MCU支持连接各种硬件,而且支持发布到多种Target基于数据流的自然思维方式,但同时也支持调用文本语言的代码一个简单而典型的LabVIEW应用采集分析表达第4讲数据采集与信号调理第5讲LabVIEW中的信号处理第3讲LabVIEW开发环境及程序设计基础第6讲LabVIEW程序设计进阶LabVIEW基本开发环境介绍VI——LabVIEW程序文件的基本单位•VI(VirtualInstruments的缩写)由三部分组成–前面板、程序框图(后面板)、图标/连线板前面板•相当于界面–每个VI都有前面板•输入控件–Control,相当于输入•显示控件–Indicator,相当于输出•控件选板程序框图•图形化的程序代码–决定程序运行行为•可能包含元素–终端–子VI–函数–常数–结构–连线函数选板程序框图中的连线•通过颜色、类型、粗细来表示不同的数据类型•不同数据类型之间的连线会产生错误–Ctrl+B可清楚所有错误连线–LabVIEW8.6之后具有整理连线功能Scalar1DArray2DArrayDBLNumericIntegerNumericString前面板和程序框图的工具栏•LabVIEW程序的基本调试–查看编译错误–单步执行–布置探针–设置断点工具选板•一般LabVIEW会自动选择当前工具–连线、拖拽、文字…•利用工具选板可以强制选择工具–着色、设置断点…总结•基本单元-VI•前面板–仪器的交互•程序框图–仪器的功能•工具栏LabVIEW程序设计基础基本数据类型1•数值型–整型•有些数据类型的本质也是整形,如枚举型–浮点型–可以更改数据表达方式•决定其占用的存储字节数及数值表达方式强制数据类型转换•通常,函数返回占用字节数较多的数据类型•为提高程序执行效率,尽量避免自动强制转换强制转换点基本数据类型2•布尔型–注意:前面板对应的布尔控件有六种机械动作可选–可通过范例区别六种机械动作的不同基本数据类型3•字符串–前面板控件可现实不同的显示方式•Normal,‘\’Codes,Password以及Hex–字符串操作函数选板基本数据类型4•枚举型–本质上也可以认为是整型,不过取值范围有限–常与条件结构共同使用某枚举型变量的配置对话框枚举型变量作为条件结构的分支选择依据数组•LabVIEW中的数组可以是1维的,也可以是多维的•每一维元素从0开始索引数组元素当前显示的第一个元素所对应的索引数组•在LabVIEW的前面板/程序框图中创建数组•在程序中对数组进行操作簇•类似与C语言中的结构体簇•创建簇–需注意元素顺序LabVIEW执行顺序-数据流•原则1:只有当一个节点(函数或子VI)的所有输入端的数据全部准备好才会执行•原则2:一个节点(函数或子VI)只有执行完成后才会向后输出数据理解数据流哪个节点先执行?A)加法B)减法C)随机数D)除法E)正弦理解数据流(没有固定答案)哪个节点先执行?A)加法–可能B)减法–不可能C)随机数–可能D)除法–可能E)正弦–不可能一个简单的VI:采集、分析、表达LabVIEW中的“采集”ExpressVI•DAQAssistantExpressVI–数据采集助手•InstrumentI/OAssistantExpressVI–仪器I/O助手(用于仪器控制)•SimulateSignalExpressVI•ReadfromMeasurementFileExpressVI33LabVIEW中的“分析”ExpressVI•AmplitudeandLevelMeasurementsExpressVI–幅值和电平•StatisticsExpressVI–统计•SpectralMeasurementsExpressVI–频谱测量•ToneMeasurementsExpressVI–单频测量•FilterExpressVI–滤波器•…数据“表达”•显示控件–波形图、波形图标、XY图…•ExpressVI–WritetoMeasurementFileExpressVI…•其他功能函数–数据库、网络通信…LabVIEW中的结构•条件结构•While循环•For循环•隧道•寄存器•For循环的条件终止•可以有多个分支,可以设置默认分支•类似于文本语言的case或if…elseif…else结构条件结构分支选择端分支标签条件结构的输入和输出通道•输入通道可以只传递到某些分支•但各个分支的输出通道必须赋值While循环LabVIEWWhileLoopFlowchartPseudoCodeRepeat(code);UntilConditionmet;End;While循环返回执行次数(从0开始)终止条件(也可以是继续条件)隧道(Tunnel)For循环LabVIEWForLoopFlowchartPseudoCodeN=100;i=0;Untili=N:Repeat(code;i=i+1);End;For循环•可增加条件终止端While循环和For循环的比较ForLoop•按照约定的次数执行(除非增加了条件终止端)•可以一次也不执行•默认情况下,隧道输出的是一个数组(需要禁用索引才能输出值)WhileLoop•循环终止执行由终止条件决定•至少会执行一次•默认情况下,隧道输出的是一个值(需要开启索引才能输出数组)使用数组作为索引输入•可不定义循环次数,循环次数自动设置为数组大小例:利用For循环自动索引对数组赋值一维数组二维数组移位寄存器•通过右键菜单可以对循环添加移位寄存器–可以“记住”上一次循环执行后的数据–右边的移位寄存器记录的是循环当此执行后的数据–左边的移位寄存器记录的是循环上次执行后的数据移位寄存器的初始化程序框图首次执行再次执行有初始化Output=5Output=5无初始化Output=4Output=8延时•为何需要延时?–控制循环执行的频率–使处理器有资源处理其他任务(如界面刷新等)•LabVIEW中常用的软件定时VI•注意:软件定时的精度通常为1ms左右子VI当程序中有些部分的内聚度较高时,可利用子VI使主程序结构更清晰简洁(类似于文本语言的子函数)创建并调用子VI•方法一:定义子VI图标和连线板–连线板决定了子VI的参数输入与输出–通过图标或函数选板调用子VI创建并调用子VI•方法二:在主程序中直接圈出一块程序,通过右键菜单直接创建子VI程序架构•程序架构的重要性–好的程序架构可以简化编程和调试的复杂度–便于增加、扩展程序功能–代码更清晰,增强程序的可读性–就像盖房子,规划和框架设计非常重要常用的一种LabVIEW程序架构:状态机•典型用途–界面响应:在程序运行的不同阶段响应不同的用户输入–状态控制:控制测控系统在各种不同状态下的行为和状态转移举例:可存储示波器状态机的代码形式•由While循环和条件结构组成•状态由枚举型变量确定–每个状态都会转移到其他状态或本状态While循环条件结构移位寄存器例:默认状态及单一状态转移例:根据情况选择转移状态调试你的LabVIEW代码•找出编译错误•高亮执行•探针•设置断点LabVIEW帮助•Ctrl+HLabVIEW范例查找器网络学习资源•GSDzone.net•NIDeveloperZone启发:一些LabVIEW软件小游戏演示俗话说“师傅领进门修行在个人”,程序设计的学习尤其如此.希望大家利用好参考书和网络学习资源,学习借鉴.但最重要的是多动手尝试,从而深刻领悟图形化编程之道作业•(准备一个题目,利用目前所掌握的编程技术完成)•例如:自动抽奖机(用在每年年会上)、学生作业递交情况报告系统(针对某一特定邮箱,自动检索哪些人交了作业,哪些人迟交作业)…•课后推荐自学内容:文件操作

1 / 62
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功