当前位置:首页 > 工业控制 > 工业控制
[导读]摘 要:本文介绍了基于LabVIEW的外置串口采集控制卡的设计思想,详细的分析了采集控制卡的研制过程,并给出了LabVIEW的具体程序设计。关键词:LabVIEW;串口通讯;数据采集系统 引言目前虚拟仪器开发广泛应用的是美

摘 要:本文介绍了基于LabVIEW的外置串口采集控制卡的设计思想,详细的分析了采集控制卡的研制过程,并给出了LabVIEW的具体程序设计。

关键词:LabVIEW;串口通讯;数据采集系统


引言

目前虚拟仪器开发广泛应用的是美国NI公司的LabVIEW开发平台。LabVIEW软件隐含了对设计虚拟仪器时所面临的多种困难的考虑、简化了设计过程,对于开发虚拟仪器相当方便,但因其硬件卡昂贵,影响了虚拟仪器在国内的推广使用。因而,本文提出了采用LabVIEW虚拟仪器开发平台,自行设计硬件卡。

设计中利用单片机作为下位机,采用标准RS-232串口与PC机通讯来构建采集控制系统。上位机通过发送控制采集命令实行采集控制卡的通道选择、量程选择、数据采集等,然后将采集到的数据通过串口传输给PC机实现数据的存储、分析。此外基于串口开发的采集控制卡还因具有热插拔的优点而具有很强的实用性。


外置串口采集控制系统构成


外置串口采集控制系统主要由下位机硬/软件以及上位机控制软件两部分构成。下位机通过接收PC机命令来执行相应的操作,例如数据采集通道的选择、输入电压范围的选择、或是其他量的选择(如温度、湿度等)。上位机软件主要是发送控制命令,接收、显示、存储以及处理数据。其中,数据的传输采用了数据帧格式进行,通过识别帧头标志位等规则来保证数据传输的准确性,本设计中是通过结合MAXIM公司所提供的A/D转换器MAX197来实现的。


采集控制卡硬件设计

本设计硬件电路以单片机89C51为控制核心,通过RS-232与PC机通讯,实现整个数据采集系统的数据采集控制以及数据处理和存储。单片机通过接收PC机指令来控制MAX197,其中A/D采集以中断方式进行。控制卡硬件电路结构如图1所示。

采集控制卡软件设计

单片机通过从串口接收通道、量程选择命令来执行相应通道、量程的数据采集,然后将数据采集的结果以数据帧的格式发送给PC机。两个字节的帧头标志、以及两个字节的A/D转换结果合称为一帧数据。单片机软件设计流程如图2所示。

上位机控制处理程序设计

上位机控制处理程序在LabVIEW平台上进行开发,LabVIEW程序由两部分组成:前面板和程序框图。

LabVIEW前面板的功能等效于传统仪器前面板,它不仅可以模拟众多的传统仪器,而且可以模拟因为结构复杂而不可实现的传统概念仪器,因此,设计具有很大的灵活性。本次设计的前面板包括通讯端口、方式等的设置,对采集控制卡的配置,当前采集转换结果显示,采集转换结果实时动态监控,以及将采集转换结果写入Excel文件的设置等内容。

前面板有如仪器的外形设计,而程序框图就是仪器的内部电路,是设计的核心部分。LabVIEW方便之处就是能很方便的将流程图转换为图形编程语言。流程图中的循环可以直接调用LabVIEW中的While循环,顺序执行可以调用LabVIEW中Sequence Structure(顺序结构),条件执行则可以调用LabVIEW中Case Structure(选择结构)。程序流程图设计如图3所示。LabVIEW所采用的是并行执行结构,主流程图中横虚线上方的左右两边为同时执行的两个独立的单元。

本次设计的图形编程可以分为串口通讯、数据接收以及文件读写三个部分。

在LabVIEW中,实现串口通讯方式有直接调用NI公司提供的Serial系列子VI; VISA串行系列(位于Functions->All Functions->Instrument I/O->serial中);采用Active X控件来控制访问串行口(先向LabVIEW中添加一个Active X Container控件,然后向其中添加MSComm控件)三种方式。本次设计采用了第二种方式来访问和控制串行口,即通过调用功能模板的VISA中的Serial系列(包含VISA Configure Serial、VISA Write、VISA Read、VISA Close)来实现对串行口的访问和控制。采用该方式设计的优点是:每个函数开始接收一个端口号,结束后输出一个其复制的端口号,这样在设计中就不用担心对于一个端口有遗忘或是重复的操作,从而使程序设计更加清晰。


LabVIEW中对于串行口的读写都是以字符为单位传输其ASCII码来实现的,因而需将需要传输的数据字符转换成对应的ASCII码。本设计通过调用CIN (代码接口接点)将C语言程序嵌入到整个设计中,然后采用LabVIEW与C语言混合编程来实现所需的功能(CIN在LabVIEW中的调用路径为Functions→All Functions→Advanced→Code Interface Node)。


本设计中首先将采集控制系统的通道号和量程发送给下位机,然后程序进入到相应的数据接收处理程序。在数据接收过程中采用了数据帧方式:下位机将对应通道号、相应量程的采集结果以一帧数据为单位循环发送给PC机,PC机通过判断帧头来识别数据,从而提高数据传输的准确性。帧数据格式如下:

前面两个字节数据0xAA和0xAB为帧头标志,DATA1和DATA0为采集结果,但并非为最终的结果,它们仍需要相应的处理(该处理在服务子程序中进行)。

采集到的数据要转换为实际电压值后,再进行显示、存储。本设计可以很方便的把每个实际电压值存储到Excel文件中,以便于查看和处理。而且在存储的过程中可以将通道号、量程、采集数据序号信息都写入文件,这样,就很容易生成报表输出。

根据流程图设计的采集控制系统程序框图如图4所示。


系统测试


将采集控制系统硬件、软件按要求设计好后,运行控制软件,先对采集控制系统进行相应的配置,然后可以实时观看某个通道的电压值。调节输入电压,通过实时监控界面可以观看到输入电压的变化过程。程序运行结束后,可以在程序的安装目录下找到一个由先前配置所命名的Excel文件,打开这个文件就可以看到采集到的所有数据(包括通道号、量程、采集数据及所采集数据序号信息)。通过测试表明,采集控制系统操作简单、方便,采集数据准确、价格低廉,且有热插拔优点。


结语

因为NI公司所提供的数据采集卡价格昂贵,对用户来说,自主研制基于LabVIEW的采集控制卡在实际中有很大的意义,采用LabVIEW平台来实现,很大程度上简化了设计,希望本文能给众多设计者带来新的设计概念。

 

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

NI提供的软件包经济省时,不仅帮助开发人员节省时间,还为创客提供了新的机遇

关键字: LabVIEW 自动化测试系统

强大的图形化编程工具使整个测试和测量过程的各个方面实现可视化

关键字: LabVIEW 图形化编程工具

摘要:对于每一型新机试飞,或者是重大的研究性试飞和验证试飞,都必须实施遥测监控。现基于TTS(TextToSpeech)语音合成技术,结合飞行试验遥测监控系统的不足,利用TTS引擎在LabVIEW开发环境下设计并实现了遥...

关键字: 飞行试验遥测监控系统 TTS LabVIEW

在科研以及应用软件领域,LabVIEW和MATLAB作为比较常用的2款工具,相信很多人都用过吧。简单的概括一下,LabVIEW侧重测试测量和数据采集,MATLAB侧重科学计算和数据分析。

关键字: LabVIEW matlab 混合编程

摘要:利用单片机和虚拟仪器LabVIEW在PC端设计了温湿度测量及控制系统,用于温湿度数据监测。该系统上位机为PC端监控界面,下位机为单片机,单片机采集温湿度数据,并将采集到的数据通过串口发送给监控界面进行监测和管理。该...

关键字: DHT11 LabVIEW 单片机

摘要:当前闭环步进电机在自动化设备中的应用越来越广泛,故为了进一步满足闭环步进电机的应用需求,采用LabVIEW上位机+运动控制卡+驱动器模块的控制方案进行了多轴运动系统的设计,通过设计的上位机软件实现闭环步进电机的实时...

关键字: 闭环步进电机 精度测试 LabVIEW

摘要:为满足某扭矩检测试验标准要求,基于LabView设计开发了一款扭矩检测装置,该装置能检测某类零部件的断裂力矩,满足试验标准要求,其他零部件的扭矩也可在该装置上检测。类似的扭矩装置可参考该装置进行设计。

关键字: 伺服电机 LabVIEW PLC

在下述的内容中,小编将会对LabVIEW的相关消息予以报道,如果LabVIEW是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。

关键字: LabVIEW 测试测量 NI

一直以来,LABVIEW都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来LABVIEW的相关介绍,详细内容请看下文。

关键字: LabVIEW 测试测量 测试仪器

摘 要 :为了实现对患者的远程诊断或监测,设计了相应的硬件模块采集心电、心率、脉搏、血氧饱和度和体温等生理信号,采集到的用户生理参数通过 WiFi 传输至上位机。上位机采用 LabVIEW 实现对用户生理参数的处理与显示...

关键字: 无线传输 生理参数监测 LabVIEW QRS 波形检测 微信小程序 单片机
关闭
关闭