GCAir系统仿真测试验证一体化平台
GCAir系统仿真测试验证一体化平台,基于MBSE(Model-Based Systems Engineering)思想,完全自主研发的一款工业软件,为复杂装备系统研制的正向设计提供了工具支撑,为数字孪生技术落地提供了解决方案,可以实现全虚拟仿真到半实物仿真。GCAir支持多源异构模型集成,从全虚拟仿真到半实物仿真的一键切换,能够在同一平台上完成模型在环、软件在环、硬件在环仿真及测试,具备连续综合集成测试验证的能力,可应用于复杂装备从设计研发到运行维护的全生命周期。
产品功能
●系统架构设计
用GCAir可以创建复杂的系统:在ICD定义接口和总线;在画布创建子系统;对子系统进行接口和总线的实例化;在子系统内导入行为模型FMU、Python、C/C++、插值表等,并实现子系统内部的功能设计;把行为模型的输入输出与子系统的接口和总线相连;对多个子系统进行接口和总线的连接。经过上述步骤即可实现复杂系统的架构设计。其核心功能如下所示:
✓定义端口、数据总线 | ✓子系统内部功能设计 |
✓创建子系统并添加端口/数据总线 | ✓系统架构设计 |
●系统架构设计-ICD总线管理
在航空航电领域,经常会用ICD接口控制文件来描述系统/分系统、设备与系统之间的接口关系。但是在系统设计仿真验证时,系统复杂-报文多信号多,数据总线配置繁琐,需要定义多种报文数据格式、收发矩阵、节点等等,才能实现节点网络间的通讯,这样的操作速度慢、效率也低。GCAir提供的ICD总线管理工具,可使用户快速高效的配置数据总线,在虚拟仿真阶段、半实物仿真阶段均可使用。GCAir的ICD管理工具可支持的总线类型及配置图例如下所示:
✓Virtual虚拟总线 | ✓CAN总线 | ✓DDS网络 |
✓1553B总线 | ✓RS-422/485/232串口 | ✓反射内存网络 |
✓A429总线 | ✓EtherCAT主站 | ✓TCP/UDP |
●系统架构设计 - 模型库管理
GCAir模型库管理可以把用户建好的子系统保存到库,实现了子系统的封装;库里的子系统可被不同的工程复用或被同一个工程共享使用。其核心功能如下所示:
✓模型分类管理 | ✓自定义库管理 | ✓模型版本管理 |
●系统架构设计-系统模型构建
GCAir提供了丰富的系统模型构建操作,可对子系统进行参数设置、故障设置、端口/总线添加等等,使用户可根据具体的系统设计需求灵活配置子系统。其核心功能如下:
✓子系统参数设置、故障注入设置 | ✓子系统导出联合仿真FMU |
✓子系统属性编辑(添加总线/端口) | ✓子系统保存/封装到库 |
✓子系统与FMU之间自动连线 | ✓子系统层级嵌套 |
●系统集成仿真 - 多源异构系统集成
GCAir平台基于FMI标准,立足于复杂系统的架构设计和模型规范化问题,完成了对多源异构模型集成的全面支持。GCAir支持ME(Model Exchange) 2.0 标准和CS(Co-Simulation) 1.0/2.0标准的 FMU,从而实现对复杂系统的总体设计与建模、模型间接口关系的设计与建模。
GCAir提供了丰富的硬件板卡集成接口,如1553B、A429、CAN、UART、反射内存、EtherCAT等,用于完成复杂系统的半实物仿真,解决了复杂系统研制的核心问题。其核心功能和架构如下:
✓支持FMU、Python脚本、CSV文件、用户自定义表达式、TCP模块、1D/2D/3D插值表、GCKontrol工程和IO类板卡模块等集成仿真 | |
✓支持硬件和实物接口:CAN总线、1553B总线、A429总线、UART串口总线、EtherCAT总线、反射内存、AI/AO、DI/DO、TCP、UDP等 |
●系统集成仿真 - 第三方软件联合仿真
在系统仿真时,某些复杂系统的部分模型需要在指定的仿真软件中运行,才可完成系统总体仿真。GCAir支持与第三方联合仿真,具有Python模块、TCP模块、DDS总线等,用户可灵活配置系统仿真。其核心功能如下:
✓Python仿真模块,用户可灵活定义功能或算法 |
✓基于TCP协议通讯,调度第三方程序/设备实时通信 |
✓基于DDS总线,调度第三方程序/设备实时通信 |
●半实物仿真
在半实物仿真系统中,被控制对象是虚拟的,控制系统是实物。GCAir可完成半实物仿真,用于验证控制系统设备及控制算法的安全性、可靠性。实时性是半实物仿真的必要前提,GCAir实时仿真机的软件部分由实时操作系统和实时仿真引擎组成,实时性误差精度<0.1ms。
GCAir的仿真引擎服务程序(SimulationEngine)是运行仿真模型的实体,可实现多线程执行,顺序分组执行、仿真控制、故障注入、分布式仿真等功能,使半实物仿真系统具有可控性。可实现系统总体的反复优化、重点评估、多方案比较、快速更新。其核心功能和架构图如下:
✓丰富的总线接口板卡:CAN、1553B、A429、RS-232/422/485串口、反射内存、EtherCAT、AIO/DIO、TCP、UDP等。 |
✓实时仿真引擎:Linux操作系统,实时内核,多核/多线程实时仿真 |
✓实时仿真引擎:实时仿真步长达1ms,实时精度误差小于0.1ms |
✓支持FMU顺序分组、多核多线程分配 |
●虚拟仿真
复杂系统仿真时,在半实物仿真之前需要做全虚拟仿真,以完成模型在环(MiL)验证。GCAir支持全虚拟仿真,该过程中被控制对象和控制系统都是虚拟的。其核心功能如下:
✓集成多个模型到GCAir,离线调试 |
✓通过设定仿真倍速来加快仿真速度 |
✓支持FMU顺序分组、多核多线程分配 |
●虚实融合
GCAir支持从全虚拟仿真到半实物仿真的一键切换,实现了模型在环(MiL)与硬件在环(HiL)的快捷切换。如下图所示,对已配置好的子系统右键选择“设置为被测硬件”,即可切换至半实物仿真模式。在进行半实物仿真时,被测硬件子系统内部跳过FMU模型运行,按该子系统配置好的板卡总线信号报文与硬件实物进行通信。其核心功能和应用实例如下所示:
✓支持“虚拟+半实物”仿真 | ✓虚拟模型与硬件设备一键切换 |
●分布式实时仿真
GCAir支持分布式仿真,支持对大型复杂装备系统的分布式半实物仿真。大型复杂装备系统硬件设备种类多、数量多,例如多个控制器设备、多个激励设备、人机交互设备等,每个设备又有多种通信方式,例如数据总线、以太网、AIO/DIO等,并且该系统需要使用多种硬件板卡资源,且设备到设备之间物理距离远。GCAir分布式仿真系统具有多个实时仿真机,并实现了分布式仿真技术,可完成不同物理位置、不同硬件设备的系统组网与半实物仿真。
✓分配不同的模型到不同的仿真机,满足复杂大系统的半实物仿真 | |
✓基于Windows/Linux的全虚拟分布式仿真 | ✓基于Linux 的半实物分布式实时仿真 |
✓支持Linux/Windows 混合仿真,虚实一键切换 |
●自动化测试-TestManager
TestManager是GCAir自动化测试的配套工具。可实现基于需求的自动化批量仿真测试。将GCAir工程导入TestManager,根据测试需求在TestManager配置测试场景、测试用例、测试工况,运行仿真即可完成自动化批量测试,并生成测试报告。TestManager支持全虚拟系统的批量仿真测试,也支持半实物系统的批量仿真测试,可涵盖MiL、SiL,、HiL全业务流程,减少了半实物系统的开发调试、测试验证时间。其核心功能和示意图如下所示:
✓基于图形化界面开发测试用例 | ✓满足实时性和测试精度,误差小于0.1ms |
✓离线开发测试用例,减少半实物仿真调试时间 | ✓测试用例可配置故障注入 |
✓复用全虚拟和半实物仿真的测试用例 | ✓测试报告自动生成 |
●GCAir Python API
为了提高流程自动化, GCAir提供了一套Python API接口函数,用户可基于常的Python IDE(如PyCharm等)编写Python脚本,对API进行灵活的组合和运用,以完成多种任务。GCAir Python API使用户摆脱了需要频繁手动点击工程界面以进行批量操作的繁重劳动。
1、用Python API函数对工程进行仿真控制,比如打开工程、配置参数、设定步长、运行仿真等等,也可以进行断点控制,比如创建断点、修改断点、删除断点等,可实现对工程的故障注入、自动化调试等等;
2、用Python API函数编写自动化测试脚本,可创建工程、配置模型参数、仿真参数,完成模型的大批量自动化测试,实现模型优化、性能评估等;
3、可编写Python 脚本对仿真工程进行后处理,比如数据分析,结果对比等;
4、用户可在Matlab编写M脚本来调用GCAir API,完成GCAir模型与Matlab工程的交互调用;
5、用户可通过灵活运用Python API来开发自动化测试软件,用于对GCAir工程进行自动化测试。
其核心功能点和脚本实例如下所示:
✓仿真 Python API:工程打开、参数配置、步长设定、仿真运行 |
✓调试 Python API:断点创建/修改/删除、故障注入、调试自动化 |
✓支持从Matlab M脚本调度GCAir Python API |
✓基于GCAir Python API可自动运行批量测试并返回结果 |
●可视化与人机交互
GCAir具有丰富的可视化元素,包括2D曲线、控件元素库、三维视景面板。GCAir支持连接VR/AR、人机交互模拟器等设备。2D曲线面板可实时显示系统仿真的变量曲线、数值等;显示型控件(虚拟仪表盘等) 用于虚拟终端实时显示;控制型控件可在系统仿真时,实时调节输入量或参数,用于虚拟人机交互;三维视景面板用于三维视景的实时展示;人机交互模拟器可做为仿真系统的外部输入;AR/VR 设备可用于终端三维显示,3D视景效果等。这些可视化元素配置灵活、功能丰富,可用于数字孪生和综合虚拟验证。其核心功能和三维视景实例如下所示:
✓2D曲线 | ✓3D视景 | ✓模拟器设备 |
✓2D虚拟仪表/控件 | ✓VR/AR设备 | ✓触摸屏设备 |
●基于插件的二次开发
为了满足用户的某些特定需求,GCAir支持定制开发和定制界面。GCAir提供了基于插件的二次开发功能,插件与GCAir实现数据收发通信,完成定制系统的实时仿真与人机交互,确保了定制软件的独立性与开放性。其核心功能和示意图如下所示:
✓插件代码具备独立性,定制化功能与GCAir框架解耦 |
✓无需修改GCAir代码,满足对GCAir的定制化开发需求 |
✓基于C++/QT插件开发 |
●个性化定制
✓机柜整体定制:分析工程需求,评估硬件设备及设计方案,定制专业机柜 |
✓模型定制:定制专业模型库,航空、航天、车辆… |
✓硬件总线定制:总线、板卡、AI/AO、DI/DO…… |
✓显示定制:三维视景、面板…… |
GCAir产品优势
●虚实结合仿真测试验证 |
✓GCKontrol与GCAir形成了控制系统一体化工具链,支持从纯虚拟模型设计、代码生成、实时仿真,到半实物仿真全生命流程开发 |
●丰富的多源异构模型集成接口 |
✓GCAir接口丰富,可对不同软件开发的模型及不同的硬件设备进行集成,实现系统仿真,提高了模型的置信度及模型运算效率 |
●与需求分析软件无缝衔接 |
✓按照控制系统设计的应用场景和需求,来定义软件功能,能够解决实际工程问题,并且需求与设计之间的迭代以工程文件的形式保存 |
●V流程全生命周期测试支持 |
✓针对需求建立测试场景,以文件形式保存测试用例,从纯虚拟测试到半实物测试,实现全生命周期测试自动化,有效缩短产品对需求的验证 |