热度 18
2014-3-18 21:27
2994 次阅读|
0 个评论
在测试测量行业, NI 公司的 Labview 是目前最流行的一种编程语言,主要用于测试测量设备的编程。在我们的技术支持中心经常会接到用户的电话,要求提供更多适用于安捷伦程控电源的 Labview 编程实例。还有很多工程师要求我们提供 Labview 驱动程序。当然,在目前安捷伦的许多产品上, 已经有了这个驱动程序。在这里,我找到了一篇文章,来介绍如何在不使用驱动程序的条件下利用 Labview 进行编程。采用这种方法有很多优势。首先,通过它您可以访问仪器的整个 SCPI 指令集,使用仪器 100% 的功能。其次,您无需考虑下载和设置驱动程序( Instrument Driver )。 在这个例子中,我们用到 N6700 模块化电源系统,通过符合 LXI Core 标准的 LAN 口连接计算机,以此为例进行详细说明。我们将使用 Labview 中的 VISA 调用程序与仪器进行通信。首先要做的是从 Agilent IO 程序库, 或者 NI 的 IO 程序库中获得 VISA init 字符串。可以看到,下面就是 N6700B 通过 Agilent IO 程序库获得的 init 字符串,也就是仪器的 VISA 地址: 有了 VISA 地址之后 , 启动 Labview 并选择空白的 VI 。访问 Functions Pallette - Instrument IO - VISA -Advanced 并选择 Open 。此函数将启动与您的仪器的 VISA 会话。此函数包含许多选项,可以输入参数值进行设置,不过通常只需设置仪器地址和 VISA Open 超时。 当会话启动后 , 即已准备好发送第一条指令。通常可能会发送一个 *RST 和一个 *IDN? , 即可 知道仪器与计算机的连接知状态,确认它们之间可进行完全的通信。 要发送指令,可访问 VISA 菜单并选择 Write 。您需要在此连接这些线。在 Labview 中,您将在整个程序中始终连接 “ VISA Resource Name Out ” 和 “ error out ” 线(您将在整个实例中看到)。另一项输入是指令。这需要是一个字符串。 由于我们发出了一个查询指令 , 所以需要读取仪器输出缓冲区的内容。在 VISA 菜单中选择读取可以执行此操作。您在读取操作中需要设置读取的字节数, 例如设置为 100 字节,使其完全不碍事。您还需要一个字符串指示符,使您可以读取和显示 *IDN 查询结果 在程序的最后 , 我将把电源设置为 4V , 打开输出 , 测量电压。所有这些步骤都使用前面用过的相同读和写指令。最后是使用 VISA Close 。使用 Close 将取消所有资源的分配,使仪器恢复原状。这个编程经验通常非常重要,不过经常得不到重视。下面是最终程序的显示结果。 当整个程序运行完毕后时 , 将得到以下结果 : 我们可以看到 , 结果与预料的一样 , 程序是正确的。因此,从此例中您可以看到,即使没有采用相关的驱动程序,在 Labview 中也可非常轻松地进行简单的编程。