LabVIEW Scripting 开始对客户开放

使用LabVIEW Scripting (也叫VI Scripting) 可以通过编程来创建和修改VI代码。这不算是一个新功能,LabVIEW 6.0 就加入了一些简单的 LabVIEW Scripting 功能。但是长期以来,LabVIEW普通用户只能使用一些基础的 LabVIEW Scripting 功能。那些强大的API只是针对NI内部用户或联盟商的,普通用户很难拿到授权。也许这是因为LabVIEW Scripting的功能太过强大了,公司总是担心把它公布出来会有意想不到的风险。
历经数个版本的LabVIEW,LabVIEW Scripting已经基本稳定。现在它已经开放给普通用户了。想要试用一下该功能的用户可以到NI Labs网站下载:http://decibel.ni.com/content/docs/DOC-4973

广告

Express VI 4 – 执行代码和配置对话框

除了 LabVIEW 自带的 Express VI,如果编程者愿意,也可以创建自己的 Express VI。在制作 Express VI 前,首先要了解 Express VI 最主要的两个组成部分:执行代码和配置对话框。

把一个 Express VI 放置到程序框图上,或双击一个已经在程序框图上的 Express VI,会打开Express VI的配置对话框。Express VI运行时所需的最常用的参数都可以在配置对话框中设置。以一个最简单的Express VI “时间延迟”为例,我们可以在它的配置对话框上设置让它延时几秒钟。

 
图1:“时间延迟”Express VI

 
图2:“时间延迟”Express VI 的配置对话框

执行代码是Express VI 在运行时执行的程序。普通VI的执行代码是固定的,也就是它的程序框图。但Express VI的可执行代码是可变的,在配置对话框上选择不同的参数,可能会导致Express VI 生成不同的执行代码。有些 Express VI 的执行代码是对用户保密的,也有一些是公开的,比如“时间延迟”Express VI 。右键点击“时间延迟”Express VI ,选择“打开前面板” ,可以把一个Express VI的执行代码固定下来,也就是把它转换成一个普通子VI,从而通过这个子VI的程序框图查看 Express VI 当前配置下的执行代码。


“时间延迟”Express VI 的执行代码

返回《我和LabVIEW》的补充内容

Express VI 3 – 优缺点

LabVIEW的相当一部分用户并不是计算机软件相关的专业人士,他们并不擅长编写复杂的程序。因此,LabVIEW也想尽办法,降低编程难度,以满足非计算机专业人士的需求。
降低编程难度的手段之一,就是使用简单的参数配置来代替复杂的程序逻辑。比如完成某一功能,如果仅仅是某一面板上选择几个参数,肯定要比在程序框图上编写代码来的容易。

为了简化程序员的工作,LabVIEW把测试领域常用的功能集成到了几个功能极为强大的子VI中。子VI的功能越复杂,所需的各类数据就会越多。比如,程序中常会需要产生一个波形数据,LabVIEW为编程者提供了一个产生波形数据的子VI。产生一个波形需要编程者提供很多具体的参数,比如波形的类型、频率、幅值、相位、采样率、采样数等数十个数据。如果以一个普通子VI的方式来提供这些功能,这个VI需要有数十个接线端。这会使得使用它的程序框图显得杂乱无章,降低了程序的可读性。更严重的是,编程者也很难在程序还未运行之前就设计好每个数据具体的值。这样就增加了编程的复杂度。
而实际上,在用户的程序中,这十几个参数并不需要都是变量,对于一个特定的程序,它可能只需要产生某个固定的波形,或固定的频率、幅值等。程序只需要一些简单的功能,在这种情况下,使用功能复杂的大VI并不能简化程序的开发。
Express VI正是为了解决这一矛盾而出现的。它为使用者提供了一个配置对话框,VI所需的数据可以在配置界面上直接选择。第一次把Express VI放置在程序框图上或者双击程序框图上的Express VI,就会出现它的配置界面。配置界面上有提示信息,可以帮助编程者选择正确的配置数据。并且有的配置界面带有反馈信息,比如,仿真信号Express VI的配置界面上就包含了“结果预览”。编程者无需运行程序,就可以及时地在此界面观察到所选参数的效果了。

Express VI虽然大大简化了编程的难度,但也有缺陷。Express VI的数量有限,不可能覆盖所有测试程序所需的功能。若程序要求比较特殊,或者使用的是不太常见的仪器、数据采集卡等设备,编程还是离不开普通的子VI来编写程序。

Express VI的另一缺点是效率较一般VI低,Express VI一般功能复杂,而应用程序通常只会用到Express VI功能的一小部分。Express VI其它的功能就浪费掉了,而由于Express VI提供了众多附加功能,它通常体积比一般VI大,运行速度慢。

返回《我和LabVIEW》的补充内容