同元自主可控半实物仿真从方案到实践

news/2024/11/13 12:59:53/

千寻万觅待花开

在日益激烈的市场竞争环境下,新产品的开发和面世遇到更高的要求和挑战,市场对其可靠性和稳定性的要求也日益提高。完全基于软件仿真的开发过程只实现了系统结构及原理、算法的验证,最终样机硬件系统并未进行仿真测试或者进行仿真测试但未获得通过,如果硬件运行环境不可靠,则会导致研发时间和成本增加。半实物仿真技术以真实物理模型为基础,从系统开发初期到系统验证,将实时软/硬件环境引入仿真回路,可减少虚拟系统与真实设备之间的误差,满足现代控制系统、电子系统和复杂机电系统高效、精确、快速、充分的设计要求,从而最大限度减少样机系统试制次数,提高设计、开发和试验效率,降低成本。

图1 行业需求

同元软控半实物仿真系统(MWORKS.Real Time,RT),可以充分发挥数字仿真和物理试验的各自优势,通过虚拟测试环境的构建,帮助工程师轻松模拟并测试设备在实际中可能遇到的危险工况,提高测试覆盖率,快速验证产品需求,从而降低研发成本、提升研发效率,有效整合设计、开发、验证过程,拓宽试验过程中可模拟的各种工况,对航空、航天、车辆、船舶、智能家电等复杂物理系统的功能、性能进行充分验证。

千锤万凿出深山

同元软控深耕多领域系统仿真多年,积累了丰富的半实物仿真经验,不断探索实践半实物仿真技术,与国内外半实物仿真系统对标,进行原型设计并测试验证,终于研发出同元自主可控的半实物仿真系统。同元自主可控半实物仿真系统是基于多领域统一建模仿真平台的拓展,系统包含离线建模仿真与半实物实时仿真,基础平台MWORKS.Sysplorer用于数字建模仿真及半实物模型构建,拓展出的新工具箱MWORKS.Real Time用于半实物实时仿真。

图2 同元半实物仿真系统

  • 数字建模仿真:构建数字模型并通过离线仿真初步验证。
  • 半实物模型构建:对数字模型添加硬件驱动模块,建立半实物仿真模型。
  • 目标代码生成:模型生成代码并编译成可执行程序。
  • 实时仿真管理:仿真机连接与状态监测、生成代码部署、仿真控制与监测。 
  • 实时仿真机:搭载实时仿真引擎,为模型代码提供实时仿真环境,与外部实际硬件设备信号交互。

1  数字建模仿真

MWORKS.Sysplorer同时支持控制算法和被控对象物理模型建模、可视化建模,支持多专业(机、电、液、控、热)、多层级(系统、子系统、部件、框图模块)、多尺度(零维指标、一维系统功能/行为、三维性能参数)数学模型构建,支持组件拖拽、模型翻译、模型仿真、数据可视化。

2 半实物模型构建

半实物模型需要硬件驱动模块将物理模型的输入输出端口与物理通信接口进行连接。硬件驱动模块由通信协议参数配置、初始化配置、输入输出接口构成,通常与硬件在环仿真目标机系统配合使用,包括ADC/DAC接口、数字IO接口、总线接口(CAN、1553B)等。同时提供外部函数编辑器,将硬件驱动程序封装成库,进而以模块形式与物理模型相连,即代表物理模型与实际物理端口相连接,接口模块自动检测端口信号类型及流向,接口模块支持对硬件端口部分参数进行配置,共同构成完整的硬件在环仿真半实物模型。

图3 半实物模型

外部函数编辑器可以自动识别驱动软件C代码中的函数列表,将C代码封装为MWORKS.Sysplorer中的模块,C函数的形参及返回值在生成模块中将以模块的输入、输出端口或模块的参数的形式呈现。

图4 驱动模块封装

3  目标代码生成

代码生成技术与求解器联合可以将被控对象物理模型部署到半实物实时机中运行,再与复杂系统控制器闭环协作做到实时功能性验证,为验证物理对象和电控单元的可靠性和安全性提供数字化的闭环环境。

由物理模型形成的方程系统与MWORKS.Sysplorer提供的方程求解器,经编译后分别形成C源码文件和目标系统静态库,下载至目标实时机中,经过编译形成目标实时机的求解程序。物理模型的方程系统和方程求解器自此可以在任何支持C语言的平台部署运行。目前已经适配的操作系统包括Windows、VxWorks、实时Linux。

图5 目标代码生成

4  实时仿真管理

仿真控制与监测模块包含仿真器、曲线示波器、高速数据同步、自动数据记录、数据标定,数据可视化以及通信数据打包与解析等功能。

  • 仿真器:支持设置模型运行周期、停止时间及通信周期,并提供启动、暂停、继续、停止等实时仿真控制。

  • 曲线示波器:实时显示数据,支持扫频、滚屏和刷屏显示等多种刷新模式,并支持坐标轴放大缩小。

  • 高速数据同步:通过异步通信,单向通道,以最快刷新速率10kHz进行显示。

  • 自动数据记录:记录保存仿真过程中的各种仿真结果数据,支持多种文件格式并可选时间戳功能。

  • 数据可视化:提供一系列可绑变量或参数的控件,以观测关键节点数据变化。

  • 数据标定:支持在实时仿真过程中通过修改物理模型中可调参数绑定的控件在线调参。

  • 通信数据打包与解析:利用挂载协议解析文件对总线协议信号进行解包,配合曲线工具可对协议变量实时监测,并打包后发送。

图6 MWORKS.Real Time工具界面

5  实时仿真机

同元软控半实物仿真系统采用了硬件合作伙伴提供的工控机,其性能优良,拥有Intel十代I7处理器、32G内存、240G固态+2T机械硬盘;拥有可扩展接口,可安装多种板卡;可支持多种实时操作系统,搭载实时仿真引擎,为模型提供实时运行环境,负责实时任务管理,包括创建、激活、挂起、删除、设置运行周期、设置优先级等;同元软控半实物仿真系统还可作为中转站,统一管理上位机的仿真控制命令及求解器回传的数据、消息通知等,进而实现文件传输、数据通讯、数据存储、模型调度等服务。

图7 实时仿真机

6  应用案例

百公里加速工况和NEDC(NEDC是欧洲驾驶循环测试的缩写,是一种评估汽车能耗和排放的标准)工况是衡量汽车动力性经济性的重要手段。用数字模型代替真实车辆、DCT电子控制器以实物接入,通过实时仿真机的IO接口跟运行在其内的车辆数字模型进行信号交互,与控制器进行CAN通信,形成高效、低成本、低风险的实时仿真手段,对DCT控制器在各种工况下的性能表现进行评估。

某DCT车型半实物仿真系统由控制器(TCU换档控制算法)、实时机(车辆模型)及CAN板卡组成,CAN板卡所传输的主要信号包括离合滑移量信号、同步器信号、发动机转速信号及车速信号。TCU控制器根据目标车速,将接收到的车速、发动机转速及离合滑移量信号通过换档控制策略,计算得到各种同步器信号,再通过CAN板卡发送给实时机内部车辆模型的DCT模型,影响车辆模型的运行表现,继而形成实时数据闭环,共同构成半物理仿真系统,以对控制器进行测试。进而可以通过MWORKS.Real Time软件进行实时仿真控制及观测。

图8 某DCT车型半实物仿真系统

百公里加速工况目的为计算车辆从静止到100km/h所需要的时间,以下为实时仿真计算结果:

图9 百公里加速实时仿真运行

某DCT车型百公里加速工况所需要的时间为9.29s,变速器档位共切换两次,在3档时,车速达到100km/h。初始档位1档,当车速将要达到2档线时,同步器2进行预选档;达到2档线后,离合器C1逐渐泄压减小,离合器C2逐渐充油增大,同步器2开始工作,同步器1逐渐退出工作。由2档进至3档同理。

a) 实时仿真曲线1

b) 实时仿真曲线2

图10 百公里加速实时仿真运行曲线

以下是NEDC工况下的实时仿真计算结果:

图11 NEDC工况实时仿真运行结果

按照NEDC驾驶工况的车速进行,从图中能够得出NEDC工况驾驶过程中的瞬时油耗、变速器档位、发动机转速、车速等信息。将实时仿真结果与软件仿真结果进行对比,分析实时仿真结果,从而节省车辆真实环境测试时间,快速验证TCU控制算法下的车辆电子控制器系统性能,缩短车辆实际测试时间。

千树万树梨花开

为解决面向航空、航天、船舶、车辆、智能家电等复杂产品开发测试验证的迫切需求,同元软控一方面提供MWORKS.Sysplorer的模型创建和求解器软件,方便使用其它工具链进行整合,另一方面提供MWORKS.Sysplorer的RT工具箱,针对指定实时OS和硬件进行系统集成与交付。

此外,同元软控还基于“能力持续演进,国产自主可控”的原则,以MWORKS为支撑平台,开放相关SDK接口,支持用户根据自己的软件开发团队和系统团队,开发和集成半实物仿真系统。

图12 国产半实物生态

同元软控MWORKS.SDK中包含MWORKS.Sysplorer应用层、通用组件层以及内核层提供的一系列API,支持基于MWORKS.Sysplorer平台开发自定义工具箱。如果您有半实物仿真系统的需求,同元软控为您提供了以下几种合作方式:

如果您从事航空、航天、船舶、车辆、智能家电等电子控制器产品研发,在硬件在环阶段,同元软控可基于现有方案协助您构建被控对象模型,部署硬件在环系统的软、硬件环境,为您提供一整套交钥匙解决方案。

如果您是国产板卡、国产实时OS或国产工控机的研制厂商,欢迎您加入同元软控,和我们一起推进多元化的国产半实物仿真软硬一体化解决方案,将贵司板卡的驱动软件集成到MWORKS.Sysplorer形成该产品板卡驱动模型库,并基于MWORKS.Real Time工具箱实现从上位机界面设计、模型生成代码、部署到下位机编译运行、实时仿真过程数据的监控与参数在线标定、数据回传等,形成基于模型的半实物实时仿真验证工具链。


http://www.ppmy.cn/news/106180.html

相关文章

[转载] nginx +后端 对静态文件进行鉴权

Java SpringBoot下使用X-SendFile实现文件下载 - 行万里路才能回到内心深处,读万卷书才能看得清皓月繁星 Java SpringBoot下使用X-SendFile实现文件下载 Lokie.Wang 2022-10-10 22:26:19 笔记 SpringBoot nginx 1.起因 在项目中有一个文件是服务器端打包生成后的文…

MySQL数据库——MySQL如何分析查询语句?

MySQL是一种常用的关系型数据库管理系统,提供了强大的查询语句分析功能,以帮助开发人员优化查询性能。在本文中,我将详细介绍MySQL如何分析查询语句。 查询语句分析是MySQL中的一个关键过程,它通过分析查询语句的执行计划和性能指…

【SCI征稿】1区计算机科学类SCI, 自引率低,对国人友好~

一、【期刊简介】 JCR1区计算机科学类SCI&EI 【期刊概况】IF: 7.0-8.0,JCR1区,中科院2区; 【终审周期】走期刊系统,3-5个月左右录用; 【检索情况】SCI&EI双检; 【自引率】1.30% 【征稿领域】发表人工智能…

MySQL 系统信息函数

文章目录 系统信息函数1. 查看当前 MySQL 数据库版本号2. 查看当前使用的数据库3. 查看当前服务器连接次数 系统信息函数 当我们需要知道当前 MySQL 数据库的一些基本信息和使用情况的时候,可以使用系统信息函数来获取相关信息,以随时掌握数据库的使用情…

【操作系统】01.操作系统概论

操作系统的发展历史 未配置操作系统 手工操作阶段 用户独占全机,人机速度矛盾导致系统资源利用率低 脱机输入输出方式 为了缓解主机cpu和IO设备之间速度不匹配的矛盾,出现了脱机IO技术 在外围机的控制下,通过输入设备,将数据输…

排水管网监测预警系统:全面感知管网运行态势

城市排水管网是城市基础设施系统中至关重要的一部分,它负责将雨水和废水排出城市,维持城市的正常运行。然而,随着管网的老化和城市扩张,排水管网出现了越来越多的问题,如泄漏、堵塞和损坏,给城市环境和公共…

Golang指针, 值类型,标识符,关键字,运算符初始

Golang指针, 值类型,标识符,关键字,标识符 采用文章 https://www.runoob.com/go/go-operators.html本章使用go练习工具 https://tour.go-zh.org/welcome/1指针 基本介绍 基本数据类型,变量存的就是值,也叫值类型获…

CodeForces..翻转魔术.[简单].[].[]

题目描述: 题目解读: 给定由0,1组成的长度为n的字符串,执行翻转操作,即0变1,1变0; 判断执行一次翻转之后是否为回文。 解题思路: 寻找规律:如果翻转前已经是回文&…