提升LabVIEW程序性能若干编程技巧 by Shawn.pptVIP

提升LabVIEW程序性能若干编程技巧 by Shawn.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
提升LabVIEW程序性能若干编程技巧 by Shawn

提升LabVIEW程序性能的若干编程技巧 使用LabVIEW编程可能存在的误解 可能存在的误解 LabVIEW只能编小程序 LabVIEW很容易 图形化开发语言和组态软件差不多 概述 基于事件驱动的编程机制 LabVIEW程序内存管理 动态调用VI 数据类型转换 合理内存分配 用户界面性能提升 自动代码分析 LabVIEW中基于事件驱动的编程 LabVIEW事件示例 按下鼠标 键盘按键 前面板的用户交互 LabVIEW 事件结构 什么是事件结构? 带有多个子框图的结构节点, 就像条件结构 事件结构是如何工作的? 当面板上事件发生时才被唤醒 自动执行相应事件框图内的事件代码 当处理完成相应事件后便结束,并不一直循环等待 为什么要使用事件结构 ? 用更简单的事件处理替代原来的查询循环 最小化 CPU 的使用 不会遗漏用户界面交互事件 可检测更多的交互事件 编程生成您自己的事件 使用事件结构模板 状态机 并行循环VI架构 队列信息处理器 生产者/消费者 (数据) 用户接口事件处理器 生产者/消费者 (事件) 根据需要组合或扩展各种结构 演示1: LabVIEW 事件结构编程 内存管理措施:提高程序性能的关键 适时选择动态调用子VI 数据类型转换 合理内存分配 尽可能减少前面板刷新 监测VI性能和内存 监测VI执行时间和内存占用 在程序中动态调用子VI ——减少程序占用内存以及载入时间 打开VI引用 通过引用节点调用 关闭引用 典型的VI层次 配置 VI加载– LabVIEW 8.20 演示2: 动态加载 VI 调用库函数的改进 在LabVIEW 8.20中动态加载和卸载DLL 数据类型转换 强制点表明连接了两种不同的数据类型 LabVIEW中类型强制需要数据备份 涉及大数组的类型强制会占用大量内存 推荐的类型转换方式 更好的解决方式是在随机数创建时进行转换 避免转换大块数据缓存 自定义类型强制转换点的颜色 合理的内存分配 过多进行内存重新分配占用很大开销 需要限制可能导致内存重新分配的相关函数 创建数组 连接字符串 18.7秒内创建一个数组 非常慢 因为每个循环都涉及内存重新分配 0.42秒内创建一个数组 快很多 因为仅有单个内存分配 0.40秒内创建一个数组 最快也是最简洁的方法 查看缓冲区分配 显示缓冲区分配 显示程序中内存分配的位置 演示3:LabVIEW 内存分配 提高用户界面的性能 输入和显示控件属性以及调用节点都会降低应用程序速度 设计subVI 的前面板在执行中保持关闭来减少显示开销 强制线程转换为UI线程 可以在完成时强制UI更新 线程转化回初始线程 首选的用户界面更新方法 使用延迟前面板刷新 在显示时减少前面板刷新 演示4:线程切换 LabVIEW VI 分析器工具 LabVIEW工具包附件* 通过60+ 的可配置测试自动分析代码 性能 分格 交互式的检测错误 生成定制报表 VI 分析器—— 与性能相关的测试 循环内数组和字符串 强制类型转换点 使能的调试 While循环中的等待 VI的大小 数组默认值 结构体里面隐藏的对象 全局变量和局部变量 未使用代码 子程序框图内已连线的接线端 顺序结构的使用 演示5:VI 分析器工具 总结 使用事件驱动编程将处理器占用降到最低 动态加载VI改进内存占用和初始加载时间 减少数据类型转换以减少内存耗费 减少内存重新分配以提高运行速度 减少界面刷新提高程序执行效率 通过自动代码检测定位性能问题 温馨提示 — “参与有礼”活动 礼品领取时间:下午16:30-18:00 礼品领取方法: 请将填写完整的活动咨询表(白色)和 讲座及Demo演示满意度咨询表(黄色), 交至活动签到处,即可换取精美礼品一份。 特别活动 — NI欢乐嘉年华(16:30-18:00) 笑傲舞林 — “炫目舞步”跳舞大赛(16:30-16:50) 锦囊探宝 — “虚拟智多星”问答竞赛(17:00-17:20) 乐高“童趣机器人”表演赛(17:30 -18:00) 欢迎来宾踊跃参与,共同畅游虚拟仪器技术的欢乐海洋, 更有机会赢得丰厚礼品! LabVIEW—A Programming Language Specifically designed for creating applications in the measurement and automation industry Applications can range from a simple VI to an extensive application co

文档评论(0)

fangsheke66 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档