mdlGetTimeOfNextVarHit

Задайте время следующего хита шага расчета

Необходимый

Нет

Языки

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);
  }

Смотрите также

mdlInitializeSampleTimes, ssGetT, ssSetTNext

Представлено до R2006a