当前位置: 代码迷 >> 综合 >> Labview-浅谈Labview中VISA的设计
  详细解决方案

Labview-浅谈Labview中VISA的设计

热度:41   发布时间:2024-01-11 20:05:20.0

VISA是新一代仪器I/O标准,作为通用标准,VISA具有与仪器硬件接口和具体计算机无关的特性,即VISA是面向器件功能,而不是面向接口总线的,控制RS232等仪器时不必考虑接口总线类型。在LabVIEW 中利用VISA节点进行串行通信编程。为了方便用户使用,LabVIEW将这些VISA节点单独组成一个子模块,共包含8个节点,分别实现初始化串口、串口写、串口读、中断以及关闭串口等功能。

一、基本步骤  在LabVIEW 中,进行串口通信的基本步骤分为3步:  

第一:串口初始化,利用ⅥSA Configure Serial Port.vi【VISA配置串口】节点设定串口的端口号、波特率、停止位、校验位、数据位。

  第二:读写串口,利用VISA Read节点和VISA Write节点对串口进行读写。

  第三:关闭串口,停止所有读写操作。

 二、主要节点介绍  下面介绍一下VISA串口的主要节点及其功能:

 1、串口配置  该节点主要用于串口的初始化,如图1所示。

                                                             图1 串口配置节点  

VISA资源名称:指PC的串口名,例:COMl,COM2等。 波特率:串口速率,默认为9600bps。  数据比特:一帧信息中的位数,LabVIEW 中允许5~8位数据,默认为8。 奇偶:奇偶校验位,可选为无校验、奇校验或偶校验,默认为无校验。
 停止位:一帧信息中的停止位的位数,可选为1位、1.5位或2位。 流控制:设置传输机制使用的控制类型,可选为None、XON/XOFF软件流控或RTS/CTS硬件流控,默认为None。
  终止符:设置一帧数据的结束符,即当接收串口数据时,当收到终止符时,软件自动结束一帧数据接收。  特别需要注意的是超时(TIMEOUT) 
和结束符号两个参数.TIMEOUT默认的10秒,结束符号默认是使能状态,默认的结束符是0X0A(\n),另外,回车0x0D (\r)
也经常做为做为结束符号
  2、串口写入【从写缓冲区中写数据至visa资源名称指定的串口】
    该节点主要用于写入串口数据,如图2所示。


                                                                 图2 串口写入节点 

写入缓冲区:串口发送的内容。  3、串口读取【从visa资源名称指定的串口中读数据至读缓冲区】
 该节点主要用于读取串口中的数据,如图3所示。
 
                                                                   图3 串口读取节点  

字节总数:要读取的字节数量。 读取缓冲区:PC
串口收到的数据。  返回数:实际读取的字节数,字节总数应大于或等于返回数,否则会丢数。 4、串口关闭  该节点主要用于关闭已打开的串口,释放串口资源,以便串口被其他程序所调用,
如图4所示。 


                                                                      图4 串口关闭节点 

 三、典型串口程序框图  按照串口编程的3个基本步骤,图5和图6给出了两个典型的
串口读写程序框图。图5为读取的字节数为固定值,图中为4个字节,
如果串口中数据字节数目不
等于4个字节则会出错。图6则是先判断出串口中数据的字节数目,然后将其全部读取出来。相对而言,图6的通用性更好,但是出错的概率也会增大,因为不知道串口发来的数据是否与我们所需要的数据的字节数相等。 

  
                                                                             图5 典型串口读写程序框图1 


                                                          图6 典型串口读写程序框图2