From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



能否在VI中通过编程的方式来改变写入控件的默认值吗



主要软件:
主要软件版本: 8.0
主要软件修正版本: N/A
次要软件: N/A

问题: 我希望能够不用打开或运行VI,就可以将一些信息写入到该VI的控制或显示控件里,并将这个值设为缺省值。该怎么做呢?

解答:

你需要在另一个VI中打开目标VI的一个引用. 在下面这个例子中,主VI (set_value.vi)打开一个引用并将值写入到目标VI(write_to_me.vi) 中去。主vi使用属性节点来打开目标vi的前面板引用,随之而获得前面板上的输入/显示控件的值。 

打开你的主vi并按下列步骤操作:

  1. 通过把目标vi的路径传给 Open VI Reference.vi,打开目标文件的引用。
  2. 创建一个新的vi类属性节点,打开对vi前面板的引用.
  3. 将前面板引用连接到一个新的属性节点上,并使用这个节点打开在前面板上的输入/显示控件引用的数组.

  1. 将这个引用数组连接到一个for loop中.
  2. 你可以使用for loop 来索引目标vi上的输入/显示控件,并根据它们各自的标签来分情况处理。
  3. 因为输入/显示控件的值有一个变量类型,使用To More Specific Class VI 去表明你实际想要写入的输入/显示控件的类型,例如integer, string, waveform等。
  4. 在希望写入信息到输入/显示控件的情况下,你可以使用属性节点把值写入到指定的输入/显示控件的值的属性节点中去。
  5. 可以设定你写入的值为默认值,通过一个Make Current Value Default Invoke节点将目标vi引用的默认值设定好。
  6. 通过目标vi引用连线到Save Instrument Invoke Node,保存目标vi。

注意: Save Instrument Invoke Node 没有包含在运行引擎中(如果你在一个没有安装labview开发环境的系统下运行这个vi的可执行程序或是dll库函数,是无法正常运行的)。这个在labview help文档中有相关的说明。

  1. 关闭引用并捕捉任何可能的错误。

(如果要看更详细的解释,请参考附件的例子.)



相关链接:

附件:


set_value.vi - set_value.vi
write_to_me.vi - write_to_me.vi
steps1-3.jpg - steps1-3.jpg
steps4-9.jpg - steps4-9.jpg
step10.jpg - step10.jpg



报告日期: 09/11/2006
最近更新: 09/23/2007
文档编号: 41AD9O4G