使用labview制作简单串口通信

1.安装VISA驱动

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可以打开即时帮助,在即时帮助中我们可以看到关于该控件的说明。其中还有详细帮助信息,十分方便我们的开发应用。

2.放置控件

这是一个简单的收发程序,程序的主体主要由上面提到的控件组成。

在这里插入图片描述
就是先配置串口,然后再到写入,然后在读取。完成这些操作后就把串口关闭。

3.VISA配置串口

接下来我们要对串口进行配置。
一般来说,配置的主要内容有:

  1. visa资源名称。
  2. 波特率
  3. 数据比特
  4. 奇偶校验:检验代码1的个数
  5. 流控制

接下来我一一介绍他们的配置方法。

1)VISA资源名称


这个可以在接线端上点击右键或者创建一个输入控件。
用于选择和下位机通讯的端口号。

2)波特率

和visa资源名称一样,也可以选择创建输入控件和常量。这两项值都要和下位机相对应。
一般多为9600,115200也可以自定义。
在这里我选用9600.

3)数据比特

数据比特是输入数据的位数。
右键点击创建输入控件。

4)奇偶校验

监测收到信息的1的个数,用于校验。
右键点击创建输入控件。

5)流控制

因为上位机的处理速度和下位机的处理速度快慢不一致。可能导致一方数据还未来的及处理,另一方又继续发送,导致数据的丢失。
右键点击创建输入控件。
labview中可以使用硬件流控制和软件流控制。

软件流控制
软件流控制

XON/XOFF(继续/停止)是异步串行连接的计算机和其他元件之间的数据流控制协议。当接收端的输入缓冲区内数据量超过设定的高位时,就向数据发送端发出XOFF字符,发送端收到XOFF字符后就立即停止发送数据;当接收端的输入缓冲区内数据量低于设定的低位时,就向数据发送端发出XON字符,发送端收到XON字符后就立即开始发送数据。


硬件流控制

硬件流控制常用的有RTS/CTS流控制,收发双方都有各自的RTS和CTS,如通信双方A,B。那么A的RTS就与B的CTS相连,A的CTS就与B的RTS相连。RTS的作用是告诉对方我可以接受数据,是输出口;CTS的作用是根据电平高低控制发送或不发生数。

6)停止位

用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。

7)启动终止符与终止符


“终止符”的默认值为10,它的十六进制是“0x0A”,这是一个 ASCII码,是一个换行符。
启动终止符。默认值是true,当收到终止符是就停止接收。一般不需要终止符时要设置其为false

8)超时

如果不设置超时,或者超时无限大,程序就一直在等 VISA 读取,会占用整个cpu。
如果设置了超时,等待超时时间到了,程序就不执行了,错误输出会输出错误。
所以一般解决的时就在循环中加入延时,防止一直占用导致程序出现无法运行。

9)簇类

在完成控件放置后,我们可以将所需要的配置控件都放在同一簇类中。使程序更加美观。


在前面板中选择簇类,将控件放入。


放入后


程序框图

10)配置串口控件底层


这个串口配置函数不是底层vi,通过双击配置串口可以打开配置串口底层的vi。可以看出配置串口程序是一个属性节点!

属性节点:
获取(读取)和/或设置(写入)引用的属性。 通过属性节点对本地或远程应用程序实例、VI或对象获取或设置属性和方法 也可通过属性节点访问LabVIEW类的私有数据。

4.写入串口

在串口配置完成后,接下来要做的就是写入串口。串口配置就好像是门的钥匙,开门后就该进去了。

  1. 创建一个用于发送的循环
  2. 使用一个事件结构加一个按钮作为发送
  3. 再加上一个发送数据的窗口

5.读取操作

在完成写的操作后,就开始进行读的操作配置。


这里最好加入一个反馈节点,以防止一些发送过来的数据读取不到。


前面加入一个反馈节点,用于读取发送过来的数据的位数。可以用于校验

6.完成

后面加入一些循环结构等就完成整个串口的简单收发。

  • 90
    点赞
  • 527
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
### 回答1: LabVIEW是一款强大的集成开发环境(IDE),可用于快速创建图形用户界面(GUI)和数据采集和分析应用程序。在串口通信方面,LabVIEW可以作为上位机语言使其功能更加强大。 首先,使用LabVIEW进行串口通信的上位机需要了解串口通信的基本知识,例如如何打开和关闭串口,如何配置串口的波特率,数据位,停止位等参数。 其次,需要熟悉在LabVIEW中如何使用串口控件和VISA(Virtual Instrument Software Architecture)API。串口控件使用户可以轻松地设置串口参数,如波特率和数据位,而VISA API则提供了用于与串口通信进行交互的函数和命令。 使用LabVIEW进行串口通信的上位机最常见的用途是在嵌入式系统,如单片机或传感器节点中收集实时数据。使用串口通信,可以在设备上实时采集数据并将其传输到主机计算机上,在LabVIEW中实时分析和可视化数据。 总之,使用LabVIEW进行串口通信的上位机是一项非常有用的能力,使得用户可以轻松地创建具有高度定制化和维护能力的数据采集和控制系统。 ### 回答2: 使用LabVIEW串口通信的上位机,可以通过NI-VISA和NI-Serial两个LabVIEW中的常用工具来完成。 首先,需要在LabVIEW中安装NI-VISA和NI-Serial工具。通过NI-VISA可以实现与串口设备的通信,而NI-Serial则可以帮助我们方便地进行串口的配置与操作。 其次,需要在LabVIEW中编写串口通信的程序。可以使用串口VISA接口函数来实现串口通信的读写操作。通过配置COM口号、波特率、数据位、校验位和停止位等输入参数信息,设置相应的串口通信波特率、数据位数和校验位等,来保证数据的正确传输和通信的稳定性。 在LabVIEW串口通信上位机程序中,可以设计用户界面显示数据、输入输出控制等功能,利用LabVIEW的数据流控制技术和图形化编程界面,可以快速地实现对设备的控制和数据的采集处理,并进行数据的图形化显示和计算分析等操作。 总之,LabVIEW作为一款强大的工程师专业工具,可以快速、方便、高效地实现串口通信的上位机编程,为工程师带来更加便利的开发体验和快速开发成功的机会。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值