微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于虚拟仪器的电梯上行超速保护装置检测系统

基于虚拟仪器的电梯上行超速保护装置检测系统

时间:02-18 来源:朱秋菊,严 洁,张声军,徐毅 中国建筑科学研究院 点击:

4 检测系统的软件设计

在虚拟仪器检测系统中软件系统扮演着非常重要的角色,是系统的关键。软件平台选择了图形化编程软件LabVIEW,它是一个完全的、开放的虚拟仪器开发系统的应用软件,并且具有编程简单、直观、开发效率高等优点。

该检测系统软件的主要作用是实现:连续可靠信号的实时数据采集;将采集的数据以数字或图形的形式实时显示;数据存储至硬盘;保证信号采集的成功判别;数据的同时采集和显示;历史数据的查询、再现和打印等功能。
软件系统总体框图如图4所示。


由图4可以直观地看到主控模块作为整个系统的调度中心,控制着系统的控制流(→)和数据流(→)的流向。数据流从数据采集模块开始分别流向数据存储模块和数据分析处理模块,采集到的数据通过数据存储模块进行存储,同时经过数据分析模块的判断,在计算机屏幕上进行实时显示。如果用户需要对历史数据进行查询时,则启动历史查询模块即可对历史数据进行曲线和数据的显示。

程序设计最重要的部分是数据采集模块,主要任务是完成对数据的采集、波形的显示及回放和数据的存储。

数据采集模块设计如下:
先将初始化函数、启动板卡函数和读取数据等对仪器进行配置和数据读取的函数做成动态链接库。然后通过主程序调用动态链接库里的函数来实现对仪器的操作,一般调用过程如下:加载动态链接库,再获取函数的指针,之后利用指针来调用函数。系统的数据采集器采用的是AD8201,它是USBI.1总线兼容的12位32通道的数据采集器。

LabVIEW中动态链接库的调用是通过CLF(Call Library Function)节点来实现的,并进行采集模块的编程。其中初始化时为了使驱动程序能够对底层的硬件进行初始化,应设置中断号、内存分配、I/O地址等打通驱动程序和应用程序的通道。通过CLF节点调用函数DllInitial来实现采集程序的初始化,并选择采集卡的中断号和口地址。此时为了顺利启动采集,采集卡上的中断号和口地址要和主板上的一致,如果程序初始化成功,函数将返回1,否则返回0。
参数PhysAddr用来确定外部存储的开始地址,参数IRQNum用来确定板卡的中断号,参数DMAChn用来确定板卡的DMA通道,参数IOBase用来确定板卡的基地址。该例中其相应值为0,5,0,320。

启动采集的过程:首先要设置采集通道和采集频率,并确定数据通信方式(单缓冲或多缓冲),然后启动采集。接下来程序可自行驱动硬件实现采集,同时把采集到的数据存储到指定的缓冲区。

读取结果:读取结果是为了方便对数据进行处理,把驱动程序缓冲区中的数据读取到应用软件的数据缓冲区中去。要实现再次采集数据量,需定义一个数据缓冲区(或用户)函数ADBuf(NumSamp*NumChn+1)和一个内存保存数据函数RecordBuf(NumSamp*NumChn)来实现。

数据采集模块的设计主要是调用动态链接库中的各个函数来实现的,各函数调用的顺序是:
(1)调用函数。Initial();
(2)调用函数StarIntr();
(3)调用函数ADResult()或ADResuit Rece nt();
(4)调用函数QueryBuf();
(5)调用函数StopIntr()。

其中函数StarIntr()实现开始采集功能,函数ADResult()或函数ADResuitRecent()实现获得数据功能,函数QueryBuf()实现缓冲区的查询功能,函数StopIntr()实现中断采集功能。同时可以调用其他函数来实现特殊的功能,如调用函数ChannelFrq()来获取各通道的采样频率、调用函数RegisterNotify()可在多缓冲模式下缓冲区满时发出消息、调用函数IOCtrl()来实现A/D卡的其他功能等。

其他模块的设计由于篇幅关系,这里不再赘述。

5 结论

采用美国NI公司的图形化软件平台LabVIEW完成了基于虚拟仪器的电梯上行超速保护装置的检测系统的软硬件设计,通过该检测系统以确保装置的可靠性和有效性,提高了检测效率,降低了测量误差,弥补了传统检测技术的不足。系统中实时采集的数据方便了对电梯安全部件的检测和维修。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top