VB Script 打开一个VI

    LabVIEW 的一些服务功能是通过 ActiveX 接口提供出来的,我们在其他支持 ActiveX 的语言中可以方便的调用这些服务。比如一个最简单的例子,使用 VB Script 打开一个 VI 的前面板,这样做就行了:

Set lvapp = CreateObject("LabVIEW.Application")
Set vi = lvapp.GetVIReference("C:\temp\test.vi")
vi.FPWinOpen = True

    由于 IE 支持 VB Script,这段代码还可以嵌在 HTML 文件中实现这样的功能:页面上有一处超级链指向一个VI,点击这个链接,就可以显示相应的 VI。其他浏览器可以使用 JavaScript。

《我和 LabVIEW》目录

Advertisements

7 thoughts on “VB Script 打开一个VI

  1. 你的 LabVIEW 是什么版本的?我在 8.5 上试验了一下,如果设置为可重入,是会有两份界面打开。要注意的是,这个界面要被设计成一个子VI,不能是最顶层的VI。如果你是用的是 LabVIEW 8.0 以上的版本,还可以使用XControl。把所有界面部分做成一个 XControl,然后连个VI共享这一份 XControl。

  2. 谢谢你的回复
    我一开始也是看了你blog上写的有关可重入部分内容后,想着把子VI设为可重入,然后用Open VI Reference去两次调用的,但是好像还是只能有一个界面。LabVIEW跟其他应用程序好像有点不一样,用LabVIEW生成的exe文件,在一台机器上只能运行一个进程,当已经运行一个exe文件后,再去打开它,返回的还是先前的运行进程。同样,调用一个子VI时,似乎LabVIEW会先检查内存中是否存在这个子VI,如果存在,还是返回这个子VI的运行界面的(即便设为可重入,当然可能内存中会有两份存在,但是界面我试了一下,确实还是一个相同的界面的)。而我想实现的功能是:有两个按钮,点击第一个按钮后,运行子VI,弹出这个子VI相应的界面(当然它是非模态窗口),然后再点击第二个按钮,同样调用这个子VI,但是要弹出另外一个相同的界面。当然,用不同的子VI名是可以实现这个功能的,但是考虑代码维护方便,同时让相同的代码用不同的名称也有点让人别扭,所以请教博主是否有更好的方法。谢谢

  3. 回xm。如果你就是需要两份同样的界面,那最简单的方法,做两个界面一样的VI。如果是需要打开不定份数的相同界面,把那个子VI设为可重入即可。

  4. 请问:LabVIEW能否在一个程序中同时调用一个同名的子VI,同时显示这个子VI的两个相同界面。请博主有空解答一下,谢谢。

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google photo

You are commenting using your Google account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s