Методы коллбэка S-функции

Обзор методов коллбэка

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

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

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

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

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

    • Определение номера и размерностей портов ввода и вывода

    • Установка шагов расчета блока

    • Выделение областей хранения

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

  • Вычисление выходных параметров в главном временном шаге — После этого вызова завершено, все выходные порты блока допустимы для шага текущего времени.

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

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

    Примечание

    Смотрите Фазы Симуляции в Динамических системах для объяснения главных и незначительных временных шагов.

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

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

Необходимые методы коллбэка

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

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

  • mdlInitializeSampleTimes – Задает шаг (шаги) расчета блока.

  • mdlOutputs – Вычисляет выход блока.

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

Дополнительные методы коллбэка

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

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

Необходимые методы коллбэка

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

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

  • Outputs – Вычисляет выход блока.

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

Для получения информации о записи методов коллбэка смотрите Уровень 2 Записи S-функции MATLAB.

Дополнительные методы коллбэка

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

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

| | |

Похожие темы