VISA驱动不含在软件包中,必须要自己去下载。
VISA(Virtual Instrument Software
Architecture,简称为"Visa"),即虚拟仪器软件结构,是VXI
plug&play联盟制定的I/O接口软件标准及其规范的总称。VISA提供用于仪器编程的标准I/O函数库,称为VISA库。VISA函数库驻留在计算机系统内,是计算机与仪器的标准软件通信接口,计算机通过它来控制仪器
驱动下载地址
http://www.ni.com/downloads/zhs/
在下载以及安装完成后,可以点开NI MAX
如果安装成功就可以看到COM口了。
然后点击右键,选择仪器I/O,就可以看到本次我们要使用的4个VISA控件了。
使用快捷键ctrl+h可以打开即时帮助,在即时帮助中我们可以看到关于该控件的说明。其中还有详细帮助信息,十分方便我们的开发应用。
这是一个简单的收发程序,程序的主体主要由上面提到的控件组成。
就是先配置串口,然后再到写入,然后在读取。完成这些操作后就把串口关闭。
接下来我们要对串口进行配置。
一般来说,配置的主要内容有:
接下来我一一介绍他们的配置方法。
这个可以在接线端上点击右键或者创建一个输入控件。
用于选择和下位机通讯的端口号。
和visa资源名称一样,也可以选择创建输入控件和常量。这两项值都要和下位机相对应。
一般多为9600,115200也可以自定义。
在这里我选用9600.
数据比特是输入数据的位数。
右键点击创建输入控件。
监测收到信息的1的个数,用于校验。
右键点击创建输入控件。
因为上位机的处理速度和下位机的处理速度快慢不一致。可能导致一方数据还未来的及处理,另一方又继续发送,导致数据的丢失。
右键点击创建输入控件。
labview中可以使用硬件流控制和软件流控制。
XON/XOFF(继续/停止)是异步串行连接的计算机和其他元件之间的数据流控制协议。当接收端的输入缓冲区内数据量超过设定的高位时,就向数据发送端发出XOFF字符,发送端收到XOFF字符后就立即停止发送数据;当接收端的输入缓冲区内数据量低于设定的低位时,就向数据发送端发出XON字符,发送端收到XON字符后就立即开始发送数据。
硬件流控制常用的有RTS/CTS流控制,收发双方都有各自的RTS和CTS,如通信双方A,B。那么A的RTS就与B的CTS相连,A的CTS就与B的RTS相连。RTS的作用是告诉对方我可以接受数据,是输出口;CTS的作用是根据电平高低控制发送或不发生数。
用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。
“终止符”的默认值为10,它的十六进制是“0x0A”,这是一个 ASCII码,是一个换行符。
启动终止符。默认值是true,当收到终止符是就停止接收。一般不需要终止符时要设置其为false
如果不设置超时,或者超时无限大,程序就一直在等 VISA 读取,会占用整个cpu。
如果设置了超时,等待超时时间到了,程序就不执行了,错误输出会输出错误。
所以一般解决的时就在循环中加入延时,防止一直占用导致程序出现无法运行。
在完成控件放置后,我们可以将所需要的配置控件都放在同一簇类中。使程序更加美观。
这个串口配置函数不是底层vi,通过双击配置串口可以打开配置串口底层的vi。可以看出配置串口程序是一个属性节点!
属性节点:
获取(读取)和/或设置(写入)引用的属性。 通过属性节点对本地或远程应用程序实例、VI或对象获取或设置属性和方法 也可通过属性节点访问LabVIEW类的私有数据。
在串口配置完成后,接下来要做的就是写入串口。串口配置就好像是门的钥匙,开门后就该进去了。
在完成写的操作后,就开始进行读的操作配置。
这里最好加入一个反馈节点,以防止一些发送过来的数据读取不到。
前面加入一个反馈节点,用于读取发送过来的数据的位数。可以用于校验
后面加入一些循环结构等就完成整个串口的简单收发。