主要内容

采样时间类型

离散采样时间

给定一个具有离散采样时间的块,Simulink®有时执行块输出或更新方法

t n n T 年代 + | T o |

样本时间段在哪里 T 年代 是否总是大于零且小于模拟时间 T 年代 .周期数( n )是一个整数,必须满足

0 n T 年代 T 年代

随着仿真的进行,Simulink在每个固定的时间间隔中只计算一次块输出 t n .在给定的样本时间内,Simulink执行块的输出方法时调用这些模拟时间样品时间打.离散抽样时间是已知抽样时间命中的唯一类型先天的

如果你需要延迟初始采样命中时间,你可以定义一个偏移量, T o

单位延迟块是具有离散采样时间的块的一个例子。

连续样品时间

连续采样时间命中分为大时间步长和小时间步长。小时间步长是大时间步长的细分。求解器在每个主要时间步上产生一个结果。该求解器利用小时间步的结果来提高大时间步结果的准确性。

您选择的ODE求解器集成了从模拟开始时间到给定的主要或次要时间步长的所有连续状态。求解器确定小步的次数,并利用小步的结果来提高大步结果的准确性。您只能在主要的时间步骤上看到块输出。

为块指定连续采样时间,例如导数块,样品时间参数,输入(0,0)0

继承采样时间

如果块采样时间设置为[1 0]1,采样时间为继承了, Simulink根据块在模型中的上下文来确定块的最佳采样时间。在编译过程中,Simulink用继承的采样时间来确定块的采样时间。因为继承的设置在编译时被覆盖,所以采样时间图例永远不会显示继承的采样时间[1 0]中的编译模型。有关更多信息,请参见查看样本时间信息

一些块默认继承采样时间。对于这些块,除非指定非继承值,否则参数是不可见的。例如,获得而且圆的函数块没有可见的采样时间参数,默认情况下继承了采样时间。作为最佳实践,不要更改样品时间参数。有关更多信息,请参见不推荐采样时间的块

所有继承的块都服从于采样时间传播的过程。有关更多信息,请参见传播如何影响继承的样本时间

Fixed-in-Minor-Step

如果一个块的采样时间为[0 1,块有fixed-in-minor-step样品时间。对于这个示例时间,块不执行次要的时间步骤。块只在主要的时间步中执行。固定的小步采样时间消除了输出在大步之间不能改变的块的不必要的计算。

虽然可以显式地将块设置为固定的小步骤采样时间,但软件通常会将此条件设置为继承的采样时间或对连续采样时间规范的更改。在使用固定步长求解器的系统中,固定在小步长的采样时间等价于最快的离散速率。当使用固定步长求解器时,固定在小步长的抽样时间被转换为最快的离散抽样时间。

常数样品时间

在仿真软件中,常数是一个符号名称或表达式,您只能在算法之外或通过监视控制更改其值。模块的输出在模型的正常执行期间不会改变,例如常数块,总是被认为是常数。

Simulink给这些块分配恒定的采样时间。它们运行块输出方法:

  • 在模拟开始时

  • 以响应环境中的运行时更改,例如调优参数

对于固定采样时间,块采样时间分配为(正0)

对于允许固定采样时间的块,该块必须没有连续或离散状态,并且不能驱动有条件执行子系统的输出端口。有关更多信息,请参见使用启用子系统

Simulink块库包括几个块,其端口可以以不同的采样率产生输出,例如MATLAB的s函数块,2级MATLAB函数块,C s函数块。这些块的一些端口可以有恒定的采样时间。

变量抽样时间

使用可变采样时间的块具有块指定的隐式采样时间参数。这个块告诉软件它什么时候执行。编译的样本时间为[2T签证官),T签证官是唯一的变量偏移量。

达到调度器块和脉冲发生器块都有可变的采样时间。变量采样时间只支持变量步长求解器。的达到调度器块不支持固定步骤求解器。当您使用固定步骤求解器来模拟包含脉冲发生器块,块指定一个离散的采样时间。

要了解如何编写使用可变采样时间的自己的块,请参见C MEX s -函数示例

控制样品的时间

您可以配置一个块来使用具有分辨率的可控采样时间T基地T基地块执行之间允许的最小时间间隔。设置T基地在你自己的C s函数块,用ssSetControllableSampleTime函数。

当一个块使用可控的采样时间时,您可以动态地配置块的执行时间n的倍数T基地.下一个块执行的时间为

T下一个nT基地+T

你可以设置n在你的C s函数块使用ssSetNumTicksToNextHitForControllableSampleTime函数。

触发采样时间

如果一个块位于一个被触发的子系统中,例如一个函数调用或启用的子系统,那么该块可能是常量或具有一个被触发的采样时间,除非是异步函数调用。不能显式指定触发样例时间类型。要在编译期间实现触发采样时间,请将块采样时间设置为inherited (1).然后,该软件确定在模拟过程中块执行的具体时间。

异步采样时间

异步采样时间类似于触发的采样时间。在这两种情况下,您都需要指定一个继承的样本时间,因为Simulink引擎并不定期执行该块。相反,运行时条件决定了块何时执行。对于异步采样时间,s函数进行异步函数调用。

这些样本时间类型之间的区别是:

  • 只有函数调用子系统才能具有异步采样时间。看到使用函数调用子系统

  • 函数调用信号的源是一个具有选项的s函数SS_OPTION_ASYNCHRONOUS

  • 当虚拟块连接到异步s函数或异步函数调用子系统时,也会发生异步采样时间。

  • 异步采样时间对于某些代码生成应用程序非常重要。看到异步事件(仿真软件编码器)

  • 采样时间为 1 n

有关如何使用块为异步事件处理建模和生成代码的说明,请参见速率转换和异步块(仿真软件编码器)

相关的话题

Baidu
map