主要内容

s函数回调方法

回调方法概述

每个s函数必须实现一组被调用的方法回调方法那就是Simulink金宝app®在模拟包含s功能的模型时调用。

s函数回调方法执行每个仿真阶段所需的任务。在模型的仿真过程中,在每个仿真阶段,Simulink引擎都会为模型中的每个S-Function块调用相应的方法。金宝app

S-function回调方法执行的任务包括:

  • 初始化-在第一个模拟循环之前,引擎初始化s功能,包括:

    • 初始化SimStruct,一个包含s函数信息的仿真结构

    • 设置输入输出端口的数量和尺寸

    • 设置块样本时间

    • 分配存储区域

  • 计算下一个样本击中-如果你创建了一个可变的样本时间块,这个阶段计算下一个样本命中的时间;也就是说,它计算下一步的大小。

  • 主要计算输出时间步长—调用完成后,所有块输出端口对当前时间步长有效。

  • 更新离散状态的主要时间步长-在这个调用中,块执行每时间步一次的活动,例如更新离散状态。

  • 集成-这适用于具有连续状态和/或非抽样零交叉的模型。如果你的s函数有连续的状态,引擎在小的时间步上调用你的s函数的输出和导数部分。这样求解器就可以计算s函数的状态。如果您的s函数具有非采样的零交叉点,引擎也会在较小的时间步骤中调用s函数的输出和零交叉点部分,以便它可以定位零交叉点。

    请注意

    看到动态系统的仿真阶段来解释主要和次要的时间步骤。

有些回调方法是可选的。引擎只在s函数定义了回调函数时才调用可选的回调函数。

C MEX s -函数的回调方法

需要回调方法

C MEX S-functions必须实现以下回调方法:

可选的回调方法

下面的回调方法是可选的。引擎只在s函数定义了回调函数时才调用可选的回调函数。

MATLAB二级s函数的回调方法

需要回调方法

MATLAB二级s函数必须实现以下回调方法:

  • 设置参数的大小SimStruct,例如块的输出端口数量。

  • 输出—计算块的输出。

  • 终止-在模拟结束时执行任何需要的操作。如果不需要任何操作,则可以将此函数实现为存根。

有关编写回调方法的信息,请参见编写二级MATLAB s函数

可选的回调方法

下面的回调方法是可选的。引擎只在s函数定义了回调函数时才调用可选的回调函数。

另请参阅

|||

相关的话题