Level-2 Функции MATLAB ® S позволяют создавать блоки со многими функциями и возможностями встроенных блоков Simulink ®, включая:
Несколько портов ввода и вывода
Возможность принимать векторные или матричные сигналы
Поддержка различных атрибутов сигнала, включая тип данных, сложность и сигнальные кадры
Возможность работы с несколькими частотами выборки
Level-2 S-функция MATLAB состоит из setup процедура настройки основных свойств S-функции и ряд методов обратного вызова, которые модуль Simulink вызывает в соответствующее время во время моделирования.
Базовая аннотированная версия шаблона находится в msfuntmpl_basic.m.
Шаблон состоит из верхнего уровня setup функцию и набор скелетных локальных функций, каждая из которых соответствует конкретному методу обратного вызова. Каждый метод обратного вызова выполняет конкретную задачу S-функции в определенной точке моделирования. Механизм вызывает локальные функции, используя дескрипторы функций, определенные в setup рутина. См. Методы Отзыва Уровня 2 MATLAB S-Function для таблицы поддержанных методов отзыва Уровня 2 MATLAB S-function.
Более подробный Level-2 шаблон S-функции MATLAB находится в msfuntmpl.m.
При создании Level-2 S-функций MATLAB рекомендуется соблюдать правила структуры и именования шаблонов. Это упрощает понимание и ведение создаваемых S-функций MATLAB. Посмотрите Пишут Уровню 2 MATLAB S-Functions для получения информации о создании Уровня 2 MATLAB S-functions.
Подобно Level-2 MATLAB S-функции, MEX S-функция состоит из набора методов обратного вызова, которые механизм Simulink вызывает для выполнения различных задач, связанных с блоками, во время моделирования. S-функции MEX могут быть реализованы в C, C++ или Fortran. Механизм непосредственно вызывает процедуры MEX S-функций вместо использования дескрипторов функций, как с S-функциями MATLAB. Поскольку механизм вызывает функции напрямую, S-функции MEX должны следовать стандартным соглашениям об именовании, определенным API S-функций.
Аннотированный шаблон S-функции C MEX находится в sfuntmpl_doc.c.
Шаблон содержит каркасные реализации всех необходимых и необязательных методов обратного вызова, которые может реализовать S-функция C MEX.
Для получения более базовой версии шаблона см. sfuntmpl_basic.c.
Level-2 функции MATLAB и MEX S имеют преимущества. Преимуществом Level-2 S-функций MATLAB является скорость разработки. Разработка Level-2 S-функций MATLAB позволяет избежать трудоемкого цикла компиляции-связи-выполнения, необходимого при разработке на компилируемом языке. Level-2 S-функции MATLAB также имеют более легкий доступ к функциям панели инструментов MATLAB и могут использовать редактор/отладчик MATLAB.
S-функции MEX более подходят для интеграции устаревшего кода в модель Simulink. Для более сложных систем S-функции MEX могут моделироваться быстрее, чем S-функции MATLAB, поскольку Level-2 S-функция MATLAB вызывает механизм выполнения MATLAB для каждого метода обратного вызова.
Сведения о выборе типа S-функции, наиболее подходящей для вашего приложения, см. в разделе Доступные реализации S-функций.
Сравнение функциональных возможностей пользовательских блоков | Level-2 S-функция MATLAB | Функция MATLAB | S-функция | Построитель S-функций