Задайте шаг расчета порта выхода
real_T ssSetOutputPortSampleTime(SimStruct *S, int_T outputPortIdx, time_T period)
S
SimStruct, представляющий блок S-Function.
outputPortIdx
Индекс порта выхода, шаг расчета которого устанавливается.
period
Шаг расчета выходного порта.
The real_T
значение шага расчета, прошедшего в макрос.
Использование в mdlInitializeSizes
(после ssSetNumOutputPorts
), чтобы задать период шага расчета как непрерывный или как дискретное значение для каждого индекса выхода порта. Выходы индекса портов начинаются с 0 и заканчиваются общим количеством входа портов минус 1. Для непрерывного шага расчета задайте period
как CONTINUOUS_SAMPLE_TIME
. Чтобы наследовать шаг расчета, задайте период следующим INHERITED_SAMPLE_TIME
. Использовать этот макрос следует только в том случае, если заданы шаги расчета на основе портов.
Если S-функция задает INHERITED_SAMPLE_TIME
для любого из своих портов S-функция должна включать в себя
метод коллбэка. Метод коллбэка должен задать шаг расчета и смещение портов, которые наследуют их шаг расчета, до состояния, которое имеет Simulink® engine присваивает им с помощью своих шагов расчета правил распространения. Метод коллбэка может также назначить шаги расчета и смещения других портов на блоке, шаги расчета которых наследуются.mdlSetOutputPortSampleTime
C, C++
Смотрите S-функцию sfun_multirate.c
используется в sfcndemo_sfun_multirate
.