张正舵 段晓飞 牛亮
摘要:某型空空导弹静态电阻测试仪主要用于该型产品弹和训练弹上多个插头电阻的静态测试。随着MES系统项目的推进,对该测试设备的软件部分提出了改造要求。通过基于LabWindows/CVI语言和数据库技术的软件编程设计,将软件测试数据存储在本地Access数据库中,通过软硬件调试,对测试设备空载测试和连接工艺产品测试两种状态下的插头电阻进行静态测试和验证,测试结果表明该测试仪的软件改造后能够实现测试数据的采集、存储以及与MES系统的连接通信,达到数据采集改造的要求。
关键词:静态电阻测试仪;LabWindows/CVI语言;Access数据库;数据采集
Keywords: static resistance tester;LabWindows/CVI language;Access data base;data collection
0 引言
随着智能化工厂建设信息系统(ERP、MES[1]、OA系统)项目的开展,测试设备得到的测试数据要与MES系统进行交互通信,对测试设备的软件部分提出了改造要求。
某型空空导弹静态电阻测试仪主要用于该型产品弹和训练弹上舵机插头(ZXS14)电阻、遥测插头(ZXS16)电阻、分离插头(ZXS17)电阻和外注插头(ZXS19)电阻的静态测试,测试完成后,数据将以表格形式显示在相关面板上,并以Excel格式存储在本地指定路径中。
根据当前MES系统提出的技术要求,需要对该型空空导弹静态测试电阻测试仪进行软件改造。要求基于LabWindows/CVI语言[2]和数据库技术的软件编程,将软件测试数据存储在本地Access数据库[3]中,用一个数据库中的多个数据库表来存储不同类型的测试报告,包括测试报告表和开停机记录表等,实现数据的采集、存储;同时,通过配置MES系统标准数据库字段与设备的数据库字段之间的对照关系,具备和MES系统连接的基本条件。
1 改造技术研究
1.1 软件开发和适用系统环境
某型空空导弹静态电阻测试仪软件是在WinXP系统环境下利用LabWindows/CVI软件和数据库技术开发的,在WinXP和Win7系统环境下均可正常使用。
1.2 软件功能改造
改造后的某型空空导弹静态测试电阻测试仪可以实现存储实时测试数据到本地Access数据库中,增加了记录每个测试项的测试时间和软件开关机时间的功能,并且具备与MES系统连接的基本条件,另外保留存储测试数据为本地Excel表格的功能,提高了该软件的智能化水平和数据处理能力,优化和扩展了本软件的测试功能。
该软件改造后的主要功能有如下。
1)增加存储测试弹号、测试信号名称、测试信号数据范围、实测数据、测试结论和备注等测试结果的Access数据表,各个数据表字段对应不同的测试项,并且每一个数据表的每一条记录具有和独立测试报告相同的功能。
2)增加每个插头测试的开始时间和结束时间,存放在各个数据表记录中的最后2个字段中。
3)增加软件开关机时间数据表“on_ off_time”。
4)各插头的测试子界面上增加了“存储数据库”和“存储Excel”的控件供测试者选用,用于保存实时测试数据到Access数据库对应的数据表或存储为本地指定路径的Excel文件。
5)根据MES系统的要求,通过数据表与数据源的配置、本地数据库与MES系统网口的配置,实现测试软件与MES系统的联网通信。
1.3 软件界面改造
双击打開静态电阻测试软件图标后,弹出软件使用界面,根据导弹类型点击选择“战斗弹”或“训练弹”,并点击选择所要测量的插头类型,在“导弹编号”框中输入测量的弹号。点击“测试”按钮后,弹出如图1所示界面。
下面以舵机插头(ZXS14)电阻测试子面板的选取为例进行说明。
直接点击舵机插头子面板的“测试”按钮,Table控件上开始显示与表头字段一一对应的测量信息,并根据插头的电阻测量总个数逐行显示。测试完成后,“测试”控件颜色变淡,其他控件颜色加重,面板上弹出一下“测试结束”,随后消失。
在各个插头电阻测试子面板上分别设计新的“存储数据库”控件和“存储Excel”的“Command Button”类型控件,将测试数据分别存储到Access数据库的数据表和本地Excel格式文件夹中。点击选择“存储数据库”控件,待弹出提示“存储指定路径成功”后,便实现了测试数据存储到Access数据库对应数据表的功能,随后点击该子面板的“返回”控件,可返回到首页主面板,之后可依次进行其他插头电阻的静态测试。
2 软件改造
2.1 软件改造设计
按照模块化的思想制定程序开发方案,Access数据库、LabWindows/CVI软件代码和UIR界面程序分别独立开发,最后通过代码整合进行软件综合调试、软硬件联调、可靠性验证和版本更新,最终生成.exe后缀的应用程序定稿。
1)Access数据库设计
在PC上新建名为“test_user.mdb”的Access类型数据库,在ODBC数据源上添加驱动程序类型为“Microsoft Access Driver(*.mdb)”的用户数据源“test_user”,配置用户数据源和本地数据库,使两者建立联系。在该数据库中创建多个存储测试数据的数据表,具体信息表如表1所示。
2)软件代码及控件开发
根据设计需求,需要编写用户数据源与main函数的通信代码,获取软件开关机时间代码,获取插头测试开始时间和结束时间代码,存储测试数据到各个对应的数据表代码等。其中,存储测试数据的数据表代码主要包括insertdata_X14()、insertdata_X19()、insertdata_X16_1()、insertdata_X16_2()、insertdata_X16_3()、insertdata_X17_1()、insertdata_X17_2()等函数。另外,需要添加软件调试所必需的SQL ToolKit插件、cvi_db.fp驱动文件、cvi_db.h头文件、cvi_db.dll动态链接库文件等数据库相关文件。在各个测试子面板上均新建“存储数据库”和“存储Excel”的“Command Button”类型控件,并与软件对应的回调函数建立联系。
软件设计改造框图如图2所示。
2.2 软件调试
通过对软件改造要求和数据库设计原理的梳理分析,按照软件改造思路分别开发了Access数据库与main函数建立联系功能、存储各个测试数据到相应数据表并和字段一一对应功能、获取各个插头的测试开始时间和结束时间功能、获取软件开关机时间功能和软件人机交互界面等。
各个模块开发完成后,结合原有软件代码通过单步调试、断点跟踪等方法进行调试,最终生成新版的“静态电阻测试.exe”。与硬件测试设备连接后进行联调,逐步解决软硬件调试过程中出现的各种问题,最终实现数据和时间信息的采集、存储等功能。通过对改造后的软件进行严格的分析、验证和试验,达到了可靠运行、操作方便的效果。
3 试验结果及分析
使用某型空空导弹静态电阻测试仪软件在空载状态下进行多次电阻静态测试,在保证软件功能性、稳定性和安全性的同时,对多枚工艺产品的舵机插头(ZXS14)电阻、遥测插头(ZXS16)电阻、分离插头(ZXS17)电阻和外注插头(ZXS19)电阻进行多次静态测试,通过查看存储在Access数据库中的测试数据并验证数据的正确性,确定该软件能够在满足稳定性和安全性的前提下实现数据的测试、采集和存储功能。以舵机插头(ZXS14)电阻静态测试为例,如图3所示,第1行为设备空载状态时的测试数据,第2行为连接某工艺产品的测试数据,第3行为连接另一工艺产品的测试数据。对应三种测试状态的软件开关机时间记入“on_off_time”表中,如图4所示。通过对处于测试设备空载测试和工艺产品测试两种状态下的电阻进行多次静态测试和验证,表明某型空空导弹静态测试电阻测试仪软件改造完成后功能齐全、性能稳定、操作简便,能够实现测试数据的采集、存储。
4 结束语
通过基于LabWindows/CVI语言和数据库技术的软件编程设计,实现了测试数据存储至本地Access数据库并满足MES系统对于数据存储的具体要求。通过软硬件调试、实际工艺产品的测试和验证,表明该静态电阻测试仪软件改造后能够实现测试数据的采集、存储,具备与MES系统的连接条件,达到了数据采集改造的目的。
参考文献
[1]王志新. 制造执行系统MES及应用[M].北京:中国电力出版社, 2006.
[2]王建新,杨世风,隋美丽. LabWindows/CVI测试技术及工程应用[M].北京:化学工业出版社,2006.
[3]潘曉南,王莉. Access数据库应用技术[M].北京:清华大学出版社,2008
作者简介
张正舵,助理工程师,主要从事某型空空导弹的修理工作。