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

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