微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > LabVIEW串口的编程-使用LabVIEW系统VI

LabVIEW串口的编程-使用LabVIEW系统VI

时间:01-09 来源:互联网 点击:
第一部分使用LabVIEW系统VI


一、串口VI介绍
LabVIEW的串口通讯VI位于Instrument I/O Platte的Serial中,包括:

VI名称VI功能
VISA Configure Serial Port初始化VISA resource name指定的串口通讯参数
VISA Write将输出缓冲区中的数据发送到VISA resource name指定的串口
VISA Read将VISA resource name指定的串口接收缓冲区中的数据读取指定字节数的数据到计算机内存中
VISA Serial Break向VISA resource name指定的串口发送一个暂停信号
VISA Bytes at Serial Port查询VISA resource name指定的串口接收缓冲区中的数据字节数
VISA Close结束与VISA resource name指定的串口资源之间的会话
VISA Set I/O Buffer Size设置VISA resource name指定的串口的输入输出缓冲区大小
VISA Flush I/O Buffer清空VISA resource name指定的串口的输入输出缓冲区

二、使用说明
在LabVIEW环境中使用串口与在其它开发环境中开发过程类似,基本的流程框图如下。

图1、串口操作数据流图

首先需要调用VISA Configure Serial Port完成串口参数的设置,包括串口资源分配、波特率、数据位、停止位、校验位和流控等等。

图2、初始化串口

如果初始化没有问题,就可以使用这个串口进行数据收发。发送数据使用VISA Write,接收数据使用VISA Read。在接收数据之前需要使用VISA Bytes at Serial Port查询当前串口接收缓冲区中的数据字节数,如果VISA Read要读取的字节数大于缓冲区中的数据字节数,VISA Read操作将一直等待,直至Timeout或者缓冲区中的数据字节数达到要求的字节数。当然也可以分批读取接收缓冲区或者只从中读取一定字节的数据。

图3、从串口发送数据 图4、从串口接收数据

在某些特殊情况下,需要设置串口接收/发送缓冲区的大小,此时可以使用VISA Set I/O Buffer Size;而使用VISA Flush I/O Buffer则可以清空接收与发送缓冲区。在串口使用结束后,使用VISA Close结束与VISA resource name指定的串口之间的会话。

图5、设置缓冲区大小图6、 清空缓冲区图7、结束会话/线程

具体的例子可以参考:examplesinstrsmplserl.llb。

第二部分使用MSCOMM控件
在LabVIEW中使用MSCOMM控件,与在VC、VB中使用一样。同样可以使用中断方式进行接收。

图8、使用控件的串口收发程序

图9、程序数据流图

首先通过LabVIEW的工具菜单“Tools >> Advanced >> Import ActiveX Controls”将Microsoft的串口控件-“Microsoft Communications Control,version 6.0”添加到LabVIEW环境中,存放在缺省路径即可,这样在User Controls Palette里面可以找到这个控件。

图10、添加ActiveX控件菜单

图11、选择添加用户控件

图12、用户控件
将串口控件放置在Front Panel上,在框图程序中用控件属性对其进行编程,实现所需要的功能。
注意:一个串口资源要有一个MSCOMM控件与之相对应。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top