labview读取串口数据
- 格式:docx
- 大小:13.00 KB
- 文档页数:4
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的串口通信实验一、实验目的1.了解LabVIEW串口通信基本方法2.通过LabVIEW串口获取数字温度传感器的数据二、实验器材1.计算机一台2.LabVIEW8.20软件一套3.串口线一根4.虚拟仪器实验平台一台5.分布式温度采集模块一块6.传感器控制模块一块三、实验原理串行通信是工业现场仪器或设备常用的通信方式,它是将一条信号的各位数据按顺序逐位传送。
计算机串行通信(简称串口)采用RS232协议,允许一个发送设备连接到一个接收设备以传送数据,最大速率为115200bps。
计算机串行口采用Intel8250异步串行通信组件构成,通常以COM1~COM4来表示。
bView串口节点LabView中提供了已封装好的串口通信节点,它们位于函数->数据通信->协议->串口。
这里主要介绍程序中使用到的串口配置、串口读取、串口写入和串口关闭,其他串口相关的节点使用方法查询LabView帮助。
(1)串口配置在进行串口通信时,首先要对串口进行初始化和配置。
这可以由VISA配置串口节点来完成,串口配置节点如下图所示。
使用该节点可以设置串口的VISA资源名称、波特率、数据位、校验位、超时时间、终止符以及流控制等参数。
VISA资源名称控件用于规定对VISA会话句柄开放的资源,并维持会话句柄和类。
VISA 会话句柄是VISA使用的唯一逻辑标识符,用于与资源进行通信。
VISA会话句柄由VISA 资源名称输入控件保持,用户不可见。
VISA资源名称输出是VISA函数中输出的VISA资源名称的副本。
通过将资源名称输出或输入函数和VI,并链接函数和VI,从而简化数据流编程。
这与文件I/O函数使用的文件引用句柄输出相似。
(2)串口写入串口写入是将写入缓冲区的数据写入VISA资源名称指定的设备或接口,可以选择同步或异步。
该操作仅当传输结束后才返回。
VISA写入的节点图标及端口定义如下图所示。
其中写入缓冲区包含要写入设备的数据。
LabVIEW串口通信详解串口可以说是我们最容易见到,也最容易接触到的一种总线,台式机上一般都有二个,而现在很多下位机、仪器等很多都还是使用串口通信的。
论坛上很多朋友都经常会使用到串口,并遇到一些问题,这里有必要做一个详细的说明,以方便广大会员朋友,文章请勿转载到其它地论坛上早先发布过一个贴子,叫《串口WORD资料》,里面有一些中英文的串口的资料,这个文章是对那个资料的补充,如果是初接触串口的朋友建议先看一下上一个贴子先。
上一个贴子中提到过的内容这里不再进行补充。
首先补充一个比较重要的问题,就是在LabVIEW中使用串口的话一定要先安装VISA这个驱动,然后生成的EXE运行时也需要在目标机上安装VISA Runtime Engine,可以在打包时一起打包。
的驱动可以在NI网站上下载到:串口扩展的问题先说一下串口的扩展问题,一般的台式机或工控机上都至少有二个串口,一般都是够用的,但是现在市场上已经很难找到带串口的笔记本了,而有时候在外出调试时需要在笔记本中使用到串口的,这时一般是使用USB-RS232的转接线,价格从十几到一百多都有,很多朋友反应:在使用价格低的转接线时会出现乱七八糟的问题,而贵一点的线就很少听说有其它问题的,所以大家在使用便宜的USB-RS232转接线时要特别注意线的质量,遇到一些奇怪的问题时先考虑换一根好一点的线。
PCI-RS232扩展卡也同理,便宜的卡也容易出问题,尽量买好一点的,以免因小失大。
PCI-RS232一般至少能扩展2个串口,有些BT一点的可以扩展到8-16个,一堆线和接头。
转接线和扩展卡一般是要装驱动的。
2,串口功能的确认在使用串口之前,最好先确认一下串口是否正常,特别是使用转换接或扩展卡的。
检查的方法很简单,就是将串口的2、3脚短接起来脚是发送数据,2脚接收数据,就是这个串口自发自收。
电脑上的串口软件一般是用串口调试助手,很出名的,也好用。
如下图所示:2010-1-2 18:50 上传下载附件(30.39 KB)图1 串口调试助手一打开软件,选择已经短接好的串口号,点击“手动发送”,如果串口是好的,2、3脚又短接起来了,马上就可以在上面的接收框里看到接收的数据就是发送的数据。
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操作必须的配置信息。
引言1.各测井数据的测量原理测量深度系统是由电缆拖动光电编码器转动,并输出双路脉冲信号来计数。
对温度、电阻率和自然伽马的测量均是通过探头采集电压信号,以picf87x系列单片机为主控单元对套管外的介质特性进行探测。
发射线圈输出二次场信号并在接收线圈接收微弱的差分双极性脉冲序列,信号经过滤波、可变增益放大后进入a/d芯片,对信号模数转化,转化结果送入单片机进行编码,再通过单芯电缆上传至地面系统。
地面系统将接收到的信号,进行解码判别通过两个通用异步串行接口rs-232同步与计算机进行通信,然后由上位机采集软件实现数据的接收校验、采集监控、合并存储等工作,实现对井下深度、温度、电阻率、自然伽马数据的采集。
1.1 深度的测量原理测深是测井的一个重要测量参数,对同步于深度的温度、伽马、电阻率的测量有重要影响。
基于光电编码器的测深系统,因为不受复杂地质影响和电磁场的干扰,在探测效率和精度上很占优势。
光电编码器是一种旋转式位移传感器,广泛应用于角位移或角速率的测量。
该系统采用增量式光电编码器,光码器的内部光码盘的固有分辨率很高,输出脉冲信号,抗电干扰能力强,与计算机接口电路兼容。
1.2 温度的测量原理井下温度,是评价地层信息的重要参考依据。
测井每下井深度增加100m,温度升高3℃,所以要选择高灵敏度且测量准确的耐高温测温材料。
这里井下系统选用pt100铂热电阻,该铂电阻的热响应时间较小,测温范围一般为-70°c~+600°c,因此它很适合于测量井下的表面温度和监测动态温度变化。
根据井下条件,在0~630°c范围内,铂电阻的电阻值与温度间的关系可以精确地表示为:(1)其中,为温度为t℃时铂电阻的电阻值,表示温度为0℃时铂电阻的电阻值(ω),a、b、c分别为常数。
对于pt100,=100ω,a=3.90802℃,b=-5.802℃,c=0。
由公式(1)可以得出在100℃时,电阻值的变化量是38.5ω,而由bt2带来的变化量为0.58ω,在系统中影响为1.5%。
串口可以说是我们最容易见到,也最容易接触到的一种总线,台式机上一般都有二个,而现在很多下位机、仪器等很多都还是使用串口通信的。
论坛上很多朋友都经常会使用到串口,并遇到一些问题,这里有必要做一个详细的说明,以方便广大会员朋友方便使用.首先补充一个比较重要的问题,就是在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中串口通信的配置方法以及如何通过硬件连接实现串口通信。
一、串口通信原理串口通信是一种通过串行数据传输来实现设备之间通信的方式。
它将数据按照位的顺序逐位传输,并利用起始位、停止位、数据位和校验位等信息来保证数据的可靠传输。
常见的串口通信协议有RS232、RS485等。
二、LabVIEW中的串口通信配置在LabVIEW中,使用VISA(Virtual Instrument Software Architecture)库来实现串口通信。
下面是配置串口通信的步骤:1. 打开LabVIEW软件,创建一个新的VI(Virtual Instrument)。
2. 在VI中添加VISA组件,可在工具栏中选择"Functions",然后在弹出的菜单中选择"Measurement I/O",再选择"VISA"。
3. 在VISA组件中,选择"Configurations",然后点击鼠标右键,选择"Create New VISA Resource"。
4. 在弹出的对话框中,选择要使用的串口资源,如COM1。
点击"OK"完成串口资源的配置。
5. 在VISA组件中选择"VISA Resource Name",将刚才配置的串口资源名称输入。
6. 现在可以通过VISA组件的其他函数实现对串口的读写操作,如"VISA Read"和"VISA Write"。
三、通过硬件连接实现串口通信除了LabVIEW软件中的配置,还需要通过硬件连接来实现串口通信。
一般情况下,需要使用串口转USB转接器、串口线等硬件设备来连接计算机和目标设备。
labview串口调试其实labview 传送的只是二进制的数,只是默认以ASCII 码显示而已。
除你楼主的方法,还有一种就是利用字符串到字节数组转换工具,将传送的数据按每8 位,保存为一个数组元素。
再用索引数组索引出需要的二进制数即可。
bview 对串口进行调试时,首先需要安装visa 驱动,可在NI 的官方网站上下载,不过速度好像不是很快。
2.最简模式下进行串口程序接收。
如图:然后在最右边接一个字符串接受区就可以接受到串口发送的数据了。
注意:通过串口发送的是ascii 码,因此如果单片机那边发送的是比如0x20 之类的数据,那么在接受端你用”Normal”模式将看不到任何东西,因为Normal 是以ascii 模式查看,而0x20 的ascii 表示空格,解决的方法为右键点击接受区(字符串指示器),然后选择16 进制模式便可以正常查看。
那如果要在单片机那么发送一个具体的数字,怎么才能正确的将这个数提取出来呢?这才是难点所在。
有种方法可以解决:在下位机(发送端)发送的就是表示该数的ascii 码,比如你要发送12,那么就发送49,50(ascii 比实际的数大48),因此在下位机专门写个函数将欲发送的数转换成ascii 码就可以正常发送了。
函数很简单,就是将其拆开然后加48。
此方法是专门用于labview,因为要从接收到的字符串中提取数字就必须用这种方法,当然其他的软件,比如说VB 之类的在这方面就简单一些,因为它可以在上位机对接受到的ascii 码进行处理还原。
3.得到字符串后,将有用的信息提取出来:比如收到如下信息: b0001b002b0003b0004b0005 如果字符串是上述固定格式,可以scan from string 函数直接将数字提取出来,但我遇到的问题是上面的格式在每次发送的时候却不是固定的(串口都这样)上述字符串有可能以如下方式收到001b0002b0003b0004b0005b00 此时scan from string 就会报错,因为它发现第一个不是字母等等。
在LabVIEW 中应用串口第一部分使用 LabVIEW 系统VI、串口 VI 介绍LabVIEW 的串口通讯 VI 位于 Instrument I/O Platte 的 Serial 中,包括:数据位、停止位、校验位和流控等等。
在LabVIEW 环境中使用串口与在其它开发环境中开发过程类似,基本的流程框图如下读取字节数发送接收 :]接收数据Errormi■IR呵关闭波特率VISA图1、串口操作数据流图首先需要调用 VISA Con figure Serial Port 完成串口参数的设置,包括串口资源分配、 波特率、在某些特殊情况下, 需要设置串口接收/发送缓冲区的大小,此时可以使用 VISA Set I/O Buffer具体的例子可以参考: examples'i nstr'smplserl.llb第二部分使用MSCOMM 控件在LabVIEW 中使用MSCOMM 控件,与在 VC 、VB 中使用一样。
同样可以使用中断方式进行 接收。
具体的例子可以发 劇索取。
Resource NameEl波特率|»3—SEfelALdupliVISA resource 九卯e b~>f7ol图2、初始化串口如果初始化没有问题,就可以使用这个串口进行数据收发。
发送数据使用 VISA Write ,接收数据使用 VISA Read 。
在接收数据之前需要使用 VISA Bytes at Serial Port 查询当前串口接收缓冲区中的数据字节数,如果VISA Read 要读取的字节数大于缓冲区中的数据字节数, VISARead 操作将一直等待,直至Timeout 或者缓冲区中的数据字节数达到要求的字节数。
当然也可以分批读取接收缓冲区或者只从中读取一定字节的数据。
duplicateVISA resource name发送数据wfWfl1[jibeWSA占be 、图4、从串口接收数据Size ;而使用 VISA Flush I/O Buffer 则可以清空接收与发送缓冲区。
LabVIEW中的串口通信和数据解析一、引言在LabVIEW中,串口通信是一种常见的用于与外部设备进行数据交互的方式。
通过串口通信,我们可以与各类传感器、仪器、控制器等设备进行数据的传输与控制。
本文将介绍LabVIEW中如何进行串口通信和数据解析的方法和技巧。
二、LabVIEW中的串口通信1. 准备工作在进行串口通信之前,首先需要准备好相应的硬件设备和驱动程序。
一般来说,我们需要一台计算机、一个串口转USB转接器以及相关的串口设备。
另外,还需要安装相应的串口驱动程序,以便在LabVIEW中进行串口通信。
2. 配置串口通信在LabVIEW中,配置串口通信需要使用到“VISA”(Virtual Instrument Software Architecture)工具。
通过VISA,我们可以对串口进行打开、设置波特率、校验位、数据位等参数,并进行数据的发送和接收。
3. 打开串口在LabVIEW的程序中,使用“VISA Open”函数来打开串口。
我们需要指定对应的串口号以及串口的配置参数。
通过这一步,LabVIEW就可以与串口建立通信连接。
4. 配置串口参数在串口打开之后,需要进行串口参数的配置,包括波特率、校验位、数据位等。
这些参数需要与外部设备的参数保持一致,才能正确地进行数据的传输和解析。
5. 读取和发送数据在LabVIEW中,可以使用“VISA Read”和“VISA Write”函数来进行数据的读取和发送。
通过这两个函数,我们可以实现与外部设备的数据交互。
读取到的数据可以在LabVIEW中进行进一步处理和解析。
三、LabVIEW中的数据解析1. 数据格式在进行数据解析之前,首先需要了解数据的格式。
不同的外部设备会使用不同的数据格式进行数据的传输。
常见的数据格式包括二进制、十六进制、ASCII等。
根据实际情况,选择合适的数据格式进行解析。
2. 数据解析方法在LabVIEW中,可以使用字符串相关的函数来进行数据的解析。
labview 读取串口数据
作为虚拟仪器开发平台的LabVIEW 软件因其具有直观简便的编程方式、灵活的显示特性、广泛的兼容性等一系列优点在新兴电子仪器的设计和信息传送、接收等领域得到了越来越广泛的应用。
例如利用串口RS232 接口可实现电脑与单片机之间的信息的交互,因而在基于单片机的测控领域中,虚拟仪器技术的利用也得到了极大的发展,减少了传统测量技术在硬件设备上的投资。
本文在对LabVIEW 的VISA 与单片机之间信息传送的理论研究基础上,针对串口发送的数据信息,设计了基于LabVIEW 对串口送入的信息的接收、保存并显示等的处理。
1、串口通信建模
将计算机的串口数据连接到计算机的接收线,利用LabVIEW 软件特性将数据接收到计算机。
串口通信线的连接时将2 接收线与3 脚发送线在两通信端交差相连。
图1 设计方框图
如图1 所示为LabVIEW 设计方框图。
设置VISA 串口相关参数主要对VISA 配置串口中的波特率、数据比特、奇偶和流控制等的设置(本文中设定。