Labwindows/CVI数据库技术在轻武器杀伤测试软件中的应用

2015-04-14 03:06刘乃强郑宾王舒王浩圣侯雁伟
火控雷达技术 2015年2期
关键词:测试软件轻武器数据表

刘乃强 郑宾 王舒 王浩圣 侯雁伟

(1.中北大学 太原 030051;2.中国兵器工业第二〇八研究所 北京 102202)

0 引言

轻武器杀伤效应是评价轻武器系统火力打击能力的主要指标。因此,杀伤效应是指导杀伤元设计和轻武器研制的重要依据[1]。在轻武器杀伤效应测试过程中,需要对多达58 路的采集通道进行实时高速采集。在测试之前,需要根据具体的测试情况,设置传感器参数、硬件接口位置、轻武器型号和杀伤元类型等信息。测试过程中,需要对本次测试的杀伤元速度和传感器输出的数据进行保存。如果采用传统的软件设计方法,所有的信息都需要被预先定义在代码中,一旦需要改变传感器参数或更换硬件接口位置都需要对程序做相应的改动,不利于软件的使用。因此,传统方法设计的软件系统,其通用性、易用性及可拓展性都较差。而数据库技术可以使计算机更高效、更安全的组织和存储数据。在测试之前和测试过程中,产生的数据信息用数据库进行管理,将极大的提高软件的易用性和可扩展性。本文针对轻武器杀伤效应测试需要,将数据库技术应用于测试软件,设计了基于Labwindows/CVI的测试系统,实际应用表明,该测试系统能够实现对各种数据信息进行有效的管理,提高了测试系统的易用性,确保了测试过程的高效、安全。

1 系统组成

轻武器杀伤效应测试系统硬件架构如图1所示。弹丸发射后,测速靶向数据采集系统发送触发信号。传感器输出的电压信号和测速靶产生的脉冲信号将由高速数据采集卡实时采集。应变片与高速采集卡内置桥路组成1/4 电桥,实现对应变片产生的阻值变化的测量,这些数据被用于评价杀伤元对靶标冲击过程中产生的杀伤效应[2]。

图1 轻武器杀伤测试系统硬件架构

2 数据库技术

2.1 数据库的概念

数据库是指长期存储在计算机内,按照数据结构来组织、存储和管理数据的“仓库”。当需要查阅信息时,数据库系统能自动根据给定的条件以毫秒量级速度进行扫描查找,在瞬间找到符合要求的数据。数据的存储独立于使用它的应用程序,当数据的物理存储方式和结构改变时,用户应用程序可以不变。这种优势有利于在数据库结构修改时保持应用程序稳定性,减少应用程序开发与维护的工作量[3]。

现有的Labwindows/CVI主要提供两种数据库访问方式,分别是利用NI公司SQL Toolkit 数据库接口工具包和利用ActiveX 功能调用Microsoft ADO对象。在实际设计过程中,采用第一种数据库访问方式实现了轻武器杀伤效应测试系统的数据库和数据管理。

2.2 利用SQL Toolkit 访问数据库

在使用SQL Toolkit 工具包时,CVI通过ODBC(open database connectivity)标准对数据库进行访问。ODBC 提供了一套统一的数据库编程接口,可以访问任何具有ODBC 驱动的数据库。根据测试系统实际需求,选用了易于操作,界面友好的Microsoft Access 数据库。

实现与数据库的动态连接,首先要指定数据源的路径,代码主体如下:

在获得数据源所在路径后,就可以通过调用cvi_db.fp 库文件提供的DBConnect 函数与数据库实现动态链接。

在与数据源建立连接后,指定数据表由DBActivateSQL 函数查询并储存在句柄中,这样才能实现对数据表的读写操作。DBActivateSQL 函数原型为:

int DBActivateSQL(int connectionHandle,char SQLStatement);

如果已经与数据源中的数据表成功连接,下面就要对数据表中相应字段进行绑定。将数据表中的字段绑定至指定变量后,就可以通过对变量的读写实现对数据库内容的变更。例如:

DBBindColDouble(hstat,4,&minLevel,&num-Stat);该函数就是将指定数据表中的第四列浮点型数据与变量minLevel 绑定。当对数据库操作结束后,还可以调用DBDeActivateSQL 函数断开与数据库的连接,释放相应的资源。完整的数据库操作流程如图2所示[4]。

图2 数据库操作流程

2.3 数据库技术在轻武器杀伤测试系统中的应用

软件系统的开发环境选用以ANSIC 为核心的Labwindows/CVI开发平台,将C 语言的模块化优势与面向测试仪器的编程工具相结合,运用它可以方便地构建虚拟仪器。得益于模块化,灵活性强的C语言核心,它将测试任务中需要的数据采集、分析与表达模块有机的结合起来。此外,它还可与NI公司的板卡无缝结合,无需关注底层驱动,只需利用丰富的函数库即可保证数据采集快速和准确[5]。

在编写轻武器杀伤测试系统时,结合SQL Toolkit 工具包充分利用了Labwindows/CVI的数据库技术。按照软件的功能需要,在读取测速靶参数、通道列表、传感器列表和保存测试记录时读写Access 数据库文件。在更改通道配置、传感器型号和查看测试记录时直接对Access 数据库文件进行操作,避免了面向代码的程序修改。既增强了软件的安全性又降低了对测试人员的编程能力要求,使科研人员更关注于测试本身。按照数据库用途,此数据库文件包含4 个数据表。测试系统软件的数据库读写结构如图3所示。

图3 测试软件的数据库读写结构图

2.3.1 保存测试记录

利用Labwindows/CVI数据库技术,每次测试后在测试记录数据表内保存测试说明和子弹速度,便于测试人员查看测试历史及测速数据。由于轻武器杀伤效应测试记录项目较多,因此使用DBImmediateSQL 函数直接对指定数据表执行操作。下面给出该部分程序:

2.3.2 读取测速靶参数

因不同靶场常配备不同型号的测速靶,在轻武器杀伤测试系统启动后,要求首先选择测速靶型号[6]。程序自动读取测速靶数据表,将所有测速靶编号列入备选框中。作出选择后,自动读取对应参数。当测试条件改变,需要更改测速靶参数时,在Access 数据库文件的对应数据表中修改即可,无需面对代码。功能主体函数如下:

2.3.3 读取传感器列表

传感器是轻武器杀伤测试系统的重要组成部分,弹着点附近的传感器极易因为射击位置偏移、防护材料击穿等原因而损坏,因此在测试过程中需要更换传感器。由此常带来灵敏度系数、信号量程等参数发生改变,这就需要在程序中执行相应的更改[7]。利用数据库文件较高的独立性,修改对应数据表即可完成传感器参数的更改。下面给出代码主体:

2.3.4 读取通道列表

为准确评估杀伤元对目标的杀伤效应,仿人体靶标各部位共部署了58 路传感器与应变片。系统启动后,软件自动载入“通道列表”数据表,将所有通道定义填充在界面table 控件中提供选择[8]。当高速数据采集卡接线方式发生变化时,直接修改数据表中对应内容即可。下面给出该部分程序主体:

使用数据库技术后,轻武器杀伤效应测试系统的假人测试配置界面如图4所示。若不使用数据库技术,而是将读取通道配置、传感器参数、测速靶列表以及保存测试记录等功能都整合在程序代码中,则在测试过程中,一旦需要批量更改通道配置或更改传感器部署就需要面向代码更改对应变量。由于C 语言代码往往变量繁多且关联紧密,大规模更改代码会影响整个程序的稳定性[9]。该程序利用数据库技术将测试中可能发生更改的大量配置数据保存在独立的Access 数据库文件中,实现对所有配置数据的添加,读写独立于软件程序代码。

图4 假人测试通道配置界面

3 结论

运用数据库技术,设计了基于Labwindows/CVI的轻武器杀伤效应测试系统软件。经过长期测试验证,系统能够稳定、准确的进行数据采集[10]。当测试中使用的硬件设备发生变化时,只需要通过更改数据库文件即可实现软件中的同步修改,提高了软件的易用性和可扩展性。除此以外,测试软件代码数量少于2 万行,远低于同规模、同功能测试软件,一定程度上降低了出错概率,提高了软件的执行效率。该测试软件现已成功应用到某研究所轻武器终点杀伤效应一体化测试平台中,并且明显提高了测试效率。

[1]宋斌,方葛丰,刘毅.自动测试系统软件平台TestCenter 体系结构设计与分析[J].测控技术,2013,08:115-118

[2]俞思文.DAQmx 自动化测试系统的改进与实现[D].复旦大学,2012.

[3]姜守达,吴昌盛.LabWindows/CVI多线程机制在数据采集中的应用[J].计算机应用,2004,23(8):56-57.

[4]李兴.虚拟仪器的软件开发[J].原子能科学技术,1999,33(2):125-128.

[5]刘金宁.自动测试系统软件模型与关键实现技术研究[D].石家庄:军械工程学院,2007.

[6]杜里,张其善.电子装备自动测试系统发展综述[J].计算机测量与控制,2009,17(6):1019-1021.

[7]Bruce Eckel,Chuck Allison.C++编程思想[M].北京:机械工业出版社,2004.

[8]张建学.虚拟仪器在遥测舱自动测试中的应用[J].国外电子元器件,2012(2):24-26.

[9]马虎,郭海松.基于LabWindows/CVI与数据库的测试软件设计[J].测控技术,2006,25(2):51-53.

[10]叶群松,习友宝,詹惠琴.基于LabWindows/CVI的数据库应用程序开发[J].计算机与现代化,2008(3):38-41.

猜你喜欢
测试软件轻武器数据表
网络自适应测试软件运行方法设计
英军在二战中使用的轻武器(Ⅲ)
湖北省新冠肺炎疫情数据表(2.26-3.25)
湖北省新冠肺炎疫情数据表
湖北省新冠肺炎疫情数据表
轻武器结合
自动化检测EPU10A板卡系统设计与实现
远程开放教育学生自主学习能力评价的研究
一款重型包装抗压系统控制软件的设计与开发
QH165点焊机器人数据库开发技术