LabVIEW在串口通信中的应用

发布者:太和清音最新更新时间:2015-02-05 来源: eechina关键字:LabVIEW  串口通信  传感器 手机看文章 扫描二维码
随时随地手机看文章
首先介绍了LabVIEW的环境及VISA串口通信函数的功能;其次引入了本文的采集对象JCZ型智能转矩转速传感器,并对其性能、物理结构及串行通信特点进行了说明,利用LabVIEW的开发平台编写通信源程序,实时采集转矩和转速,并计算功率值,最后把转矩、转速和功率数据以动态曲线的方式在同一张图表中显示出来。经过实验验证,该程序操作方便,采集数据准确,运行安全可靠,动态曲线显示直观,可真正在生产实际中使用。

LabVIEW是当今最流行的图形化编程环境,由于其采用图形化的编程方式,因此也被称作G语言(graphical language)。LabVIEW是目前国际上唯一的基于数据流的编译型开发软件,与基于文本的编程语言不同,LabVIEW的程序由图形语言构成,用简单或图标提示的方法选择功能(图形),并用线条把各种功能(图形)连接起来的简单图形编程方式,使得不熟悉编程的工程技术人员都可以按照测试要求和任务快速“画”出自己的程序,“画”出仪器面板,从而大大提高了工作效率,减轻了科研和工程技术人员的工作量。由于LabVIEW软件简洁直观,功能强大灵活,目前广泛应用于自动化测量系统、工业过程自动化、实验室仿真等各个领域。

在LabVIEW中编制的程序叫做虚拟仪器程序,简称VI。一个VI包括前面板和框图程序。前面板类似实际仪表面板,可以放置诸如旋钮、按钮和文本框等控制和显示元件。框图程序是实现程序功能的核心部分,包括以图标为代表的常数、函数和VI程序等,并通过连线引导数据流,编写和调试程序都很直观方便。

一 : LabVIEW串口通信介绍

仪器控制是LabVIEW最具竞争力的核心技术之一。在安装了适当的硬件驱动程序之后,LabVIEW能轻松实现与任何NI提供的硬件设备通信。不仅如此,通过通用的驱动程序(DAQmx)或接口,例如VISA、IVI、OPC、ActiveX、DLL等,LabVIEW几乎能与任何厂商甚至自制的硬件通信。

LabVIEW通过VISA与串行接口仪器通信。VISA是应用于仪器编程的标准I/O应用程序接口(API),它本身并不具有仪器编程能力,而是为用户提供了一套独立的可方便调用的标准I/O底层函数。无论对于GPIB、串口还是其他接口,用户只要调用这些标准函数,则VISA就会根据实际接口类型自动调取相应的接口驱动程序例程,方便实现上层应用程序与接口总线仪器的通信。在LabVIEW里使用VISA,必须安装NI-VISA程序包,安装后,与串口通信相关的VISA函数位于Functions->ALL Functions->Instrument I/O->Serial子模板上,如图1所示。

此主题相关图片如下:



图1  VISA串口通信函数

此模板共有8个操作函数,其中,第一行的4个函数在串口通信中经常应用。下面简单介绍这4个常用的VISA串口函数。

1 VISA配置串口 设定波特率、数据位、停止位、奇偶校验位、流控制、超时处理、终止符和终止符使能等参数,将VISA资源名称指定的串口按特定设置初始化。 注意:超时(TIMEOUT)和终止符两个参数。TIMEOUT默认10秒;终止符是0X0A(),默认是使能状态。另外,回车0X0D()也经常作为终止符。采用二进制通信,就要特别注意终止符的情况。因为0A对应的十进制是10,0D是13,当传输的二进制对应的十进制刚好为10或13时,如果不禁止终止符,会导致“VISA读取”提前结束,产生错误的结果。因此,经常要把“启动终止符”的布尔输入设置为“F”。

2 VISA写入 将“写入缓冲区”的数据写入VISA资源名称指定的串口。 注意:MSCOMM串口通信可以选择文本或二进制方式接收或发送数据,但是,VISA通信接收或发送数据都是字符串(ASCII)。若接收或发送的字符串是“1、2、3、4”,在内存中存储的是ASCII,因为“1”=31(十六进制)、“2”=32(十六进制)、“3”=33(十六进制)和“4”=34(十六进制),所以串口缓存接收/发送的数据实际是16进制的31、32、33、34。
      
3 VISA读取从VISA资源名称所指定的串口中读取指定字节的数据,并将数据返回至读取缓冲区。有时不知道串口缓存区有多少字节的数据,以防字节总数设置错误,这时字节总数可以用属性节点获取,即把属性节点输出端子接入“VISA读取”节点的输入端子“字节总数”。
      
4 VISA关闭关闭VISA资源名称指定的串口会话句柄或事件对象。

二:串口通信编程实践

JCZ型智能转矩转速传感器是湖南湘仪动力测试仪器有限公司利用美国ECHELON公司的LonWorks技术在原JC型转矩转速传感器基础上设计制造的新一代产品,它的外形结构如图2所示。JCZ型智能转矩转速传感器具有高精度、高可靠性的优点,同时,它还具有自动零点补偿,自动随环境温度修正传感器系数等智能化特性,在转速很低时也能精确测量转速。当使用LonWorks网络传输时,通讯距离可达到2公里,还可以很方便地与计算机及其它智能传感器或智能节点组成测控网络系统。目前,JCZ型智能转矩转速传感器在电机、风机、机车、汽车、矿山机械等许多生产部门中广泛应用。

此主题相关图片如下:



图2  JCZ型智能转矩转速传感器外形结构图

JCZ型转矩转速传感器的基本原理是:通过弹性轴、两组磁电信号发生器,把被测转矩、转速转换成具有相位差的两组交流电信号,这两组交流电信号的频率相同且与轴的转速成正比,而其相位差的变化部分又与被测转矩成正比。因此,通过分析这两组交流电的频率和相差信号就可以实现转矩和转速的测量。电信号处理部分是以ECHELON公司的3150神经元芯片为核心组成,把电信号处理成可利用双绞线等传输介质进行网络传输的网络变量,或者处理成直接可与计算机RS-232串口通信的信号。本文JCZ型转矩转速传感器使用异步串行通信接口,其数据格式为1个起始位,8位数据,无校验位,1个停止位,波特率为4800bps。因此,设置完串口通信参数后,通过专门配置的信号线,此传感器的输出信号就可以送到计算机中。

JCZ型转矩转速传感器发送16进制显示的字符串来表示各种指令代码及数据,每次发送的数据包共计21字节,起始段为字符A,占1字节;接下分别为转矩和转速,每个数据占10字节,具体如下表所示:

头“A”(1byte) 转矩数据   (10byte) 转速数据 (10byte)


假如串口接收的一个数据包为41 34 31 2E 31 38 37 31 30 30 30 32 36 2E 32 33 36 30 30 30 30等21字节十六进制数。其中,头字节41,刚好是字符A的十六进制表示;接下从34 31~30这10字节,为字符显示的字符串41.235的十六进制表示,而41.235即为实际转矩数据;从32、36~30这最后10个字节转换为字符显示的字符串后可得到实际的转速值。因此,要注意把串口接收的数据包先进行字节分离,再分别转换为字符显示的字符串,所得到值才是实际的物理量。
[page]
通过分析JCZ型转矩转速传感器的串行通信特点,结合VISA串口函数的功能,特设计图3所示的程序代码流程图。

此主题相关图片如下:



图3  串口通信程序流程代码     

图4为本串口通信程序的前面板。“动态参数曲线显示”图表为Chart控件,其波形显示模式模拟波形记录仪、心电图等的工作方式。转矩、转速、功率实时曲线在图表上动态显示,图表的最右边显示最新采集的数据,而历史数据则连续不停地往左边移动。图表的正上方是三个数据输出文本框,分别显示当前采集的转矩、转速和功率物理量。当参数测试完毕后,点击“退出程序”控件程序退出。


此主题相关图片如下:


图4   串口通信程序的前面板

图5为此程序的框图程序,程序采用流行的主/从结构(Master/Slave)设计模式。JCZ型智能转矩转速传感器在上电的情况下,默认地不断往计算机串口发送21字节的16进制格式数据。为了完成串口的初始化、读,分别用到串口初始化函数(VISA Configure Serial Port)和串口读函数(VISA Read)。另外,由于得到的数据为16进制数,利用“电子表格字符串至数组转换”函数,使之换算成一维标量数组,得到实际的转矩、转速物理量的数组表示,再由转矩和转速计算出相应的功率值(注:功率=扭矩X转速XK,本文k=1/9.55,所求功率的单位是瓦特W),之后转矩、转速和功率数组合并并通过自动索引隧道进入for循环中,由“创建波形”节点创建波形数据,最后,波形数据流入Chart图表中动态显示。

此主题相关图片如下:



图5  框图程序

三 结论

利用LabVIEW的VISA函数开发串口通信程序,简单方便。本程序人机界面设计合理,操作方便,波形曲线显示直观。经过实验验证,此程序数据采集可靠、运行效率高,可作为获取和分析转矩和转速很好的测量工具。当然程序还有很多扩展的余地,比如数据存盘,实现远程监控,笔者希望以后继续完善。
关键字:LabVIEW  串口通信  传感器 引用地址:LabVIEW在串口通信中的应用

上一篇:labview中的的几种定时器
下一篇:对于labview新手的告诫

推荐阅读最新更新时间:2024-03-30 22:53

基于紫外检测法的智能型特高压验电器系统
摘要:提出了一种基于DSP和LabVIEW的智能型特高压验电器系统设计方案。以DSP作为现场智能型特高压验电器系统的核心,上位机管理系统软件以LabVIEW作为开发平台,并采用现场总线CAN将DSP采集的数据传送至上位机进行分析处理。实验表明,研制开发的智能型特高压验电器系统具有界面友好、操作方便、多功能和抗干扰较强等特点。 关键词:紫外检测法;特高压;验电器;DSP;LabVIEW     随着电力工业的发展和电网负荷需求的提高,我国正在大力发展特高压、长距离输电技术。高电压导致强电场、电气设备绝缘中的某些薄弱部分在强电场的作用下发生局部放电,同时当架空输电线路表面的电场强度超过空气分子的游离强度(一般在20~30 kV/c
[电源管理]
基于紫外检测法的智能型特高压验电器系统
基于AVR单片机的多通道温湿度传感器检定系统
    随着地面自动气象站的投入业务使用,山东省的大监自动气象站和区域自动气象站已经建成1 500多个,使我省的业务水平大幅提高,随着业务量增加的同时,也给计量检定工作能力提出了新的要求。但近些年来温湿度传感器的检定很大程度上仍停留在人工检定阶段。这种检定方法耗时、检定效率低,因此迫切设计出一套自动检定温湿度传感器的系统,为了改善这种状况,在VC 6.0环境下使用MSComm通信控件和数据库技术,开发了自动站温湿度传感器数据采集及处理系统,实现8路温湿传感器的数据批量采集,用以提高温湿度传感器的检定效率和准确度。 1 系统的整体结构及功能描述     该设计以AVR单片机和高精度A/D转换芯片ADS1232为核心,能对温湿度传感器进
[嵌入式]
TI推出业界最高精度单芯片毫米波传感器产品组合
德州仪器(TI)正将前所未有的高精度和智能化引入包括汽车、工厂和楼宇自动化、以及医疗市场在内的广泛应用中。下面就随半导体小编一起来了解一下相关内容吧。 TI的全新毫米波单芯片互补金属氧化物半导体(CMOS)产品组合包括5个解决方案,横跨具有完整端到端开发平台的76至81GHz传感器的两大产品系列。AWR1x和IWR1x传感器产品组合提供比目前市场上毫米波解决方案高3倍的感测精度,样片现已供货。精密模拟设计技术与数字信号处理的完美结合能够让设计人员在其系统中实现智能化和非接触式感测。 毫米波传感器产品组合的主要特性和优势 · 高度集成:借助全集成式CMOS单芯片(集成同类产品中最佳的数字信号处理器(DSP)和微控制器(MCU)
[半导体设计/制造]
基于FPGA的摄像机传感器接口实现
  图像传感器,是组成数字摄像头的重要组成部分。如果没有传感器,就没有图像信号可进行处理。众所周知传感器是非标准化的。在采用的方案中,它们有以下的不同之处:   转换可见光或红外光为电信号的方式;尤其是在该信号离开这块芯片之前,对这个信号采用的编码和压缩(有时)的方式。   对传感器内部的寄存器进行编程的方式,以调整增益、曝光时间、传感器模式(如线性、HDR),传感器图像坐标等。   实现特殊功能的方式,如高(或宽)动态范围(HDR/WDR);例如通过在同一封装中的多个传感器,对于同一图像帧多次曝光等。   这些传感器厂商采用的接口,以使这些电子图像信号离开传感器,并进入下游的处理逻辑。   FPGA提供一个具成本效
[嵌入式]
基于LabVIEW的虚拟频谱分析仪研究
在高校实验教学中,普遍使用传统频谱分析仪对信号进行频域分析和测量。传统频谱分析仪一般由信号采集和控制、分析与处理、结果表达与输出这3大功能模块构成,而这些模块只能由厂家来制造定义,具有功能固定化、灵活性差并且开发周期相对比较长的缺点。在计算机技术与电子科学技术快速发展的背景下,虚拟频谱分析仪兼顾了虚拟仪器的优点,具有虚拟仪器的便捷性和灵活性,可以解决传统频谱分析仪灵活性差及携带不方便的缺点。设计的虚拟频谱分析仪通过对输入被测量信号的处理,能达到对信号进行频域分析的目的。 1 频谱分析仪功能需求分析 虚拟频谱分析仪应具有对仿真信号、声音信号、外部采集信号进行时域和频域分析的功能。时域分析包括测量时域波形,计算均值、方差、均方根值等参
[测试测量]
基于<font color='red'>LabVIEW</font>的虚拟频谱分析仪研究
研究利用人体传感器网络来帮助糖尿病患者防止足部溃疡
    在美国,2500万的糖尿病患者常常不得不忍受许多的困 苦 ,而这些困 苦 是由我们所认为的理所当然的日常活动所造成的。   一个这样的 日常 活动就是简单地步行,这可能会加剧足部溃疡引起的疼痛和损害。足部溃疡则是由糖尿病患者的神经损伤和血液循环不畅所引起的,又称为糖尿病周围神经病变。缓慢治愈足部溃疡的花费高达8,000美元,而且如果它被感染的话成本可能上升到17000美元。   幸运的是,有个新创公司正开发一项可帮助那些遭受疼痛、足部溃疡愈合缓慢的糖尿病患者更好地管理自己的病情以及过一个更高质量生活的新技术。 Orpyx即是这样 一个非常令人兴奋的公司,它利用人体传感器网络技术来解决这个问题 。 Breanne Ev
[医疗电子]
labview的深入探索----如何实现类似C的函数指针调用
C语言中有函数指针的概念,对于相同的参数数量和参数类型,以及相同的函数返回值,通过传递函数指针,可以动态地调用不同的函数实现不同的功能. 我们先看看C的一个函数指针调用的例子: #include int max(int x,int y) { int z; if(x y) z=x; else z=y; return (z); } //求最大值 int min(int x,int y) { int z; if(x y) z=y; else z=x; return(z); } //求最小值 int add(int x,int y) { return(x+y); } //
[测试测量]
<font color='red'>labview</font>的深入探索----如何实现类似C的函数指针调用
“下注”自动驾驶关键传感器
欧洲汽车制造商Stellantis 3月20日宣布,将收购激光雷达初创公司SteerLight的股份,以加强其市场地位,并确保获得自动驾驶关键传感器。 据悉,Stellantis是全球第四大汽车集团,由PSA集团和FCA集团合并而来,旗下拥有玛莎拉蒂、阿巴斯、菲亚特、标致、雪铁龙、Jeep、RAM等15个汽车品牌,覆盖超豪华、豪华、主流乘用车乃至重型皮卡、SUV和轻型商务车等所有细分市场。该公司表示,收购激光雷达初创公司SteerLight的股份旨在使光探测和测距(激光雷达)的供应多样化,并加快其未来电动车队零部件的开发。 激光雷达初创企业SteerLight是一家诞生于法国格勒诺布尔公共微纳米技术研究中心CEA-Leti
[汽车电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
"> 基于TDA2003的简单低功耗汽车立体声放大器电路
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved