labview实现串口通信
扫描二维码
随时随地手机看文章
一、串口通信简介
串口按位(bit)发送和接收字节。串口通信是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。
串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。通信使用3根线完成,分别是地线、发送、接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配。
二、LabVIEW简介LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。 LabVIEW软件是NI设计平台的核心,也是开发测量或控制系统的理想选择。
LabVIEW特点
尽可能采用了通用的硬件,各种仪器的差异主要是软件。
可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。
用户可以根据自己的需要定义和制造各种仪器
三、Labview实现串口通信步骤1.在程序面板上添加VISA配置接口
2.添加后,开启帮助文档的显示。菜单的Help-》show context help,如下图
鼠标选择目标则会显示帮助框。如下图所示。
3.创建相应的配置
在程序面板中鼠标移动到对应的引脚上,点击鼠标右键-》create-》control,创建后,界面面板上会出现对应的控制框。如下图所示,创建个VISA resource name。
前面板显示如下:
4依次创建,波特率、停止位、数据位等
如下图所示。
5.创建个while循环,用于放置发送的程序
鼠标移动到循环条件控制的引脚上,创建个control。用于调试,不对条件处理,会报错。
6前面板放置个按钮,用于控制数据的发送
7.创建个事件,用于响应发送按钮
鼠标移动到timeout的位置,鼠标右键选择edit events…如下图所示。
操作上面后,出现如下界面:选择需要响应的控件,这里选择“ok button”,选择鼠标按下
点击ok后,事件的名称也变化了。如下图所示。
如果鼠标点击按键,则会进入事件处理。
8.创建VISA写函数
9连接端口和写函数
10添加个关闭函数
11.创建字符串控件,传递给写函数,用于发送
选中VISA Write的write buffer,右键create-》control,
12界面如下所示
13.安装虚拟串口,提供一个下载地址
用虚拟串口配置两个端口,配置好后,这两个串口之间是自动连接上,模拟硬件上两个串口对接上的。
14运行串口工具
15.运行串口工具,打开串口,运行VI,发送数据
我的电脑配置的是COM12和COM13,vi选择COM12
运行VI,在write buffer里面填写test,点击OK发送。
每点击一次,发送一次
16.建立接收模块
添加个while循环,
创建while循环,用于接收。创建VISA Read,在Read buffer引脚上点击鼠标右键create-》indicator,建立个显示控件。
17 在VISA Enable Event的event type,创建个常量
然后在常量的下拉列表中选择Serial Character。这个表示串口接收到数据,可以进入帮助文档查看详细的说明。
18.创建事件等待
19.连接事件,等待事件的类型直接连接在VISA Enable Event的Event type即可。
20.添加个属性节点,Visa Bytes at serial port,获取串口中的字节数
连接字节数,这样告诉需要读取的字节数。也能保证每次都把串口中的数据读完。