关于手把手教你labview串口通信

合集下载

LabVIEW中的串口通信和硬件控制

LabVIEW中的串口通信和硬件控制

LabVIEW中的串口通信和硬件控制LabVIEW是一种强大的编程环境和开发平台,广泛应用于控制系统、仪器测量、数据采集等领域。

在LabVIEW中,串口通信是一种常见且重要的功能,它能够实现计算机与外部硬件设备之间的数据传输和控制。

一、串口通信的基本原理串口通信是通过计算机的串行接口与外部设备进行数据交换。

LabVIEW中的串口通信主要通过VISA(Virtual Instrument Software Architecture)接口实现。

VISA是一套通用的I/O接口标准,可以方便地与各种硬件设备进行通信。

在进行串口通信时,首先需要配置串口的参数,包括波特率、数据位、停止位、校验位等。

LabVIEW提供了相应的函数和工具箱,可以方便地设置这些参数。

然后,通过VISA函数进行打开串口、读取数据、写入数据等操作,实现与外部设备的数据交互。

二、LabVIEW中的串口通信实例下面以一个简单的LabVIEW串口通信实例来介绍其基本操作步骤。

首先,在LabVIEW中创建一个新的VI(Virtual Instrument)文件。

然后,在Block Diagram中拖放VISA函数,并进行相应的配置,打开串口。

接下来,通过循环结构实现数据的读取和写入。

在循环中,可以使用VISA函数读取外部设备发送的数据,并将其显示在界面上;同时,也可以通过用户输入的数据,使用VISA函数发送给外部设备。

最后,关闭串口并释放资源。

通过VISA函数,可以方便地实现串口的关闭操作。

三、LabVIEW中的硬件控制除了串口通信,LabVIEW还可以结合硬件模块进行实时的硬件控制。

LabVIEW提供了丰富的工具箱和函数库,可以支持各种硬件设备的控制和监测。

在LabVIEW中,硬件控制主要通过DAQ(Data Acquisition)模块实现。

DAQ模块可以连接各种传感器和执行器,并将其与LabVIEW 程序进行连接。

通过LabVIEW提供的函数和工具箱,可以方便地读取传感器数据,控制执行器输出,并实现实时的硬件控制。

使用LabVIEW进行串口通信

使用LabVIEW进行串口通信

使用LabVIEW进行串口通信LabVIEW是一种流行的集成开发环境(IDE),用于编写和执行控制、测量和数据采集应用程序。

它可以非常方便地与硬件设备进行通信,其中包括通过串口进行通信。

本文将介绍如何使用LabVIEW进行串口通信。

一、LabVIEW介绍LabVIEW是一款图形化编程语言,以可视化编程为特点。

用户可以使用LabVIEW快速开发有效的控制和数据采集系统,而无需深入理解底层的编程语言。

二、串口通信原理串口是一种用于将数据传输到计算机或其他设备的接口。

在串口通信中,数据以字节的形式通过传输线路进行传输,其中利用的是一对称为TX和RX的引脚。

发送数据时,数据通过TX引脚发送到接收方;接收数据时,数据则通过RX引脚接收。

三、配置串口通信在LabVIEW中,可以使用VISA(Virtual Instrument Software Architecture)函数库来实现串口通信。

通过配置相关参数,可以指定通信的波特率、数据位数、校验位等。

首先,在LabVIEW中创建一个新的VI文件。

然后,在Front Panel界面中,双击空白处,打开Block Diagram界面。

在Block Diagram界面中,拖拽VISA Serial和VISA Close VIs到界面上。

接下来,双击VISA Serial VIs,打开参数设置面板。

在面板上,可以设置串口号、波特率、数据位数、校验位等。

根据具体需求进行配置。

四、数据的发送和接收在LabVIEW中,使用串口进行数据发送和接收非常简单。

可以使用VISA Write和VISA Read VIs来分别执行发送和接收操作。

在Block Diagram界面中,从VISA Serial VIs中拖拽VISA Write VI,将其连接到VISA Serial VIs和VISA Close VIs之间。

然后,从VISA Serial VIs中拖拽VISA Read VI,将其连接到VISA Write VI的右侧。

LabVIEW串口通信

LabVIEW串口通信

LabVIEW串⼝通信Instrument I/O 利⽤LabVIEW内置的驱动程序库和具有⼯业标准的设备驱动软件,可对 GPIB(通⽤接⼝总线)、Ethernet(以太⽹)接⼝、RS-232(标准串⾏接⼝总线)/RS-485 等 I/O 仪器设备进⾏控制。

在LabVIEW的仪器I/O⼦模板上提供了多种图标可对各种I/O仪器设备进⾏驱动。

在LabVIEW功能模板的Instrument I/O→Serial中包含进⾏串⾏通信操作的多个功能模块,如下图所⽰,分别可实现串⼝缓存检测、串⼝写、串⼝读、中断、串⼝设置、关闭串⼝驱动等功能。

利⽤计算机的RS-232串⾏⼝,实现双机通信的硬件连接线路如下图所⽰,图中采⽤的是最简单的三线制连接⽅式。

TxD 为发送数据端,RxD 为接收数据端,GND 为接地端。

VISA  VISA是Virtual Instrument Software Architecture的简称,是由组成 VXI plug & play 系统联盟的 35 家最⼤的仪器仪表公司所统⼀制定的 I/O 接⼝软件标准及其相关规范的总称。

⼀般称这个 I/O 函数库为 VISA 库(⽤于仪器编程的标准 I/O 函数库)。

VISA 函数库是计算机与仪器之间的标准软件通信接⼝,⽤以实现对仪器的程控。

VISA对于测试软件开发者来说是⼀个可调⽤的操作函数集,本⾝并不提供仪器编程能⼒,它只是⼀个⾼层 API,通过调⽤低层的驱动程序来控制仪器。

NI-VISA 的层次结构如下图所⽰: VISA是整个仪器⾏业⽤于仪器驱动程序的标准 API ,⽤户可以⽤⼀个 API 控制包括 VXI、GPIB、RS-232 串⼝、USB(通⽤串⾏通信总线)串⼝等不同类型的仪器(根据所使⽤的仪器类型调⽤相应的驱动程序)。

使⽤ VISA 有许多优点,它⽅便⽤户在不同的平台对不同类型的仪器进⾏开发移植及升级测控系统。

1. ⼤多数的VISA功能模块使⽤了VISA resource name控制参数,该参数标识了与之通信的设备名称以及进⾏I/O操作必须的配置信息。

Labview串口通信开发实例

Labview串口通信开发实例

串口通信的基本概念串口通信的基本概念1,什么是串口?2,什么是RS-232?3,什么是RS-422?4,什么是RS-485?5,什么是握手?1,什么是串口?串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。

大多数计算机包含两个基于RS232的串口。

串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。

同时,串口通信协议也可以用于获取远程采集设备的数据。

串口通信的概念非常简单,串口按位(bit)发送和接收字节。

尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。

它很简单并且能够实现远距离通信。

比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。

典型地,串口用于ASCII码字符的传输。

通信使用3根线完成:(1)地线,(2)发送,(3)接收。

由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。

其他线用于握手,但是不是必须的。

串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。

对于两个进行通行的端口,这些参数必须匹配:a,波特率:这是一个衡量通信速度的参数。

它表示每秒钟传送的bit的个数。

例如300波特表示每秒钟发送300个bit。

当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。

这意味着串口通信在数据线上的采样率为4800Hz。

通常电话线的波特率为14400,28800和36600。

波特率可以远远大于这些值,但是波特率和距离成反比。

高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。

b,数据位:这是衡量通信中实际数据位的参数。

当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。

LabVIEW串口通信入门教程

LabVIEW串口通信入门教程

串口可以说是我们最容易见到,也最容易接触到的一种总线,台式机上一般都有二个,而现在很多下位机、仪器等很多都还是使用串口通信的。

论坛上很多朋友都经常会使用到串口,并遇到一些问题,这里有必要做一个详细的说明,以方便广大会员朋友方便使用。

首先补充一个比较重要的问题,就是在LabVIEW中使用串口的话一定要先安装VISA这个驱动,然后生成的EXE运行时也需要在目标机上安装VISA Runtime Engine,可以在打包时一起打包。

1.串口扩展的问题:先说一下串口的扩展问题,一般的台式机或工控机上都至少有二个串口,一般都是够用的,但是现在市场上已经很难找到带串口的笔记本了,而有时候在外出调试时需要在笔记本中使用到串口的,这时一般是使用USB-RS232的转接线,价格从十几到一百多都有,很多朋友反应在使用价格低的转接线时会出现乱七八糟的问题,而贵一点的线就很少听说有其它问题的,所以大家在使用便宜的USB-RS232转接线时要特别注意线的质量,遇到一些奇怪的问题时先考虑换一根好一点的线。

PCI-RS232扩展卡也同理,便宜的卡也容易出问题,尽量买好一点的,以免因小失大。

PCI-RS232一般至少能扩展2个串口,有些BT一点的可以扩展到8-16个,一堆线和接头。

转接线和扩展卡一般是要装驱动的。

2.串口功能的确认:在使用串口之前,最好先确认一下串口是否正常,特别是使用转换接或扩展卡的。

检查的方法很简单,就是将串口的2、3脚短接起来,3脚是发送数据,2脚接收数据,就是这个串口自发自收。

电脑上的串口软件一般是用串口调试助手,很出名的,也好用。

如下图所示:图1串口调试助手打开软件,选择已经短接好的串口号,点击“手动发送”,如果串口是好的,2、3脚又短接起来了,马上就可以在上面的接收框里看到接收的数据就是发送的数据。

稍微要注意一下的是有些电脑的COM1和COM2的位置是反过来的,所以要确定好串口调试助手左上角的串口上择的是已经短接的那一个,如果COM1没接收到,可以再先COM2再发一次看一下。

labview_串口通讯的分析$$$$

labview_串口通讯的分析$$$$

关键词:labview串口通信学习labview有一段时间了,发现了其中功能的强大和编程的简洁性,高效性现在初步实现了串口的通信,把其中的体会和实现过程写出来,权当抛砖引玉其中的串口采用的是Rs-232,D型口,共九跟针,其中能用的就是三跟针脚,2,3,5,一个是发送一个是接受,一个是接地,如果做一个串口线延长线的话,只需连接这三根针脚即可,就是2连3,3连2,5连5。

在labview中采用的visa,首先是进行串口设置,设置串口号,波特率,在这里面只要设置这两个就可以了,其余的采用默认,其中特别注意的是要安装visa驱动包,只有安装了这个驱动包,你的串口才可以选择,一般现在的电脑上只有一个串口,那么为了调试方便,这里有两个工具可以推荐,一个叫做串口虚拟软件,我用的是VSPD XP 5,就是一个虚拟串口的软件,让你的电脑能够多虚拟两个串口,你要设置成让他们互联,另一个就是串口调试工具,叫sscom32.exe,用来调试串口通信的,可以验证通信时候成功。

visa驱动包在ni网站上有,具体什么地址你可以到搜索一下.再就是visa read 作用是从串口读取数据,这里面有个read buffer ,从串口读取的数据visa write向串口写入数据或者是命令还有visa close 结束串口读取数据,目的是读完数据后,释放串口资源我的例子前面板图程序图labview串口通讯的深入分析收藏labview称做"G"语言,只是说明了它具备了通用编程语言的编程能力,但是任何编程语言都有器独特的特点,否则经过几十年的风风雨雨,并没有出现一种编程语言一统天下的格局,每种编程语言都有其特别适合的领域,从这点来说,数据采集和仪器通讯可以说是它最擅长的领域.毫无疑问,计算机的串口通讯是相对比较简单的通讯方式,labview也不例外地对它提供了支持.LABVIEW的串口控制,可以通过多种方法:1.最基本的IN OUT 控制,LABVIEW提供了In port 和Out Port两个基本输入输出VI,通过它就可以直接读写寄存器,我本人做的许多并口控制设备就是利用了这两个节点,在计算机的DOS时代,通过IN OUT 指令进行串口通讯是唯一的选择,现在正在做单片机的朋友都知道,单片机的串口通讯都是通过操作寄存器实现的,对于计算机的COM1,它的端口地址是0X3F8,完全可以通过它来完成串口通讯.2.利用API的WriteFile函数实现串口通讯,这是VC进行串口通讯的方法.3.利用VB提供的MSCOMM控件(这是目前用的最多的,它支持查询和中断两种模式,即可以发送文本型数据(ASCII),由可以发送二进制(BIN,实际是BYTE ARRAY)4.利用LABVIEW特有的VISA通讯直接控制寄存器的方法在计算机串口通讯基本看不到了.只有在单片机中还采用这种方式.通过C51串口通讯,简单地介绍一下这种方法:/* 发送数据函数*/voidSendData(uchar *buf){uchar i;ucharlen;len=strlen(buf); /* 取得字符串长度*/for(i=0;i{SBUF=buf[i]; /* SBUF是串口输出REG*/while(!TI);/* 等待发送完成*/TI=0; /* 复位中断标志*/}}方法2直接调用API非常复杂,在LV不会采用,就不介绍了.方法3是目前用的最多,介绍一下.MSComm控件提供下列两种处理通讯的方式:事件驱动方式和查询方式。

在LabVIEW中使用串口

在LabVIEW中使用串口

第一部分使用LabVIEW系统VI一、串口VI介绍LabVIEW的串口通讯VI位于Instrument I/O Platte的Serial中,包括:VI名称 VI功能VISA Configure Serial Port 初始化VISA resource name指定的串口通讯参数VISA Write 将输出缓冲区中的数据发送到VISA resource name指定的串口VISA Read 将VISA resource name指定的串口接收缓冲区中的数据读取指定字节数的数据到计算机内存中 VISA Serial Break 向VISA resource name指定的串口发送一个暂停信号VISA Bytes at Serial Port 查询VISA resource name指定的串口接收缓冲区中的数据字节数 VISA Close 结束与VISA resource name指定的串口资源之间的会话VISA Set I/O Buffer Size 设置VISA resource name指定的串口的输入输出缓冲区大小VISA Flush I/O Buffer 清空VISA resource name指定的串口的输入输出缓冲区二、使用说明在LabVIEW环境中使用串口与在其它开发环境中开发过程类似,基本的流程框图如下。

图1、串口操作数据流图首先需要调用VISA Configure Serial Port完成串口参数的设置,包括串口资源分配、波特率、数据位、停止位、校验位和流控等等。

图2、初始化串口如果初始化没有问题,就可以使用这个串口进行数据收发。

发送数据使用VISA Write,接收数据使用VISA Read。

在接收数据之前需要使用VISA Bytes at Serial Port查询当前串口接收缓冲区中的数据字节数,如果VISA Read要读取的字节数大于缓冲区中的数据字节数,VISA Read操作将一直等待,直至Timeout或者缓冲区中的数据字节数达到要求的字节数。

Labview串口通信开发实例(值得拥有)

Labview串口通信开发实例(值得拥有)

串口通信的基本概念串口通信的基本概念1,什么是串口?2,什么是RS-232?3,什么是RS-422?4,什么是RS-485?5,什么是握手?1,什么是串口?串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。

大多数计算机包含两个基于RS232的串口。

串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。

同时,串口通信协议也可以用于获取远程采集设备的数据。

串口通信的概念非常简单,串口按位(bit)发送和接收字节。

尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。

它很简单并且能够实现远距离通信。

比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。

典型地,串口用于ASCII码字符的传输。

通信使用3根线完成:(1)地线,(2)发送,(3)接收。

由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。

其他线用于握手,但是不是必须的。

串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。

对于两个进行通行的端口,这些参数必须匹配:a,波特率:这是一个衡量通信速度的参数。

它表示每秒钟传送的bit的个数。

例如300波特表示每秒钟发送300个bit。

当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。

这意味着串口通信在数据线上的采样率为4800Hz。

通常电话线的波特率为14400,28800和36600。

波特率可以远远大于这些值,但是波特率和距离成反比。

高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。

b,数据位:这是衡量通信中实际数据位的参数。

当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

我也是一个labview的初学者,这个例子介绍了一个最最简单的串口通信的上位机的例子。

单片机不断向串口发送数据。

上位机之显示串口发来的数据。

一.先在前面板添加一个VISA资源名称
添加上之后前面板会出现
在后面板会出现
一.在后面板添加一个串口配置的控件
接下来对对串口配置控件进行配置
1.“启用终止符”------------配置布尔型变量“T”,就是取真。

2.“终止符”------------我们不对其进行配置,选择默认终止符——“\n”
3.’’超时’----------为其配置10000的常量
4.资源名称与“VISA资源名称“控件相连接
5.波特率这里我们为其配置大小为“115200“的常量
6.其余各项不进行配置,默认系统设置
上图为配置完成的结果
二.接下来创建一个平铺式结构
2.在平铺式顺序结构中添加一个延时控件
3.把串口配置控件的“错误输出“端、VISA资源名称输出端分别连接在平铺式顺序结构的两边上。

并给延时控件配置大小为100的常量。

如下图
三. 1.创建一个条件结构控件
2.在条件结构控件中添加一个VISA读取控件
3.添加一个“VISA串口字节数“控件
4.将VISA串口字节数“控件”的“错误输入“端与上一环节中引出的”表示错误输出“的黄线连接。

5. 将VISA串口字节数“控件”的“引用”端与上一环节中引出的代表VISA资源名称的线连接
6. 将VISA串口字节数“控件”的“错误输出“端与“VISA读取”控件的“错误输入”连接
7. 将VISA串口字节数“控件”的“引用输出“与“VISA读取”控件的“VISA资源名称“的线连接。

8.字节数配置常量4,读者可根据自己数据大小任意配置。

四. 1.在条件结构外侧建立一个“VISA关闭“控件
2.将VISA关闭“控件的错误输入、VISA资源名称端分别于“VISA读取”控件的对应端连接。

3.建立一个简易错误处理器
,将其错误输入端与串口关闭控件的错误输出端连接,如图,
3.选择天剑结构控件“假”
4.添加一个“VISA串口字节数“控件,一个VISA读取控件
“VISA串口字节数“控件引用输出端与VISA读取控件”VISA资源名称”端连接
“VISA串口字节数“控件错误输出端与VISA读取控件错误输入端连接
“VISA串口字节数“控件“串口字节数”(英文)端与“VISA读取控件”的“字节总数”端连接
VISA读取控件的“VISA资源名称输出”与“VISA关闭“控件的资源名称端连接
VISA读取控件的错误输出端与“VISA关闭“控件的错误输入端连接
5.在前面板创建一个开关控件
在后面板中将开关空间连接到条件结构控件的条件判断接口
6创建一个while循环结构,如图红色的就是while循环结构
创建一个布尔型的变量“T”,连接到循环条件处
如图
7. VISA读取控件的“读取缓存区”创建一个显示控件。

六1。

把单片机串口通信程序调好之后,是单片机运行,不断向单片机中发送数据。

打开前面板点击单次运行按钮,这时可能会报错,没关系,点击继续。

只是由于电脑还没识别到硬件,持续几次单次运行之后会识别到串口。

如图
2.这时点击连续运行,就可以接收数据了
如图
如果你的串口发送的信息收到乱码,请自己调节波特率,“VISA读取”的字节总数选项。

你的程序成功了吗?。

相关文档
最新文档