基于模型的复杂系统设计研究与实现

图10(b)舵机位置响应曲线

图10(a)AB通道有效性图

图9(b)舵机位置响应曲线

图9-a

图8联合仿真模型

图7系统物理模型

图5系统IBD

图4系统需求分析模型

图3FMU封装流程

图2需求功能建模实现

图1支持MBSE的系统设计应用框架

当前,计算机仿真多集中在物理层面,通过建立系统物理模型,模拟系统工作原理,分析系统性能;对顶层需求与功能建模重视不够,无法将系统的需求、功能和性能作为一个有机整体来分析、验证,从而造成顶层设计与专业工程设计间反复迭代。此外,由于系统规模和复杂度的提高,传统的单领域物理仿真工具也难以适应系统的整体设计工作。

基于此,近年来兴起了基于模型的系统工程(ModelBasedSystemEngineering,MBSE)方法论和协同仿真解决方案。前者是在分析系统需求的基础上,采用SysML和UML语言描述系统需求和功能,通过状态机模拟系统的功能逻辑和故障处理模式,分析系统对需求满足及功能逻辑流转;后者是协同仿真统一系统逻辑物理模型,全面分析系统性能。二者针对不同的设计阶段,通过不同的建模语言实现。

若能将二者统一起来,则可用系统功能模型验证系统需求、模拟系统功能故障模式,用其结果驱动物理模型,并根据物理模型仿真结果改善功能模型,实现基于系统功能、物理模型的确认、验证,大大降低设计成本、缩短研制周期。

为此,笔者选择功能模型接口FMI(FunctionalMockupInterface)标准协议作为桥梁,利用通用标准接口实现功能模型和物理模型的信息交互,提出了从系统需求分析、功能建模、物理建模到最终联合仿真的基于模型的复杂系统设计应用框架。基于此框架,设计人员在进行系统设计和验证时,只需专注于模型本身,而不用去分析工具底层的差异,打通了功能模型和物理模型的壁垒,在工程样机之前即可对系统进行全面的验证,减少迭代次数。

基于模型的复杂系统设计应用框架

该框架分为三层,如图1所示:需求功能层,主要捕获系统需求,描述系统的功能行为;模型协议层,主要用于模型的封装和协议标准化,实现不同建模工具和语言间的模型交互;逻辑物理层,主要用于实际系统的物理建模和仿真。

功能和物理模型之间采用松耦合方式关联:功能模型不考虑物理模型的具体结构和实现;而物理模型也考虑真实物理系统工作原理,两者通过互留的接口进行交互。因此,功能和物理模型可分别设计,并行工作,最后通过模型协议层进行综合。

此外,由于FMI协议的通用性,既能将功能模型封装导入物理模型,也能将物理模型封装导入功能模型。也就是说,在设计过程中,既可以自顶向下正向设计,也可以自底向上逆向验证、完善。

需求功能层

本层的主要工作是通过梳理系统的需求,分析建立系统的功能流。其具体实现过程如下:

首先,进行需求的条目化梳理。在此基础上,确定系统运行场景和外部交互对象,得到系统用例和外部角色,二者的交互关系通过箭头连接来体现,并将梳理好的系统需求合理分配到对应用例,建立关联关系。

在用例基础上,进行功能分析和架构分析,建立系统活动图、顺序图,定义出系统应具备的属性、操作和行为,并细分出系统架构;其次,根据角色间交互关系,生成对应端口,将得到的上述属性、操作和行为分配到相应的端口,得到系统的内部块图。

最后,建立系统状态图。可在每个状态内通过代码实现逻辑判断和处理,并通过状态间切换、流转,模拟系统的功能行为。将之前得到的属性、操作和行为合理分配,分别作为状态出、入口动作,状态切换触发器和分支判定语句,并根据需要细化和补充属性、操作和行为信息,最终得到可运行的状态机。

对于逻辑清晰、结构简单的系统,可省略绝大部分操作,直接定义系统的输入、输出接口和状态切换逻辑,建立系统的内部块图和状态图,即可获得系统功能模型。

模型协议层

本层主要功能是实现模型的FMI封装。FMI封装标准制定了对模型描述格式和数据存储格式的定义,改善了以往不同仿真软件拥有各自专用接口造成的联合仿真困难。不同仿真工具遵循同一种装接口标准,不仅能实现仿真工具间的交互仿真,更能使联合仿真工具解析模型描述信息的效率有所提升。基于FMI标准封装的仿真模型称为FMU(FunctionalMockupUnit)。将FMU导入仿真平台中,可有效地完成多专业联合仿真,提高模型的通用性及重用性。

FMI标准定义了两种模型封装形式:modelexchange和co-simulation。两者最大的区别是:modelexchange需要仿真工具提供常微分方程来执行仿真,因此模型需要暴露出所有的内部方程;co-simulation自带模型求解器,不需要仿真工具额外提供仿真算法。但co-simulationAPI并不能像modelexchangeAPI那样报告下一事件时间,而系统的功能模型又多是基于离散事件反映的。所以,最终选择modelexchange方式进行模型的封装。其详细实现过程如下:

定义输入、输出接口和内部变量

清理出所有与外界进行交互的接口,并根据信息流向分别定义为输入、输出端口;

创建FMU模型描述文件

按照其XML文件模板,对上述信息进行填充,创建FMU的模型描述文件:modelDescription.xml,主要用于描述FMU的接口信息;

生成系统模型标准代码

调用模型软件的代码生成器,生成待导出的系统模型代码。

创建FMUwrapper

将上述模型代码进行FMI标准实现。FMUwrapper支持FMI接口并能将其转化为模型软件对应的接口,在wrapper上有对FMU响应的各变量以及一系列内部变量(如当前仿真时间等)。绝大多数的FMI函数主要用于读取或设置这些变量值。

编译并封装FMU

将上述步骤中的模型代码和模型描述文件按FMI标准封装为.fmu文件。

逻辑物理层

本层的主要功能是搭建系统的物理模型,模拟系统的真实运行场景,获取系统的各项性能指标。

目前,逻辑物理建模仿真技术大多侧重于机械、控制、电子等单个领域,典型的如ADAMS、ANSYS、Simulink等。然而,像汽车,航空航天飞行器这些产品,它们本身是由不同领域的子系统(机械系统、控制系统、电子系统、软件系统)共同组成的,因此要完整、准确理解产品行为,除侧重单个领域的仿真外,还必须将各领域的子系统构成一个整体进行仿真。

为实现多领域的协同仿真,目前有三种常用方式:基于接口、基于图和基于物理建模语言的协同仿真。基于接口的方式包括:软件间专用接口、HLA、FMI等,其中软件间专用接口可扩展性不强,并且缺乏通用性。此外,基于接口的方式在面对多领域耦合的系统时,需要先解耦建模再协同,可能改变系统特性;基于图的方式包括:框图、势图和键合图,这种方式对系统抽象程度较高,需要大量的精力进行系统的抽象、建模,且无法表现系统的拓扑结构,对于模型协作和维护要求较高。

为此,仿真界发展出了基于物理语言的协同仿真,其中,Modelica作为多领域建模仿真的标志性语言,已成为该领域的事实标准。Modelica采用面向对象和组件的思想,对不同领域物理系统的模型进行统一表述,实现多领域建模,且建立的模型能真实反映系统的拓扑结构;

同时,其基于方程的非因果建模方式,极大地减轻了建模工作量(尤其是复杂系统),还可避免因公式转换和推导引起的错误,保证了模型的健壮性;此外,Modelica语言本身带有可重用的机械、电子、液压、控制、热流等领域的标准库和扩展库,用户还可建立自定义的领域模型库,实现领域知识的重用。

由于Modelica具有上述特点,使其在多领域统一建模方面具有无可比拟的优势,本文选择其作为逻辑物理层的建模语言。

某飞行器舵机伺服系统应用验证

基于上述设计框架,笔者设计了某飞行器的舵机伺服系统。考虑到舵机伺服系统主要逻辑判断和处理在舵机控制器(ACE)进行,因此功能模型主要针对ACE子系统,其与作动器的交互通过消息传递,物理模型主要针对物理作动、执行单元,功能和物理设计同步进行,最后通过模型协议层进行模型整合和联合仿真。具体过程如下:

首先,对舵机伺服系统的需求进行条目化管理,得到该伺服系统的需求分析模型,如图4所示。

其次,将系统的需求作为该层的输入,通过进行完整的用例分析、功能、时序、状态和接口、架构设计,得到完整的系统功能模型。限于篇幅和保密需要,本文不做展示,仅给出经过简化的,与后续仿真密切相关的:系统内部块图(图5),包含系统的所有输入输出接口;系统状态图(图6),包括系统功能行为和故障处理逻辑,通过状态流转及状态处理算法实现。

逻辑物理层采用Modelica语言构建舵机执行机构的物理模型,该执行机构使用“主主式”工作方式:当单通道发生故障时,另一通道接管故障通道职能,保证系统正常运行。对系统抽象、简化后模型如图7所示,从图中可以看出,该模型包含:控制、机械、电路、热等多物理领域,统一表达在Modelica平台,无需进行复杂的工具、语言转换,模型留出对应的输入接口,对接前文需求功能模型。

功能和物理模型设计完成后,即可通过模型协议层进行模型的整合和联合仿真。

具体做法如下:将功能模型,通过模型协议层封装为FMU模型,作为带接口的功能块导入到Modelica平台中,并将其接口与相应的物理模型连接,得到系统的联合仿真模型,如图8所示。最后,给出相应的初始信号,设置好仿真求解器和步长,即可进行功能和物理模型的联合仿真。

图9为双通道正常模式下联合仿真结果:从图9(a)可以看出,当A、B通道有效性值在整个仿真过程保持为1(即正常)时,舵机位置曲线(具体位置信息已做归一化处理)如图9(b)所示,能很好的跟随输入指令曲线;

图10为单通道故障模式仿真图:从图10(a)中可以看出,在仿真时间40-70s时,令B通道故障(即B通道有效性值为0),舵机位置响应曲线如图10(b)所示在故障切换时,发生抖动并很快恢复正常,满足单通道故障模式下的位置跟随。

由以上仿真分析可以看出:舵机在正常和故障模式下都能很好地响应位置指令,并能在故障时刻按要求进行模式切换,在模式切换瞬间有震颤,并很快恢复正常,及时跟随位置指令,达到了预期设计需求。

结束语

本文提出的基于模型的复杂系统设计架构为大型、多物理领域系统提供了整体设计思路。使得设计人员在初步设计阶段,即可对系统进行全面的需求、架构、功能和性能仿真验证,覆盖从需求到物理元件的设计全过程,可避免后期工程物理样机的研制出现反复,从而达到降低设计成本、提高效率的目的。

(中国航空新闻网)









































治疗白斑医院
北京什么医院看白癜风



转载请注明:http://www.zjiaren.com/kfff/5282.html