基于LabVIEW实现电梯控制系统的设计

发布者:Bby1978最新更新时间:2016-11-22 来源: eefocus关键字:LabVIEW  电梯控制系统 手机看文章 扫描二维码
随时随地手机看文章

引言:

LabVIEW是一种在图形化的编程语言(G语言),与以往的C程序、C++或者Java等编程语言不同的是,它用各种图标、连线和框图代替文字程序代码,使得编写的程序结构比较清晰,也能比较形象地观察数据的传输过程。目前,计算机辅助实时测量技术的发展,使得实时测量和控制更加智能化、高精度和高效率。LabVIEW基于以上的特点,已经成为国内外应用最广的数据采集和控制开发的语言环境,例如基于LabVIEW的信号处理与数据分析,进行图形获取和传输等等。其中尤其以数据的采集和处理分析为主要功能而设计出来很多种实验系统,比如虚拟示波器的设计以及如何进行信号去噪,无创脉搏血氧检测,速度测量及校正等等。

我们通过对LabVIEW的初步认识,了解并熟悉了这是怎样的一个虚拟开发环境。然后演示一些简单的实验案例,不断地加深对LabVIEW编程的了解和学习。通过演示,我们再尝试着寻找一些新的想法和思路,把几个小系统用自己的方式组合成一个结构比较完整、功能更为丰富的智能电梯系统。

1、 模拟系统的结构组成

a) 控制集成箱或者外围电路与传感器

这部分结构是实验模拟系统的核心,因为实验数据的最终来源还在于外围电路中传感器的电压信号输出,而控制信号也是需要传输给这部分电路。一个实验系统关键的结构就是这部分电路的结构,而其他要做的仅仅是信号的输入与输出。我们所做的这个智能电梯系统的电路原理,实际上是借用了演示实验的电路控制集成箱。该箱子里包含了温度测量、光强测量、红外传输、模拟电梯(步进电机)、红绿灯显示等模块。不同的功能模块是一个完整的电路区域,其中有和功能相关的传感器还有相关的复杂电路。另外整个控制集成箱有数据输入与输出的端口。

b) A/D数据采集卡

所谓A/D采集卡是指模拟量(Analog)的数字化(Digital),或者是数字量的模拟量输出。一般A/D采集卡上都设计有12-16Bit分辨率的A/D转换器和D/A转换器,并且可以进行多通道(8-16路)的数据输入和输出。我们实验中的采用的U18 A/D采集卡上设计有12Bit分辨率的A/D转换器和D/A转换器,提供了16路单端或8路双端的模拟输入通道和4路D/A输出通道,A/D转换器输入信号范围:±5V、±10V、0~10V,D/A转换器输入信号范围: 0~5V、0~10V、±5V、±10V。16路开关量输入,16路开关量输出且均能上电清零。

c) LabVIEW编程设计

有了实验原理电路,其中传感器也能实时反应得到信号,并且A/D采集卡也可以采集数据了。但是如何实现控制?就需要用LabVIEW编写控制程序。程序通过A/D卡把控制信号传输给外围电路,电路反馈回来电压信号通过A/D采集卡转换成数字信号,并返回到程序里面。假如返回的数据满足程序要求就可以显示出来、或者继续往外传输控制信号。LabVIEW程序就完全成为一个可视化、图形化的“C程序”,因为它也有类似的循环、条件等语句,只不过这里都变成了结构化的图形。而且LabVIEW还可以做出一个控制面板,可以通过操作控制面板,控制后台程序的运行。

2、 模拟智能电梯系统

我们通过对演示实验的不同功能模块的探究,构想出一个类似于真实电梯的模拟系统。这个系统包含了四个功能模块。

a) 电梯操控模块

首先红绿灯显示电梯的运行状态,绿灯表示电梯上下正常的运行,当电梯停在某一层的时候黄灯闪烁,而当电梯里面的载重超过最大限制人数(质量)的时候,红灯就会亮起作为提示警告。而且电梯也尽量智能化,假如同时选中某几层时,电梯会自动按照所选择楼层的上下顺序依次停止。

b) 光强控制模块

假定电梯内有一个电灯,电梯可以随时检测实际光强信息并显示出来。为了满足不同人的需求,可以设定想要达到的光强大小,系统就会自动调节灯泡电压以使达到目标光强值。

newmaker.com

c) 温度测量与控制模块

这是一个类似于温控风扇的控制程序。我们假定有人使用红外装置给设定了一个目标温度,然后程序会自动与实际测量的温度比较。假如目标温度低于实际温度,那么就会自动打开风扇,以达到降温的目的,而且风扇的转速与实际温度和设定温度之间的差值成正比;如果设定的目标温度高于实际温度,那么就不采取任何动作。所以该模块只有降温的功能。

newmaker.com

d) 质量测量模块

该模块用来校准并检测物体或者人的质量。首先放置一个标准质量的物体,然后校正得到参量,再通过参量的计算得到实际质量。该质量与设定的电梯质量上限比较,如果前者小的话,电梯继续正常运行,否则电梯就会停止工作并且显示红灯,提示电梯已经超重。

newmaker.com

newmaker.com

3、 遇到的问题及修正

a) 在编好这几部分模块的程序后,我们到实验室进行测试。发现不管是哪个程序,都没有达到我们预期的结果。然后换过几个控制集成箱以及A/D采集卡,结果都是如此。我们使用LabVIEW里面的“高亮”功能检查数据流的变化时,发现不管怎么样的条件输入,从仪器读出来的数据都是零,也就是说貌似仪器不能起作用。一开始我们认为是A/D采集卡驱动的问题,但是当我们打开LabVIEW的演示实验并测试后,却发现能正常运行。所以,现在只能对比我们自己的程序和演示实验的程序,找出问题在哪里。最后,发现这可能是程序中“CreatID”这个子VI程序初始化的问题。

newmaker.com

CreatID是每个模块运行前都要有的子程序,相当于给程序创建一个内存。其中DeviceID是设备编号,默认值为0,即入股有一个U18AD模板时,编号为0,如果有第二个U18模板时,编号顺次计数为1。而我们程序中把DeviceID当作了不同模块的编号了,实际上我们应该改变的是AD采集通道编号,而DeviceID应该都初始化为0。当我们给AD卡初始化的时候给不同的模块编号,用到的子VI程序为ADINT。如下图所示:

newmaker.com

其中pADpara就是决定了AD采集通道,不同的模块要有不同的编号。而这个编号值则按照演示程序中写的设定。

b) 在光强控制程序中,由于要是电灯的亮度和设定的光强值相等,就要从一个设定的光强,反解出达到这个光强的电压值。因为我们知道输入输出信号都会转变成电压信号。但是我们已经知道光强和电压应该成正相关,即电灯两端电压越高其发光光强越大,但这种关系未必是线性的。所以我们设计了这样的算法,电压从0与5开始取中点,把这个中点给电灯,如果发出来的光强比设定光强高,那我们就要降低电压,即下一次循环我们就取0和2.5的中点,否则就取2.5与5的中点。一直循环直到和设定的光强相差不到0.5。

但是我们发现如果按照我们给定的算法,并不能够很快地得到结果。但是通过“高亮”的运行方式,发现其实并不是我们的算法有问题,而是经常通过取两端电压中点之后,还没有找到满足条件的电压值就达到边界而跳出循环,结果显示出来的光强大小与设定值相差很大。而且,重要的是从光敏电阻两端读出的电压与给电灯附加电压并没有成为严格的“及时的”正向对应关系,也就是说光强与光敏电阻两端电压不是很严格的单向对应,而是有一定的微小浮动。但是这个很严重的影响到去两端电压中点的方法。所以,最后采取了连续读50次取平均值的做法来定读出来的光敏电阻两端电压的大小。最后结果显示,虽然程序运行比较慢,但是能够很好的实现设定的光强值。

c) 关于温度控制模块,基本上这个部分的风扇转动部分和演示实验中的程序是类似的,只是多了一个转速与实际温度和设定温度的差值成正比这个功能。我们遇到的问题是如何得到转速。一直纠结于“Getcount”这个子VI程序读出来的是什么,然后就会明白为何程序中会用“前一秒”减去“后一秒”得到转速。经过查找资料,我们了解到风扇下面有一个类似于激光计数的装置,扇叶每转过一个就计数为1,所以Getcount读出来的应该是这种计数。但是这个计数随着风扇转动是不断减小的,不是累积增加的。所以只能用前一秒的计数减去后一秒的计数并除以9得到转速(9是风扇的扇叶数量)。

另外风扇貌似有个额定电压3V,超过这个值才能驱动转起来。而且发现假如上一次风扇已经转起来,下一次给风扇输入的电压0V时,风扇却还能继续转动。说明0V以及过低的电压都不能驱动风扇,所以最后我们给设定了2.5V的电压使得在温度不满足条件时风扇停止。

newmaker.com

4、 结论

我们从最初的演示实验得到启发,再讨论构想并开始编程,然后不断地对程序进行修改和测试,最终得到了这个还算比较完整的大作品,一套模拟真实的电梯控制系统。我们基本上达到了最初预期的结果。但是对于这个系统,有些地方需要仍然做一点改进,比如光强控制模块的算法可能不够严谨,导致严重地拖慢程序运行速度并造成结果偏差很远,假如使用线性求解的方式或许可能更快一些,即假定电灯两端电压线性对应光强大小,而且0V对应于0光强,最大电压5V对应于最大光强值15。

关于LabVIEW我觉得从最初的一点不懂到现在能尝试写一些小程序,我学到了不少东西,除了关于LabVIEW程序编写的特点,还学到了如何进行计算机实测与控制的方法。我想对以后的科研工作肯定会有很大的帮助。


关键字:LabVIEW  电梯控制系统 引用地址:基于LabVIEW实现电梯控制系统的设计

上一篇:基于LabVIEW6.1的数字存储示波器设计
下一篇:基于LabVIEW的灰水模糊控制系统的设计

推荐阅读最新更新时间:2024-03-30 23:28

利用LabVIEW产生字模的LED显示屏设计
  .文中介绍了一种直接利用 LabV I EW 的图片处理功能自动生成字符点阵的方法,利用该程序无需使用专门的字库可自动得到各种字符的点阵,然后将显示信息通过串行传输方式发送到单片机,通过单片机驱动相应的二极管发光,显示信息。硬件由计算机、单片机、驱动电路和 LED 显示屏构成,结构如图 1所示。 图 1总体结构框图。   1. 基于 LabV I EW 的汉字字模的提取   1.1. 基于 LabV IEW 的汉字字模的提取方法   现在比较流行的方法是基于汉字字符的编码方式形成字模。   汉字机内码与区位码的关系为:   区位码=机内码- 160(1)   对于 16*16点阵字库,每个汉字占用 32 b i t 其首字
[测试测量]
利用<font color='red'>LabVIEW</font>产生字模的LED显示屏设计
网络化控制模型的设计
0 引言 随着网络技术的发展,Internet正在把全世界的计算机系统、通信系统逐渐集成起来,形成信息高速公路,形成公用数据网络。在此基础上,传统的工业控制领域也正经历一场前所未有的变革,从传统的控制系统向以网络化为特征的控制方向发展,形成了新的控制网络。 控制系统的结构从最初的计算机集中控制系统(CCS),到第二代的集散控制系统(DCS),发展到现在流行的现场总线控制系统(FCS)。而以太网又逐渐与现场总线结合并进入工业控制领域。 网络的发展使自动化系统与工业控制系统在体系结构、控制方法、人机协作方法等都发生了重大变化,一方面,自动化与工业控制需要更深层次地渗透通信与网络技术。另一方面,通信网络的管理与控制也要求更多地采用控
[测试测量]
网络化控制模型的设计
LabVIEW用于数据采集
[测试测量]
基于LabVIEW与USB接口的实时数据采集系统
1 数据采集系统    工程上使用具有PCI、PXI、USB、并口以及串口的计算机来获取测试数据,称为基于PC的数据采集系统。其中一种是通过插入式的数据采集卡直接获取数据传输给计算机。鉴于数据采集卡的价格昂贵,且安装不方便等缺点,本文提出使用STC单片机作为前端的数据采集系统,利用 CH341T 芯片的USB总线转异步串口的功能,将采集数据只通过一条USB线传输给PC机,最后在LabVIEW平台下进行数据的显示、分析、处理。 1.1 系统组成与工作原理    本系统总体结构框图如图1所示。主要包括有 STC12C5410AD 单片机和 CH341T 转换芯片组成的数据采集、转换、传输部分,以及基于PC机的LabVlEW
[嵌入式]
生物流体灌注(Perifusion) 系统自动进行细胞分泌分析
Biorep生物流体灌注系统 挑战:增进细胞分泌分析的处理能力和可重复性,这种分析常被用于第一型糖尿病研究中的胰岛细胞的分析。 解决方案:使用NI的LabVIEW软件和CompactRIO 硬件,创建一个自动生物流体灌注(Perifusion) 系统。它能实现全面的环境控制,刺激不同细胞类型,并在符合可编程协议的情况下能够自动收集分泌物。 只用了3个月,我们VI设计组的克里斯?佛朗达(Chris Fronda)就能使用 LabVIEW和CompactRIO 来控制一个复杂的自动化医疗仪器。 Biorep技术股份有限公司(Biorep Technologies Inc.)需要设计一种设备用来隔离胰脏中特定细胞(胰岛细胞
[测试测量]
生物流体灌注(Perifusion) 系统自动进行细胞分泌分析
采用LabVIEW软件和PXI模块化仪器的功率放大器特征介绍
   挑战:   在不牺牲测量精度或提高设备成本的情况下,缩短对日益复杂的无线功率放大器(PA)的特征化时间。   解决方案:   使用NI LabVIEW软件和NI PXI模块化仪器开发功率放大器特征化系统,让我们在减小资产设备成本、功率消耗和物理空间的同时,将测试吞吐量提高了10倍。      "我们使用NI PXI,能够将新组件的特征化时间从两周缩短为大约一天。"   现有功率放大器特征化技术的挑战   尽管无线射频功率放大器主要被设计在单频带单模式下工作,现代的功率放大器要满足更为多样化的需求。实际上,现代功率放大器的设计可以工作在八个或更多频带下,并且能够用于包括GSM、EDGE
[测试测量]
采用<font color='red'>LabVIEW</font>软件和PXI模块化仪器的功率放大器特征介绍
LabVIEW与单片机串口在数据采集系统中的应用
1.LabVIEW分析 LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显着区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。 LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。 它主要的方便就是,一个硬件的情况下,可以通过改变软件,就可以实现不同的仪器仪表的功能,非常方便,是相当于软件即硬件!现在的图形
[测试测量]
<font color='red'>LabVIEW</font>与单片机串口在数据采集系统中的应用
使用图形化的开发环境――LabView开发嵌入式系统
传统设计模式所应对的挑战 嵌入式系统正在渗入现代社会的各个方面,广泛地应用于航空航天、通信设备、消费电子、工业控制、汽车、船舶等领域,据统计,在美国平均每个中产阶级家庭要使用40~50个嵌入式系统。巨大的市场需求推动了嵌入式系统向更高的技术水平发展。设计师们一方面采用性能更强大的嵌入式处理器如32位、64位RISC芯片取代传统的8位、16位微处理器;另一方面嵌入式系统也由单处理器单操作系统的传统结构向混合型Multi-core系统发展,通过采用多个处理器和OS提高系统并行度来提高系统运行效能,并且设计师们往往同时采用MPU、DSP和FPGA等多种可编程器件来增强处理能力,满足应用功能的升级。 嵌入式系统复杂性的不断增加给设
[测试测量]
使用图形化的开发环境――<font color='red'>LabView</font>开发嵌入式系统
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved