编辑推荐: |
本文本文聚焦在系统动态仿真在SysML中的实现方式,并基于具体CubeSat卫星仿真案例加以进一步说明。,希望对您有所帮助
本文来源于微信号数字化从业笔记,由火龙果软件Delores编辑,推荐 |
|
MBSE数字化系统模型提供了以往基于文档的方案设计所不具备的能力– 系统级动态仿真验证。在数字化系统模型基础上直接进行模拟仿真,可以准确评估设计方案的合理性,在设计前期根除可能的设计漏洞。


1. 系统动态仿真在SysML中的实现
系统动态仿真的实现一般需要两类数字化模型的支撑: SysML行为模型+计算分析模型。
SysML行为模型:SysML提供了表征系统行为的通用元素,可以很好地将整个系统的行为逻辑完整、准确表达,但SysML不会涉及过多具体专业领域的计算分析。
计算分析模型:专业领域的计算分析模型,可能是力学、电磁、传热、控制算法等专业模型,用于仿真“物理实现”层面的单点功能,以便模拟系统在真实世界中的行为。
1.1 系统行为模型
SysML中对系统行为提供了三种不同的表述方式:活动图、状态机图和时序图。三类图各自有所偏重,适用于不同应用场景。
a) 活动图 Activity Diagram
活动图用于表述系统功能执行顺序、逻辑和角色划分。
活动图中提供了多种不同的action元素,用于实现各种不同类型的系统功能,如信号发送/接收、系统参数创建/读取/写入、参数处理、物质传递等。

信号发送与接收
活动图同时支持控制逻辑的创建,如循环、判断、并行、流程合并等,能够实现系统复杂功能逻辑的表征。

同时,活动图中还能够表达功能与结构之间的分配关系,即说明哪个功能具体由哪部分结构来实现和执行。

活动图相对另外两类行为图(时序图和状态机图)的明显优势在于其对复杂逻辑的准确表达能力;局限性在于无法表征每个活动具体由系统哪部分触发。
b) 状态机图 State Machine Diagram
状态机图侧重于表达系统/子系统在运行过程中的不同状态构成、不同状态下执行的功能,以及不同状态之间切换的触发条件,一般用于系统顶层行为的描述。

状态机图的限制在于仅适用于状态定义较为明确的系统/子系统结构,但往往并非所有的结构都具备清晰的状态定义。
c) 时序图 Sequence Diagram
和活动图类似,时序图可以描述系统行为、事件的发生顺序、哪个结构执行哪个功能,但时序图更侧重于展现不同系统结构之间的交互,同时能够清晰描述不同行为的触发。

鉴于时序图在交互描述方面的优势,比较好的应用在于系统测试用例的描述。对于复杂系统功能的表征,时序图往往会带来易读性方面的困难。
1.2 计算分析模型
如前文所述,SysML模型更多用于系统行为逻辑、功能分配、交互等通用描述,一般不涉及专业仿真计算。
对于系统仿真所需的专业学科计算,如力学、流体、电磁、控制算法等,可通过与SysML模型进行集成的方式实现联合仿真。这方面的实现方式包含FMI协议、工具集成等,此处不做展开描述。

1.3 系统动态仿真: 模型组合应用
SysML三类行为图以及专业计算分析模型在系统动态仿真验证过程中各自扮演不同角色,没有哪一个可以独立完成所有系统行为仿真。因此,在实际应用过程中,往往需要组合应用。
比如,对于状态划分较为清晰的系统,往往通过状态机图+活动图的方式进行模拟。由状态机图作为顶层系统行为,活动图描述详细复杂功能逻辑,然后在不同状态下唤起不同活动图执行相应功能。

系统虚拟测试时,则往往采用时序图描述系统与外界测试环境的交互,而在系统内部本身,则用活动图或状态机图进行功能模拟。
2 案例: MBSE实现卫星任务仿真
CubeSat MBSE案例由INCOSE Space Systems Working Group (SSWG)团队持续维护和更新进展(详细内容见本文最后"CubeSat参考资料"),用来展示MBSE在航天领域的实际应用。
在CubeSat案例中,设计团队通过SysML对卫星任务场景和系统设计方案进行建模;并基于SysML模型对卫星在轨道上的实际运行场景进行虚拟仿真分析;最后将分析结果与设计需求进行验证,从而实现对系统设计方案的确认。
从整个过程来看,CubeSat设计基本遵循常规的系统设计步骤,即:
设计需求输入
系统设计:结构、行为、参数
任务场景仿真
需求验证
a) 设计需求输入
将性能需求与系统设计参数关联,系统参数的仿真结果将基于关联关系与对应需求进行验证。

b) 任务场景&系统结构设计
SysML不仅支持卫星本身设计建模,针对卫星运行的周边环境,同样可建立数字化模型。

c) 系统功能设计
通过状态机图完整描述卫星在不同任务状态下的行为,以及不同状态之间切换的触发条件,并在不同状态下调用活动图执行具体复杂逻辑功能。

系统运行状态与状态切换触发条件

某一状态下调用的活动图功能
d) 系统仿真分析
基于SysML系统模型,集成第三方可视化仿真计算工具,实现对卫星在轨运行任务的可视化虚拟仿真和数据实时监控。

卫星任务可视化仿真

系统参数实时监控
e) 需求验证
基于系统仿真分析结果参数、参数与需求追溯关系,可自动验证设计方案能否满足最初提出的设计要求。

3 案例练习: SysML+FMU仿真
本案例利用简化的系统模型展示系统级仿真通过SysML实现的方式,同时为了展示SysML与专业计算分析工具的集成,在模型中又包含了一个简单的FMU计算模型。
为方便学习,该案例内容设置较为简单,读者可根据内容快速学习并完成建模。
a) 系统结构组成

b) 系统行为模型: 状态机图+活动图

c) 计算分析模型: FMU
计算分析模型为某一维仿真简化模型,如下图所示,简化模型仅包含两个参数:弹簧末端加载速度和弹簧头部测量的受力。

通过FMI协议导出后的模型文件可导入SysML模型,并脱离原工具环境独立运行。
d) 系统控制界面
创建系统控制界面,通过在控制界面内点击按钮发送控制信号,实现系统状态的动态控制。

e) 系统动态仿真
发送不同控制信号实现系统状态切换,不同状态下执行不同的加载、卸载、待机动作,并实时监控系统参数。

|