随着VISA(Virtual Instruments Software Architecture,虚拟仪器软件结构)发展,使得仪器设备控制程序适用于硬件接口成为可能,通过调用相同的VISA库函数并配置不同的设备参数,就可以编写控制各种I/O接口仪器的通用程序。下面介绍一个简单的VISA控制设备的安装、调试、编程范例。

首先,安装NI-VISA的串口驱动程序,安装后在Measurement & Automation Explorer中“我的系统—软件”中可以看到驱动是否安装成功。

labview多个串口通讯(如何使用LabVIEW中的VISA函数实现串口通信)(1)

将设备串口端与PC端的串口链接。然后,下载一个串口调试助手,按照设备操作说明书或设备设置参数输入波特率、数据位、停止位、校验位、流控制等基本参数,打开串口COM1,再字符串输入框中按照说明书键入设备SCPI指令,如过空白框可正确反馈设备信息,说明串口通信正常。

labview多个串口通讯(如何使用LabVIEW中的VISA函数实现串口通信)(2)

通常串口控制只需VISA配置串口(仪器)函数、VISA写入函数、VISA读取函数、VISA关闭函数。

1、VISA配置串口(仪器)函数

串口通信最重要的参数包括波特率、数据位、停止位和奇偶校验,对于两个进行通信的端口,这些参数必须匹配。VISA配置串口函数如下图所示。

labview多个串口通讯(如何使用LabVIEW中的VISA函数实现串口通信)(3)

labview多个串口通讯(如何使用LabVIEW中的VISA函数实现串口通信)(4)

2、VISA写入函数

VISA写入函数作用时使写入缓冲区的数据写入VISA资源名称指定的设备或接口。

labview多个串口通讯(如何使用LabVIEW中的VISA函数实现串口通信)(5)

labview多个串口通讯(如何使用LabVIEW中的VISA函数实现串口通信)(6)

3、VISA读取函数

VISA读取函数是从VISA资源名称指定的设备或接口中读取指定数量的字节,并使数据返回至读取缓冲区。

labview多个串口通讯(如何使用LabVIEW中的VISA函数实现串口通信)(7)

labview多个串口通讯(如何使用LabVIEW中的VISA函数实现串口通信)(8)

4、VISA关闭函数

VISA关闭函数关闭VISA资源名称指定的设备会话句柄或事件对象。

labview多个串口通讯(如何使用LabVIEW中的VISA函数实现串口通信)(9)

labview多个串口通讯(如何使用LabVIEW中的VISA函数实现串口通信)(10)

利用以上四个串口函数就可以建立一个简单的仪器参数读取程序,如下:

labview多个串口通讯(如何使用LabVIEW中的VISA函数实现串口通信)(11)

其中,“Bytes at port”为确定字节数属性节点符号,通常与VISA读取函数配合使用,置于读取函数之前,它利用一个读取缓冲区字节数,读到字节数,就确定了 VISA 读取里面那个字节数,然后用读取 VISA 读出来,这样就可以读取VISA串口已有的全部数据。用“Bytes at port VISA读取函数”的组合,可以防止错误发生,在读取数据之前正确判断数据字节数,有数据就读,没数据就不读。而如果你指定要读的字节数,当超时时间到之后,如果还没读到指定直接,就会报错。

labview多个串口通讯(如何使用LabVIEW中的VISA函数实现串口通信)(12)

,