labview2010中文版虚拟仪器课件第十二章 VI性能的提高.pptx

labview2010中文版虚拟仪器课件第十二章 VI性能的提高.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十二章 VI性能的提高; 本章将阐述影响VI性能的因素和取得VI最佳性能的方法。首先讨论性能和内存信息窗口这一工具,该窗口显示了VI的运行时间及内存使用的数据。还将讨论LabVIEW在其数据流模式中的内存管理,以及创建高效使用内存的VI的技巧。;学习要点;12.1 性能和内存信息窗口; 收集内存使用信息将明显增加VI运行时间的系统开销,须在启动性能和内存信息窗口前正确勾选“记录内存使用”复选框以确认是否收集这部分数据。一旦记录会话开始,该复选框便无法更改。 双击表格中的子VI名可查看子VI的性能数据。 单击某列列首可按想要的顺序排列表格中各行数据。 VI的计时并不一定与VI完成运行所需时间相对应。 勾选时间统计复选框可查看关于VI计时的其他详细信息。 勾选时间详细信息复选框可查看将VI运行总时进行细分后的计时类别。 勾选内存使用复选框可查看VI对内存的使用情况。但该复选框仅在记录形成前勾选记录内存使用复选框后方可使用。 VI运行完毕后即可测得它所使用内存的大小,但可能无法反映出其确切的使用总量。 本部分显示两组数据:已使用的字节数及已使用的块数。块是一段用于保存单个数据的连续内存。;12.2 提高VI的执行速度;1.输入/输出 输入/输出(I/O)的调用通常会导致大量的系统开销。输入/输出调用所占用的时间比运算更多。 解决过多系统开销的最佳途径是尽可能减少I/O调用。将VI结构化可提高VI的运行性能,从而在一次调用中即传输大量数据而不是通过多次调用传输少量数据。;2.屏幕显示 多数显示控件在收到与原有数据相同的新数据时并不重绘,但图表显示控件在收到数据后不论其新旧总会重绘。最好的解决方法是减少前面板对象的数量并尽可能简化前面板的显示。对于图形和图表,可关闭自动调整标尺、调整刻度、平滑线绘图及网格等功能。 将图表数据以数组的形式显示,可一次显示多点而不再一次只显示一个点,从而大幅提高数据显示速率。 多线程系统中,通过高级同步显示的快捷菜单项设置是否延迟输入控件和显示控件的更新。在单线程系统中,本菜单项无效。 多数应用程序中,异步显示可在不影响显示结果的前提下显著提高执行速度。 要实现同步显示,可右键单击该输入控件或显示控件,从快捷菜单中选择高级同步显示,勾选该菜单项的复选框。; 注意:同步显示仅在有必要显示每个数据值时启用。在多线程系统中使用同步显示将严重影响其性能。 延迟前面板更新属性可延迟所有前面板更新的新请求。 调整显示器设置和前面板控件也可提高VI的性能。可将显示器的色深度和分辨率调低,并启用硬件加速。 使用来自经典选板而不是新式的控件也可提高VI性能。 ;3.在应用程序内部传递数据 在LabVIEW的应用程序中传递数据的方法有许多种。下表为常见的数据传递方法,按其效率排序。 (1)连线——连线可传递数据并使LabVIEW最大程度地控制性能,令性能最优化。数据流语言只有一个写入器及一个或多个读取器,因而传输速度最快。 (2)移位寄存器——移位寄存器适于需在循环中保存或反馈时使用。移位寄存器通过一个外部写入器及读取器和一个内部写入器及读取器进行数据传递。有限的数据访问令LabVIEW的效率最大化。 (3)全局变量和函数全局变量——全局变量适于简单的数据和访问。大型及复杂的数据可用全局变量读取和传递。函数全局变量可控制LabVIEW返回数据的多寡。; 控件、控件引用和属性节点可作为变量使用。尽管控件、控件引用和属性节点皆可用于VI间的数据传递,但由于其必须经由用户界面,因此并不适于作为变量使用。一般仅在进行用户界面操作或停止并行循环时才使用本地变量和“值”属性。 将数据写入本地或全局变量时,LabVIEW并不立即切换到用户界面线程。而是把数值写入传输缓冲区。用户界面将在下一个指定的更新时间进行更新。变量更新可能在线程切换或用户界面更新前多次进行。原因在于变量仅可在执行线程中运算。 函数全局变量不使用传输缓冲区,因此可能比一般的全局变量更高效。函数全局变量仅存在于执行线程中,除非需在打开的前面板上显示其数值,一般无需使用传输缓冲区。;4.并行程序框图 有多个程序框图并行运行时,执行系统将在各程序框图间定期切换。对于某些较为次要的循环,等待(ms)函数可使这些次要循环尽可能少地占用时间。例如,考虑图12-2所示的程序框图;5.子VI系统开销 调用子VI需占用一定数量的系统开销。与历时数毫秒至数十毫秒的I/O系统开销和显示系统开销相比,该系统开销极为短暂(数十微秒)。但是,该系统开销在某些情况下会有所增加

文档评论(0)

autohhh + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档