基于bbWindows/CVI与数据库的测试软件设计 ·51·
基于LabWindows/CVI与数据库的测试软件设计
马虎,郭海松
(空军
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
大学工程学院,陕西西安710038)
摘要:在自动化测试软件开发过程中,经常会遇到对采集数据的传送和处理问题。本设计结合两种常用
软件LabWindows/CVI和VisualFoxpro6.0(VFP)的优势,实现了软件之间的无缝链接,对于开发智能测
试软件具有一定的借鉴意义。
关键词:LabWindows/CVI;数据库;测试
中图分类号:TP311文献标识码:B 文章编号:1000—8829(2006)02—0051—03
TestSoftwareDesignBasedonLabWindows/CVIandDatabase
MAHu,GUOHai—song
(CollegeofEngineering,AirForceEngineeringUniversity,Xi’an710038,China)
Abstract:Duringthecourseofdevelopingthesoftwareofautomatizationtest,thematteroftransportinganddis—
posingthecollectiondataoftenappears.TheconnectionbetweenLabWindows/CVIanddatabasesoftwarewith-
outgapisrealized,whichwillbesignificantfordevelopingintelligenttestsoftware.
Keywords:LabWindows/CVI;database;test
基于VXI、GPIB仪器模块组建的综合ATE(自动
测试设备)系统,由于硬件平台采用了通用
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
接口,
为系统的进一步扩展奠定了良好的基础。这就要求软
件系统也具有开放性,能够根据新的被测设备需求,灵
活方便地增加新的TPS(测试程序集)。为此,笔者在
研制某型战机发动机转速智能测试系统时,以Lab—
Windows/CVI为平台,结合数据库软件,开发了一种模
块化通用测试软件。实现了被测设备参数的数据采
集、分析计算及测试结果的存储、浏览、修改和打印,最
值得一提的是能够根据历史数据库进行故障类型判
定,并自动产生排故流程。
1测试软件总体设计
应用程序开发平台选用NI公司的LabWindows/
CVI5.5。L丑bwindows/cVI是NI公司利用虚拟仪器
(virtualinstruments)技术开发的32位以C语言为基础
的面向计算机测控领域的虚拟仪器软件开发平台,它
最大的特点是内置了GPIB、PXI、串口和插入式DAQ
板的库函数,提供各种灵巧方便的界面生成、编程、调
收稿日期:2005—04—06
作者简介:马虎(1978一),男,回族,山东泰安市人,讲师,在读硕
士研究生,主要从事军用航空测试设备的研制以及计算机应用
方面的研究;郭海松(1966一),男,河南郑州市人,教授,硕士,主
要从事计算机仿真方面的研究以及军用航空
检测
工程第三方检测合同工程防雷检测合同植筋拉拔检测方案传感器技术课后答案检测机构通用要求培训
设备的研制。
试工具,因此可大大简化编程的工作量,另外,它还有
内容丰富的高级分析库,可进行信号处理、统计、曲面
拟合以及复杂的分析工作。对于熟悉C语言编程的
测试系统人员来说,LabWindows/CVI5.5是测试系
统软件较理想的开发工具。由于笔者开发的测试系统
软件是基于单机版的,采集的数据类型单一,因此数据
开发软件选用的是VisualFoxpro6.0(VFP),用VFP
制作表、表单以及报表,方便快捷,程序代码简洁,执行
效率高,应用程序开发周期短。测试软件有机地将两
种软件结合起来,实现了数据的快速传送和处理。
在整个软件设计过程中采用面向对象的程序设计
思想和模块化的程序结构,实现了数据处理和测试流
程分离。数据信息包括测试配置参数和测试结果数
据,由关系型数据库管理系统进行管理,而测试流程的
作用就是读取配置数据库的数据,配置测试仪器,进行
相应的数据采集、分析计算,并把结果回送到测试结果
数据库中。整个软件分为7大模块,程序结构如图1
所示,其中系统自检、主程序、设备驱动、测试、帮助及
故障诊断模块是在Labwindows/CVI平台上开发的,
数据库模块是用VFP开发的。在LabWindows/CVI平
台下通过对数据库文件的读写操作和数据库应用程序
的调用实现软件之间的无缝链接。
2测试软件设计中的关键程序
本测试软件的功能是对发动机各个仪表指针的均
万方数据
·52· 《测控技术))2006年第25卷第2期
匀性和允许误差进行检测,并引导用户按照既定的检
测程序排除故障,也可以根据历史数据判定故障类型。
系统自检模块
检测系统主程序模块
性能测试操作模块
划幽⋯刨r————]r————’r——。—_1
测试结果
数据管理模块
故障诊断程序模块
图1程序结构图
2.1 被测设备驱动程序
本测试系统采用闭环反馈方式进行控制,上位机采
用工控机,下位机采用单片机,分为4种数据量:开关输
入量、开关输出量、模拟信号输入量、模拟信号输出量。
开关量用来控制继电器的开合,从而控制电路通断来驱
动仪表指针,驱动信号的大小由步进电机控制。模拟信
号用来直接给被测仪表加信号。每一开关输出量和模
拟信号输出量都对应一个反馈回来的开关输入量和模
拟信号输人量,以便检测信号是否真正加在设备上。在
硬件设计上工控机的CPU通过一个公用口0X280进行
开关量和模拟量的输出输入操作。应当注意的是,上位
机CPU的速度快于下位机CPU的速度,因此在程序设
计时,采用多次循环进行数据的传送,程序如下所示:
for(I=0;I<4;I++)
KR0_.7=inp(0x280);
outp(Ox280,KC0_7);
2.2被测数据的传输程序
在测试过程中,由于加载信号的大小是通过步进
电机来驱动,步进电机每走一步代表了一定的信号大
小,通过程序控制步进电机转动的方向以及转动的步
数,来驱动仪表指针的均匀走动以及定点检测,程序还
可以实现对步进电机步数的实时增减来实现对仪表指
针的校正,根据校正步数来确定误差的大小,具体过程
如图2所示,然后将测的实际数据及误差值写入数据
库文件。库文件是VFP创建的一个临时自由表TMP.
DBF,该自由表只有一个字符型字段,但具有若个记
录,每条
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
代表着一个被测项,测的数据就是被写入
各个字段中。每测量一次,自由表就更新一次。在该
模块中关键是对TMP.DBF的读写操作。
2.2.1DBF文件
格式
pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载
DBF数据库文件是以二进制数字和ASCII字符相
图2被测数据的传输程序界面
结合的形式储存的。文件的前32个字节是对文件的
描述,包括文件版本号、建库Et期、记录个数、结构部分
字节数、记录字节个数等。紧接着从第33个字节开始
是对字段的描述,每个字段描述占32个字节,字段描
述包括字段的名称、字段类型、长度的小数位个数等。
这一部分属于描述部分总共占32+32X字段数+1个
字节,第二部分是数据部分,它是按照第一部分的数据
结构说明依次有序排列的。
2.2.2DBF文件的读写操作
由于DBF数据库是以数字和ASCII字符相结合
的方式存储文件的,而且需要对数据库进行读写操作,
因此,应采用以读写二进制方式打开文件。在本测试
软件中,被测数据写入TMP.DBF文件的程序如下:
voidDBF(intrecnum,char女string)
{
FILE十fp;
fp=fopen(”TMP.DBF”,”rb+”);
fread(&N01,32,1,fp);
fread(&N02,32,1,fp);
fseek(fp,65+(reenum一1)女20+reenum,0);
fwrite(string,1,strlen(string),f0);
fclose(fp);
}
其中N01和N02是定义的两个结构用以存放数
据库结构描述信息。
structdbfl
{
charflag;
chardate[3];
unsignedlongrecord—sum;
unsignednl_long;
unsignedrecord_long;
charnuse[20];
仪器设备驱动模块
万方数据
基于LabWindows/CVI与数据库的测试软件设计 ·53·
{N01;
structdbf2
unsignedcharfname[11];
charf_type;
charunsel[4];
charf_long;
chardecimal;
charunse2[2];
charword_area;
charn03[11];
}N02;
2.3数据管理程序
数据管理程序是用VFP开发的一个独立的模块,
用于对被测数据的储存、分析、打印报表等功能。在程
序开发过程中,首先读取临时自由表TMP.DBF文件,
生成单个记录,若干个字段的数据表,表的名称根据自
由表中被测设备名命名,对于同一被测设备,每检测一
次,检测所得数据通过自由表以记录的形式添加到数
据表的末尾,这样数据表中每条记录代表一次检测结
果。数据表中的数据一方面用于制作表单、报表,另一
方面作为历史数据用于判别故障类型。对于故障的判
定是根据被测数据与正常标准数据的差值进行的,在
测试软件运行过程中,首先根据当前获得的数据与标
准数据进行比较,若误差在允许范围之内,则认为设备
工作正常,否则认为设备出现故障,这时,利用被测数
据与历史数据相比较,如果与某一历史数据相近,则可
根据故障库判定故障类型,否则进入故障诊断程序模
块,按照既定的程序进行排故,找出故障后将故障类型
写入故障库中,这样就形成一个具有自学习功能的专
家系统。
数据库管理程序模块(如图3)是一个可执行程序
(EXE文件),在LabWindows/CVI中直接用函数Laun—
chExecutable(文件路径及名称)来调用,非常方便。
图3数据库管理程序模块界面
3结束语
目前开发测试软件的平台很多,VC、VB等软件都
可用来开发面向对象的可视化测试软件,但专业性不
强,而采用基于虚拟仪器的LabVIEW或LabCVI等专业
化测试软件作为开发平台方便快捷、界面美观,如若结
合一些数据库开发平台将使整个测试过程更趋完美。
参考文献:
[1] NationalInstrumentsCorporation.LabWindows/CVIuser
m蚰nual[EB/OL].2001.
[2]刘君华.虚拟仪器编程语言LabWindows/CVI教程[M].
北京:电子工业出版社,2001.
[3]岳明.中文VisaulFoxpro5.0命令和函数参考手册[M].
北京:机械工业出版社,1998.
[4]陈勇孝.C语言应用实例及编程技巧大全[M].北京:希
望电脑公司,1994.
口
(上接第32页)
//一
/
/
/
图5温度控制响应曲线
3 结束语
采用BP神经网络学习,在线调整加权系数;实现
PID控制参数的自适应调整,并将其应用于真空烧结
炉温度控制系统中,实验结果表明,该方法整定的温控
系统,稳定性能好,控制精度高,较好地满足了硬质合
金等材料在烧结过程中的温控要求,是一种稳定、有效
而实用的控制方法。
参考文献:
[1]SpechtDF.Ageneralregressionneuralnetwork[J].IEEE
TransactionsonNeuralNetworks,1991,2(6):568—576.
[2]王耀南.计算智能信息处理技术及其应用[M].长沙:湖
南大学出版社,1999.
[3]余永权.单片机在控制系统中的应用[M].北京:电子工
业出版社,2003.
[4]刘金琨.先进PID控制及其MATLAB实现[M].北京:电
子工业出版社,2003.
[5]赖寿宏.微型计算机控制技术[M].北京:机械工业出版
社,2000.
万方数据