Реализация S-функций

S-функции MATLAB

Уровень S-функции 2 MATLAB® позволяет вам создавать блоки со многими функциями и возможностями Simulink® встроенные блоки, включая:

  • Несколько портов ввода и вывода

  • Способность принять векторные или матричные сигналы

  • Поддержка различных атрибутов сигнала включая тип данных, сложность и кадры сигнала

  • Способность действовать на уровне нескольких частот дискретизации

S-функция Уровня 2 MATLAB состоит из стандартной программы setup, чтобы сконфигурировать основные свойства S-функции и много методов коллбэка, которые механизм Simulink вызывает в подходящее время во время симуляции.

Основная аннотируемая версия шаблона находится в msfuntmpl_basic.m.

Шаблон состоит из функции setup верхнего уровня и набора скелетных локальных функций, каждая из которых соответствует конкретному методу коллбэка. Каждый метод коллбэка выполняет определенную задачу S-функции в конкретной точке в симуляции. Механизм вызывает локальные функции с помощью указателей на функцию, заданных в стандартной программе setup. Смотрите Уровень 2 Методы Коллбэка S-функции MATLAB для таблицы поддерживаемого Уровня 2 методы коллбэка S-функции MATLAB.

Более подробный Уровень 2 S-шаблон-функции MATLAB находится в msfuntmpl.m.

Мы рекомендуем, чтобы вы следовали за структурой и соглашениями о присвоении имен шаблонов при создании Уровня 2 S-функции MATLAB. Это облегчает для других понимать и поддерживать S-функции MATLAB, которые вы создаете. Смотрите Уровень 2 Записи S-функции MATLAB для получения информации о создании Уровня 2 S-функции MATLAB.

S-функции MEX

Как Уровень 2 S-функция MATLAB, S-функция MEX состоит из набора методов коллбэка, которые механизм Simulink вызывает, чтобы выполнить различные связанные с блоком задачи во время симуляции. S-функции MEX могут быть реализованы в C, C++ или Фортране. Механизм непосредственно вызывает стандартные программы MEX S-function вместо того, чтобы использовать указатели на функцию в качестве с S-функциями MATLAB. Поскольку механизм вызывает функции непосредственно, S-функции MEX должны следовать стандартным соглашениям о присвоении имен, заданным API S-функции.

Аннотируемый S-шаблон-функции MEX C находится в sfuntmpl_doc.c.

Шаблон содержит скелетные реализации всех необходимых и дополнительных методов коллбэка, которые может реализовать S-функция MEX C.

Поскольку более базовая версия шаблона видит sfuntmpl_basic.c.

MEX по сравнению с S-функциями MATLAB

Уровень 2 MATLAB и S-функции MEX у каждого есть преимущества. Преимуществом Уровня 2 S-функции MATLAB является скорость разработки. При разработке Уровня 2, которого избегают S-функции MATLAB, трудоемкий цикл "ссылка компиляции выполняется" требуемый при разработке на скомпилированном языке. Уровень 2 S-функции MATLAB также имеют более легкий доступ к функциям тулбокса MATLAB и могут использовать редактора MATLAB / Отладчик.

S-функции MEX более подходят для интеграции унаследованного кода в модель Simulink. Для более сложных систем S-функции MEX могут моделировать быстрее, чем S-функции MATLAB потому что Уровень 2 S-вызовы-функции MATLAB механизм выполнения MATLAB для каждого метода коллбэка.

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

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

| | |

Похожие темы