LabVIEW的高级编程技巧.pdf

LabVIEW的高级编程技巧.pdf

ID:52519303

大小:301.99 KB

页数:29页

时间:2020-03-28

LabVIEW的高级编程技巧.pdf_第1页
LabVIEW的高级编程技巧.pdf_第2页
LabVIEW的高级编程技巧.pdf_第3页
LabVIEW的高级编程技巧.pdf_第4页
LabVIEW的高级编程技巧.pdf_第5页
资源描述:

《LabVIEW的高级编程技巧.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、LabVIEW的高级编程技巧内容概要•用户定义的调试指示器•定时循环•基于事件触发的编程•文件I/O的性能•内存管理2客户定制的调试指示器•能够指示各种数据类型•可定制指示器外观•可定制指示器处理功能•设置条件断点指示器的操作可以完全体现Vi的灵活性和强大的功能3内建的定制指示器•在线上点击鼠标右键•菜单现实所有相关的指示器•这些指示器存放在目录vi.lib_probes[default]下Keepgraphicsbelowthetextandtotheright4演示:客户定制的调试指示器5客户指示器的结构•包

2、含一个控件•该控件的数据类型就是所指示的线•包含一个指示器•Boolean,类似条件断点Keepgraphicsbelowthetext•True=暂停执行andtotheright•False=继续执行6定制你的需求指示器不仅仅可以显示数据;•将数据录入文件•对两个指示器之间的执行进行定时•计算总的调用次数或是每秒的调用次数•可以将系统范围内的指示器保存在user.lib_probes7定时循环•精确的定时while循环•多个时钟频率的定时•反馈,动态定时特性•循环优先级•examplesgeneraltim

3、edloop.llb8定时循环的配置9定时循环10基于事件的编程•最早在LabVIEW6.1中引入•主要用于用户界面的事件响应•在labview6.1之前采用轮询机制处理•非常占用CPU资源,可能会丢失用户界面的响应•两种类型的事件•通知•可滤除事件11LabVIEW7事件•LabVIEW7引入了一些新事件•更多的用户界面事件•ActiveX事件•用户定义的事件•动态注册的事件12事件处理结构•允许在subvi中处理事件代码•提供统一的,简化的事件处理机制•用户界面•接口控制•外部代码•硬件触发•用户定义事件•注册和

4、非注册事件13文件I/O性能•在同时进行数据采集和录入的操作中很重要•可以达到和C相当的性能•影响性能的三个因素•打开和关闭资源•系统调用的次数•数据标准化14保持资源的打开状态•使用底层的文件打开和关闭函数•连接文件读写函数open,read/write的引用提高读速度操作系统不需要检查权限、分配新的文件描述符等。提高写文件的速度允许操作系统缓冲写操作15减少调用次数•“易用”文件VIs调用多个VIs和基本函数•每次可以写入大量数据16标准化•LabVIEW以“大字端”形式读写数据•X86机器采用“小字端”形式存储

5、数据•选择不需要转换的数据类型如:•U8,I8,String(data),SGL,DBL•可以编程转换•Flattentostring•Typecast•Manualcode17内存管理工具•LabVIEW处理了大部分内存管理的细节•资源分配,复制,释放,溢出•减少程序框图的大小•提高可读性•提高稳定性•内存管理自动进行,你不需要过多的干预•理解LabVIEW是何时并如何为你“代劳”内存管理的可以大大提高你对内存使用的效率18VI的内存使用情况•前面板•需要显示前面板时或某些特殊情况下载入。•程序框图•在需要编译时载

6、入•机器码•经过编译的程序框图•数据•控件的指,•默认数据,常量等File>VIProperties19内存使用情况•Tools>Advanced>ProfileVIs…•勾选“ProfileMemoryUsage”&“MemoryUsage”•在你执行应用程序之前点击“Start”•状态只在程序执行完成后更新•在程序执行过程中内存使用情况不能被查看20内存优化LabVIEW尽量减少内存再分配需要重新分配内存的函数•BuildArray•ConcatenateStringsHighMemoryReallocation

7、LowMemoryReallocation21构建数组Method1(Incorrect):24kBtotalMethod2(Incorrect):28kBtotal8kB4kBtoconverttoSGL4kBforcopytoSGL8kB4kBforFPcopy4kBforFPcopy8kB8kB4kBtoconverttoSGLMethod3(Correct):12kBtotal4kB4kBforFPcopy4kB22子数组•LabVIEW尽可能的重用内存缓冲•子数组不存储实际的数据•子数组在必要是会生成真实的

8、数组•由于子数组不要对数据进行拷贝,因此提高了程序的执行速度23子数组子数组函数返回一个7499x2的子数组这个例子程序需要执行2秒钟2GHzPentium424子数组在函数ArraySubset之前引线执行只需5毫秒子数组到真实数组的生成发生在循环之前25显示内存分配•File>Tools>Advanced>ShowBufferAllocat

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。