半实物仿真,又称为硬件在回路中的仿真(Hardware in the Loop Simulation),是指在仿真实验系统的仿真回路中接入部分实物的实时仿真。实时性是进行半实物仿真的必要前提。

半实物仿真具有数学仿真和物理试验无可比拟的优势,能够大幅提高产品质量、降低研制风向、缩短研制周期、减少物理试验次数等。

从系统的观点来看,半实物仿真允许在系统中接入部分实物,意味着可以把部分实物放在系统中进行考察,从而使部件能在满足系统整体性能指标的环境中得到检验,因此半实物仿真是提高系统设计的可靠性和研制质量的必要手段。

一、半实物仿真系统组成:

半实物仿真系统属于实时仿真系统。它是一种硬件在环实时技术,把实物利用计算机接口嵌入到软件环境中去,并要求系统的软件和硬件都要实时运行,从而模拟整个系统的运行状态。系统主要由以下几部分组成:

1、仿真计算机
仿真计算机是实时仿真系统的核心部分,它运行实体对象和仿真环境的数学模型和程序。一般来说,采用层次化、模块化的建模法,将模块化程序划分为不同的速率块,在仿真计算机中按速率块实时调度运行。对于复杂的大型仿真系统,可用多台计算机联网实时运行。

2、物理效应设备
物理效应设备的作用是模拟真实世界的物理环境,形成仿真环境或称为虚拟环境。物理效应设备是实现仿真系统所需要的中间环节,它的动态特性、静态特性和时间延迟都将对仿真系统的置信度和精度产生影响,必需有严格的相应技术指标要求。
3、接口设备
仿真计算机输出的驱动信号经接口变换后驱动相应的物理效应设备。接口设备同时将操作人员或实物系统的控制输入信号反馈给仿真计算机。

二、基本原理:
半实物仿真系统,在仿真计算机中通过对动力学系统和环境的数学模型解算,获得系统和环境的各种参数。这些参数通过物理效应设备生成传感器所需要的测量环境,从而构成完整的闭环仿真系统。

物理效应设备实现的技术途径多种多样,方案之一是采用控制回路,通过控制回路控制形成相应的物理量,方案之二是在已储存好的数据库中搜索相应的数据,转化为相应的物理量。
三、系统特点:
1、建立仿真模型
任何仿真模型的实现,都必须建立被仿真对象实体的数学模型。除建立被仿真实体的数学模型,还应建立环境模型,例如飞行仿真系统中大气环境(气压、气温、阵风、扰动气流等)模型、地理环境(地形、地貌)模型等。
2、实物的接入与仿真环境的生成
实时仿真系统一般都接入实物系统,例如将发动机仿真系统进行含实物仿真试验。各种物理效应设备将模拟生成实物系统所需要的物理环境,通过物理效应设备和接口使仿真计算机和接入的实物系统构成一个完整的含实物仿真系统。
3、系统仿真试验
系统仿真试验具有良好的可控性、无破坏性,可多次重复,经济、安全、不受气象条件和场地环境的限制。
4、系统仿真的应用
系统仿真技术可广泛应用于国防、能源、水利、工业等工程领域和非工程领域,也可广泛应用于产品研制的方案论证、设计分析、生产制造、试验评估、人员训练的全过程。
5、系统仿真的实时性
仿真计算机从“并行”计算的模拟计算机发展到“串行”计算的数字计算机,其中突出的技术关键是如何保证仿真系统的运行实时性。实时性体现在循环迭代计算的帧周期上,应根据仿真系统内的信息变化速率快慢选定帧周期。联网仿真的网络延迟和物理效应设备的时间延迟都将影响仿真系统的实时性。
四、系统分类
如果将实际控制器的仿真称为虚拟控制器,实际对象的仿真称为虚拟对象,可得到系统仿真系统的3种形式:
1、虚拟控制器+虚拟对象 = 动态仿真系统,是纯粹的系统仿真。
2、虚拟控制器+实际对象 = 快速控制原型(RCP)仿真系统,是系统的一种半实物仿真;它实现于产品研发的算法设计阶段与具体实现阶段之间。要实现快速控制原型,必须有集成良好、便于使用的建模、设计、离线仿真、实时开发及测试工具。用户选择的实时系统允许反复修改模型设计,进行离线及实时仿真。这样,可以将错误及不当之处消除于设计初期,使设计费用减至最小。在最终的产品硬件定型之前,可以仔细研究诸如离散化、采样频率以及算法性能等问题。
3、实际控制器+虚拟对象 = 硬件在回路(HIL)仿真系统,是系统的另一种半实物仿真 。当控制系统设计结束并已制成产品控制器,需在闭环下对其进行详细测试时,往往由于各种原因,如极限测试、失效测试或在真实环境中测试费用较昂贵等,或测试难以进行,如在积雪覆盖的路面上进行汽车防抱死(ABS)控制器的小摩擦测试就只能在冬季冰雪天气进行。于是就需要利用某种计算机硬件平台在实验室中模拟控制对象在实际工作条件下的运动过程,并且通过相应的I/O设备将信号提供给控制器。此时可通过修改控制对象参数来模拟各种工况,达到全面考察验证控制器开发质量及控制算法可靠程度的目的。
六、典型工作流程
1、数字仿真
在Simulink环境下建立数学模型,通过在Simulink下的数学仿真,初步验证模型及算法。
2、半实物模型准备
对数字仿真模型进行修改,加入硬件I/O模块,建立半实物仿真模型。
3、目标代码自动生成
在完成模型的参数设置后,即可调用自动代码生成工具,将Simulink模型转换为C代码,并最终编译为仿真系统(VxWorks)的可执行程序。
4、仿真配置管理
在主控软件中,根据软件向导,建立仿真工程,设置仿真目标机属性,配置监视及保存变量,准备实时仿真。
5、实时仿真
半实物模型编译生成的可执行程序将自动下载到目标机,并启动实时运行,与实物设备通过IO硬件进行交互。(RT-Sim软件通过以太网监视目标机状态,并支持在线修改参数、启停控制、实时数据存储等功能。)
6、仿真数据后处理
仿真结束后,进行实时存储数据上传、格式转换(支持txt、xls、mat等格式)、数据回放等,与Matlab、Excel等工具无缝集成,并能够进行简单的数据处理。

半实物仿真技术在复杂控制系统研发过程中的典型应用相关推荐

  1. doe报告模板_技术漫谈|关于制剂研发过程中的实验设计(DOE)误区讨论

    技术漫谈 第01期 关于制剂研发过程中的实验设计(DOE)误区讨论 // 作者:合全药业制剂业务后期项目部 感谢合全药业制剂研发后期团队朱莹.夏彬等同事对本稿件的支持 早在2004-2005年,FDA ...

  2. 在敏捷研发过程中,Scrum Master角色的哪些事

    目录 概述 Scrum Master何人担当? 适合作为Scrum Master的人员 不适合作为Scrum Master的人员 Scrum Master主要职责 Scrum Master技能要求 硬 ...

  3. 关于研发过程中测试工作的一些思考

    目录 一.背景&目标 二.需求设计阶段测试--测试计划与需求评估 三.开发设计阶段测试--分析与设计 四.测试阶段--测试执行与策略实施 五.发布前后阶段 一.背景&目标 测试工作是保 ...

  4. 以有限应对无限-互联网产品研发过程中的 5 种等级

    一个互联网产品的生命周期大概可以分为需求阶段,研发阶段,运营阶段. 在需求阶段,通常我们会有需求优先级: 在研发阶段,会有转测 BUG 等级,BUG 的严重程度: 在运营阶段,会有线上 BUG 等级, ...

  5. 一幅漫画揭示了项目研发过程中存在的问题,太形象了

    秋千制作过程的漫画最早出现在20世纪70年代.后来,秋千漫画出现了许多变种,如用来比喻软件开发过程和管理的漫画.秋千漫画描述了在实际制作秋千这个需求过程中,各个部门之间的理解配合及完成需求的差异. 2 ...

  6. 【Web技术】1154- 现代 Web 研发体系中的新一代低/零码搭建

    前言 终于有时间把稀土开发者大会上讲的「Web 开发引擎」和「低码」话题的分享,改成文字版发出来. 现场演讲中后半部分内容是脱稿讲的,我重写成了更全的内容. 「越来越庞大的应用开发需求」和「现代 We ...

  7. 新产品研发过程中的重要问题

    1.如何平衡市场竞争的压力和客户多变的需求,快速将产品推向市场: 2.如何建立一个真正的"以客户为中心.以市场为导向"的研发组织体系,快速响应市场需求: 3.产品开发的过程中研发如 ...

  8. 软件项目研发过程中阶段划分和工作方法

    一.产品立项阶段 主要工作:市场调研.竞品分析.可行性分析,确定产品定位,预估项目成本,规划产品发展目标和前景,同时提示和预警风险,以及对应的预案和措施. 工作目的:解决是否可以做,是否值得做,是否有 ...

  9. “最强悍”的面试过程中的典型问题

    以下总结了招聘时常见的众多问题,很有参考价值,可以想以下自己在被问到这些问题时如何作答. 一.跟我谈谈你自己: 1. 你比我面试的其他应征者强在什么地方? 2.你最好的朋友怎样评价你?从现在到将来的5 ...

  10. 启明云端分享|在研发过程中常常会遇到各种问题,小编为大家做了SSD201/202 FAQ整理,我会定期给大家整理相关问题,欢迎关注我们CSDN启明云端技术社区!

    SSD201/202 FAQ整理: 大家好!基于SSD201/SSD202核心板和4.3/7寸开发板,我们为你准备了公用资料,有需要可以联系小编. Q: Sigmastar开发板无法运行8ms编译的程 ...

最新文章

  1. 使用XML声明自定义Android UI元素
  2. java 大数的学习
  3. AndroidStudio-引用jar包及so文件
  4. python产生随机字符串_Python生成随机字符串
  5. Flat Tech html5 前端响应式模板
  6. oracle数据库启动多个监听,一台Oracle数据库服务器上两个监听同时使用
  7. 3星|《增长黑客》:增长黑客是一个牵强的概念
  8. web前端html怎么求最大值和最小值,第8篇-JavaScript专题之如何求数组的最大值和最小值...
  9. BLOCK_TYPE_US_VALID(pHead-nBlockUse)
  10. unity3d Md5打包与版本更新
  11. VBScript教程-第二章. 运行脚本
  12. 华为终端穿戴软件测试,【华为软件测试工程师面试】总共五轮面试外加一个上机的性格测试。-看准网...
  13. Sparrow 开发板化身电脑音量调节器
  14. [Python人工智能] 十九.Keras搭建循环神经网络分类案例及RNN原理详解
  15. spring源码构建时缺失spring-cglib-repack-3.2.4.jar和spring-objenesis-repack-2.4.jar
  16. python为自己龟蜗速更新的小说生成词云
  17. 搭建onedrive个人网盘(详细步骤)
  18. 网易企业邮箱用Python发邮件
  19. java毕业设计 springboot旅游网站景区景点购票系统 springboot毕业设计题目课题选题 springboot毕业设计项目作品源码(1)开题报告
  20. Linux 探索之旅 | 第四部分第二课:SSH 连接,安全快捷

热门文章

  1. 分享: Vue微信浏览器ios音乐自动播放
  2. 速读原著-TCP/IP(子网寻址)
  3. RocketMQ 延迟队列
  4. 绝对最大额定值(ABSOLUTE MAXIMUM RATINGS: ABS)是否可以超过
  5. 石家庄地铁路线安排网站的设计
  6. 为什么光标停在表格中间_在word光标处粘贴一表格,结果表格跑到别的位置,为啥?...
  7. 【回眸】Lunix内核 网络编程
  8. walking机器人仿真教程-应用-多点导航结合摄像头实现在线查房
  9. 深圳市社会医疗保险门诊大病管理办法
  10. 你知道CDN是什么吗?本文带你搞明白CDN