,, ,
(中国空气动力研究与发展中心,四川 绵阳 621000)
风洞试验流程是风洞试验中参与流场调节的受控对象运行时序和运行逻辑的描述。在风洞试验过程中,不同试验方式、内容和对象对试验流程有不同的要求。传统的风洞流场控制软件中试验流程设计固定[1],试验流程的调整主要依靠修改软件代码、升级软件的方式将软件功能调整到需要进行的试验控制流程。这种以软件代码修改方式为主的软件维护方法,增加了软件维护成本和维护难度,对软件维护人员提出了较高的要求;同时,也容易产生无法预料的错误,给风洞试验带来潜在风险。
现代科学技术迅猛发展,测量、控制软硬件技术水平不断提高,为风洞测控系统功能完善、性能提升创造了更多实现方法,提供了更佳的技术支持体验。为研究如何以灵活、有效的方式,处理大量不同试验的变化[2],以降低应对成本和风险,提高风洞试验质量效率和管理效率,需要对风洞流场控制软件的可靠性、灵活性进行有针对性的设计。
本文以某新建亚跨超三声速暂冲风洞流场控制系统为研究对象,简要介绍了该风洞流场控制软件试验控制流程描述与解析设计实现方法。
风洞流场控制系统的主要功能是依据试验工况差异选择不同的运行模式对参与流场调节的主进气管路调压阀(包括主调压阀和旁路调压阀)、引射进气管路调压阀(以下简称:引射器调压阀)、栅指等执行机构进行位置闭环控制和压力闭环控制,从而建立所需的稳定流场,同时还负责模型姿态角控制,以获得模型在确定流场环境、不同姿态下的试验数据。具体而言,超声速试验前,柔壁型面控制系统将喷管预置到试验所需的M数型面,亚跨声速试验时,柔壁型面控制系统将喷管预置到声速型面。主调压阀、旁路调压阀和引射器调压阀等组成阀门系统,负责试验中气流控制和总压、引射压力调节;栅指机构用于亚跨声速流场驻室静压的调节[3]。
流场控制软件采用LabVIEW统一开发环境[4]进行开发,实时应用软件开发需要安装Real-Time实时软件模块[5]。软件包括测控间运行管理软件和部署到风洞现场PXI实时系统[6]的实时应用软件两部分。软件采用三层结构进行设计,由顶至下分别是:
操作层(即运行管理软件)实现软件的交互功能,提供给操作人员使用;
问题领域层用于解决流场控制领域内的试验流程解析、压力闭环控制、机构控制、安全控制及对上层、对下层的通讯接口;
硬件接口层用于实现与PXI外联设备的信息交互,是三层中唯一与设备耦合的层,也就是说,硬件接口层之上的两层都采用数据、变量、参数文件、数据文件等进行交互,与设备零耦合,这样的软件结构是后续软件优化的前提和基础。问题领域层和硬件接口层共同构成实时应用软件。流场控制软件基本功能及结构如图1所示。
图1 流场控制软件基本功能及结构示意图
根据试验需求,风洞基本运行模式包括(但不限于)以下3种:
(1)下吹式,只有主进气管路调压阀对总压进行调节,引射器调压阀不工作;
(2)引射下吹式,主进气管路调压阀和引射器调压阀均投入各自压力调节;
(3)引射启动式,风洞启动时引射器调压阀工作,然后主进气管路调压阀投入运行,主进气管路调压阀转入压力闭环控制后关闭引射器调压阀,试验结束时再次启动引射器调压阀[7]。
图2 亚跨超声速风洞运行模式流程图
图2是上述三种运行模式的简要流程,流程中的虚线部分“栅指M数调节”模块仅在需要使用栅指进行M数调节的亚跨声速试验工况下才会被使用。
随着风洞试验技术不断配套,风洞试验工况不断增加,风洞试验流程也会不断增加。因此,如何安全、高效应对更多试验工况,这是摆在流场控制软件设计者面前不可回避的问题。
依据对现有风洞长期运行实践经验的积累,可以认为,参与流场调节的控制对象及这些控制对象在流场调节过程中的控制行为都是确知的、可枚举的有限数量集。基于此,为改进流场控制软件设计模式以优化软件维护管理模式,在软件代码设计阶段,仅对这些参与流场调节的控制对象及其控制行为进行描述,而不对这些控制对象及控制行为的运行时序和逻辑进行描述。在上位运行管理软件中开发独立的试验流程编制模块,对试验流程进行基于自然语言的流程描述[8];在PXI实时应用软件中开发流程解析模块,对来自运行管理软件的试验流程进行解析,风洞按照所解析的时序和逻辑调度参试设备完成试验,试验结束后按照配置的关车流程自动关车。试验中,欲有紧急情况时,操作人员通过上位运行管理软件发出“终止试验”信号,PXI实时应用软件收到指令信息后立即将试验流程跳转到“紧急关车”流程,风洞将按照配置好的“紧急关车”流程自动完成系列关车动作。
风洞试验流程描述[9]设计主要包括流程索引、指令节点和行为节点三部分内容。
流程索引是对每条流程节点的序列标识。索引值起始于0,逐条加1。每一个指令节点、行为节点都有唯一的流程索引与之对应。试验流程的时序和跳转逻辑将以流程索引为依据进行执行。
指令节点包括准备开车、准备开车取消、开车、正常关车、PXI回零关车、PLC回零关车、紧急停车等。指令节点采用中文命名,按顺序排列,这些节点将一个完整的试验流程划分为几个阶段,每个阶段内依据试验需要而包含数条行为节点。指令节点本身并不产生任何机构控制行为,机构控制行为依据指令节点后跟随的行为节点而产生不同的动作。
行为节点包括机构名称、机构行为、行为参数1、行为参数2和状态检查五部分内容。机构名称对象有主调压阀、旁路调压阀、引射器调压阀、栅指机构、迎角机构等;机构行为指的是机构在流场调节中的动作,比如充压阶段的“调压阀高开”和泻压阶段的“调压阀回拉”,调压阀转入“压力闭环控制”,“调压阀定位”等,在流场调节过程中,某机构具有哪些控制行为,其依据是软件研制过程中设计了哪些行为,及哪些行为被调度;行为参数1、行为参数2则是这些机构行为的速度、位置、时间等参数;状态检查用于确定是否需要对机构行为执行情况进行状态检查,如果不需要状态检查,则直接将流程索引跳转到下一流程索引;如果需要检查,则需要判断被检查项是否完成,待完成后再转入执行下一流程索引。
为实现试验流程编辑功能,上位运行管理软件开发试验流程控制表编辑模块,试验流程控制表编辑器如图3所示,编辑器界面分为三个区域,左侧区域是某个机构的行为列表,用以提示对应机构拥有哪些行为动作可以选择输入到表格中;右侧区域是帮助说明,提供简要的编辑指导说明;中间区域用于编辑流程所有相关信息。编辑器中,除了参数1、参数2需要手动输入外,机构名称、机构行为和状态检查都采用快捷菜单选择输入方式进行编辑,这样可以最大限度控制人为编辑错误。
图3 试验流程控制表编辑器
流程控制表编辑好后,软件在保存控制表时自动将表格索引作为流程索引一并保存。
试验阶梯数及各个阶梯的值不在此进行编辑,而在试验参数中进行给定,在准备试验时,需将试验参数通过网络共享变量发送到现场实时应用软件。
为实现对流程控制表信息的解析,PXI实时应用软件开发专门的流程解析模块。流程解析模块通过网络接收来自上位运行管理软件的流程控制表,并将该表以变量的形式存于系统内存中。PXI实时应用软件对试验流程控制表的解析包括分别用于指令节点解析、行为节点解析和阶梯进程解析三个部分。
在PXI实时应用软件中,对指令节点解析过程是:实时应用软件接收到来自上位运行管理软件的试验流程控制指令(如:准备开车、准备开车取消、开车、PXI回零关车等),或接收到实时应用软件中安全联锁模块产生的流程控制指令(如:超压保护关车,PLC回零关车等),在流程控制表中搜索指令所在位置,并对流程索引执行加1操作,试验流程将自动转入指令节点后的系列行为节点解析。
在PXI实时应用软件中,行为节点解析模块针对每种机构而开发。对机构行为节点的解析流程是:在流程索引所在行机构名称列提取机构名称,在解析模块中判断机构名称是否与本模块控制对象一致,如果不一致,则保持当前索引值,程序转入下一机构解析模块,如果一致,则转入本模块内进行机构行为解析,并将参数1、参数2赋值给该机构行为,同时加载状态检查项。
状态检查项用于控制行为节点索引。如果某项行为需要进行状态检查,在该行为未能满足状态检查条件时,索引保持当前值;在该行为满足状态检查条件后,流程索引控制将对流程索引执行加1操作,从而将索引指向下一个行为节点;如果该行为不需要进行状态检查,则该行为分支发出控制指令后,流程索引控制将对流程索引执行加1操作,从而将索引指向下一个行为节点。上述解析流程如图4所示。
图4 行为节点解析流程
在实时应用软件中,行为节点解析模块按照主调压阀、旁路调压阀、引射调压阀、栅指、模型支撑机构、其它外部机构的顺序串行设计和解析。上位运行管理软件在编辑试验流程时,须按照同样的顺序编辑机构行为。这样的设计可以保证:假如所有的行为都不需要进行状态检查,则在软件模块一个扫描周期内,所编辑的行为将被顺序执行,从而提高了软件的运行效率和实时性。
风洞完成启动转入压力闭环控制后,试验流程将转入阶梯进程解析控制阶段。阶梯进程解析控制功能主要实现总压阶梯进程解析与控制、M数阶梯进程解析与控制和模型姿态角阶梯进程解析与控制。试验中,最常见的试验工况是固定总压、固定M数、变模型姿态角阶梯控制,但也存在变总压阶梯,或变M数阶梯的试验工况。为兼顾三种参数的阶梯进程解析与控制,特将模型姿态角阶梯、M数阶梯和总压阶梯设计为由内至外的固定解析控制结构,即首先解析模型姿态角阶梯,如果模型姿态角阶梯试验完成,再转软M数阶梯,待M数阶梯试验结束,最后转入总压阶梯,总压阶梯试验结束,则转入关车流程,具体流程详见图5所示。因此,运行管理软件在编制试验阶梯进程时,需要按照上述固定结构进行编辑。
图5 试验阶梯解析控制流程图
软件测试分为软件独立测试和流场控制系统无风联调测试两部分内容。
软件独立测试主要完成了以下两项流程描述与解析相关测试:
(1)流程控制表编辑器功能测试,通过测试完善了行为参数1、行为参数2的边界预警和强制转换功能,将参数限定在系统可接受的合理范围内。
(2)试验流程控制表一致性检查,对存在于运行管理软件中的流程控制表和通过网络发送到现场实时应用软件中试验流程控制表的一致性进行检查,由于采用NI提供的网络共享变量进行网络传输,其传输机制保证了数据传输的完整性,未检测到流程控制表不一致的现象。
为实现无风状态下流场控制系统联调测试[10],专门开发了压力仿真模块用以模拟试验中各压力监测点的压力,控制系统无风联调测试过程中,截至气流,流场控制系统在压力仿真模块引导下完整模拟试验过程全部调控细节。
无风联调测试主要完成了以下几项流程描述与解析相关测试:
(1)指令节点解析模块和行为节点解析模块功能测试,测试将现场实时应用软件中执行的流程索引值通过共享变量上传至运行管理软件并保存,试验完成后通过索引值反查流程控制表以检查流程执行的正确性。
(2)阶梯进程解析控制模块功能测试,测试试验是否按照给定的阶梯控制参数执行试验。
(3)参数测试,测试了软件是否严格按照流程控制表提供的参数执行。
(4)状态检查项测试,测试了软件是否严格按照流程控制表提供的状态检查参数执行。
软件后期还通过风洞综合性能调试进一步测试验证了软件功能和性能,测试结果表明:
(1)软件的流程描述功能设计合理,能够准确描述和配置复杂的试验控制流程,流程编制和流程解析方面实现了预期的功能。
(2)基于流程描述的风洞流场控制软件设计方法,极大降低了对软件代码修改的依赖程度,提高了试验工况软件变更的效率,提高了风洞调试效率;
(3)基于流程描述的风洞流场控制软件设计方法,极大降低软件维护难度,降低了软件维护人员的技术门槛。
限于篇幅限制,本文仅就流程描述方法、流程编辑实现、流程解析过程及软件测试进行了陈述,软件的功能模块和软件结构设计等问题未作详细陈述。
基于试验流程描述与解析的软件设计方法,采用NI LabVIEW(包含Real-Time Module)软件开发平台,完成了某亚跨超三声速风洞流场控制上位运行管理软件和现场PXI实时应用软件设计开发和测试。通过风洞综合性能调试,对软件进行了完整检验、测试和完善,软件达到了预期的设计目标,软件设计模式具有一定的推广应用价值。