本文针对电子类相关专业在学习LabVIEW的过程中最常见的串行通信问题提供快速的开发方案与技巧,使之在嵌入式单片机的项目中能良好掌握LabVIEW的VISA串口通信问题,通过虚拟串口软件与串口调试助手软件使开发者大大提高串口工具的开发效率,帮助广大电子类相关专业学生解决实际问题。
一、串行通信技术介绍
串行通信是工业现场仪器或设备常用的通信方式。串行通信是一种古老但目前仍旧较为常用的通信方式,早期的仪器、单片机等均使用串口与计算机进行通信,当然,目前也有不少仪器或芯片仍然使用串口与计算机进行通信。
二、使用LabVIEW进行串口开发总体方案
LabVIEW开发者在使用LabVIEW进行串口通信项目开发实践时,经常遇到创建的项目难以验证的情况,例如:缺少串口通信设备或缺少对应的下位机。在此,提供一种使用虚拟串口软件与串口调试助手再结合LabVIEW同时开发的方式验证程序的方法。
三、串口问题的处理
在平时的串口通信问题的项目开发过程中,往往会遇到开发者没有串口通信设备的情况,此时我们可以通过使用Configure Virtual Serial Port Driver 软件设置虚拟串口。在打开Configure Virtual Serial Port Driver 软件后,在右方的界面上选择两个串口后,点击“添加串口”,系统就会创建相应的虚拟串口,创建成功的虚拟串口会在软件界面左端的Virtual ports 下显示。开发者可以根据自己需要创建虚拟串口同时也可以使用“删除串口”将选中的不需要的成对串口删除。
创建虚拟串口以后,还需要的一项重要工作就是对现有的LabVIEW软件安装VISA驱动。正常情况下,安装的LabVIEW软件是不带有VISA驱动的,需要在NI的官网上下载支持相应版本LabVIEW的VISA驱动并安装到电脑上。
在这里需注意区别VISA函数与VISA驱动的区别,新安装的LabVIEW软件有VISA函数但是没有VISA驱动,这样即使使用LabVIEW编写了完整且正确的串口仪器程序依旧无法实现此电脑的上位机与下位机的串口通信。
在虚拟串口和VISA驱动的准备工作做好以后,需要在网上查找一种或几种串口调试助手软件,串口调试助手的主要作用就是帮助开发者验证所开发出的程序能否实现串口发送与接收,同时也可以帮助开发者检查所开发出的串口通信程序的一些问题。
四、使用软件自带例子
很多人学习一门技术都喜欢现成的例子开始,学习编程语言也同样,最开始都是模仿。LabVIEW自带的范例写的很好,开发者可以以软件自带范例为参照学习,还可以根据范例来改进成自己需要的程序。在LabVIEW界面菜单栏点击“帮助”,在下拉菜单选择“查找范例”,找到“硬件输入输出”→“串口”,然后根据自习需要打开相应串口范例程序进行学习。
五、程序的编写与调试技巧
LabVIEW串口仪器控制,核心在于VISA函数的使用。参照打开的软件范例,根据程序面板可以很简单看出程序主要有四个函数:1、VISA配置串口;2、写数据到串口的VISA写入;3、从串口读数据的VISA读取;4、VISA关闭。
配置串口是进入串口通讯的钥匙,只有配置成功,才能进行正确的通讯。由于VISA配置串口的参数很多,容易出错,所以配置串口时候,最好是在对应的参数端口处,右键单击,新建常量或者输入控件,然后在新建的上面做出修改,这样可以降低数据类型问题的出现。
需要特别注意的两点:①停止位处,并不是常数1、1.5、2等,实际是10、15、20数值。这里最好右键新建常量后选择对应的枚举类型。②配置串口顶端有个启用终止符,一般默认是真,终止符一般默认是OA,即换行符。
如果开发者需要连续读串口后连续写串口,那么就需要在配置VISA后、关闭VISA前面加循环结构。
串口收到的都是字符串,很多时候,需要对于字符串进行处理,将字符串转化成数值。注意区分正常显示下的字符串和十六进制下的字符串。如果接收到的字符串显示为乱码,则切换到十六进制显示模式就会正常显示。
将编写好的串口通讯软件选择对应的串口后运行,在串口调试助手中选择对应的另外一个串口号打开串口,这样就可以在串口调试助手和开发程序两者之间进行字符串发送等相关实验验证开发程序的准确性。
六、结束语
很多人说LabVIEW的串口通讯简单,但是在贴吧或论坛里问到最多的就是串口通讯问题,归根究底是程序开发者不注重细节和自己的程序思维导致的错误。任何编程语言都需要开发者细心理清脉络,勤于动脑,注重逻辑思维的练习。通过此方法的学习能对LabVIEW串口入门的开发者具有良好的借鉴意义。
作者:孙策 黄霄霄 黄佳兴 郝琛 来源:中国科技博览 2016年12期