labview串口编程讲解

  • 格式:doc
  • 大小:206.00 KB
  • 文档页数:2

NI公司的Labview软件以其强大的软件功能和丰富的界面设计获得众多设计者的亲睐,串口通信是计算机很方便强大的一个工具,这里以一种思路实现labview读取发送到计算机串口的数据,发送到电脑串口的数据可以由单片机,PLC等,灵活应用。

在labview上面进行直观的界面设计和数据处理
这里设计的是一个简单的界面,以布尔数组模拟显示外部输入的电平状态(传感器),具体实现过程在程序中介绍,程序如下图:
很经典的一个VISA应用程序,在labview程序面板右键,仪器I/O,串口中调用,大循环左边第一个图标是配置串口,也就是串口通信协议的配置,我这里的是(1200,8,N,1)协议,再到里面的一个条件循环,真的情况下编程,假就默认为空,从左到右三个图标依次是属性节点,配置串口读取的属性的,连线即可;第二个是VISA设置I/O缓冲区,这个是很重要的,因为数据读取进来要进行缓存;第三个是VISA读取,就是读数据了,读取的数据暂时存在读取缓冲区中,大循环外面就是VISA关闭了。

下面就是数据处理,将读取数据缓冲区做局部变量以备后面调用处理,我这里面由单片机发送来的数据时字符串形式32字节一次发送的,由前面板的布尔数组可以知道那是按位显示的,一个字节有8位,所以进行如下处理:
先将缓冲区的数据进行格式转换以常规数组显示,依旧局部变量通过索引数组函数取出最后一个数组元素,本来还准备进行数据格式转换的,但在前面板的最后一个元素显示处看
出是十进制数,原来labview已经自动把发送来的.HEX(十六进制)数据转换好了,这样就省事了,下一步直接用数值至布尔数组转换就行了,这样在labview中打开串口,外部信号输入情况就很清楚的显示出来啦。

上面只是从基础方面介绍了串口数据的调用以及可能遇到的数据格式转换处理,理解基础概念,后面做扩展是很清楚的,愿学习愉快。