气动力模拟器的实时控制分析与软件设计
2019-09-25
(北京卫星环境工程研究所,北京 100089)
0 引言
传统方式的气动力模拟加载伺服系统结构设计大多采用一台计算机完成其所有的功能:控制、数据采集、监控管理和曲线显示等。这种计算机控制体系结构简单,但计算机的负担太重,需要处理的内容太多,严重制约了系统性能的提高[1-4]。为实现高性能的控制及便捷的使用,我们采用设计上下位机两个软件来实现伺服机构性能测试变加载系统的测控系统。
对于基于计算机的伺服控制来说,实时性是其控制的核心,没有实时性也就无法保证控制的顺利进行,更不用说达到高性能的指标了,所以分成两个软件来实现整套测控系统软件。计算机测控系统必须具备良好的实时性。同时,测控系统还必须具备人性化的操作界面,方便操作人员的使用。由此可见丰富美观的操作界面是计算机测控软件的一大需求,基于人们普遍对Windows图形化界面的熟悉及欢迎,因此测控系统软件的操作界面应该具备基于Windows的图形化表现形式。
从上面的分析不难得出,计算机测控软件要具备两个基本特征,一是控制的实时性,二是操作的人性化需求。然而这两个特性之间又是冲突矛盾的,这是因为具有人性化操作界面的软件是基于Windows图形化操作系统的,然而Windows操作系统的任务分配是通过抢占式,不具备伺服控制需求的实时性。
为了解决上述矛盾,设计采用两台工业控制计算机来实现测控软件的总体需求,其中一台运行Windows操作系统,并基于Windows操作系统开发了图形化的操作软件,该软件控件丰富,图形美观,操作简单,类似于Windows操作风格,为综合管理子系统,它具有图形化操作界面、能完成与人交互功能、能实现操作人员对系统的各种操作命令,并丰富的展现系统各方面数据,但它不具备实时性。第二台工业控制计算机安装具有实时性的操作系统,例如典型的传统DOS,可用于伺服控制的程序,为实时控制子系统。即采用两台工控机分别搭建了便于操作人员使用的综合管理子系统及用于伺服控制的实时控制子系统,两个系统之间采用以太网相连,完成命令及数据的交互。
这种体系的计算机测控软件结构虽然很好的满足了系统需求,但是其最大的缺陷是:
第一,结构复杂,调试繁琐;
第二,两台计算机必须通过某种机制来完成数据通讯,常见的方式是采用网络机制,但是由于伺服系统性能要求很高,数据量庞大,采样周期小于1 ms,甚至0.5 ms以下,网络通讯传输造成的计算机资源占用成为压缩采用周期的最大瓶颈,严重影响了系统性能。
随着信息科技的进步及计算机性能的大幅提升,一种基于实时操作系统 (Real-Time Extension,RTX)的Windows实时操作系统技术的出现为解决上述缺点提供了有力的支持。这种系统的特点是,其基本架构仍然是Windows操作系统,因此它仍然具备Windows操作系统所具有的图形化设计优点,同时它将具有实时性的RTX技术嵌入到Windows操作系统中来,使得Windows操作系统在保留其自身优势的同时具备了在特定条件下的实时性。利用这一技术,我们采用单台工业控制计算机就可以搭建我们所需求的综合管理子系统和实时控制子系统了。综合管理子系统仍然运行在Windows环境下,具有丰富美观的操作界面。实时控制子系统运行在RTX环境下,具备了实时性特征,二者之间的通信不必再用复杂网络实现,而是直接采用RTX所提供的共享内存机制,在一台计算机上通过内存的共享模式方便的实现了命令及数据的交互。
1 软件总体结构
空气动力加载系统应用在飞行器空气动力学半实物仿真平台试验中,其实际功能主要有硬件在环的半实物仿真、控制信号生成与数据分析、以及空天飞行器舵面作动机构的独立测试。本软件系统,首先要实现与半实物仿真系统的通信,接收系统发送来的测试指令;然后要有合适的人机交互功能,实现数据的显示,控制参数的录入,和数据的保存;还要有对加载台体各传感器信号的采集与处理;最重要的是对加载作动元件的实时控制,当然其内部必须内置有先进的控制方法,用来实现最优控制指令的解算与生成。其结构如图1所示[5]。
图1 测控系统软件整体方案图
该测控系统由两部分组成:综合管理子系统和实时控制子系统。
采用综合管理子系统与实时控制子系统这种功能分布式结构形式可以很好地克服单个程序的缺点。将底层功能进行分工,综合管理子系统负责数据处理、主要的控制参数的调整,数据通过共享内存机制下载到实时控制子系统中,解放出实时控制子系统,使其能够以更小的控制周期完成控制任务。整个综合管理子系统采用Windows操作系统,具有非常友好的界面;实时控制子系统采用RTX实时控制平台,可以直接应用中央处理器(CPU)的硬件定时周期,令采样周期变短,同时,实时控制子系统只需一个显示当前状态的监视界面即可。当软件调试完成后,实时控制子系统可以完全脱离监视器而运行。实时控制子系统的所有操作都可以通过综合管理子系统来完成。这样不但可以减轻计算机的负担,也可以实现良好的界面,从而是操作更加简单,直观。
综合管理子系统和油源虚拟仪表软件采用均是基于Lab Windows/CVI开发而成,Lab Windows/CVI是基于C语言实现,易于根据需要拓展软件功能该编程软件集成了丰富的界面及控件,用户使用方便。使用该软件设计的综合管理子系统程序界面美观、控件采用虚拟化仪表形式,灵活易用,贴近实际,操作简单,从该程序可以方便快捷的实现如下功能集:
1)加载开始、位置和力矩的归零、加载停止、记录数据、保存数据、程序退出等命令集。
2)通道选择、指令幅值、指令频率,指令波形、测试类型等指令集。
3)参数设定、参数整定、参数保存、曲线显示、误差监控等功能集。
实时控制子系统是基于RTX的Windows实时操作系统,采用VC++以及RTX编写。基于RTX的实时控制子系统是保证程序完成实时控制的核心,是伺服控制的中枢,其主要完成接受来自综合管理子系统的命令集及指令集,通过实时数据采样,计算加载系统的跟踪误差,经由复合控制算法,得到控制量,并将控制量通过数模转换板卡转化成模拟量,驱动加载控制器形成伺服阀的驱动电流,进而控制加载系统跟随指令,完成控制动作[6]]。在完成伺服控制的同时,实时控制子系统同时还将采集到的数据传递给综合管理子系统,综合管理子系统进行数据的处理与显示。
2 综合管理子系统软件
综合管理子系统是加载控制系统的总控,和总管级,作为人机交互与数据后处理的实现部分。交互功能包括系统的各项指标的显示与监控,控制参数的录入,系统工况选择,与系统的启停等。综合管理人机交互子系统基于Lab Windows/CVI开发。
2.1 综合管理子系统综述
软件主要功能如图2所示。
图2 综合管理子系统软件功能
系统有静止加载、对顶加载、运动演示及半实物仿真四种测试模式。下面分别解释各工作状态的意义。
1)运动演示:运动演示是对各个通道独立进行位置控制,可以用来查看通道本身的物理状态和查看舵机加载器的位置控制精度。
2)静止加载:静止加载是用来检验系统无扰时的工作性能,考核系统的无扰频宽和力矩跟踪精度等情况。
3)对顶加载:对顶加载是在没有舵机的情况下检验系统的动态性能,包括系统的消除多余力、动态频带等。
4)半实物仿真测试:仿真测试是和舵机一起进行半实物仿真的控制,完成和仿真计算机通讯,接受载荷指令完成加载的功能。
图3为综合管理子系统的程序流程图,系统首先要创建与实时控制系统通讯用的共享内存,然后设定参数值,控制实时程序启动。而每次定时器函数触发,则运行(b)流程,把共享内存中的各种采集数据读取出来并显示。
图3 综合管理子系统程序流程
综合管理子系统半实物仿真试验监控界面如图4所示。
图4 综合管理子系统加载试验监控界面
四个测试界面采用相似的界面布局和功能设置,
每一测试界面分为四个区域,分别是指令波形与采样波形显示区(下简称波形显示区)、通道设置与参数设置区(下简称设置区)、操作区、油源监控区。波形显示区由四块示波图组成,每一示波图具有通道选项、Y坐标选项和波形内容标签等状态参数,示波图显示实时的指令波形或者采样波形。左侧两图分别显示力矩指令与力矩采样波形、角度指令与角度采样波形,右侧两图显示的波形可根据内容选项选择。各图的波形颜色与标签文字一致,如指令波形为白色,采样波形为红色。通道选项可选择所要显示的通道波形,且具有四图联动的特点。Y坐标选项可根据波形幅值进行调节,波形幅值将进行相应比例的放大或缩小。
设置区包括通道设置和控制参数设置,点击区域左侧相应的标签进行转换。通道标签中包含相同的设置内容,启动前可进行相应的设置。通道标签与波形显示区通道选项有联动特点,保证激活的通道标签与波形显示内容一致。
操作区包括三项系统操作和三项数据操作。在结束数据记录并保存后可通过数据回放按钮,设置回放软件路径并打开软件,进行数据回放和结果分析。
数据重现与处理子系统有着完整功能,预留了与主系统的数据接口,其界面如图5所示。
图5 综合管理子系统软件的数据处理窗口
综合管理子系统参数设定模块如图6所示。
图6 指令及参数设定界面
2.2 油源虚拟仪表软件
油源是电液负载模拟器系统的能量之源。油源的稳定运行是加载系统加载精度的保证也事关系统的整体安全,对油源压力、温度等各种参数的准确及时的测量和监控是控制系统必须的基本功能[8]。同时由于安全性考虑,远程虚拟操作能力也是油源控制软件必备功能。
油源虚拟仪表软件能够实现油源控制器上的全部操作与监控功能,可以植入到远程控制终端上,实现远程的油源管理、监控与操作。
油源虚拟仪表软件仍然采用LabWindows/CVI编写。
油源虚拟仪表软件的主界面如图7所示。
图7 油源虚拟仪表软件的主界面
油源控制面板包括压力设定区、压力温度指示区、状态记录区、状态警示区和油源控制区。选择串口正确后,即可对油源压力进行设定,对油源进行控制,相应的操作在系统状态栏中都会有提示。
3 实时控制子系统软件
实时控制子系统是运动伺服控制系统的直接控制中枢,用以构成多个通道回路的控制。
实时控制子系统软件采用美国Ardence开发的RTX应用,通过VC++编写相应的控制程序,可以实现实时控制与信息采集。
RTX实时扩展内核是Windows平台上的实时解决方案,在Windows下的RTSS(实时扩展子系统)中运行RTSS程序,可以达到0.1ms的定时步长,能够达到很高的实时性。通过RTX提供的共享内存机制,可以十分方便的把RTSS实时进程采集的数据和输出的指令提供给其他的Windows进程
实时控制子系统软件主要功能模块如图8所示。
其中综合测试单元通讯模块可根据用户需求定制。
图8 实时控制子系统模块分析
实时控制子系统采用模块化结构,子模块各自单独测试,设计效率可提升,各子系统功能模块如下。
1)板卡驱动模块:主要完成初始化各板卡功能。
2)数据采集模块:主要完成平台各传感器数据采集功能。
3)控制算法模块:封装了各种常用控制算法。
4)控制输出模块:主要完成将控制量输出至驱动器功能。
5)定时器模块:主要程序主定时器,完成实时功能。
6)共享内存模块:主要完成综合管理子系统与实时控制子系统通信功能。
7)实时控制主程序模块:调用各模块,完成实时控制需求。
图9为实施控制子系统的程序流程图,(a)中为主程序,主要是把共享内存内各种参数读取并使用,然后令定时器开始工作。(b)中为中断运行程序,主要进行数据采集和控制算法的运行以及控制指令的输出并把采集的数据传到共享内存中。
图9 实时控制子系统程序流程
4 系统主要特点
此负载模拟系统软件功能上和技术上具有如下鲜明的特点:
1)多通道平行测控;可同时为多达4个通道同时提供测控,大大增加了应用场景,可服务于多种飞行器对象,提高系统效率。
2)高速的多路A/D、D/A数据采集与控制,采样精度高,采集效果好;
3)丰富的通信接口驱动,支持CAN总线,以及短距大快速大数据传递最常用的VMIC实时网络,还能支持RS422协议。丰富的通信接口大大方便了加载系统与仿真计算机的通信;
首先,气动力模拟加载伺服系统是一种较大型系统,而且要应用到半实物仿真的分布式系统中,业内公认的大型分布式系统的实时通信连接方式就是VMIC实时网络方法,利用VMIC实时网络将负载模拟、仿真计算机、转台和导航等各个分系统连接起来,可以实现大量数据的快速传递;同时,CAN总线接口是标准的现场总线形式,可实时传输数据,搭建的系统可灵活扩充,且对于工业现场的各种电磁干扰有很好的屏蔽能力,也没有模拟信号的长距离衰减问题,因此应用广泛;本系统还配备了备用串并口接口,对于无法使用VMIC及CAN总线的实验对象,可以使用该接口通讯,同时,串并口接口也可作为测试仪器的接口,用来实时采集加载系统的主要测试参数,或者作为一个输入接口,可接收其他串并口设备的测试信号。
4)先进的多种现代控制、智能控制等计算机控制算法工具箱;
程序中提供了多种控制算法工具箱,既有经典的PID控制算法,也有各种非线性对象控制算法,包括Fuzzy控制、鲁棒控制以及现代智能控制算法如神经网络控制等,便于实验人员根据不同的加载对象和加载需要使用不同的算法。
5)综合管理子系统和实时控制子系统由于使用同一工控机,两者之间共享内存,数据传输实时性更好,连接无时延。
6)直观简洁的人机交互界面:综合管理子系统采用窗口化显示,数据显示清晰,控制功能齐全,参数输入方便,充分考虑了人机工程,可大大增加实验人员的测试效率。
7)完整的测试、采样、数据存储、信号分析和处理技术;
本加载系统软件还提供了数据存储功能和后期数据处理功能,包括众多数据处理与分析方法,极大地增加了系统便利性,为研究人员的数据使用和分析提供了非常方便的手段,避免用户导出数据和使用其他软件进行数据分析的繁琐过程。
8)充分考虑了数据的后续深度处理;
本控制软件里的数据分析功能有限,考虑后续的数据深度处理分析,因此数据可保存为各种主流数据处理软件支持的格式,便于后续数据处理。可以支持Matlab和Labview两种数据处理软件,足够研究人员进行后续的数据处理与分析。
5 结束语
现代战争中决胜的关键往往是先进的、精确的制导武器技术,其拦截、突防和精确打击能力是衡量武器系统水平的重要标志,"精确性"是武器性能的核心,飞行器的姿态和轨迹控制是关键,这个过程是靠飞行器舵面所受气动载荷调节完成的,气动力负载模拟器是飞行器地面试验必备设备,主要用于提高武器精确打击准确性的试验中,对提高武器打击精度意义重大。本气动力模拟器控制系统软件,采用上下位机架构,设计了简洁的控制架构,控制周期可以达到微秒级,满足了模拟器系统实时加载的需求,提高了半实物仿真的可信度,为先进控制算法的实用化建立了基础。