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

MATLAB S-функции

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.

Функции MEX S

Как и 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.

MEX от S-функций MATLAB

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-функции, наиболее подходящей для вашего приложения.

См. также

| | | |

Похожие темы