网站首页 > 资源文章 正文
串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节的通信方式。在LabVIEW中串口通信使用范围非常广泛,例如,通过串口使用ModBus协议驱动仪器、串口驱动PLC设备等。
在LabVIEW中有专业的VI(VISA)可以驱动串口进行数据读、写操作,在函数面板 → 仪器I/O → 串口子面板中,如下图所示:
相应的说明可参见帮助文档,如下图所示:
?通过几个简单的Demo示例了解VISA串口函数的使用方法。
代码下载:https://download.csdn.net/download/m0_38106923/85272661
1、串口写入数据
打开串口COM3,通信速率115200/bps,写入数据:A1$,示例代码如下所示:
2、串口读取数据
打开串口COM8,通信速率115200/bps,读取20个字节长度数据,示例代码如下所示:
3、清除缓存区
以上两种方法介绍了LabVIEW串口最基本的读、写操作,实际上直接这样使用的存在问题的。
因为在大多数情况下串口设备不管在LabVIEW执行或着关闭的状态都一直在上传数据。端口在收到第一个字符的时候可能没有被配置好,所以它读到的是无效的缓冲区信息,这样直接开启后进行读、写数据极其容易导致错误。
?为了解决这样的问题,在串口配置后需要放一个延时(大约XXXms),就可以让Serial port有足够的时间完成设定。再来使用VISA清空I/O缓冲区函数,就可以将接收缓冲区中不正确的资料清除。对串口读取功能进行优化,示例代码如下所示:
?以下示例中读取数据长度的方式进行优化,通过属性节点(Bytes at Port)获取字节长度,无需再手动定义长度,避免定义长度太短导致接收不全或者定义数据过长导致浪费情况。
4、设置缓存区
目前VISA串口缓冲区大小最大可达到 2的32次方(4,294,967,296 字节),可以在该范围内定义缓存区大小,例如以下示例,定义缓冲区大小为80000字节。
5、数据超时
在初始化VISA串口时,可以设置超时时间,当读、写数据超出时间,会提示错误信息。
?以下示例定义串口通信超时时间是10秒。
6、数据终止符
在初始化VISA串口时,可以设置终止符,通过调用终止读取操作,从串行设备读取终止字符后读取操作会自动终止。例如以下示例,读取到“$”字符(十六进制:0X36)时,会停止读取操作。
?代码下载:https://download.csdn.net/download/m0_38106923/85272661
猜你喜欢
- 2024-12-27 LabVIEW Arduino无线蓝牙遥控智能车(项目篇—2)
- 2024-12-27 LabVIEW色彩分类识别(基础篇—15)
- 2024-12-27 LabVIEW实现手机摄像头调用 labview调用usb摄像头
- 2024-12-27 LabVIEW十六进制和字符类型转换 labview16进制字符转10进制字符串
- 2024-12-27 如何通过LabVIEW控制电脑自带摄像头?
- 2024-12-27 LabVIEW读写各类格式图像的方法(基础篇—1)
- 2024-12-27 Labview通过西门子官方库S7.net与S71200或S71500系列PLC通讯
- 2024-12-27 LabVIEW控制Arduino驱动1602液晶显示屏(基础篇—10)
- 2024-12-27 LabVIEW编程实例:一个简单通用的“关于”对话框实现
- 2024-12-27 仿真工具Multisim正版下载安装 Multisim中文版下载
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)