mdlGetTimeOfNextVarHit

Определите время следующего попадания шаг расчета

Необходимый

Нет

Языки

C, C++

Синтаксис

#define MDL_GET_TIME_OF_NEXT_VAR_HIT
void mdlGetTimeOfNextVarHit(SimStruct *S)

Аргументы

S

SimStruct, представляющий блок S-Function.

Описание

Simulink® engine вызывает этот необязательный метод на основном временном шаге, когда значение переменного шага расчета, зарегистрированное этой S-функцией, имеет значение hit. Этот метод используется двигателем Simulink, чтобы определить время следующего попадания выборки для переменного шага расчета. S-функция должна задать этот следующий выборочный удар с помощью ssSetTNext макрос в этом методе. Время следующего попадания должно быть больше текущего времени симуляции, возвращенного ssGetT. S-функция должна реализовать mdlGetTimeOfNextVarHit если он действует в переменном шаге расчета.

Для Level-2 MATLAB® S-функции, используйте шаг расчета -2, чтобы задать переменный шаг расчета. Выходной метод S-функции должен затем обновить NextTimeHit свойство образца Simulink.MSFcnRunTimeBlock класс, представляющий блок S-Function, чтобы задать время следующего шага расчета. См. /msfcn_vs.m например, пример.

Для Level-1 S-функций MATLAB a flag от 4 передается в S-функцию, когда необходимо вычислить следующее попадание шага расчета.

Примечание

Время следующего попадания может быть функцией от входных сигналов.

Пример

  static void mdlGetTimeOfNextVarHit(SimStruct *S)
  {
    time_T offset = getOffset();
  	time_T timeOfNextHit = ssGetT(S) + offset;
  	ssSetTNext(S, timeOfNextHit);
  }
Представлено до R2006a