Методы коллбэка 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 должны реализовать следующие методы коллбэка:

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

  • Выходные параметры Вычисляет вывод блока.

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

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

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

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

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

| | |

Похожие темы