Уровень S-функции 2 MATLAB® позволяет вам создавать блоки со многими функциями и возможностями Simulink® встроенные блоки, включая:
Несколько портов ввода и вывода
Способность принять векторные или матричные сигналы
Поддержка различных атрибутов сигнала включая тип данных, сложность и системы координат сигнала
Способность действовать на уровне нескольких частот дискретизации
Уровень 2 S-функция 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.
Как Уровень 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
.
Уровень 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-функции, подходящей лучше всего для вашего приложения.
Сравнение функциональности пользовательских блоков | Level-2 MATLAB S-Function | MATLAB Function | S-Function | S-Function Builder