[精选]Advanced LabVIEW Programming Tips and Techniques.pptx
《[精选]Advanced LabVIEW Programming Tips and Techniques.pptx》由会员分享,可在线阅读,更多相关《[精选]Advanced LabVIEW Programming Tips and Techniques.pptx(71页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、LabVIEW 高级编程技巧高级编程技巧内容概要内容概要National Instruments 公司简介LabVIEW 高级编程技巧1.用户定义的调试指示器2.定时循环3.基于事件触发的编程4.改善VI的性能5.调用动态链接库National Instruments:虚拟仪器倡导者虚拟仪器倡导者建立于1976年超过1,000种测试测量产品在40个国家设有直属分支机构,600家系统联盟商中国:研发,区域咨询,技术支持,市场NI HQNI 客户的分布客户的分布超过超过25,000个客户分布在多达个客户分布在多达80个国家个国家 财富财富500强中强中95的制造型企业的制造型企业1.调试指示器调试
2、指示器灵活的调试工具,可详细显示数据线上通过的数据指示器的操作可以表达 VI 的灵活性和强大功能传统的调试指示器存在一些缺点,如只能显示数组中的一个元素用户定义的调试指示器用户定义的调试指示器能显示各种数据类型可定制指示器外观可定制指示器处理功能设置条件断点定制你的需求定制你的需求指示器不仅仅可以显示数据将数据录入文件对两个指示器之间的执行进行定时计算总的调用次数或是每秒的调用次数内建的定制指示器内建的定制指示器在数据连线上点击鼠标右键菜单显示所有相关的指示器指示器存放在目录 vi.lib_probesdefault下客户指示器的结构客户指示器的结构包含一个控件控件的数据类型就是所指示的数据线
3、包含一个指示器Boolean,类似条件断点True=暂停执行False=继续执行2.定时循环定时循环精确的定时 while 循环多个时钟频率的定时反响,动态定时特性多达128个循环优先级examplesgeneraltimedloop.llb定时循环的配置定时循环的配置定时循环定时循环3.基于事件的编程基于事件的编程管理用户界面,通常采用的方法有中断响应和事件驱动中断响应采用轮询机制处理,非常占用CPU资源,还可能会丧失用户界面的响应事件驱动无需轮询即可捕捉到相关事件,顺序处理捕捉到的所有事件,不会丧失也不会颠倒顺序事件举例事件举例事件结构不需要轮询就可以捕捉到自定义菜单上的用户选择ItemT
4、ag 返回菜单条目MenuRef 返回菜单的 refnumVirtual Instrument事件类型事件类型 Application Control通知事件和可滤除事件通知事件和可滤除事件通知事件通知 LabVIEW 发生了一个用户行为;只能在 Event Data Node中使用可滤除事件在用户界面处理之前验证或改变事件数据,防止影响 VI;可在 Event Filter Node 和 Event Data Node 中使用LabVIEW 7 新事件新事件更多的用户界面事件动态注册的事件用户定义的事件ActiveX 事件事件结构的组成局部事件结构的组成局部Event Selector La
5、bel 确定观察的事件Timeout 等待事件的毫秒数;缺省值 1 无限期Defaulted Tunnels 新型tunnel,允许未连线的事件案例提供缺省值Dynamic Event Terminals 用于动态事件的注册事件结构的组成局部事件结构的组成局部Event Data Node 确定事件发生时 LV 提供的数据,与 Unbundle By Name 函数类似Event Filter Node 确定Event Data Node 中可提供的数据子集,可供事件案例修改事件结构的基本使用事件结构的基本使用通常在 While 循环中使用每次循环只处理一次事件,其它时间休眠在事件结构的左侧边
6、框端口上可获得事件数据事件结构的配置事件结构的配置通过对话框来配置事件,右击事件结构的边框,选择“Edit Events Handled by This Case事件注册和面板锁定事件注册和面板锁定包含事件结构的 VI 被预留以后,事件就成为已注册的 已注册事件发生后,会进入队列等待直到相应的事件结构开始执行,事件不会丧失也不会出现顺序混乱默认情况下,前面板被锁定直到事件被处理完可以关闭锁定,但只针对过滤事件VI 变成空闲后,事件被注销3.1 动态事件动态事件以下情况时,需要动态注册事件:以下情况时,需要动态注册事件:事件注册只能发生在应用程序的某些局部在程序运行过程中需要改变哪些 VIs 或
7、控件可以发生事件在 subVI 中处理事件,而不是仅在注册事件的 VI 中动态事件动态事件编程模型编程模型注册注册事件事件连接到连接到事件结构事件结构选择选择动态事件动态事件注销注销事件事件3.2 程序产生的程序产生的 用户用户 事件事件用户事件编程模型用户事件编程模型创立并注册创立并注册用户事件用户事件产生产生用户事件用户事件注销注销用户事件用户事件消灭消灭用户事件用户事件用户事件举例用户事件举例3.3 ActiveX 事件事件ActiveX 编程模型编程模型注册注册ActiveX 事件事件选择事件选择事件创立和编辑创立和编辑Callback VI总结:事件处理结构总结:事件处理结构允许在s
8、ubvi中处理事件代码提供统一的,简化的事件处理机制用户界面接口控制外部代码硬件触发用户定义事件注册和非注册事件4.改善改善VI 的性能的性能改进内存使用使用高效数组函数谨慎处理字符串和数组防止不必要的复杂数据结构减少 I/O 开销减少 I/O 调用的次数减少开启和关闭资源的次数减少屏幕更新4.1 改进内存使用改进内存使用 LabVIEW 处理了大局部内存管理的细节资源分配,复制,释放,溢出减少程序框图的大小提高可读性和稳定性内存管理自动进行,你不需要过多的干预理解 LabVIEW 是何时并如何为你“代劳内存管理的可以大大提高 对内存使用的效率VI 在内存中的数据结构在内存中的数据结构Fron
9、t PanelBlock DiagramCode框图编译成机器码Data Space Control/indicator 数值Block diagram 常量动态定义的数据FrontPanelBlockDiagramCodeDataSpaceVI 何时加载到内存中何时加载到内存中始终载入 data 平台符合时载入Code Mac OS,Windows,Sun,LinuxPanel 和 Diagram 在必要时载入 re pilingMain VISubVIAlways in memoryResident sometimesFrontPanelBlockDiagramCodeDataSpaceF
10、rontPanelBlockDiagramCodeDataSpace内存使用情况内存使用情况Tools Advanced Profile VIs勾选“Profile Memory Usage&“Memory Usage在执行应用程序之前点击“Start 状态只在程序执行完成后更新程序执行过程中内存使用情况不能被查看监测内存使用监测内存使用显示内存分配显示内存分配File Tools Advanced Show Buffer Allocations内存优化内存优化LabVIEW 尽量减少内存再分配需要重新分配内存的函数Build ArrayConcatenate StringsHigh Memo
11、ry Reallocation Low Memory Reallocation最正确内存使用最正确内存使用尽量使用 subVIs不要滥用全局和局部变量只在必要时翻开 subVI 前面板高效地创立和处理数组不使用大的、复杂的数据类型coercion dots构建和处理数组构建和处理数组使用具有 inplaceness 特点的数组函数 Inplaceness 是指函数 in place 操作数据,而不会另外建立一个数据备份。Reuses BuffersMay Allocate New BuffersAllocates New Buffers子数组子数组LabVIEW 尽可能的重用内存缓冲子数组不存
12、储实际的数据子数组在必要时会生成真实的数组由于子数组不要对数据进行拷贝,因此提高了程序的执行速度子数组子数组子数组函数返回一个 7499x2 的子数组这个例子程序需要执行2秒钟2 GHz Pentium 4子数组子数组在函数 Array Subset之前引线执行只需5毫秒子数组到真实数组的生成发生在循环之前4.2 减少减少 I/O 开销开销I/O VIs 比计算操作多花很多时间把 I/O 调用降低到最少每次调用传递尽可能多的数据使用多点 DAQ VIs 而不是单点 VIsSlow Methodmany I/O callsFast MethodOne I/O call减少开启和关闭资源减少开启和
13、关闭资源Slow MethodFast Method使用底层 VIs 来减少开启和关闭资源的次数 Slow Method中,文件被翻开和关闭100次Fast Method中,文件只翻开和关闭1次保持资源的翻开状态保持资源的翻开状态使用底层的文件翻开和关闭函数连接文件读写函数open,read/write的引用 提高读速度提高读速度 操作系统不需检查权限、分配新的文件描述符等 提高写文件的速度提高写文件的速度 允许操作系统缓冲写操作标准化标准化LabVIEW 以“大字端形式读写数据X86 机器采用“小字端形式存储数据选择不需要转换的数据类型如:U8,I8,String data,SGL,DBL可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精选 精选Advanced LabVIEW Programming Tips and Techniques Advanced
链接地址:https://www.taowenge.com/p-96463835.html
限制150内