民机高升力系统状态机建模仿真及测试校准
2020-04-10梁森王婧茹姚鷁郑保
梁森,王婧茹,姚鷁,郑保
(1.航空工业第一飞机设计研究院检验计量中心,陕西 西安710089;2.中航西飞民用飞机有限责任公司,陕西 西安710089;3.空装驻西安地区军事代表局第一军事代表室,陕西 西安710089)
0 引言
随着现代传感器以及数字计算机的不断发展,在控制领域,模拟信号越来越多地被离散化为数字信号。各类数字计算机因具有控制精度高、可靠性好、实时性好等优点,在现代嵌入式机载设备开发领域中的使用已成为主流[1-7]。目前,某一个控制系统一般由几个不同的控制计算机或者控制器组成,各控制器之间的通讯以及状态切换成为控制系统设计的关键。
在系统建模时必须考虑到系统各个状态之间的转换过程,因此本文介绍了基于有限状态机的数学模型及Petri网在民机高升力分系统设计中的应用,通过系统状态机建模、仿真分析以及将仿真结果和试验结果进行比对并校准这一完整过程,来论述该方法的可行性以及意义。
1 Petri网络基本属性
Petri网络是1962年由卡尔·佩特里博士发明的一种用于描述离散系统的数学方法。Petri网能表达并发的事件[8],具有严格的数学表达和直观的图形描述。将Petri网络应用于状态机领域,其数学表达即系统的状态转移方程,图形描述即状态迁移图,二者可以分别对系统状态流进行详细的描述和分析。
Petri网络的基本元素有:①库所:用来描述不同状态的节点;②变迁:对应系统中某一事件的发生;③有向弧:库所和变迁之间的有向线段,表示状态迁移的方向;④令牌:库所中的动态对象(用库所中的实心圆表示),随着事件的发生,令牌可以从一个库所迁移到其他库所。
系统的状态转移方程是基于系统的状态机模型,利用离散整数来构建的线性矩阵。它能够描述系统的动态特性,同时为利用计算机来实现仿真和验证提供了可能。Petri网络具备三个基本属性:有界性、非死环、可回溯性[9]。对于任意一个Petri网络的分析都是以这三个属性为出发点来进行的。
2 民机高升力系统架构及通讯机制
2.1 高升力系统架构
某民机高升力系统架构如图1所示。整个系统是驾驶员在环的闭环控制系统。系统操作分为正常模态和降级模态。在正常模态下,驾驶员通过座舱屏显获取当前舵面位置以及系统状态等信息。根据飞行需要,操纵控制手柄至目标位置,该操纵信号通过手柄位置传感器并经过A/D转换输入到控制器,控制器采集当前舵面位置传感器信息获取当前舵面位置,根据当前位置与目标位置进行控制律解算,得出偏差角并输入到动力驱动单元,动力驱动单元根据偏差角的大小和极性控制直流电机旋转,带动扭力杆等作动器控制舵面运动到目标位置,完成整个闭环控制过程[10]。
图1 某民机高升力系统架构
控制器发生故障导致系统进入降级模态。在该模态下,驾驶员通过超控单元的使能按钮使能超控单元,直接通过超控单元控制动力驱动单元的电机,从而控制舵面运动到安全位置,保证飞行安全。
2.2 控制器与动力驱动单元之间接口协议及通讯机制
在该系统中,控制器是控制核心,它与动力驱动单元协同工作,共同实现舵面位置控制、系统状态监控等功能。作为系统核心的控制器,负责解算控制律和上报系统状态监控等任务。首先,控制器在上电时会进行上电自检测(PUBIT),对其本身的软、硬件进行检测;同时动力驱动单元本身没有与外界系统通讯的接口,故它的所有信息(包括本身检测结果、传感器正常与否)都要上报给控制器,由控制器进行故障综合与判断,一并上报给其他系统提供给驾驶员[11]。控制器与动力驱动单元之间的通讯机制相同,都是先检测ARINC429数据的label号,若label号正确,再解析数据,否则直接丢弃该数据包。
3 系统状态机建模与仿真
3.1 系统状态机建模
基于以上系统架构和通讯机制,建立正常模态下系统的状态机模型。经过分析和归纳,该系统主要有以下几个状态:①以上电为起点,系统首先进入初始化状态;②进行PUBIT,对控制器本身的接口、寄存器等进行自检测,同时完成对各种传感器的检测;③进入等待状态,等待控制指令的输入;④当控制指令发出时,系统进入运行状态;⑤运行阶段控制器对系统各部件状态进行监控,若没有故障,则系统运行至舵面达到目标位置,等待下一次控制指令。
若系统某一部件出现故障,则系统进入相应的故障处理状态,尝试3次修复故障,若故障排除,则系统恢复到等待状态;否则进入超控(挂起)状态,等待系统下电,进一步检测故障。
3.1.1 控制手柄建模
手柄仅在控制指令发出时用到,它的模型非常简单。因为搬动手柄的过程非常快,故认为这个过程是瞬时的,因此它共有二个状态:①初始化状态:上电之后立即进入初始化状态,初始化传感器参数等;②等待状态:等待驾驶员搬动手柄。它的Petri网络模型如图2所示。
图2 手柄状态机模型
最终系统重新上电后,又进入初始化状态。该模型是一个二值模型,没有死环和无界库所,而且所有变迁都是可达的。
3.1.2 舵面位置传感器建模
舵面位置传感器作为反馈的重要环节,也有两个状态:上电后初始状态(上电后随即进入初始状态)、运行(数据采集)状态(采集舵面位置信息并传给控制器)。它的模型和手柄类似(这里不再赘述),但是实际执行过程却不同:手柄运动是瞬时的,而传感器采集数据则有一段持续时间。
3.1.3 控制器建模
作为整个系统的核心,控制器的状态机模型贯穿了控制过程的始终,几乎所有部件都参与其中,此模型最为复杂,它的状态划分为:①初始化状态:以系统上电为起点,首先控制器进入初始化状态,对其中的板卡、接口进行初始化操作,随后进入上电自检测过程;②等待状态:经过上电自检测后,控制器进入等待状态,等待控制指令的输入;③运行状态:当手柄控制指令输入时,控制器进入运行状态,同时位置传感器实时监测舵面位置;若到位,则释放位置传感器,同时控制器回到等待状态;若没有到位,则控制器在运行状态一直循环;④故障处理状态:若运行过程中发生故障,则控制器进入该状态;⑤超控(挂起)状态:若故障未能排除,则驾驶员使能超控单元,直接控制动力驱动单元驱动舵面,此时控制器进入超控(挂起)状态,等待系统下电后进一步检测故障。重新上电后又进入初始化状态[12]。
控制器状态机模型如图3所示。
图3 控制器状态机模型
在该模型中,由于几乎所有部件都参与其中,故其他部件在该状态机模型中也有相应的表达,但是通过仿真运行可以看出,这个控制器模型中存在着“死环”和无界库所。在排除了上述两个问题后,控制器模型最终建立。图4为系统状态机属性检查情况。
图4 系统状态机属性检查输出
根据图4可以看出,模型属性检查输出结果均为“Y”,表示控制器模型被正确建立。通过控制器状态机建模过程可以看出:对于复杂部件,建模过程并不是一蹴而就的,而是“建模→模型分析→发现错误→模型修正”这样一个反复迭代的过程。
3.1.4 其他部件建模
动力驱动单元是系统的控制指令输出部件,它接收到控制器解算出的偏差角后,根据偏差角的大小和极性,输出指令到直流电机,控制舵面运动到目标位置。它的状态可划分为:①初始化状态:系统上电后,进入初始化状态,对动力驱动单元内部的板卡和各种接口进行初始化操作,之后进入上电自检测;②等待状态:完成上电自检测后,进入等待状态,等待控制器输出的偏差角;③运行状态:接收到控制器解算出的偏差角后,进入运行状态;④超控状态:当控制器出现故障且未能排除,驾驶员使能超控单元,直接控制动力驱动单元控制舵面,而控制器此时被挂起。最终系统重新上电后,又进入初始化状态[13]。
超控单元是保证飞行安全的重要部件。控制器发生故障时,驾驶员使能超控单元,通过超控面板的收放旋钮直接控制动力驱动单元。它的状态如下:①初始化状态:系统上电后,超控单元初始化它的各种传感器;②等待状态:完成初始化操作后,系统进入等待状态,等待驾驶员的控制指令;③超控状态:当系统检测到控制器出现故障并无法排除时,驾驶员使能超控单元,进入超控状态。系统重新上电以后,又进入初始化状态。
3.2 模型融合及修正与优化
利用部件状态机模型构建系统状态机模型的过程是通过交互部件融合实现。交互部件即在构建部件状态机模型时外加的、辅助该部件完成其功能的库所或者变迁。
交互部件融合有两种方式:同步融合和异步融合。同步融合即将相关联的变迁融合,这样使得不同部件在同一时刻触发同一变迁,故称为同步融合。相反,异步融合即将相关的库所融合,因为这样不能使系统状态同步变迁,故称之为异步融合。
下面就通过这两种方式来构建该飞行控制分系统的完整状态机模型。
部件模型融合是分步实现的,先把最简单的部件融合在一起,然后再把较复杂、需要仔细研究甚至做一定修正的部件进一步融合,最后得到优化的、正确的系统模型。
图5 系统模型融合最终结果
从模型属性检查窗口能够清楚地看出整个系统状态每一步的变迁过程,直至系统状态复原:①初始化状态:Init,Init_PDU,Init_H,Init_Pos,Init_Sup,每一个部件都进入初始化状态;②等待状态:当所有部件都完成自检测或者初始化之后,系统进入等待状态,等待驾驶员输入的控制指令;③运行状态:当驾驶员控制手柄有输入信号时,除了超控单元以外的所有部件都参与控制,直至检测到故障或者舵面运动到位;④故障修复状态:当系统检测到故障,则进入故障修复状态,连续进行三次修复,根据结果进入故障排除或者故障不能排除状态;⑤超控状态:若经过三次处理均不能排除故障,则系统由超控单元控制进入超控状态。随着系统重新上电,又恢复到初始状态[14]。
这个过程的描述看起来和3.1节中的描述没有太大区别,但是却把整个系统的每一个部件在控制过程中的状态流全部梳理清楚,这是原模型所不能达到的,而且在具体分析问题和故障时,能更快速地定位,使得系统状态流程变得简单、明晰。同时通过系统状态机模型,可以自动生成相关控制代码,为后续系统仿真及测试奠定了基础。
4 仿真验证
通过系统试验和模型仿真来验证模型的正确性。通过系统综合试验可以看出,在系统初始上电后,每一部件都进入“初始化”状态,仿真结果如图6所示。
图6 高升力系统仿真结果
初始化结束以后,所有部件都进入等待状态,等待驾驶员控制指令的输入。
当驾驶员操纵手柄,系统随之进入运行状态。在运行状态,实时检测舵面目标位置是否等于当前位置,若相等,则该操作结束,所有部件都回到等待状态,等待下一次控制指令输入,否则,在运行状态一直循环。若在运行状态发生故障,则进入故障处理状态,故障处理的结果决定系统进入超控(挂起)状态还是继续运行。若故障未能排除,则由超控单元发出超控指令,系统进入超控(挂起)状态,重新上电后系统又恢复到初始化状态。这和整个系统试验过程一致,说明了该模型不仅在状态机角度审视正确,且符合系统试验的逻辑,证明了该方法的正确性、合理性。
5 系统测试及校准
系统测试可以通过单步测试和自动测试来进行。单步测试需要测试人员手动激励每一步的输入条件;自动测试则将所有激励条件通过初始化的方式加载到模型中,之后通过模型自动运行来实现自动化测试,当系统出现bug时,测试会自动停止。系统测试过程流程图如图7所示。
图7 系统测试流程图
该测试系统由工控机、以太网交换机、光纤反射内存网和信号调理装置组成。对测试系统采用现场校准的方法,校准示意图如图8所示,通过对状态机的建模及仿真,可以确认状态机模型的正确性,再通过编制测试脚本生成自动化测试用例,将校准参数加载到测试用例中,最后加载到校准系统中,可以实现测试系统的自动校准。其中典型的总线信号时间间隔准确度可达到0.003μs。
图8 校准示意图
6 总结与展望
本文基于某民机飞控高升力系统架构,利用Petri网络这一状态机描述工具,分别建立了系统各个部件的状态机模型,之后通过模型融合并局部修正的方法重新构建了更详细的系统状态机模型,最终通过仿真验证及系统测试、校准,证明了该方法的正确性。该方法在某些方面还需进一步探索和研究:①实际系统状态迁移总是耗费时间的,不考虑时间效应是为了简化建模过程,机载嵌入式设备大多为实时系统,因此对时间效应的影响是状态机领域需要进一步深入研究的重点方向[15];②目前系统的校准基本采用现场校准的方式,随着智能技术的发展,未来远程智能校准也将是研究的目标之一。