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的串口通讯实现The Design of serial communication based onLABVIEW摘要美国国家仪器公司的LABVIEW是一种图形化编程语言,它的根源在于自动化控制和数据采集。

其图形化的代表性,类似于过程流程图,它为科学家和工程师提供一个直观的编程环境,在过去20年中成熟历程中,这个语言已经成为一个通用的编程环境。

LABVIEW使得它成为很好的自动化选择环境有几个主要特点,这些措施包括简单的网络通信,交钥匙执行共同的通信协议(RS232 ,GPIB总线等),成为过程控制和数据拟合、快速简便的用户界面的建设和一个有效率的程式码执行环境的强大工具。

我们讨论这种语言的优点,并提供一个例子,在公司内部是用来在整合和控制自动化平台的应用套件的书面。

关键词:LABVIEW ;RS-232;串口AbstractNational Instruments LABVIEW is a graphical programming language that has its roots in automation control and data acquisition. Its graphical representation, similar to a process flow diagram, was created to provide an intuitive programming environment for scientists and engineers. The language has matured over the last 20 years to become a general purpose programming environment. LABVIEW has several key features which make it a good choice in an automation environment. These include simple network communication, turnkey implementation of common communication protocols (RS232, GPIB, etc.), powerful toolsets for process control and data fitting, fast and easy user interface construction, and an efficient code execution environment. We discuss the merits of the language and provide an example application suite written in-house which is used in integrating and controlling automation platforms.Keywords: LABVIEW ;RS-232 ;serial port第一章绪论 (1)1.1研究背景 (1)1.1.1虚拟仪器的发展趋势 (1)1.1.2 RS-232串口的发展历程 (2)第二章虚拟仪器 (3)2.1 虚拟仪器的概述 (3)2.1.1 虚拟仪器的特点及优势 (3)2.1.2 虚拟仪器系统的组成 (4)2.1.3虚拟仪器I/O接口设备 (5)2.1.4 虚拟仪器的软件结构 (6)2.2 图形化虚拟仪器开发平台——LABVIEW (7)2.3 虚拟仪器与传统仪器的比较 (7)第三章 RS-232串口 (9)3.1 RS-232 (9)3.1.1 RS-232 外部结构 (9)3.2 特性 (11)3.2.1电气特性 (11)3.2.2近距离通信 (13)3.2.3串口通讯流控制 (13)第四章系统的总体设计与实现 (15)4.1 串行通信系统的流程 (15)4.2 系统的搭建成型 (15)4.2.1 程序前面板设计 (15)4.2.2程序框图设计——添加函数 (15)4.2.3串口参数设置 (16)4.2.4 while循环内的构架 (16)4.2.5 条件结构区域内的排布 (20)4.2.6 WHILE循环结构区域内的排布 (21)4.2.7程序框图完善 (21)4.3 LABVIEW 前面板的设计 (23)4.4 串口通信的测试 (26)结论 (29)致谢 (30)参考文献 (31)第一章绪论1.1研究背景随着计算机系统的应用和微机网络的发展,通信功能越来越显得重要。

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实现串口通信(三)
在调试的过程中,我们经常会发现有收到的数据延迟的现象,现在提出几点解决的方法:
(1)在循环中加入适量的延时,通过一个简单的例子看,
你会发现在cpu的占用率在加延时和不加的时候有很大的区别,当加的时候基本不占,而不加延时的时候达到100%。

我在调试串口通信时候,发现while loop里加一个延时会有很好的效果(假如有一个或某几个线程占用了 100% 的 CPU,此时系统对其他线程就会反应迟钝。

例如,程序的执行线程占用了100% 的 CPU,那么用户对界面的操作就会迟迟得不到响应,甚至于用户会误认为程序死锁了。

所以在程序中要尽量避免出现 100% 占用 CPU 的情况。

目前大多数的计算机还是单核单个CPU 的,因此要避免任何一个线程试图100% 占用CPU 的情况).
(2)visa read 的字节总数最好用一个属性节点来代替
因为我们不知道数据缓冲区有多少个字节,这样就不需要去设定了
(3)经常看到会有人说串口里面有一堆数据,但是去读的时候却读回来一点点,每次均不相同,这种怀状况是由于串口有一个serial configuration这个节点上面,有一个termination char,大家将它设为F就可以了,因为遇到这个终止符,它就会停止读数,所以读回来的就会少了!。

labviewvisa串口例子

labviewvisa串口例子

labviewvisa串口例子一介绍LabviewLabvie是实验室虚拟仪器工程工作台(Labview Virtual Instruments Engineering Workbench)的简称,是美国国家仪器公司开发的虚拟仪器开发平台软件,它的功能强大灵活,可以广泛应用于自动测量系统、工业过程自动化、实验室仿真等各个领域。

Labview使用图形化编程语言编程,简单直观,极大节省程序开发时间,同时Labview可提供丰富的库函数和功能模块,可完成各种各样的复杂编程任务。

二串口串行通信接口标准经过使用和发展,目前已经有几种。

但都是在RS-232标准的基础上经过改进而形成的。

所以,以RS-232C为主来讨论。

RS-323C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。

它适合于数据传输速率在0~20000b/s范围内的通信。

这个标准对串行通信接口的有关问题,如信号线功能、电器特性都作了明确规定。

由于通行设备厂商都生产与RS-232C制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信接口中广泛采用。

三实现通讯的方式(1)利用VISA(2)使用ActiveX(采用MScomm)四使用VISA实现串口通讯VISA是应用于仪器编程的标准I/O应用程序接口(API),VISA 本身并不具有仪器编程能力,VISA是调用低层驱动器的高层的API。

VISA可以和VXI、GPIB及串口仪器按照所使用的仪器调用相应的设备驱动器,具体的使用方法可参考Labview的用户手册1说明bview 中VISA串口读写详细请见LABVIEW自带的例程serial write and read.vi五使用MSCOMM由于Labview对于ActiveX良好的支持性,我们可以很方便的借助于ActiveX技术来扩展Labview功能,增强灵活性的有效途径。

在串口通讯方面,我们采用微软提供的Mscomm控件来实现串口的通讯。

手把手教你labview串口通信

手把手教你labview串口通信

我也是一个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读取控件的“读取缓存区”创建一个显示控件。

labview中的串口通信协议示例与分析

labview中的串口通信协议示例与分析

标签:虚拟仪器labview中的串口通信协议示例与分析变频器与个人电脑使用RS-232/RS-485 串行总线连接,如下所示:在通讯操作中,通过个人电脑以命令方式控制仪器。

通讯数据格式:l 起始位: 1 位l 数据位: 8 位l 奇偶位:无l 停止位: 1 位应答及命令格式:l 命令模式::-数据头,只有以::开头的数据包才认为有效。

AD -设备号,当前通讯的设备ID。

?-指明该数据是PC发出的指令。

RI -响应时间,从PC发出命令到仪器应答的时间。

SC -和检验码,等于图中“和校验范围”所示各位相加。

l 应答模式# -指明该数据是仪器发回的应答数据。

其它同上。

l 故障模式% -指明该数据是仪器发回的故障数据。

其它同上。

协议说明:无论是控制仪器还是查看仪器数据都需要PC发出相应的命令;只要PC发出命令(前提是与仪器正常通讯),仪器都会返回数据(应答或故障)。

使用LabVIEW编写通信模块:1. 主要节点:Functions->Instrument I/O->VISA Resource Name Constant, Functions->Instrument I/O->Serial->VISA Config Serail Port, VISA Read, VISA Write, VISA Close2. 串口设置:根据仪器说明设置如波特率等等串口参数。

超时设置根据上述RI。

3. 写串口指令:根据上述“命令模式”的格式包装命令数据,和校验由“和校验范围”中数位相加而得,所以之前应该写一子VI用来计算和校验。

建议使用以下变量来包装数据:l prefix:前缀,这里是::l devID:设备号l type:通讯类型(这里是?),可以与RI合并l cmdNum:命令号l cmdValue:命令号对应的命令值l sumVerify:和校验码l end:结束字符注意:一般协议要求“命令内容”满足一定的位数,所以应该做一个子VI,专门在那些数位不够的命令前补足空格或0。

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 入门 与RS-232 通讯简例

labview 入门 与RS-232 通讯简例
Lab View编程的简单介绍

第一节 虚拟仪器(VI)的概念
使用Lab VIEW开发平台编制的程序称为虚拟仪器程序,简称为VI。 VI包括三个部分:程序前面板、框图程序和图标/连接器。 程序前面 板用于设置输入数值和观察输出量,用于模拟真实仪表的前面板。在 程序前面板上,输入量被称为控制(Controls),输出量被称为显示 (Indicators)。控制和显示是以各种图标形式出现在前面板上,如旋 钮、开关、按钮、图表、图形等,这使这得前面板直观易懂。


仪器控制--串行通讯
串行通讯是一种常用的数据传输方法,它用于计算机与外设,例如一 台可编程仪器,或者与另外一台计算机之间的通讯。串行通讯中发送 方通过一条通讯线,一次一个字节,把数据传送到接收方。
图例 1.先定义好串口资源 2.进行写操作 3.进行读操作 (缺少关闭串口的 操作)


我们把前面创建的温度计程序作为一个子程序用在当前新建程序 里,当前程序的前面板如下图所示,先前的温度计子程序用于采集数 据,而当前的程序用于显示温度曲线,并在前面板上设定测量次数和 每次测量间隔的延时。Lab VIEW这种创建和调用子程序的方法,使创 建的程序结构模块化,更易于调试、理解和维护。
端点是只有单输入/输出,且方向固定的节点。Lab VIEW有三类 端点----前面板对象端点、全局与局部变量端点和常量端点。 图框是Lab VIEW实现程序结构控制命令的图形表示。如循环控制、 条件分支控制和顺序控制等,编程人员可以使用它们控制VI程序的执 行方式。 连线是端口间的数据通道。它们类似于普通程序中的变量。数据 是单向流动的,从源端口向一个或多个目的端口流动。不同的线型代 表不同的数据类型。每种数据类型还以不同的颜色予以强调。

非常好--LabVIEW串口通信详解

非常好--LabVIEW串口通信详解

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

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

论坛上早先发布过一个贴子,叫《串口WORD资料》,里面有一些中英文的串口的资料,这个文章是对那个资料的补充,如果是初接触串口的朋友建议先看一下上一个贴子先。

上一个贴子中提到过的内容这里不再进行补充。

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

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

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

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

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

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

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

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

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中的串口通信和数据解析一、引言在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中的串口通信协议示例与分析

标签:虚拟仪器labview中的串口通信协议示例与分析变频器与个人电脑使用RS-232/RS-485 串行总线连接,如下所示:在通讯操作中,通过个人电脑以命令方式控制仪器。

通讯数据格式:l 起始位: 1 位l 数据位: 8 位l 奇偶位:无l 停止位: 1 位应答及命令格式:l 命令模式::-数据头,只有以::开头的数据包才认为有效。

AD -设备号,当前通讯的设备ID。

?-指明该数据是PC发出的指令。

RI -响应时间,从PC发出命令到仪器应答的时间。

SC -和检验码,等于图中“和校验范围”所示各位相加。

l 应答模式# -指明该数据是仪器发回的应答数据。

其它同上。

l 故障模式% -指明该数据是仪器发回的故障数据。

其它同上。

协议说明:无论是控制仪器还是查看仪器数据都需要PC发出相应的命令;只要PC发出命令(前提是与仪器正常通讯),仪器都会返回数据(应答或故障)。

使用LabVIEW编写通信模块:1. 主要节点:Functions->Instrument I/O->VISA Resource Name Constant, Functions->Instrument I/O->Serial->VISA Config Serail Port, VISA Read, VISA Write, VISA Close2. 串口设置:根据仪器说明设置如波特率等等串口参数。

超时设置根据上述RI。

3. 写串口指令:根据上述“命令模式”的格式包装命令数据,和校验由“和校验范围”中数位相加而得,所以之前应该写一子VI用来计算和校验。

建议使用以下变量来包装数据:l prefix:前缀,这里是::l devID:设备号l type:通讯类型(这里是?),可以与RI合并l cmdNum:命令号l cmdValue:命令号对应的命令值l sumVerify:和校验码l end:结束字符注意:一般协议要求“命令内容”满足一定的位数,所以应该做一个子VI,专门在那些数位不够的命令前补足空格或0。

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串⼝通信的⼀个例⼦-串⼝⽰波器很早就想做⼀个类似的东西了,正好这学期学了LabVIEW,作业就交了这个,基于LabVIEW的“串⼝⽰波器”上位机。

1.程序界⾯:功能介绍:左边上⽅串⼝接收区,下⽅为串⼝字符发送区。

右⽅为⼀个波形图表,在程序内部每次将串⼝发送过来的数据,以f%格式化,显⽰在波形图表上。

按钮介绍:从左⾄右依次,发送按钮;清除计数按钮;打开/关闭串⼝按钮;清除接收区数据;清除波形图表;保存波形;退出程序。

2.主程序框图:主程序框图介绍:主程序框图主要由3个状态组成:程序的初始化,程序事件的响应,程序的退出。

状态Init:程序初始化,主要把OpenCom等按钮,串⼝状态,串⼝接收字符串,波形图标,TX/RX计数等控件,置为False或清零。

初始化状态只执⾏⼀次,接下来就进⼊状态Event。

状态Event:程序事件响应,由⼀个事件结构构成,共需响应8个事件:Open/CloseCom按钮事件;串⼝号或波特率改变事件;发送按钮事件;清空计数按钮事件;清空接收区按钮事件;清空波形区按钮事件;保存波形按钮事件;菜单选择事件;退出按钮事件。

如果在此状态,按下退出按钮,则进⼊状态Exit,否则程序将⼀直运⾏在此状态。

状态Exit:程序退出。

退出前需关闭已打开的VISA句柄。

3.串⼝接收程序框图:串⼝接收程序框图介绍:当串⼝状态为真时,调⽤串⼝属性节点”Bytes at Port”,如果串⼝缓冲区有X字节的数据就接收X字节的数据。

最后,⽤⼀个状态机来实现相邻两个字符串的判断。

如果串⼝在相邻两个字符串之间接收时间⼤于50ms,则判断为两个独⽴的字符串;如果⼩于50ms,则⾃动拼接前后两个字符串。

手把手教你labview串口通信(干货分享)

手把手教你labview串口通信(干货分享)

手把手教你labview串口通信我也是一个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。

labview--串口通信实现过程

labview--串口通信实现过程

Labview实现串口通信步骤1.在程序面板上添加VISA配置接口2.添加后,开启帮助文档的显示。

菜单的Help->show context help,如下图鼠标选择目标则会显示帮助框。

如下图所示。

3.创建相应的配置在程序面板中鼠标移动到对应的引脚上,点击鼠标右键->create->control,创建后,界面面板上会出现对应的控制框。

如下图所示,创建个VISA resource name。

图 0-1 创建窗口选择控件前面板显示如下:图 0-2 前面板显示控件选择4依次创建,波特率、停止位、数据位等如下图所示。

5.创建个while循环,用于放置发送的程序鼠标移动到循环条件控制的引脚上,创建个control。

用于调试,不对条件处理,会报错。

6前面板放置个按钮,用于控制数据的发送7.创建个事件,用于响应发送按钮鼠标移动到timeout的位置,鼠标右键选择edit events…如下图所示。

操作上面后,出现如下界面:选择需要响应的控件,这里选择“ok button”,选择鼠标按下。

点击ok后,事件的名称也变化了。

如下图所示。

如果鼠标点击按键,则会进入事件处理。

8创建VISA写函数9连接端口和写函数10添加个关闭函数11.创建字符串控件,传递给写函数,用于发送选中VISA Write的write buffer,右键create->control,12界面如下所示13.安装虚拟串口,提供一个下载地址用虚拟串口配置两个端口,配置好后,这两个串口之间是自动连接上,模拟硬件上两个串口对接上的。

如上图,指定好端口,点击Add pair。

14运行串口工具,提供一个下载地址15.运行串口工具,打开串口,运行VI,发送数据我的电脑配置的是COM12和COM13,vi选择COM12.运行VI,在write buffer里面填写test,点击OK发送。

每点击一次,发送一次。

16.建立接收模块添加个while循环,创建while循环,用于接收。

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

测试虚拟端口是否连通时,也可以下载串口 精灵助手进行调试。成功后,再进行 LABview 程 序调试。
0c25f4ca 宝运莱 wwຫໍສະໝຸດ
从小到大,不知道做了多少半途而废的事情,但在这件事上,易博做到了有始有终
请先运行目录 NT6 下的 vsbsetup.exe;
第三步:
不要关闭 vsbsetup.exe 窗口,返回根目录, 直接运行vspdconfig.exe即可。在右边添加COM1 和 COM2 端口,每次会自动添加两个已连接的 COM 端口。
第四步:
从小到大,不知道做了多少半途而废的事情,但在这件事上,易博做到了有始有终
串口通信的硬件连接非常简单,所以难点并 不在于硬件连接,而在于如何编程,利用虚拟串 口软件创建两个连接的 COM 端口,然后使用 LABview 进压。
第二步:
从小到大,不知道做了多少半途而废的事情,但在这件事上,易博做到了有始有终
打开 NIMAX,在设备和和接口中看是否找到 COM1 和 COM2.找到后新建一个 VI。
第五步: 按下图程序编写 LABview 程序框图。 第六步:在前面板 VISA 资源名称(写入)
从小到大,不知道做了多少半途而废的事情,但在这件事上,易博做到了有始有终
选择 COM1,在 VISA 资源名称(读取)选择 COM2, 写入字符串中输入 ceshi\n,运行一下,读取字 符串显示为 ceshi。其中\n 是读取结束的标志。 注意事项
相关文档
最新文档