Level-2 MATLAB® S-функции позволяют вам создавать блоки со многими функциями и возможностями Simulink® встроенные блоки, включая:
Несколько входных и выходных портов
Возможность принимать векторные или матричные сигналы
Поддержка различных атрибутов сигнала, включая тип данных, сложность и системы координат сигнала
Возможность работать с несколькими скоростями дискретизации
A Level-2 S-функция MATLAB состоит из setup
стандартная программа для конфигурирования основных свойств S-функции и ряда методов коллбэка, которые механизм Simulink вызывает в соответствующее время во время симуляции.
Базовая аннотированная версия шаблона находится в msfuntmpl_basic.m
.
Шаблон состоит из setup
верхнего уровня функция и набор локальных функций скелета, каждая из которых соответствует конкретному методу коллбэка. Каждый метод коллбэка выполняет определенную задачу S-функции в конкретной точке симуляции. Механизм вызывает локальные функции с помощью указателей на функцию, определенных в
setup
стандартная программа. См. Level-2 MATLAB S-Function Callback Methods для таблицы поддерживаемых Level-2 методов MATLAB S-function callback.
Более подробный Level-2 шаблон S-функции MATLAB находится в msfuntmpl.m
.
При создании Level-2 S-функций MATLAB рекомендуется следовать соглашениям о структуре и именовании шаблонов. Это облегчает для других понимание и обслуживание созданных вами MATLAB S-функций. Смотрите Запись Level-2 MATLAB S-Functions для получения информации о создании Level-2 S-функций MATLAB.
Как и Level-2 MATLAB S-функция, MEX S-функция состоит из набора методов коллбэка, которые механизм Simulink вызывает для выполнения различных связанных с блоками задач во время симуляции. MEX S-функции могут быть реализованы на C, C++ или Фортран. Механизм непосредственно вызывает стандартные программы S-функций MEX вместо использования указателей на функцию, как с S-функциями MATLAB. Поскольку механизм вызывает функции непосредственно, MEX S-функции должны соответствовать стандартным соглашениям об именовании, заданным S-функцией API.
Аннотированный шаблон S-функции MEX на C находится в 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/Debugger.
S-функции MEX более подходят для интеграции унаследованного кода в модель Simulink. Для более сложных систем MEX S-функции могут моделироваться быстрее, чем MATLAB S-функции, потому что Level-2 MATLAB S-функция вызывает механизм выполнения MATLAB для каждого метода коллбэка.
Смотрите Доступные реализации S-функций для получения информации о выборе типа S-функции, наиболее подходящей для вашего приложения.
Сравнение функциональности пользовательских блоков | Level-2 MATLAB S-Function | MATLAB Function | S-Function | S-Function Builder