exponenta event banner

Методы обратного вызова S-функции

Обзор методов обратного вызова

Каждая S-функция должна реализовать набор методов, называемых методами обратного вызова, которые модуль Simulink ® вызывает при моделировании модели, содержащей S-функцию .

Методы обратного вызова S-функции выполняют задачи, необходимые на каждом этапе моделирования. Во время моделирования модели на каждом этапе моделирования механизм Simulink вызывает соответствующие методы для каждого блока S-функции в модели.

Задачи, выполняемые методами обратного вызова S-функции, включают в себя:

  • Инициализация - перед первым циклом моделирования механизм инициализирует S-функцию, включая:

    • Инициализация SimStruct, структура моделирования, которая содержит информацию о S-функции

    • Установка количества и размеров портов ввода и вывода

    • Установка времени образца блока

    • Распределение складских площадей

  • Расчет следующего попадания пробы - если вы создали переменный временной блок выборки, на этом этапе вычисляется время следующего попадания пробы; то есть вычисляется размер следующего шага.

  • Расчет выходов на основном временном шаге - после завершения этого вызова все выходные порты блока действительны для текущего временного шага.

  • Обновление дискретных состояний на основном временном шаге - в этом вызове блок выполняет действия один раз за шаг, такие как обновление дискретных состояний.

  • Интеграция - это относится к моделям с непрерывными состояниями и/или несамплированными пересечениями нулевого уровня. Если S-функция имеет непрерывные состояния, механизм вызывает выходную и производную части S-функции на второстепенных временных шагах. Это значит, что решатели могут вычислить состояния для вашей S-функции. Если S-функция не имеет отсчетов нулевых переходов, механизм также вызывает части выходных переходов и переходов нулевых переходов S-функции на второстепенных временных шагах, так что он может обнаружить переходы нулевых значений.

    Примечание

    Описание основных и второстепенных временных шагов см. в разделе Этапы моделирования в динамических системах.

Некоторые методы обратного вызова являются необязательными. Механизм вызывает необязательный обратный вызов только в том случае, если функция S определяет обратный вызов.

Методы обратного вызова для S-функций C MEX

Требуемые методы обратного вызова

S-функции C MEX должны реализовывать следующие методы обратного вызова:

  • mdlInitializeSizes - Указывает размеры различных параметров в SimStruct, например, количество выходных портов для блока.

  • mdlInitializeSampleTimes - указывает время выборки блока.

  • mdlOutputs - вычисляет выходной сигнал блока.

  • mdlTerminate - Выполняет все действия, необходимые для завершения моделирования. Если действия не требуются, эта функция может быть реализована как заглушка.

Дополнительные методы обратного вызова

Следующие методы обратного вызова являются необязательными. Механизм вызывает необязательный обратный вызов только в том случае, если функция S определяет обратный вызов.

Методы обратного вызова для Level-2 S-функций MATLAB

Требуемые методы обратного вызова

Level-2 S-функции MATLAB должны реализовывать следующие методы обратного вызова:

  • setup - Указывает размеры различных параметров в SimStruct, например, количество выходных портов для блока.

  • Outputs - вычисляет выходной сигнал блока.

  • Terminate - Выполняет все действия, необходимые для завершения моделирования. Если действия не требуются, эта функция может быть реализована как заглушка.

Для получения информации о написании методов отзыва посмотрите, Пишут Уровню 2 MATLAB S-Functions.

Дополнительные методы обратного вызова

Следующие методы обратного вызова являются необязательными. Механизм вызывает необязательный обратный вызов только в том случае, если функция S определяет обратный вызов.

См. также

| | |

Связанные темы