57.LabVIEW 程序地内存优化 2 - 子 VI 地优化.docVIP

  • 3
  • 0
  • 约3.47千字
  • 约 7页
  • 2017-05-27 发布于贵州
  • 举报

57.LabVIEW 程序地内存优化 2 - 子 VI 地优化.doc

57.LabVIEW 程序地内存优化 2 - 子 VI 地优化

LabVIEW 程序的内存优化 2 - 子 VI 的优化   1. 子 VI 参数的缓存重用   数据在子 VI 间传入传出,如果程序设计的好,可以做到缓存重用,使得数据在主 VI 和子 VI 中都不发生拷贝,提高程序的效率。   我们先来看一下图1所示的 VI。打开 ToolProfileShow Buffer Allocations 工具查看一下这个 VI 中内存分配的情况,会发现在代码的加法函数处有一个黑点。这个黑点说明程序在这里有分配了一块内存,这个内存是用来存储加法运算结果的。s      图1:控件不与接线器相连时,加法处有内存分配   为什么加法函数在这里不做缓存重用呢?利用其中一个加数的内存空间来保存计算结果。   当这个 VI 运行的时候,图2中,加数 Numeric 的数据是由 VI 前面板的控件提供的。如果用户不修改控件的值,每次 VI 运行,这个数值应该是保持不变的。如果加法函数在这里做缓存重用,加数或者说它对应的控件中的数据,就会在加法运算执行后被修改。这样程序就会出现逻辑上的错误。   所以把一个这样的控件联在 LabVIEW 的运算节点上,运算节点是不能重用控件的数据内存的。同样的道理,链接一个常量到运算节点上,节点同样不能做缓存重用。在子 VI 中,没有连到接线器上的输入控件就相当与一个常量。   但是,如果我们让 VI 上的控件与 VI 的接线器(

文档评论(0)

1亿VIP精品文档

相关文档