每个函数都必须实现的一组方法,称为回调方法的仿真软件金宝app®引擎调用包含s函数当模拟模型。
在每个仿真所需的s函数回调方法执行任务阶段。在模拟模型,模拟在每个阶段仿真软件引擎调用适当的方法在模型中每个功能块。金宝app
s函数回调方法执行的任务包括:
初始化——第一个模拟循环之前,引擎初始化功能,包括:
初始化SimStruct
,模拟结构,其中包含的信息功能
设置输入和输出端口的数量和尺寸
设置块样品时间
分配存储区域
计算下一个样品——如果您创建了一个变量样本时间块,计算下一个样品的时间达到这个阶段;也就是说,它计算下一个步长。
计算输出的主要时间步——这个调用完成后,所有的块输出端口为当前时间步是有效的。
离散状态的更新主要的时间步——在这叫,块执行once-per-time-step活动,如更新离散状态。
集成——这适用于模型连续状态和/或nonsampled零交叉。如果你的s函数连续,引擎调用你的s函数的输出和导数部分小时间步。这是解决所以可以计算功能的状态。如果你的s函数nonsampled零交叉,发动机也称你的s函数的输出和零交叉部分较小的时间步长,以便它可以定位零交叉。
请注意
看到在动态系统仿真阶段解释的主要和次要的时间步骤。
一些回调方法是可选的。该引擎调用一个可选的回调只有s函数定义了回调。
C墨西哥人S-functions必须实现回调方法如下:
——指定大小的各种参数mdlInitializeSizes
SimStruct
,如输出端口的数量。
——指定块的采样时间(s)。mdlInitializeSampleTimes
——计算块的输出。mdlOutputs
——执行所需的任何操作的终止模拟。如果没有行动是必需的,这个函数可以实现为一个存根。mdlTerminate
下面的回调方法是可选的。该引擎调用一个可选的回调只有s函数定义了回调。
2级MATLAB S-functions必须实现回调方法如下:
编写回调方法的信息,请参阅写2级MATLAB S-Functions。
下面的回调方法是可选的。该引擎调用一个可选的回调只有s函数定义了回调。