2006-06-19 - LabVIEW Nugget
 


       你有没有注意过当你右键按下
LabVIEW中的子VI时出现的新的选项“Call Setup”?这确实是一个很好的技巧,可以让你的代码更为干净,并且加快你加载VI的时间。


      这两个程序中的代码都完成了相同的功能。在第二个程序中,我只是简单地在程序框图中将子
VI 放下,然后右键,并选择Call Setup。
      然后你可以选择“Reload on each call”,这样就让整个程序实现之前用Open/Call By Reference/Close来实现的功能了(就像第一个程序一样)。
      如果你选择“Load and retain on first call”,那么这个VI就会在第一次被调用时候加载,但是它的引用会保留在内存中等待下一次被调用(就像这个程序在一个循环中一样)。
      如果你选择 “Load with caller(like SubVI)”,那么它就会像一个最正常的子VI一样执行。

      因此,在本程序中,我们使用Call Setup选项用来整理程序框图,从而两个程序都实现了相同的功能。

但是也有一些其它情况,你也可以用Call Setup来提升程序性能。有一个例子是,我曾经将Call Setup用在VI Analyzer 1.1中。我们使用的用来加载配置文件的子VI非常大(里面包括了上百个子VI)。在VI Analyzer 1.0中,这个子VI被静态地调用,这也就意味着只要你在菜单中启动了VI Analyzer,那么这个VI(当然包括VI Analyzer的其它内容)都会加载到内存中。而在VI Analyzer 1.1中,我们在这个文件加载VI中使用Call Setup,并且选择“Load and retain on first call”。这样就很大地加快了VI Analyzer的启动时间,因为现在我们只有在用户需要加载VI Analyzer配置文件时才将VI加载到内存中。换句话说,在1.1版本中,这段等待时间只有用户需要读取配置文件时才会出现,而在1.0版本中,所有 用户都必须经历这个……




Leave a Reply.