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