Определение времени следующего совпадения времени выборки
Нет
C, C++
#define MDL_GET_TIME_OF_NEXT_VAR_HIT
void mdlGetTimeOfNextVarHit(SimStruct *S)
S SimStruct представляет S-функциональный блок.
Механизм Simulink ® вызывает этот дополнительный метод на основном этапе времени, когда время выборки переменной, зарегистрированное этой S-функцией, имеет совпадение. Этот метод используется механизмом Simulink для определения времени следующего попадания пробы для переменного времени выборки. S-функция должна установить следующее попадание образца с помощьюssSetTNext в этом методе. Время следующего попадания должно быть больше текущего времени моделирования, возвращенного ssGetT. S-функция должна реализовываться mdlGetTimeOfNextVarHit если он работает в переменное время выборки.
Для Level-2 функций MATLAB ® S используйте время выборки -2, чтобы задать переменное время выборки. Метод вывода S-функции должен затем обновить NextTimeHit свойство экземпляра Simulink.MSFcnRunTimeBlock класс, представляющий блок S-Function для установки времени следующего совпадения времени выборки. Посмотрите /msfcn_vs.m например.
Для Level-1 S-функций MATLAB flag из 4 передается в S-функцию, когда необходимо вычислить следующее совпадение времени выборки.
Примечание
Время следующего попадания может быть функцией входных сигналов.
static void mdlGetTimeOfNextVarHit(SimStruct *S)
{
time_T offset = getOffset();
time_T timeOfNextHit = ssGetT(S) + offset;
ssSetTNext(S, timeOfNextHit);
}