FMI标准:实现SkyEye与Simulink联合仿真
汽车工业、航空、机电装备等领域存在着不同的应用、建模系统。在解决不同问题的过程中,为了仿真完整的系统,往往需要在不同的仿真程序之间进行交互,并且为了实现完整的调试,系统的集成必须确保来自不同供应商的仿真环境能够协同工作。由此产生的模型交互需求,随着工业产品电气化、智能化程度越来越高导致的系统复杂性量级日益跃升而遭遇瓶颈:不同单位采用的仿真建模工具不同,导致模型类型、接口不一致。
为保证各模型之间的数据能够正常交互,就需要将不同层次的模型采用统一接口标准来进行集成。然而,复杂系统的模型跨越了不同学科、不同领域,导致模型接口并不兼容,需要建立对应的模型封装规范,使不同领域的模型形成模块化接口,方便集成与调用。
目前常见的联合仿真技术,大体可分为使用软件已有接口、HLA、FMI。使用已有接口会使建模工具受限,拓展性也较差,HLA则需要各仿真软件提供配套的技术支持,需要较高成本与丰富经验,因此目前业内最为常用的是基于FMI标准的联合仿真。
FMI(Functional Mock-up Interface)标准是独立于建模软件的接口标准,最早由Daimler AG公司提出,用于半实物实时仿真测试。2010年10月,欧洲仿真技术协会在由欧盟资助的MODELISAR项目中提出了支持模型交换的FMI标准1.0版本,并于同年12月支持联合仿真,截至2023年7月已发展至3.0.1版本。
采用最新的FMI标准,可将由不同仿真软件搭建而成的模型封装成具有统一接口的FMU(Functional Mock-up Unit)模型,从而使模型能够在支持FMI标准的任意平台上运行,不仅能够实现联合仿真,还可大大提高仿真模型的重用性。
目前,FMI 标准已经得到了全世界仿真领域的认可,渗透到产品的预研、设计、开发、测试等全生命周期中。许多仿真软件也都加入了对 FMI 标准的支持,包括常见的仿真软件如 MATLAB、AMESim、Dymola、Modelica、Silver 等,更好地拓展仿真模型通用性的同时扩大了联合仿真的范围,越来越多的仿真工作者已将 FMI 标准作为研究联合仿真的技术支撑。
由迪捷软件自研,完全自主可控的天目全数字实时仿真软件SkyEye也支持FMI标准。举例而言,基于SkyEye搭建而成的虚拟硬件可根据FMI标准封装为FMU模块,无需借助第三方协同仿真工具便可与Simulink(MATLAB软件最重要的组件之一)联合仿真,使得原先需要结合真实硬件才能完成的测试工作能够在SkyEye中完成,极大降低了硬件成本。
天目全数字实时仿真软件SkyEye,作为基于可视化建模的硬件行为级仿真平台,能够为嵌入式软件提供虚拟化运行环境,可以对真实硬件目标系统上的单元模块(如处理器、内存总线、存储器、片上外设、外围总线设备等)进行虚拟建模仿真,运行不同架构的目标系统软件(包括操作系统和应用软件),并提供丰富的调试工具。