LabView 常常用来开发上位机,实现与不同种类的设备、控制卡等通信或控制,而通信过程中,常常使用串口方式来通信,这就需要DP9针、USB等接口及相应线缆。而在labView中,则需要安装NI-Visa来获取相应的驱动。
NI-VISA(National Instruments-Virtual Instrument Software Architecture)是由National Instruments公司开发的一个具体的软件实现,它符合VISA(Virtual Instrument Software Architecture)I/O标准。这个标准主要用于配置和编程各种接口的仪器系统,如GPIB、VXI、PXI、串口(RS232/485)、以太网/LXI和USB接口等。
具体来说,NI-VISA提供了一套编程接口,允许用户在NI的应用开发环境(如LabVIEW、LabWindows/CVI和Measurement Studio)中控制和通信以太网/LXI、GPIB、串行、USB、PXI和VXI仪器。这些接口使得用户可以进行数据采集、仪器控制、测试自动化等多种操作。
VISA安装
以下是适配LabView 2014 的NI-Visa资源,NI-Visa
1.资源内容
打开资源文件中,详细资源文件如下,其中Setup.exe 是主要安装程序,双击或右键点击运行开始正式安装。
2.安装过程
NI-Visa 的安装过程比较简单,打开之后可以直接下一步到最终安装过程,也可以参考我的安装过程来把一些配置取消掉。软件在安装过程中,目标路径是根据安装的LabView 主体安装包的路径,因此无需修改安装路径。
等待总进度条进行中,会出现以下弹窗,这个可以选择是否安装,该软件是针对NI的PXI外置采集卡机箱准备的驱动,若无此硬件可以选择不安装。
总进度条跑完后,出现如下界面,表示NI-Visa 的安装已经结束了,此时亦可选择设备的重启时间,安装完成后,串口功能已可以正常使用了,因此可以选择稍后启动。
串口
使用串口进行通信的协议有232、485、422,而前两者比较常见。232常用于短距离1对1通信,而485可以实现长距离1对多的通信。在电脑上我们可以通过设备管理器来查看现有电脑拥有的端口。
图中为虚拟串口助手生成的一对相互连接的串口,常用于演示常见的232 逻辑。(该工具的官网地址详见链接,虚拟串口工具 )
端口设置
在进行串口正常使用前,我们需要对串口进行一些配置。我从设备管理器中端口的属性来讲解串口的一些设置项。
- 波特率:波特率(Baud Rate)是指串口通信中每秒传输的符号个数,它决定了数据传输的速度。常见的波特率有9600、19200、38400等。配置时需根据实际设备支持的波特率来设定。
- 数据位:数据位指的是每个数据包中实际传输的数据位数,通常是7或8位。
- 校验位:为了确保数据传输的准确性,可以选择添加奇校验、偶校验或无校验位。
- 停止位:停止位用来标示字符传输的结束,可以是1位、1.5位或2位。
- 硬件流控:硬件流控(Hardware Flow Control)是一种通过专门信号线控制数据流的机制,如果设备支持,则可以启用RTS/CTS(请求发送/清除发送)或DTR/DSR(数据终端就绪/数据设备就绪)等流控信号。
以上配置项需要使用串口进行通信的双方设置一致,否则是无法进行正常的通信的。
LabView串口开发
当我们成功安装Visa后,我们就可以正常使用串口的控件和串口的函数。
1.Visa IO 控件
新建一个LabView VI,我们通过选择控件 → VISA资源名称放置在前面板,这就是LabView中选择端口名称列表的控件。
如下图所示,这就是显示的我上面通过虚拟串口工具创建的两个端口,【COM1,COM2】,如果我们使用的是USB转串口的硬件,等插入后可以点击刷新来显示新增的串口端口号。
2.组合框设置端口
上述是我们使用LabView提供的控件来获取的端口,但像其他代码语言,我们是通过串口相应的函数获取的端口列表,并把这些名称放入组合框中,那LabView也是提供了这样的方式。
下图中主要函数Visa 查找资源函数,可以查看设备管理中存在的端口,添加了刷新字段,同时事件结构,来实现同等的刷新端口操作。让后使用循环的方式写入到多个组合框中。
3.LabView 串口配置
在Labview中,我们可以使用VISA配置串口来配置串口的各项参数,除了波特率、数据比特、奇偶校验、停止位、流控制外,还可以配置超时和终止符。终止符默认启动,并且使用换行结束操作。这里需要注意,串口中若使用十六进数的方式进行通信交互时,需要关闭此功能或者修改终止符,因为数据中可能存在0x0A 的数据,而这样则会导致传输的数据不全,引起异常。
该配置需要在串口打开后使用,若程序中某一部关闭的串口,则需要重新配置,否则串口参数会调用默认的配置。
4.LabView 串口读写操作
以下是通过一组虚拟端口设置的串口读写程序,显示设置VISA资源名称,然后通过 VISA Configure Serial Port 来设置相同的配置,COM1 先写,然后COM2读取,再写入,接着COM1读取,最后关闭VISA,释放端口。中间通过错误簇来控制数据的流转顺序,Clear Errors 是清除VISA写入时产品的异常错误新鞋,属性节点配置了Bytes at Port,可以通过这个属性来获取端口中缓冲区数据的大小,以便VISA读取函数读取指定长度的数据。
其中Bytes at Port 需要相关硬件支持这个功能方可使用,有一些单片机或设备是没有这个功能的,此时就需要先了解对应命令的返回的数据长度,或者使用终止符来控制数据结束的标志。
结束语
以上便是使用LabView开发上位机中,使用到VISA时的软件安装、串口开发的入门应用。串口作为联通上下位机的一种通信方式,其使用很频繁,但应用却不是很复杂。希望我提供的内容能帮助到大家学习和入门LabView。