Методы обратного вызова 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-функция задает обратный вызов.

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

| | |

Похожие темы

Была ли эта тема полезной?