Menu:

第8章  同步化(7)


First Call 内置函数

首次调用?如在VI运行后第一次运行子VI,则值为TRUE。
如VI运行时,在循环或条件结构内部只执行一次子VI或部分程序框图,可使用该函数。

      顶层调用方开始运行后,VI第一次运行时首次调用?将返回TRUE(例如,单击运行按钮,或执行“运行VI”方法)。第一个顶层调用方还在运行时,第二个顶层调用方再次调用该VI,首次调用?不会再次返回TRUE。所有顶层调用方闲置时,如某个顶层调用方重新开始调用,首次调用?函数将在闲置状态后再次返回TRUE。重入VI的每个数据空间均有一个实例。所以,共享的重入VI的每个数据空间在顶层调用方首次调用时将返回TRUE。

       上面的信息来自LabVIEW的帮助文档,可见对该内置函数表述的也是不很明晰。该内置函数的实质就是当该内置函数首次运行后将返回“真”的逻辑值。

      这是一个很有用的功能。它在大多数情况下,可以实现程序的初始化的功能。



实际应用

      在实际应用程序使用中,往往要提供实测的不同测量单元的测试结果报告。比如:一个振动测试项目中,就可能有多个小的测试单元,那么在测试报告中必须能够区分不同单元的测试内容。所以整个测试报告中,为每个测试单元都提供了一个“报告横眉”的vi。并且我们希望在这个单元测试时,横眉仅打印一次,如果改变频率等其它参数时,单元测试仅打印新的结果而不需要总打印横眉。
      利用First Call功能实现了这个目的。

      这个程序实际很简单,在单元测试的第一次调用时,将在测试报告中生成一个“报告的横眉”,横眉的内容由“Text”中的内容决定。然后,在本单元测试中,再有调用时由于FirstCall的作用将不再打印这个横眉。