主要内容

s函数回调方法

回调方法概述

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

S函数回调方法执行每个模拟阶段所需的任务。在模拟模型期间,在每个模拟阶段,Simulink引擎在模型中调用适当的每个S函数块的方法。金宝app

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

  • 初始化- 在第一个仿真环路之前,发动机初始化S函数,包括:

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

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

    • 设置块采样时间

    • 分配存储区域

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

  • 重大时间步骤中产出的计算—调用完成后,所有块输出端口对当前时间步长有效。

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

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

    请注意

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

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

C MEX s -函数的回调方法

需要回调方法

C MEX S函数必须实现以下回调方法:

可选的回调方法

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

MATLAB二级s函数的回调方法

需要回调方法

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

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

  • 输出—计算块的输出。

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

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

可选的回调方法

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

另请参阅

|||

相关话题