APP下载

氢/氧火箭发动机试验自动紧急关机程序设计

2016-11-10丁博深

火箭推进 2016年2期
关键词:精度程序自动

陈 军,丁博深,段 燕

(北京航天试验技术研究所,北京100074)

氢/氧火箭发动机试验自动紧急关机程序设计

陈军,丁博深,段燕

(北京航天试验技术研究所,北京100074)

在氢/氧火箭发动机试验过程中,对发动机关键参数进行监测,及时发现异常或故障趋势,并快速实施自动紧急关机是非常重要的。本文在Pacific 6000数据采集控制系统的基础上,使用Visual C++开发环境对其自带的采集软件PI660进行二次开发,实现高精度自动紧急关机判读功能。在紧急关机程序设计中,定时器的精度直接影响判读的准确性,通过对几种定时器精度的测试和分析,选取“多媒体定时器”用于自动紧急关机程序,并结合Pacific 6000数据采集控制系统的特性,综合分析了自动紧急关机程序的响应时间及可靠性。

发动机试验;液体推进剂;自动紧急关机;定时器;响应时间

0 引言

火箭发动机地面试验是发动机研制的关键环节。发动机在试验过程中出现的故障,在极短时间内可能造成灾难性后果。如果能够对发动机关键参数进行精确的检测,出现异常情况时迅速执行自动关机操作,就可避免或降低故障带来的损失,进一步提高可靠性和安全性。

某型号氢/氧发动机试验台采用Pacific 6000数据采集控制系统实现发动机所有稳态参数(包括关机参数)的测量。Pacific 6000数据采集控制系统自带采集软件PI660,并留有开发接口,如果能够在该系统基础上开发自动紧急关机程序,则既可节约成本,又可降低整个系统的复杂性。

1 自动紧急关机需求和设计

在Pacific 6000数据采集控制系统上实现自动紧急关机功能,需要深入了解Pacific 6000数据采集控制系统的特性,并在此基础上用Visual C++来实现。

1.1Pacific 6000数据采集控制系统

Pacific 6000数据采集控制系统是集传感器信号调理、AD转换和控制于一体的高性能数据采集系统。它采用模拟、数字和软件技术对传感器信号进行调理、采集、显示和分析,提供模拟和数字信号输出对外部系统进行控制。与计算机的接口有GPIB及USB2.0两种模式。

图1 PI660采集软件功能模块图Fig.1 Function module diagram of PI660 data acquisition software

自带的PI660数据采集软件可运行于Win98. NT下,用于设置和操作Pacific 6000数据采集控制系统,数据采集速率最大1 M/s,用户可根据需要对其进行二次开发。其功能模块图如图1所示。

1.2自动紧急关机功能需求

发动机设计单位对紧急关机程序提出了具体判断准则。给出需要判读的关机参数及逻辑关系,对关机参数的判读周期为100 ms,在连续三次满足关机条件时发出自动关机指令,紧急关机时间不大于500 ms。

1.3软件设计

由上述可知,需要在图1的基础上增加自动紧急关机判读模块及紧急关机信息存储模块。

1)自动紧急关机判读。对采集系统获得的数据按照设定的逻辑关系进行判读,当满足关机条件时,通过继电器输出板卡发出触点信号,试验台控制系统接收信号后执行一系列关机动作。图2为自动紧急关机程序流程图。

图2 自动紧急关机程序流程图Fig.2 Flow chart of automatic emergency cut-off program

程序首先判断起动信号的电压值是否大于3.5 V,当起动信号电压大于3.5 V时,判定发动机起动,该时刻定为“0时刻”,开始获取关机参数的数值。使用判读周期累加的方式计时,当到达预定开始判读时刻时,开始按照预定判读条件,以100 ms为一个周期进行判读,当连续三次满足判读条件时发出紧急关机信号。

2) 紧急关机信息存储。当满足关机条件,执行关机动作的同时,保存判读参数的数值及时间信息,为事后查证提供依据。

通过图2可知,整个紧急关机判读过程由定时器控制来进行周期性的判读操作和计时,定时器性能的优劣关系到发生异常时,能否及时关机。

2 常用定时器性能对比

在紧急关机程序中,定时器是一个独立的线程,用于定时操作。在定时器使用时需要注意以下三个方面:一是在定时器中,不要执行可阻塞的事件,否则阻塞事件之后的操作将不能按时处理;二是在定时器中,不要执行过多占用CPU的操作,否则会导致定时器性能下降;三是定时器内的操作所需时间不能大于定时器的时间间隔,否则将引起程序崩溃。Windows系统提供了多种定时器的实现方案,包括WM_TIMER消息映射、Sleep(),timeGetTime()函数、多媒体定时器和频率计数器等。

2.1定时器精度测试

在Visual C++6.0开发环境下实现多个定时器对比,判读周期为100 ms,测试时间为2 000 s,使用频率计数器对其判读周期进行测量。统计结果如表1所示。

表1是在CPU为Intel Core2 2.93GHz,安装Windows XP SP2操作系统的工控机上对上述定时器测试的结果。由表1可知,多媒体定时器和频率计数器的定时比较精确,但频率计数器的标准差较大,说明其稳定性差。

2.2定时器差异分析

1)WM_TIMER是将设定的定时周期转换为IRQ0请求中断的次数,当到达要求的次数时,计时器对象就发送一个WM_TIMER消息,由响应函数处理。而NT内核的操作系统以约15.600 1 ms为周期响应中断,因此,定时器的最短时间间隔约为15.6 ms;另外,虽然定时器已经发送了一条WM_TIMER消息到消息队列中,但其优先级不高,该消息可能得不到及时处理。因此,在工业实时控制系统中无法满足高精度的定时控制要求。

表1 定时器测试结果统计Tab.1 Test results of timers

2)sleep()函数的CPU占用率较高,一般适用于单任务的程序。实际测试,该函数的精度同WM_TIMER的效果相当。

3)GetTickCount()函数可返回从计算机操作系统启动后到被调用时刻所经过的毫秒数,可利用其返回值实现定时功能。定时精度可满足需求。但是,其中断请求频繁,资源消耗较大。

4)Windows中为多媒体定时器提供底层API支持,它通过TimeBeginPeriod()函数设置最小定时精度,使定时周期不受15.600 1 ms响应中断的限制,且该定时器也不依赖于消息机制,而是由TimeSetEvent()函数产生一个独立的线程,从而保证定时中断在CPU资源紧张时得到实时响应。多媒体定时器是一种比较理想的定时器,精度可达到毫秒级。

5)频率计数器的精度非常高,可达纳秒级,但由于计算机硬件因素,会存在随机的“leap forward”现象,使得定时周期增加几十到几百毫秒,这对自动紧急关机程序来说是无法忍受的。因此,确定使用多媒体定时器在PI660采集软件上实现自动紧急程序开发。

3 自动紧急关机程序响应时间分析

本程序是以Pacific 6000数据采集控制系统为基础进行二次开发,因此,判读响应时间受定时器和Pacific 6000数据采集控制系统两个方面的影响。

3.1定时器精度对判读响应时间的影响

通过对定时器精度分析可知,自动紧急关机程序的一个判读周期实际是99~101 ms,由此对判读响应时间的影响如下:

1)在连续三次判读时,会造成第三次判读时间误差为-3~3 ms。

2)同理,使用判读周期累加的方式计时,如开始判读时刻为3 s,可能造成-30~30 ms的误差。

3.2自动紧急关机程序自身特性对判读响应时间的影响

自动紧急关机程序的一个判读周期为100 ms,在判读发动机起动“0时刻”时,可能造成的延迟为0~100 ms。

为了消除判读“0时刻”带来的延迟,将其判读周期由100 ms改为10 ms,可将判读延迟时间缩短在0~10 ms。为了提高执行效率,减小资源消耗,程序其它部分的判读周期仍为100 ms。

3.3Pacific 6000数据采集控制系统自身特性对判读响应时间的影响

Pacific 6000数据采集控制系统设有数据缓冲区,每隔50 ms打包发送至采集工控机,程序在t时刻读取的数据是过去50 ms内形成的数据包中的第一个值,因此,Pacific 6000数据采集控制系统的通道传输延迟为50 ms,如图3所示。程序在t时刻读取数据包中关机参数的数值时,会造成50~100 ms的延迟。

图3 Pacific 6000数据采集控制系统通道延迟Fig.3 Channel delay of Pacific 6000 DAS

综上所述,自动紧急关机程序响应时间为17~143 ms。

4 自动紧急关机程序测试及应用

根据发动机设计单提出的自动紧急关机判断准则,建立了涵盖故障及非故障模式库,共计32个状态。在与发动机试验状态一致的条件下模拟实现模式库内的所有状态,由Pacific 6000采集系统得到状态数据,PI660采集软件的自动紧急关机程序完成状态的判读,起动信号由控制系统触发。当输入故障模式状态时采集系统控制继电器吸合,发出信号给控制系统,控制系统接收到信号后发出关机动作指令。在试验现场与控制系统、发动机联合测试,自动紧急关机程序响应时间与上述理论分析一致。关机时间为317~443 ms,满足任务需求。自动紧急关机判读模块及紧急关机信息存储模块工作正常,PI660采集软件在二次开发后工作正常。某次热试车数据如图4所示,发动机工作到232.02 s时满足压力参数pep<9.5 MPa的关机条件,在232.36 s时完成自动紧急关机动作,关机时间为0.34 s。

图4 pep参数满足关机条件的放大曲线Fig.4 Magnified graph that pepparameters meet requirement of emergency cut-off

5 结论

经过分析、测试和试验验证,以Pacific 6000数据采集控制系统为基础,使用多媒体定时器在PI660采集软件上实现的自动紧急关机程序,具备快速响应自动紧急关机功能,无“误判、漏判”情况发生,对发动机和地面试验设施起到一定的保护作用。由于Pacific 6000数据采集控制系统在其它试验系统广泛使用,本程序的设计思路和方法具有较好的推广性,在节约成本的同时也降低了整个测控系统的复杂性。

[1]唐云龙,代玉东.液氧/煤油发动机地面试验故障紧急关机系统研制[J].火箭推进,2005(1):47-51.

[2]卓红艳,赵平.基于VC++的实时数据采集系统中定时器的使用比较[J].现代电子技术,2007(18):80-82.

[3]王伟,徐国华.多媒体定时器在工业控制中的应用[J].微型机与应用,2001(12):8-10.

[4]许广柱,吴锦凤.基于WinCE的发动机试验实时控制软件设计[J].火箭推进,2011(5):74-77.

[5]王鹏飞,王鹏.基于Visual C++6.0的Windows应用程序定时器研究[J].计算机技术与发展,2013(2):44-48.

[6]雷震,唐云龙.VXI数据采集系统的建立及其应用[J].火箭推进,2008(5):54-58.

[7]SOLOMON D,RUSSIONVICH M.Performance counter value may unexpectedly leap forward[J/OL].[2011-09-14].http://www.wenku.baidu.com/v.

[8]美国太平洋仪器公司.Pacific 6000 DAS数据采集与控制系统硬件操作使用手册[Z].美国太平洋仪器公司,2008.

[9]阮桢,胡德金.多媒体定时器在机油泵性能测试系统中的应用[J].工业控制计算机,2005(5):27-28.

[10]王文武,王诚.多媒体定时器的定制和使用方法[J].计算机应用,2000(3):39-41.

[11]何斌,韦工.基于多媒体时钟的定时控制[J].船舶电子工程,2006(4):97-99.

[12]权晓蕾,杨业明.高精度定时方法在舵系统测控中的应用[J].计算机测量与控制.2011(6):1325-1328.

[13]张志明,孙广清.Windows下高精度软件定时器的研究与实现[J].微型机与应用,2003(1):55-57.

[14]张金英,刘晓东.基于Windows 9x的实时控制软件实现方案[J].控制工程,2006(S0):116-122.

[15]曹双贵,蒋芹.基于80X86 CPU和Windows平台的实时测控系统精确定时[J].工业控制计算机,2006(10):32-33.

(编辑:王建喜)

Design of automatic emergency cut-off program in LH2/LOX engine test

CHEN Jun,DING Boshen,DUAN Yan
(Beijing Institute of Aerospace Testing Technology,Beijing 100074,China)

In LH2/LOX rocket engine test for real-time monitoring of the engine's critical parameters,it is veryimportant to find the abnormal phenomenon and fault trend,and make a response quickly.In this paper,based on Pacific 6000 DAS,Visual C++development environment is used to make the redevelopment of its own software PI660 to implement the high-precision automatic emergency cut-off function.The accuracy of program's timer directly affects the precision of interpretation in design of the emergency cut-off program.The multimedia timer was selected for automatic emergency cut-off program after testing and analyzing the precision of several timer. Besides,combining with the characteristics of Pacific 6000 DAS,the response time and responsibility ofthe automatic emergencycut-offprogram were analyzed.

rocket engine test;liquid propellant;automatic emergency cut-off;timer;response time

V434-34

A

1672-9374(2016)02-0069-04

2015-06-10;

2015-08-25

航天支撑技术项目(617010411)

陈军(1980—),男,工程师,研究领域为氢/氧发动机试验测控技术

猜你喜欢

精度程序自动
热连轧机组粗轧机精度控制
自动捕盗机
给Windows添加程序快速切换栏
试论我国未决羁押程序的立法完善
基于DSPIC33F微处理器的采集精度的提高
“程序猿”的生活什么样
让小鸭子自动转身
自动摇摆的“跷跷板”
英国与欧盟正式启动“离婚”程序程序
关于自动驾驶