LabVIEW高级编程技巧.ppt

上传人:牧羊曲112 文档编号:5436954 上传时间:2023-07-06 格式:PPT 页数:73 大小:3.84MB
返回 下载 相关 举报
LabVIEW高级编程技巧.ppt_第1页
第1页 / 共73页
LabVIEW高级编程技巧.ppt_第2页
第2页 / 共73页
LabVIEW高级编程技巧.ppt_第3页
第3页 / 共73页
LabVIEW高级编程技巧.ppt_第4页
第4页 / 共73页
LabVIEW高级编程技巧.ppt_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《LabVIEW高级编程技巧.ppt》由会员分享,可在线阅读,更多相关《LabVIEW高级编程技巧.ppt(73页珍藏版)》请在三一办公上搜索。

1、1,LabVIEW 高级编程技巧,议程,National Instruments 公司简介LabVIEW 高级编程技巧用户定义的调试指示器巧用LabVIEW控件定时结构基于事件触发的编程优化LabVIEW程序内存管理程序模板的使用LabVIEW状态图,议程,National Instruments 公司简介LabVIEW 高级编程技巧用户定义的调试指示器巧用LabVIEW控件定时结构基于事件触发的编程优化LabVIEW程序内存管理程序模板的使用LabVIEW状态图,持续强劲的增长和收益记录2006年财政年度的收入达到6.6亿美元全球超过4000名员工,在40多个国家拥有办事处连续8年被财富杂志

2、评为美国最适合工作的100家公司之一,Net Revenue in Millions,National Instruments 虚拟仪器技术倡导者,2005,2006,2003,2005,1998,2000,1993,1997,1990,1992,1986,LabVIEW 1.0Macintosh,LabVIEW 2.0编译语言程序,LabVIEWSun,Windows,LabVIEW 3.0多平台,LabVIEW 4.0专业化开发,LabVIEW 6i联网,LabVIEW 5.0Undo!和实时,LabVIEW 7 ExpressPDA 和 FPGA,LabVIEW嵌入式和 DSP,LabV

3、IEW 8.2020周年纪念版简体中文版,LabVIEW 8分布式智能,LabVIEW 持续20多年的创新和发展,LabVIEW 8.5多核处理器状态图模块,2007,议程,National Instruments 公司简介LabVIEW 高级编程技巧用户定义的调试指示器巧用LabVIEW控件定时结构基于事件触发的编程优化LabVIEW程序内存管理程序模板的使用LabVIEW状态图,调试指示器,灵活的调试工具,可详细显示数据线上通过的数据指示器的操作可以体现 VI 的灵活性和强大功能传统的调试指示器存在一些缺点,如只能显示数组中的一个元素,用户定义的调试指示器,能显示各种数据类型可定制指示器外

4、观可定制指示器处理功能设置条件断点,定制你的需求,指示器不仅仅可以显示数据将数据录入文件对两个指示器之间的执行进行定时计算总的调用次数或是每秒的调用次数,演示:自定义调试指示器,议程,National Instruments 公司简介LabVIEW 高级编程技巧用户定义的调试指示器巧用LabVIEW控件定时结构基于事件触发的编程优化LabVIEW程序内存管理程序模板的使用LabVIEW状态图,LabVIEW界面出色,LabVIEW控件助您设计专业美观的人机界面,LabVIEW界面出色,LabVIEW控件助您设计专业美观的人机界面,LabVIEW界面出色,LabVIEW控件助您设计专业美观的人机

5、界面,LabVIEW界面出色,LabVIEW控件助您设计专业美观的人机界面,LabVIEW 内置控件,LabVIEW内置多种工业级控件,LabVIEW 内置控件,波形图/波形图表 XY图 强度图 Picture控件 3D图片控件 LabVIEW8.0新控件 机械部件的状态显示,自定义控件,LabVIEW控件基础上修改使用贴图,ActiveX控件,与第三方程序通讯 扩展LabVIEW的显示方式和效果,Xcontrol 控件,添加新属性及方法组合多个控件创建全新控件,演示:3D 直升机控制系统界面,议程,National Instruments 公司简介LabVIEW 高级编程技巧用户定义的调试指

6、示器巧用LabVIEW控件定时结构基于事件触发的编程优化LabVIEW程序内存管理程序模板的使用LabVIEW状态图,定时结构,精确的定时 while 循环精确的定时顺序结构多个时钟频率的定时反馈,动态定时特性多优先级设置examplesgeneraltimedloop.llb,定时顺序结构,类似添加内置定时功能的顺序结构,定时循环,定时循环,演示:定时循环,可具体手动设置定时循环运行的核,NEW!,可具体手动设置定时循环运行的核,NEW!,议程,National Instruments 公司简介LabVIEW 高级编程技巧用户定义的调试指示器巧用LabVIEW控件定时结构基于事件触发的编程优

7、化LabVIEW程序内存管理程序模板的使用LabVIEW状态图,基于事件的编程,管理用户界面,通常采用的方法有中断响应和事件驱动中断响应采用轮询机制处理,非常占用CPU资源,还可能会丢失用户界面的响应事件驱动无需轮询即可捕捉到相关事件,顺序处理捕捉到的所有事件,不会丢失也不会颠倒顺序,事件举例,事件结构不需要轮询就可以捕捉到自定义菜单上的用户选择ItemTag 返回菜单条目MenuRef 返回菜单的 refnum,Virtual Instrument,事件类型,Application,事件举例:退出应用程序超时,Control,事件举例:关闭前面板VI 上的鼠标移动,事件举例:改变控件数值特定

8、控件上的鼠标移动,LabVIEW 新事件,更多的用户界面事件动态注册的事件用户定义的事件ActiveX 事件.NET 事件,事件结构的基本使用,通常在 While 循环中使用每次循环只处理一次事件,其它时间休眠在事件结构的左侧边框端口上可获得事件数据,事件结构的配置,通过对话框来配置事件,右击事件结构的边框,选择“Edit Events Handled by This Case”,事件注册和面板锁定,包含事件结构的 VI 被预留以后,事件就成为已注册的 已注册事件发生后,会进入队列等待直到相应的事件结构开始执行,事件不会丢失也不会出现顺序混乱默认情况下,前面板被锁定直到事件被处理完可以关闭锁定

9、,但只针对过滤事件VI 变成空闲后,事件被注销,动态事件,下列情况时,需要动态注册事件:事件注册只能发生在应用程序的某些部分在程序运行过程中需要改变哪些 VIs 或控件可以发生事件在 subVI 中处理事件,而不是仅在注册事件的 VI 中,动态事件,Register For EventsEvent StructureUnregister For EventsCreate User EventGenerate User EventDestroy User Event,编程模型,注册事件,连接到事件结构,选择动态事件,注销事件,演示:动态事件,程序产生的(用户)事件,Register For Ev

10、entsEvent StructureUnregister For EventsCreate User EventGenerate User EventDestroy User Event,用户事件编程模型,创建并注册用户事件,产生用户事件,注销用户事件,消灭用户事件,用户事件举例,演示:用户事件,ActiveX 事件,Register Event Callback,ActiveX 编程模型,注册ActiveX 事件,选择事件,创建和编辑Callback VI,演示:ActiveX 事件,小结:事件处理结构,允许在subvi中处理事件代码提供统一的,简化的事件处理机制用户界面接口控制外部代码用

11、户定义事件注册和非注册事件,议程,National Instruments 公司简介LabVIEW 高级编程技巧用户定义的调试指示器巧用LabVIEW控件定时结构基于事件触发的编程优化LabVIEW程序内存管理程序模板的使用LabVIEW状态图,为什么要优化LabVIEW程序内存管理,LabVIEW的自动管理内存特性方便用户开发,满足一般应用需求LabVIEW应用程序趋向大型化,复杂化项目规模大,需求复杂数据处理量大,性能要求高好的编程风格帮助LabVIEW优化内存管理可以显著提高程序运行效率需要了解LabVIEW的内存分配机制,监测VI内存占用和运行时间的工具,帮助定位和分析程序中的瓶颈部分

12、,工具性能分析性能和内存,显示VI内存分配情况的工具,帮助分析程序中各个数据变量的内存拷贝情况目标:消除黑点,工具性能分析显示缓存区分配,演示:监测内存使用,优化 LabVIEW程序内存管理,适时选择动态调用子VI避免强制类型转换合理分配数组内存灵活使用LabVIEW自带的VI使用元素同址操作结构In Place Element Structure,在程序中动态调用子VI,3,2,1,减少程序占用内存以及载入时间打开VI引用通过引用节点调用关闭引用,2,配置 VI加载,1,数据类型转换,强制点表明连接了两种不同的数据类型LabVIEW中类型强制转换需要数据备份涉及大数组的类型强制转换会占用大量

13、内存,推荐的类型转换方式,更好的解决方式是在随机数创建时进行转换避免转换大块数据缓存,(14.3 KB),(22.7 KB),合理分配数组内存,过多进行内存重新分配占用很大开销慎用可能导致内存重新分配的相关函数创建数组连接字符串,演示:LabVIEW 数组分配,灵活使用LabVIEW自带的VI,基本线性代数子程序VI(Basic Linear Algebra Subroutines)合理归并基本线性代数操作减少不必要的内存复制开销使程序更加简洁,数学线性代数BLAS,NEW!,元素同址操作结构,更新数组或簇中的元素时,避免元素数据备份,应用控制内存控制,NEW!,元素同址操作结构的优点,方便实

14、现多种情况的缓存重用,消除元素复制开销数组索引和替换簇的绑定和解除绑定波形的绑定和解除绑定变体的缓存重用任意元素的缓存重用,举例:数组索引和替换,将数组第2个元素增大10倍,方法一:,方法二:,元素数据备份,举例:簇的绑定和解除绑定,个人纳税信息的更新,演示:嵌套的元素同址操作结构,使用事件结构模板,状态机并行循环VI架构队列信息处理器生产者/消费者(数据)用户接口事件处理器生产者/消费者(事件)根据需要组合或扩展各种结构,议程,National Instruments 公司简介LabVIEW 高级编程技巧用户定义的调试指示器巧用LabVIEW控件定时结构基于事件触发的编程优化LabVIEW程

15、序内存管理程序模板的使用LabVIEW状态图,通向高效工作的最佳捷径NI培训和认证,LabVIEW Basics I&II课程内容丰富、细致,与实践相结合。在这几天的培训课程中,我得以系统完善自己关于NI硬件与LabVIEW软件的认识。对我们后来的系统维护和系统开发起到非常重要的指导作用。北京艾科泰电子有限公司 车殿丰,确保项目成功机会提升专业开发技能开发大型应用实现轻松维护,NI培训会员将尊享整体费用的折扣,节约最高达70%的费用根据学员水平,分级别定制专业课程在指定时限内,无限次数选择收费培训课程轻松获得全球通用的权威认证“NI专业程序员认证”,了解详情或报名参加活动,请拨打NI培训中心免费电话:,技术课程,尽收囊中加入NI培训会员计划投资30%的费用,节省50%的时间,只为您100%的成功,NI公司联系方式,免费咨询电话:800 820 3622Email:,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号