论文导读:为开发人员建立检测系统、自动测试环境、数据采集系统、过程监控系统等提供了理想的软件开发环境。在启动PCI-1721的DMA数据传送的功能启动线程。
关键词:数据采集,波形发生器,DMA,工业控制
0 引言
某发射机构作为导弹武器系统的重要发射控制部件,其性能的好坏直接影响武器系统的总体战术指标。因此发射机构在研制过程中和投入生产后需进行严格的测试,进行常温测试、高低温测试和交付试验等,检测发射机构在常温及高低温状态下的性能。论文写作。通过测试,暴露出发射机构各分组件、部件、分部件及有关元器件的制造缺陷,可及早将这些问题予以排除,提高发射机构工作的可靠性,以完成产品的调试生产、质量控制、验收交付等任务。
1 问题的提出
发射机构测试系统是根据生产任务要求研发的,原有测试软件是用C语言在DOS下开发的,界面简单,操作复杂。随着计算机硬件的升级,WindowsXP已经成为主流的操作系统,研制在Windowsxp新的测试软件是非常必要的。
2 策划
2.1硬件设计
本测试系统主要由工艺发射机构产品、信号处理电路、数据采集板卡、工控机以及软件平台等组成。发射机构的一些数据被数据采集板卡测得;各项状态则通过信号处理电路进行调理后,引入工控机;软件系统根据测试要求输出控制信号,经过处理电路后来实现对产品的控制。工控机内装有研华公司的PCI-1710卡和PCI-1721用来控制产品状态和读取测试数据,系统结构如图1所示:
图1 发射机构测试系统硬件框架
2.2 系统的软件设计
发射机构测试系统的软件采用NI公司的LabWindows/CVI进行设计开发。该软件是面向计算机测控领域虚拟仪器软件开放平台,是以ANSI C为核心的交互式虚拟仪器开发环境,将功能强大的C语言和测控技术有机结合,具有灵活编程方法和丰富的函数库,为开发人员建立检测系统、自动测试环境、数据采集系统、过程监控系统等提供了理想的软件开发环境,是实现虚拟仪器及网络化仪器的快速途径。
为了提高测试模型组合的灵活性和通用性,采用模块化设计的原则,将测试系统分为数个模块。本测试系统软件功能的结构框图如图2所示。
图2 软件系统结构框图
系统状态控制模块可进行测试系统自检状态和测试状态的转换;
状态监控模块可监控发射机构的供电、开锁,切除等状态并显示到面板的指示灯;
发射机构状态控制模块可通过测控电路控制发射机构各种测试状态;
板卡控制模块可对PCI-1710和PCI-1721板卡进行控制和测试数据的采样;
功能测试模块可对发射机构的各个测试项目进行测试并记录测试结果;
数据记录模块可将测试数据导入到EXCEL电子表格并可打印输出;
3 实施方案
3.1 硬件设计方案:在测试系统中,除了要处理模拟量输入、输出信号外,还要处理开关量和脉冲量信息,以便及时反映开关量状态并执行监视、控制的功能。硬件中采用光电隔离技术,使用光电隔离不仅可以使计算机的控制输出通道与被控负载之间在电气上完全隔离而达到良好的抗电磁干扰技术指标,也使这些控制指令具备足够的功率驱动能力,进而可靠实现驱动继电器等部件的目的。
3.2 测控软件设计方案:测试软件主界面主要完成的功能是实现测控系统的功能选择和系统的测试数据管理,测试系统主界面如图3所示:

图3 测试系统软件主界面
从图中可以看出,用户界面是一个有机的界面系统。主要包括:
A. 测试信息区域,用于输入和显示本次测试的产品编号、操作者、检验员等信息。
B. 测试项目区域,配合快捷按键可测试中的各项参数,便于测试人员在测试过程中更加直观地观察测试过程。
C. 测试状态指示区域,用来指示发射机构的各个测试状态。
D. 测试过程消息区域,用来指示测试过程现在进行到那个步骤,并给出该测试步骤的状态信息。
E. 测试电压监视区域,主要在测试过程监测发射机构供电电压。
F. 测试信号波形指示区,在测试过程中显示测试信号的波形。
G.自动测试按钮,按下该按钮,可实现自动测试的功能。论文写作。
3.3 软件测试流程图如图4所示:

3.4 关键技术:
3.4.1信息信号和制导指令信号的模拟输出技术:
在本测试系统中,需要模拟导弹产生的信息信号和制导指令信号。测试软件采用DMA技术利用PCI-1721板卡产生各路波形信号。主要函数定义如下:
void SetMultiToOneBuffer(USHORTusEnabledChannel, int count);
voidSetRealBuffer(float far *lpBuf, long num, LPSWAVE lpWave);
voidUserThread();
voidadInterruptEvent();
voidadBufChangeEvent();
voidadOverrunEvent();
voidadTerminateEvent();
voidMyFreeBuffer();
int Inf_Out(intnum,long rate,float Magnitude0,float Magnitude1,float Magnitude2,floatMagnitude3);
通过上述函数将需要产生的波形先存入缓冲区,在启动PCI-1721的DMA数据传送的功能启动线程,即可产生需要的各种信号波形。
3.4.2 测试系统要求实时监控产品的各项状态。
由于使用Timer定时器时所发送的定时消息受到消息队列和系统时钟频率等因素的影响,不能使得定时消息得到及时的响应和处理。同时,测试流程中需要进行一定的延时等待,因此,不能使用Timer定时器。在此,使用异步定时器控件来实现实时监控的问题。异步定时器通过加载驱动位于toolbox中的 asynctmr.fp来实现调用。与定时器控件相比,异步定时器控件由于使用独立线程,与程序主线程无关,能够提供可靠的定时精度,不会受到主载荷的影响。异步定时器的建立、删除和设置,分别通过调用函数 NewAsyncTimer()、DiscardAsyncTimer()和SetAsyncTimerAttribute()来实现。定时响应函数的声明为:IntCVICALLBACK MyTimerCallback (int reserved, int theTimerId, int event, void*callbackData,int eventData1,int eventData2);
在测试系统软件启动以后,建立一个定时器;然后设置定时器的定时时间和响应函数;在软件退出时,删除定时器;在定时响应函数中,调用板卡控制模块提供的读取数据函数,来实现实时状态监测的功能。论文写作。
2.效果和结论:
测试软件现已经过调试和严格的测试,运行良好,测试结果可靠,操作界面友好,使用方便,测试结果准确,测试过程简洁优化,大大提高自动化检测水平。该测试系统现已经过检验验收,达到交付的状态,完全满足了发射机构自动测试的需要。
参考文献
[1]NationalInstrumentCorporation.LabWindos/CVIUserManual[M].2005.
[2]孙晓云,郭立炜,孙会琴.基于LabWindows/CVI的虚拟仪器设计与应用[M].北京:电子工业出版社,2005.
[3]张毅刚,乔立岩等.虚拟仪器软件开发环境LabWindows/CVI6.0编程指南[M].北京:机械工业出版社,2002.
[4]周磊,滕克难,施建礼.基于LabWindows/CVI高精度定时[J].电子测量技术,2004,4:29-30.
[5]郭雅荫,杨世凤,王建新.LabWindows/CVI与PCI数据采集卡通讯技术研究[J].电子测量技术,2007,30(5):78-80.
|