每个s函数必须实现一组被调用的方法回调方法,那是Simulink万博1manbetx®在模拟包含S函数的模型时调用引擎调用。
s -函数回调方法执行每个模拟阶段所需的任务。在模型的仿真过程中,在每个仿真阶段,Simulink引擎对模型中的每个S-Function块调用适当的方法。万博1manbetx
由S函数回调方法执行的任务包括:
初始化-在第一个模拟循环之前,引擎初始化s函数,包括:
初始化酝酿
,一个包含有关S函数信息的仿真结构
设置输入和输出端口的数量和尺寸
设置块样本时间
分配存储区域
计算下一个样本击中- 如果您创建了一个变量采样时间块,则此阶段计算下一个样本命中的时间;也就是说,它计算下一步大小。
计算输出的主要时间步长- 完成此呼叫完成后,所有块输出端口对当前时间步长有效。
在主要时间步骤中更新离散状态- 在此调用中,该块执行一次性阶跃的一次活动,例如更新离散状态。
集成- 这适用于具有连续状态和/或非采样零点的模型。如果您的S函数具有连续状态,则发动机在次要时间步骤中调用S-函数的输出和衍生部分。这是求解器可以为您的S函数计算状态。如果您的S函数具有非采样过零点,则发动机还在次要时间步骤中调用S-函数的输出和零交叉部分,以便它可以定位零点。
看动态系统的仿真阶段有关主要和次要时间步的解释。
一些回调方法是可选的。当S函数定义回调时,引擎才会调用可选的回调。
C MEX s -函数必须实现以下回调方法:
- 指定各种参数的大小mdlInitializeSizes
酝酿
,例如块的输出端口数。
- 指定块的采样时间。mdlInitializeSampleTimes
- 计算块的输出。mdloutputs.
- 执行终止模拟所需的任何操作。如果不需要操作,则此函数可以作为存根实现。mdlTerminate
有关编写回调方法的信息,请参见写回调方法。
以下回调方法是可选的。当S函数定义回调时,引擎才会调用可选的回调。
Level-2 Matlab S函数必须实现以下回调方法:
有关编写回调方法的信息,请参见写入级别-2 Matlab S函数。
以下回调方法是可选的。当S函数定义回调时,引擎才会调用可选的回调。