Simulink 时钟同步

Simulink Clock Synchronisation

在 simulink 中,如果我 运行 任何模拟,它都会遵循内部时钟。我想实时 运行 这些模拟。

示例:如果我使用 PWM 脉冲发生器并给它 1 秒的采样时间,我希望它会在每一秒结束时实时生成一个样本,但 simulink 时钟移动非常非常快(每一秒的实时时间对应大约 1e6 秒的 smulink 时间)。有什么方法可以使simulink时钟与实时时钟同步吗?

我实际上需要在循环中每 2 秒结束时向硬件提供输入,这就是需要这种同步的原因。

首先请注意,Simulink 不是实时环境,因此您所做的与此相关的任何事情都不能保证在实现的时间上是近似的。

如果您的模型运行速度比实时速度快,那么它可以在每个时间步暂停,直到时钟时间和模拟时间(大约)相等。这是通过编写 S-Function 来实现的。

有几个这样做的例子。例如here or here.