Main Content

模块编译后的采样时间

在仿真的编译阶段,Simulink® 根据 SampleTime 参数(如果模块具有显式采样时间)、模块类型(如果模块具有隐式采样时间)或模型内容来确定模块的采样时间。此编译后的采样时间决定仿真过程中模块的采样率。通过先更新模型,然后使用 get_param 命令获取模块的 CompiledSampleTime 参数,您可以确定模型中任何模块的编译后的采样时间。

例如,请参考以下模型。

在本示例中,使用 get_param 获取每个模块的 CompiledSampleTime 参数。

get_param('model_name/block_name','CompiledSampleTime');
对于 Sine Wave3 模块,
get_param('ex_compiled_sample_new/Sine Wave3','CompiledSampleTime');
显示
0.5000   0
原子子系统包含采样时间为 3 和 4 的正弦波模块。

为此子系统计算模块 CompiledSampleTime 时,Simulink 返回子系统中存在的采样时间元胞数组。

3   0
4   0
两个速率的最大公约数 (GCD) 为 1。但是,这不一定是模型中的某个速率。

此模型中的 Rate Transition 模块起到零阶保持器的作用。由于 Sample Time Multiple 参数设置为 3,因此 Rate Transition 模块的输入信号的采样率为 0.5,输出信号的采样率为 1.5。

rt=get_param('ex_compiled_sample_new/Rate Transition',...
'CompiledSampleTime');
rt{:}

0.5000   0
1.5000   0

“采样时间图例”显示模型中存在的所有采样率。

要检查整个模型中的编译采样时间,您可以使用模型数据编辑器(在建模选项卡上,点击模型数据编辑器)。更新模块图后,采样时间列的右侧将显示信号和数据存储的编译采样时间。有关详细信息,请参阅模型数据编辑器

相关主题