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

news2024/11/26 2:33:35

千寻万觅待花开

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

图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.coloradmin.cn/o/587549.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一寸照片的尺寸是多少?证件照尺寸如何修改?

一寸证件照是我们日常生活中非常常用的证件照。无论是办理身份证、驾驶证、护照还是其他证件,都需要提供一寸证件照。一寸证件照是指照片尺寸为2.5cm3.5cm的照片,通常要求符合一定的标准。但是大家在需要使用一寸证件照时,发现自己的证件照尺…

基于微信小程序制作一个记账小工具

你不理财,财不理你,制作一个记账小程序对自己的收入/支出明细进行管理,守护好自己的钱袋子。 一、小程序1.1 项目创建1.2 首页1.3 收支报表页1.4 记账提交页1.5 记账列表页

Transformer升级之路:一种全局长度外推的新思路

©PaperWeekly 原创 作者 | 苏剑林 单位 | 追一科技 研究方向 | NLP、神经网络 说到 Transformer 无法处理超长序列的原因,大家的第一反应通常都是 Self Attention 的二次复杂度。但事实上,即便忽略算力限制,常规的 Transformer 也无法处…

NetApp ONTAP Select 混合云存储解决方案

NetApp ONTAP Select 集敏捷性与经验证的数据管理功能于一体。 为什么选择 ONTAP Select 来实施混合云? -强大而敏捷的存储 既具备 ONTAP 软件的强大功能,也能够灵活地部署在远程办公室/后台位置以及数据中心外部的专用边缘环境中的商用硬件上。ONTAP …

python---逻辑运算符

and 并且 一假则假 or 或者 一真则真 not 逻辑取反 下面举例介绍上面代码的运行情况 运行结果如下: EG: 针对上述情况可以简化代码成如下: 短路操作 左侧为false右侧不在求值

如何使用 Megatron-LM 训练语言模型

在 PyTorch 中训练大语言模型不仅仅是写一个训练循环这么简单。我们通常需要将模型分布在多个设备上,并使用许多优化技术以实现稳定高效的训练。Hugging Face 🤗 Accelerate 的创建是为了支持跨 GPU 和 TPU 的分布式训练,并使其能够非常容易的…

WPS 借助 ML Kit 无缝翻译 43 种语言,每年净省 6,500 万美元

△ 动画说明: 在笔记本电脑屏幕中,汉字 "文" 将变为字母 "A",代表文本的横线将逐一出现,就像有人在输入内容一样。 WPS 是一款办公套件软件,可让用户轻松查看和编辑其所有文档、演示文稿、电子表格等。作为一…

JetBrains的Go语言集成开发环境GoLand 2023版本在Win10系统的下载与安装配置教程

目录 前言一、GoLand 安装二、使用配置总结 前言 GoLand是一款专为Go语言开发人员设计的集成开发环境(IDE)。它提供了丰富的功能和工具,可以帮助开发人员更高效地编写、调试和部署Go应用程序。 GoLand的主要特点: ——代码编辑…

Learning C++ No.25【开散列封装unordered_set和unordered_map】

引言: 北京时间:2023/5/29/7:05,上星期更文一篇,且该篇博客在周三就写完了,所以充分体现,咱这个星期摆烂充分,哈哈哈!现在的内心情感没有以前那么从容了,这次摆的时间是…

MySQL高级篇复盘笔记(二)【日志、主从复制、分库分表、读写分离】

❤ 作者主页:欢迎来到我的技术博客😎 ❀ 个人介绍:大家好,本人热衷于Java后端开发,欢迎来交流学习哦!( ̄▽ ̄)~* 🍊 如果文章对您有帮助,记得关注、点赞、收藏、…

【Redis25】Redis进阶:分布式锁实现

Redis进阶:分布式锁实现 锁这个概念,不知道大家掌握的怎么样。我是先通过 Java ,知道在编程语言中是如何使用锁的。一般 Java 的例子会是操作一个相同的文件,但其实我们知道,不管是文件,还是数据库中的一条…

Dapper存取Blob类型数据

🌮 Dapper存取Blob类型数据 前言: blob类型是数据库用于保存二进制文件的一种类型,可以将文件存储到数据库的表中。(使用到的情况比较少,毕竟文件可以直接在服务器上保存并且访问为什么要放到数据库里。但如果你服务器…

1.MySQL安装与配置

1.MySQL安装与配置 📤1 数据库介绍📤🚪1.1关于MySQL主要要学啥🚪 ✉️2 MySQL服务器安装✉️📄2.1 Windows绿色安装📄📑2.2 Windows中重装MySQL📑 📨3 Mac中常见的安装问…

多云环境中的微服务应用安全挑战

随着越来越多的组织将云策略扩展到私有云、公共云、本地数据中心和边缘站点,将多云作为数字转型倡议的一部分,新的安全挑战不断涌现,必须在安全倡议的每个阶段加以考虑。 在云中操作具有多个优势,任何组织,无论是公共…

在线答题小程序制作,这些坑你一定要避免

在线答题小程序制作,你需要知道以下几个关键点,才能避免一些常见的坑。这里,我会为你详细介绍如何制作一个高质量的在线答题小程序。 关键点一:确定目标用户群体 在制作在线答题小程序之前,你需要确定你的目标用户群…

行云创新受邀参加阿里云开发者技术沙龙,分享云原生技术实践案例

云原生IDE,定义开发新常态 2023年5月28日,由阿里举办的云原生技术实践营-阿里云开发者技术沙龙在深圳市南山区成功举办。本次沙龙活动主要围绕云原生话题开展实践案例经验分享,行云创新CEO马洪喜作为受邀嘉宾之一,参加了本次活动…

UITableView学习笔记

看TableView的资料其实已经蛮久了,一直想写点儿东西,却总是因为各种原因拖延,今天晚上有时间静下心来记录一些最近学习的TableView的知识。下面进入正题,UITableView堪称UIKit里面最复杂的一个控件了,使用起来不算难&a…

本地Linux搭建web服务并发布公网访问 - 无需公网IP

文章目录 前言1. 本地环境服务搭建2. 局域网测试访问3. 内网穿透3.1 ubuntu本地安装cpolar内网穿透3.2 创建隧道3.3 测试公网访问 4. 配置固定二级子域名4.1 保留一个二级子域名4.2 配置二级子域名4.3 测试访问公网固定二级子域名 转载自cpolar极点云的文章:在Ubunt…

代码随想录 栈与队列 Java

文章目录 (简单)232. 用栈实现队列(简单)225. 用队列实现栈(简单)20. 有效的括号(简单)1047. 删除字符串中的所有相邻重复项(中等)150. 逆波兰表达式求值&…

【红黑树 -- 理论与实现】

目录: 前言红黑树的概念红黑树的性质 插入过程遇到的情况情况1 -- 根节点情况2 -- parent为黑色情况3 -- parent为红色uncle为红色uncle为黑色uncle不存在 插入过程代码实现分析红黑树是否构建成功总结 前言 打怪升级:第88天 红黑树,可以说是…