![LabVIEW高级编程技巧_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-1/2/741bf50a-ca89-4ce6-9df4-cb09e5f0c2c9/741bf50a-ca89-4ce6-9df4-cb09e5f0c2c91.gif)
![LabVIEW高级编程技巧_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-1/2/741bf50a-ca89-4ce6-9df4-cb09e5f0c2c9/741bf50a-ca89-4ce6-9df4-cb09e5f0c2c92.gif)
![LabVIEW高级编程技巧_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-1/2/741bf50a-ca89-4ce6-9df4-cb09e5f0c2c9/741bf50a-ca89-4ce6-9df4-cb09e5f0c2c93.gif)
![LabVIEW高级编程技巧_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-1/2/741bf50a-ca89-4ce6-9df4-cb09e5f0c2c9/741bf50a-ca89-4ce6-9df4-cb09e5f0c2c94.gif)
![LabVIEW高级编程技巧_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-1/2/741bf50a-ca89-4ce6-9df4-cb09e5f0c2c9/741bf50a-ca89-4ce6-9df4-cb09e5f0c2c95.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1LabVIEW 高级编程技巧高级编程技巧议程议程 National Instruments 公司简介 LabVIEW 高级编程技巧1.用户定义的调试指示器2.巧用LabVIEW控件3.定时结构4.基于事件触发的编程5.优化LabVIEW程序内存管理 程序模板的使用 LabVIEW状态图议程议程 National Instruments 公司简介公司简介 LabVIEW 高级编程技巧1.用户定义的调试指示器2.巧用LabVIEW控件3.定时结构4.基于事件触发的编程5.优化LabVIEW程序内存管理 程序模板的使用 LabVIEW状态图 持续强劲的增长和收益记录 2006年财政年度的收入达到6
2、.6亿美元 全球超过4000名员工,在40多个国家拥有办事处 连续8年被财富杂志评为美国最适合工作的100家公司之一Net Revenue in MillionsDistributorsDirect Sales OfficesNational Instruments 虚拟仪器技术倡导者虚拟仪器技术倡导者20052006200320051998200019931997199019921986LabVIEW 1.0MacintoshLabVIEW 2.0编译语言程序编译语言程序LabVIEWSun, WindowsLabVIEW 3.0多平台多平台LabVIEW 4.0专业化开发专业化开发LabV
3、IEW 6i联网联网LabVIEW 5.0Undo! 和实时和实时LabVIEW 7 ExpressPDA 和和 FPGALabVIEW嵌入式和嵌入式和 DSPLabVIEW 8.2020周年纪念版周年纪念版简体中文版简体中文版LabVIEW 8分布式智能分布式智能LabVIEW 持续持续20多年的创新和发展多年的创新和发展LabVIEW 8.5多核处理器多核处理器状态图模块状态图模块2007议程议程 National Instruments 公司简介 LabVIEW 高级编程技巧1.用户定义的调试指示器用户定义的调试指示器2.巧用LabVIEW控件3.定时结构4.基于事件触发的编程5.优化L
4、abVIEW程序内存管理 程序模板的使用 LabVIEW状态图调试指示器调试指示器 灵活的调试工具,可详细显示数据线上通过的数据 指示器的操作可以体现 VI 的灵活性和强大功能 传统的调试指示器存在一些缺点,如只能显示数组中的一个元素用户定义的调试指示器用户定义的调试指示器 能显示各种数据类型 可定制指示器外观 可定制指示器处理功能 设置条件断点定制你的需求定制你的需求指示器不仅仅可以显示数据 将数据录入文件 对两个指示器之间的执行进行定时 计算总的调用次数或是每秒的调用次数演示:自定义调试指示器演示:自定义调试指示器议程议程 National Instruments 公司简介 LabVIEW
5、 高级编程技巧1.用户定义的调试指示器2.巧用巧用LabVIEW控件控件3.定时结构4.基于事件触发的编程5.优化LabVIEW程序内存管理 程序模板的使用 LabVIEW状态图LabVIEWLabVIEW界面出色界面出色 LabVIEW控件助您设计专业美观的人机界面LabVIEWLabVIEW界面出色界面出色 LabVIEW控件助您设计专业美观的人机界面LabVIEWLabVIEW界面出色界面出色 LabVIEW控件助您设计专业美观的人机界面LabVIEWLabVIEW界面出色界面出色 LabVIEW控件助您设计专业美观的人机界面LabVIEW 内置控件内置控件 LabVIEW内置多种工业级
6、控件LabVIEW 内置控件内置控件 波形图 / 波形图表 XY图 强度图 Picture控件 3D3D图片控件图片控件 LabVIEW8.0新控件 机械部件的状态显示自定义控件自定义控件 LabVIEW控件基础上修改 使用贴图ActiveX控件控件 与第三方程序通讯 扩展LabVIEW的显示方式和效果Xcontrol 控件控件 添加新属性及方法 组合多个控件 创建全新控件演示:演示:3D 直升机控制系统界面直升机控制系统界面议程议程 National Instruments 公司简介 LabVIEW 高级编程技巧1.用户定义的调试指示器2.巧用LabVIEW控件3.定时结构定时结构4.基于事
7、件触发的编程5.优化LabVIEW程序内存管理 程序模板的使用 LabVIEW状态图定时结构定时结构 精确的定时 while 循环 精确的定时顺序结构 多个时钟频率的定时 反馈, 动态定时特性 多优先级设置 examplesgeneraltimedloop.llb定时顺序结构定时顺序结构类似添加内置定时功能的顺序结构定时循环定时循环定时循环定时循环演示:定时循环演示:定时循环可具体手动设置定时循环运行的核可具体手动设置定时循环运行的核设置定时循环运设置定时循环运行的指定核行的指定核NEW!可具体手动设置定时循环运行的核可具体手动设置定时循环运行的核NEW!议程议程 National Instr
8、uments 公司简介 LabVIEW 高级编程技巧1.用户定义的调试指示器2.巧用LabVIEW控件3.定时结构4.基于事件触发的编程基于事件触发的编程5.优化LabVIEW程序内存管理 程序模板的使用 LabVIEW状态图基于事件的编程基于事件的编程 管理用户界面,通常采用的方法有中断响应和事件驱动 中断响应采用轮询机制处理,非常占用CPU资源,还可能会丢失用户界面的响应 事件驱动无需轮询即可捕捉到相关事件,顺序处理捕捉到的所有事件,不会丢失也不会颠倒顺序事件举例事件举例事件结构不需要轮询就可以捕捉到自定义菜单上的用户选择ItemTag 返回菜单条目MenuRef 返回菜单的 refnum
9、Virtual Instrument事件类型事件类型 Application 事件举例: 退出应用程序 超时Control事件举例: 关闭前面板 VI 上的鼠标移动事件举例: 改变控件数值 特定控件上的鼠标移动LabVIEW 新事件新事件 更多的用户界面事件 动态注册的事件 用户定义的事件 ActiveX 事件 .NET 事件事件结构的基本使用事件结构的基本使用 通常在 While 循环中使用 每次循环只处理一次事件,其它时间休眠 在事件结构的左侧边框端口上可获得事件数据事件结构的配置事件结构的配置通过对话框来配置事件,右击事件结构的边框 ,选择 “Edit Events Handled by
10、 This Case”事件注册和面板锁定事件注册和面板锁定 包含事件结构的 VI 被预留以后,事件就成为已注册的 已注册事件发生后, 会进入队列等待直到相应的事件结构开始执行,事件不会丢失也不会出现顺序混乱 默认情况下, 前面板被锁定直到事件被处理完 可以关闭锁定,但只针对过滤事件 VI 变成空闲后,事件被注销动态事件动态事件下列情况时,需要动态注册事件:下列情况时,需要动态注册事件: 事件注册只能发生在应用程序的某些部分 在程序运行过程中需要改变哪些 VIs 或控件可以发生事件 在 subVI 中处理事件,而不是仅在注册事件的 VI 中动态事件动态事件Register For EventsE
11、vent StructureUnregister For EventsCreate User EventGenerate User EventDestroy User Event编程模型编程模型注册注册事件事件连接到连接到事件结构事件结构选择选择动态事件动态事件注销注销事件事件演示:动态事件演示:动态事件程序产生的程序产生的 (用户用户) 事件事件Register For EventsEvent StructureUnregister For EventsCreate User EventGenerate User EventDestroy User Event用户事件编程模型用户事件编程模型
12、创建并注册创建并注册用户事件用户事件产生产生用户事件用户事件注销注销用户事件用户事件消灭消灭用户事件用户事件用户事件举例用户事件举例演示:用户事件演示:用户事件ActiveX 事件事件Register Event CallbackActiveX 编程模型编程模型注册注册ActiveX 事件事件选择事件选择事件创建和编辑创建和编辑Callback VI演示:演示:ActiveX 事件事件小结:事件处理结构小结:事件处理结构 允许在subvi中处理事件代码 提供统一的,简化的事件处理机制 用户界面 接口控制 外部代码 用户定义事件 注册和非注册事件议程议程 National Instruments
13、 公司简介 LabVIEW 高级编程技巧1.用户定义的调试指示器2.巧用LabVIEW控件3.定时结构4.基于事件触发的编程5.优化优化LabVIEW程序内存管理程序内存管理 程序模板的使用 LabVIEW状态图为什么要优化为什么要优化LabVIEW程序内存管理程序内存管理 LabVIEW的自动管理内存特性 方便用户开发,满足一般应用需求 LabVIEW应用程序趋向大型化,复杂化 项目规模大,需求复杂 数据处理量大,性能要求高 好的编程风格帮助LabVIEW优化内存管理 可以显著提高程序运行效率 需要了解LabVIEW的内存分配机制监测监测VI内存占用和运行时间的工具内存占用和运行时间的工具
14、帮助定位和分析程序中的瓶颈部分工具工具性能分析性能分析性能和内存性能和内存显示显示VI内存分配情况的工具内存分配情况的工具 帮助分析程序中各个数据变量的内存拷贝情况 目标:消除黑点工具工具性能分析性能分析显示缓存区分配显示缓存区分配演示:监测内存使用演示:监测内存使用优化优化 LabVIEW程序内存管理程序内存管理 适时选择动态调用子VI 避免强制类型转换 合理分配数组内存 灵活使用LabVIEW自带的VI 使用元素同址操作结构In Place Element Structure在程序中动态调用子在程序中动态调用子VI321 减少程序占用内存以及载入时间打开VI引用通过引用节点调用关闭引用2配
15、置配置 VI加载加载1数据类型转换数据类型转换 强制点表明连接了两种不同的数据类型 LabVIEW中类型强制转换需要数据备份 涉及大数组的类型强制转换会占用大量内存推荐的类型转换方式推荐的类型转换方式 更好的解决方式是在随机数创建时进行转换 避免转换大块数据缓存(14.3 KB)(22.7 KB)合理分配数组内存合理分配数组内存 过多进行内存重新分配占用很大开销 慎用可能导致内存重新分配的相关函数 创建数组 连接字符串演示:演示:LabVIEW 数组分配数组分配灵活使用灵活使用LabVIEW自带的自带的VI 基本线性代数子程序VI (Basic Linear Algebra Subroutin
16、es) 合理归并基本线性代数操作 减少不必要的内存复制开销 使程序更加简洁数学数学线性代数线性代数BLASNEW!元素同址操作结构元素同址操作结构 更新数组或簇中的元素时,避免元素数据备份应用控制应用控制内存控制内存控制NEW!元素同址操作结构的优点元素同址操作结构的优点 方便实现多种情况的缓存重用,消除元素复制开销 数组索引和替换 簇的绑定和解除绑定 波形的绑定和解除绑定 变体的缓存重用 任意元素的缓存重用举例:数组索引和替换举例:数组索引和替换 将数组第2个元素增大10倍方法一:方法一:方法二:方法二:元素数据备份元素数据备份举例:簇的绑定和解除绑定举例:簇的绑定和解除绑定 个人纳税信息的
17、更新演示:嵌套的元素同址操作结构演示:嵌套的元素同址操作结构使用事件结构模板使用事件结构模板 状态机 并行循环VI架构 队列信息处理器 生产者/消费者 (数据) 用户接口事件处理器用户接口事件处理器 生产者生产者/消费者消费者 (事件事件) 根据需要组合或扩展各种结构议程议程 National Instruments 公司简介 LabVIEW 高级编程技巧1.用户定义的调试指示器2.巧用LabVIEW控件3.定时结构4.基于事件触发的编程5.优化LabVIEW程序内存管理 程序模板的使用 LabVIEW状态图通向高效工作的最佳捷径通向高效工作的最佳捷径NI培训和认证培训和认证LabVIEW Basics I&II课程内容丰富、细致课程内容丰富、细致,与实践与实践相相结合。结合。在这几天的培训课程中,我得以系统完善自己关于在这几天的培训课程中,我得以系统完善自己关于NI硬件与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030全球七叶神安片行业调研及趋势分析报告
- 2025-2030全球医疗器械消毒产品行业调研及趋势分析报告
- 2025年全球及中国缺氧帐篷行业头部企业市场占有率及排名调研报告
- 2025年全球及中国有机空穴传输材料行业头部企业市场占有率及排名调研报告
- 2025-2030全球连续式锂电池热解炉行业调研及趋势分析报告
- 竞业限制合同协议书
- 家具房屋租赁合同书
- 2025危险废物委托处置合同
- 房地产借款合同
- 提高谈判技巧的训练课程
- 国有资产管理法律责任与风险防控
- 未婚生子的分手协议书
- 变更监事章程修正案范例
- 北京小客车指标租赁协议五篇
- 输液室运用PDCA降低静脉输液患者外渗的发生率品管圈(QCC)活动成果
- YY/T 0681.2-2010无菌医疗器械包装试验方法第2部分:软性屏障材料的密封强度
- GB/T 20472-2006硫铝酸盐水泥
- 烟气管道阻力计算
- 城乡环卫一体化保洁服务迎接重大节日、活动的保障措施
- 医院-9S管理共88张课件
- 高考作文复习:议论文论证方法课件15张
评论
0/150
提交评论