STM32
直播中

陈超

7年用户 934经验值
私信 关注
[问答]

什么是实时仿真? Simulink的实时仿真功能是什么?

什么是实时仿真?Simulink的实时仿真功能是什么?

回帖(1)

莫循虎

2021-11-22 09:32:48
  为什么写这篇文章

  之前的实验室用的倍福的运动控制器。1控2。当时买了4个,一个20000rmb(贵的ya批)。他们的那个控制器可以达到100us。现在实验室一个科研项目需要控制速率比较高的运动控制器。反正给老板报价的时候没批下来(因为要用20多个电机去控制,能批下来就有鬼了)。后来我想用linux来搭实时系统,实验室大家都习惯matlab和windows。。。至少还有解决办法把。目前我已经搭完整套流程,师兄在上面做实验。从站是拿stm32搭的,为此我自学了一个月的32.。。分三次写,主要我时间有点紧张。
    什么是实时仿真

  以下是我从某乎找来的介绍和图
  首先简单介绍一下实时仿真的概念,所谓Real-Time就是指程序运行的时间和真实时间是一致的。比如我们建立一个惯性环节对单位阶跃信号的响应的仿真程序,仿真时间为10秒;而程序很可能几毫秒就运行完,并给出了你计算结果,也就是说这个过程是非实时的。它所耗费的时间却决于模型的复杂程度、计算机性能等因素,因此这个时间对我们来说是不可控的。然而在进行仿真,特别是涉及到硬件的硬件再环仿真(HIL)的时候,我们往往要求程序的响应和真实时间是一致的。举例来说,如果我们建立了一个飞机的动力学模型,现在希望考察它对摇杆操纵的响应情况。如果程序运行的太快或太慢都将导致和摇杆输入量的不匹配,那么计算出来的结果也是没有意义的。所以实时仿真就显得十分重要了。一个程序要实时,包括两层含义:程序不能响应太慢,也就是在一个仿真步长内必须完成一次计算;也不能太快,完成一次计算后还没有到下一个步长就要等待。能进行实时仿真的工具很多,其中Matlab/Simulink可以很方便地实现这一功能。下面介绍一下Simulink的实时仿真功能。
  Matlab实时仿真器

  在Matlab早期的版本中,提供的实时仿真工具称为Real Time WorkShop也就是常常见到的RTW工具箱。现在最新的Matlab把它更名为Simulink Real-Time,并添加了Simulink Desktop Real-Time功能。相比前者,后者使用起来更加简单、方便上手,基本上可以满足一些常见的实时仿真要求。具体地说,Desktop Real-Time可以在一台电脑上完成仿真,而Simulink Real-Time则有宿主机(host)和目标机(target)之分。

  

  

介绍写的很简洁明了,我就放到这供大家参考了,我也不知道原作者是谁。我的重点是我配置策略
  重点&&我的硬件配置方案

  早期matlab实时仿真系统是支持第三方网卡的,比如我用的Intel I210。但是2018年matlab和speedgoat合作,所以之后的Simulink Real-Time不支持第三方硬件。关于speedgoat的报价我就不说了。你可以去官网或者中国做类似的厂家官网上看。价格不明着说基本代表亮价等于劝退。不过有钱人可以直接买一个。。。
     
    所以希望和我一样搭建的,只能从matlabR2017b和之前的版本选一款
除了matlab需要注意就是第三方硬件。如果你是Desktop就什么也不用管了。毕竟是一个机器。如果选用主从模式的机器。i几都无所谓,要确保从站cpu不能高于第六代且从站需要有双网卡,一个连上位机,一个连ethercat从站。于是我拿了个马上报废的电脑当从站。。。从站有内存,cpu,还能动就可以用,无需硬盘
  XPC配置过程

  在matlab命令行中xpcexplr启动配置界面。
  
  

  

  没什么可讲的,注意一下网段。建议上位机(就是跑simulink的程序机器)有双网卡,一个网卡和从站连接,设置在一个网段下,另一个用来上网。用硬盘做启动盘。之后在matlabxpc查看效果
  
  

  

  
  
举报

更多回帖

发帖
×
20
完善资料,
赚取积分