采样时间类型
离散采样时间
给定一个具有离散采样时间的块,Simulink金宝app®不时执行块输出或更新方法
样本时间段在哪里 总是大于零且小于模拟时间, .周期数( )是一个整数,必须满足:
随着仿真的进行,Simulink在每个固定的时间间隔金宝app中只计算一次块输出 .这些模拟时间,即Simulink在给定的采样时间内执行块的输出方法金宝app的时间,被称为采样时间命中.离散抽样时间是已知抽样时间命中的唯一类型先天的.
如果你需要延迟初始采样命中时间,你可以定义一个偏移量, .
的单位延迟块是具有离散采样时间的块的一个例子。
连续采样时间
与离散采样时间不同,连续采样命中时间分为主时间步长和小时间步长,其中小时间步长代表大时间步长的细分。求解器在每个主要时间步骤生成一个结果。它使用小时间步的结果来提高大时间步结果的准确性。
您选择的ODE求解器集成从模拟开始时间到给定的主要或次要时间步长的所有连续状态。求解器确定小步的次数,并使用小时间步的结果来提高大时间步结果的准确性。但是,您只能在主要时间步长处看到块输出。
来指定一个块,例如导数块,是连续的,输入(0,0)
或0
在样品时间块对话框中的字段。
Fixed-in-Minor-Step
如果块的采样时间设置为[0 1
],块变成fixed-in-minor-step.对于这种设置,Simulink不会在金宝app较小的时间步长执行块;更新只发生在主要时间步骤。这个过程消除了对输出在主要步骤之间不能改变的块进行不必要的计算。
虽然您可以显式地将块设置为固定在小步骤中,但更典型的是,Simulink将此条件设置为继承的采样时间或对用户规范的更改金宝app0
(连续)。当您使用固定步长求解器时,此设置相当于(因此转换为)最快的离散速率。
继承采样时间
如果设置块采样时间为(1,0)
或1
,采样时间为继承了Simu金宝applink根据模型中的块上下文确定块的最佳采样时间。金宝appSimulink在编译阶段执行此任务;原始的继承设置永远不会出现在编译的模型中。因此,您永远不会在采样时间图例中看到继承的([- 1,0])。(见查看采样时间信息.)
在一些块中,默认情况下继承采样时间(-1)。对于这些块,参数在块对话框中不可见,除非它被设置为非继承值。这些块的示例包括获得而且圆的函数块。作为一个好的建模实践,不要改变样品时间参数。有关更多信息,请参见不建议采样时间的块.
所有继承块都服从于样本时间传播的过程,如中所讨论的传播如何影响继承的采样时间
恒定采样时间
在Si金宝appmulink中,常量是一个符号名称或表达式,您只能在算法之外或通过监督控制更改其值。块,如常量块,其输出在模型的正常执行期间不会改变,总是被认为是常量。
金宝appSimulink为这些块分配恒定的采样时间。它们运行它们的块输出方法:
在模拟开始时。
响应环境中的运行时更改,例如调优参数。
对于固定采样时间,块采样时间分配为(正无穷,0)
或[正]
.
对于允许恒定采样时间的块,这些条件保持:
块没有连续或离散状态。
该块不驱动有条件执行的子系统的输出端口(参见使用已启用的子系统).
功能块
Simu金宝applink块库包括几个块,例如MATLAB的s函数块,二级MATLAB s函数Block和C s函数块,其端口可以产生不同采样率的输出。这些块的某些端口有可能具有恒定的采样时间。
可变采样时间
使用可变采样时间的块具有隐式SampleTime
块指定的参数;block告诉Simulink什金宝app么时候运行它。编译后的样本时间为[-2,
),T签证官
是唯一的变量偏移量。T签证官
的脉冲发生器块是具有可变采样时间的块的一个示例。由于Simu金宝applink金宝app仅支持变步长求解器的变采样时间,因此脉冲发生器块指定一个离散采样时间,如果你使用固定步长求解器。
若要了解如何编写使用可变采样时间的自己的块,请参见C MEX s -函数示例.
可控采样时间
块可以配置为使用具有分辨率的可控采样时间T基地.T基地块执行之间允许的最小时间间隔。设置T基地在你自己的C S-Function块,使用ssSetControllableSampleTime
.
使用可控采样时间的块可以动态设置在n的倍数T基地.块下一次执行的时间为
T下一个=nT基地+T
你可以设置n在你的C S-Function块中使用ssSetNumTicksToNextHitForControllableSampleTime
.
触发采样时间
如果一个块在一个触发类型(例如,函数调用,启用和触发,或迭代器)子系统内部,块可以是常量或有一个触发采样时间。不能显式指定触发的采样时间类型。但是,要在编译期间实现触发类型,必须将块采样时间设置为inherited(-1)。金宝app然后,Simulink确定块在模拟过程中计算输出的具体时间。一个例外是,如果子系统是一个异步函数调用,如下一节所讨论。
异步采样时间
异步采样时间类似于触发采样时间。在这两种情况下,都有必要指定继承的采样时间,因为Simulink引擎不会定期执行该块。金宝app相反,运行时条件决定块何时执行。对于异步采样时间的情况,s函数进行异步函数调用。
这些样本时间类型之间的差异是:
有关如何使用块为异步事件处理建模和生成代码的说明,请参见速率转换和异步块(金宝app仿真软件编码器)。