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配置串口
接下来我们要对串口进行配置。
一般来说,配置的主要内容有:

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

接下来我一一介绍他们的配置方法。
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.写入串口
在串口配置完成后,接下来要做的就是写入串口。串口配置就好像是门的钥匙,开门后就该进去了。

创建一个用于发送的循环

使用一个事件结构加一个按钮作为发送

再加上一个发送数据的窗口

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

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

前面加入一个反馈节点,用于读取发送过来的数据的位数。可以用于校验
6.完成
后面加入一些循环结构等就完成整个串口的简单收发。


---------------------
作者:好好学习的咸鱼
来源:CSDN
原文:https://blog.csdn.net/weiyuxin107/article/details/82821415
版权声明:本文为博主原创文章,转载请附上博文链接!

Labview VISA实现串口通信实例讲解 转相关推荐

  1. visa linux 串口 通信,使用visa进行串口通信

    最近因为项目的原因,都在研究上位机通信问题.这两个星期研究还是蛮多心得,下面就写写关于使用visa进行串口通信的内容 LABVIEW软件 LabVIEW 在仪器控制方面,还是很有优势的,把你仪器给你, ...

  2. Labview上位机串口通信-读写

    使用VISA进行串口通信: (1)相关配置:串口资源(波特率等设置).VISA的打开.配置(接收和发送缓冲区).调用属性结点(一有字节出现就马上接收,或者发送) (2)读取部分:首先依据协议进行包头的 ...

  3. Android串口通信实例分析【附源码】

    Android 串口通信实例分析,用的时开源的android-serialport-api 这个是用android ndk实现的串口通信,我把他做了一个简化,适合于一般的程序的串口通信移植,欢迎拍砖- ...

  4. stc12串口收发计算机,半双工串口通信实例36:STC12单片机和STC12单片机串口通信...

    半双工串口通信实例36:STC12单片机和STC12单片机串口通信 一.串口通信实例目的: STC12单片机主站数字量输入DI01~DI08控制STC12单片机从站数字量输出DO01~DO08: ST ...

  5. LabVIEW中的VISA函数串口通信的简单例子

    1.用VISA函数串口将数据读取并以数组的形式展示出来 前面板 程序 2.VISA函数串口数据读取与传出 前面板 程序

  6. Labview VISA 读取串口

    注明:本帖子是手把手系列第6个帖子,属于启蒙级的教程,               建议大家按我发帖子的顺序来看,方便大家理解.请不要跳跃式的阅读.               很多人现在看书,都跳跃 ...

  7. python树莓派串口通信实例_树莓派通过串口发送数据

    可以通过串口登陆树莓派,也可以通过串口向其他主机发送数据.树莓派的串口接受数据科技爱好者博客已经写过,可以参考这篇文章:树莓派与arduino串口通信实践.这篇文章教大家如果通过树莓派的串口发送数据. ...

  8. 51单片机~串口通信(讲解+代码)

    51单片机~串口通信 (一)计算机串行通信原理: 综上:所以在设置的时候,经常将SCON设置为0X50==0101 0000 ,使用方式1. (二)工作: 中断控制 led灯,每发送一条指令灯亮或灭( ...

  9. python树莓派串口通信实例_Python实现树莓派USB串口通讯及云端对接

    → USB串口通讯 树莓派上自带一个串口,用于连接蓝牙或是串口命令行,串口资源很少,对于嵌入式的应用来说串口设备很多,需要的串口数量也很多,因为通过USB外接串口是一个不错的选择. 1. 我手中的US ...

最新文章

  1. Linux CentOS6.x ip设置(网卡设置)
  2. MySQL—数据库表的完整性约束(非外键约束)
  3. 一代杰出科学家--钱学森去世了
  4. 【原创】网络报文抓取研究
  5. 新ANTLR 4.6的重要更改
  6. vim 正则非贪婪模式
  7. MVVM教程(2):
  8. (解决MATLAB的使用问题)避免每次双击.m文件都会自动打开一个matlab程序
  9. 执行git命令出现 xcrun: error:
  10. 点云与图像融合的深度学习方法综述
  11. iwemeta元宇宙:阿里首任COO:如何打造销售铁军
  12. 惠普电脑u盘重装系统步骤_惠普电脑u盘重装系统xp教程
  13. 如何用c语言编辑定时关机程序有说明的,C语言编写的定时关机程序
  14. VMware Workstation 安装红帽Linux
  15. cmake清空缓存 cmake clean
  16. CSS隐藏浏览器滚动条
  17. 微软识花 android版 (非官方)
  18. 煤炭行业:供给短缺周期开启(20201231).PDF
  19. 解决高并发下Redis连接失败redis.clients.jedis.exceptions.JedisConnectionException Attempting to read from a bro
  20. Flurry iOS端调研和使用

热门文章

  1. Excel第13享:countif()函数之模糊计数
  2. C Shell 详解
  3. indesign中如何锁定零点_InDesign中的快捷键(最全的).doc
  4. 字节跳动+京东+360+网易面试题整理,Java岗
  5. 我的blog如何定位?
  6. google svn 服务器使用(免费SVN服务器)_陕南赤子_新浪博客
  7. CSS下拉菜单鼠标移入菜单内容时,菜单隐藏消失的问题
  8. 看看这篇U盘防毒的文章吧,希望对你有用。
  9. 超全窗c4d模型素材网站整理
  10. WP8.1系统不支持蓝牙扫描枪?