Функциональный блок MATLAB® позволяет вам использовать язык MATLAB, чтобы задать пользовательскую функциональность. Эти блоки являются хорошей отправной точкой для создания авторского блока если:
У вас есть существующая функция MATLAB, которая моделирует пользовательскую функциональность.
Вы находите легче смоделировать пользовательскую функциональность с помощью функции MATLAB, чем использование блок-схемы Simulink®.
Пользовательская функциональность не включает непрерывные или дискретные динамические состояния.
Можно создать авторский блок из функции MATLAB с помощью одного из следующих типов блоков MATLAB function.
Блок Fcn позволяет вам использовать выражение MATLAB, чтобы задать одно вход, блок (SISO) одно вывода.
Интерпретированный блок MATLAB function позволяет вам использовать функцию MATLAB, чтобы задать блок SISO.
Блок MATLAB function позволяет вам задавать авторский блок с несколькими вводами и выводами, которые можно развернуть на встраиваемом процессоре.
Каждый из этих блоков имеет преимущества в конкретных приложениях моделирования. Например, можно сгенерировать код из моделей, содержащих блоки MATLAB function, тогда как вы не можете сгенерировать код для моделей, содержащих блок Fcn.
Блок MATLAB System позволяет вам использовать Системные объекты, записанные с языком MATLAB, чтобы задать пользовательскую функциональность. Эти блоки являются хорошей отправной точкой для создания авторского блока если:
У вас есть существующая Система object™ что модели пользовательская функциональность.
Вы находите легче смоделировать пользовательскую функциональность с помощью языка MATLAB, чем использование Диаграммы Simulink.
Пользовательская функциональность включает дискретные динамические состояния.
Блоки Subsystem позволяют вам создавать схему Simulink, чтобы задать пользовательскую функциональность. Эти блоки служат хорошей отправной точкой для создания авторского блока если:
У вас есть существующая схема Simulink, это моделирует пользовательскую функциональность.
Вы находите легче смоделировать пользовательскую функциональность с помощью графического представления вместо того, чтобы использовать рукописный код.
Пользовательская функциональность является функцией непрерывных или дискретных системных состояний.
Можно смоделировать пользовательскую функциональность с помощью существующих блоков Simulink.
Если у вас есть Подсистема Simulink, которая моделирует необходимое поведение, можно преобразовать его в авторский блок:
Маскирование блока, чтобы скрыть содержимое блока и обеспечить диалоговое окно авторского блока.
Размещение блока в библиотеке, чтобы запретить модификации и допускать легкое обновление копий блока.
Для получения дополнительной информации смотрите Библиотеки и Создайте Маски Блока.
Блок C Caller позволяет вам интегрировать код С в блоки Simulink. Эти блоки служат хорошей отправной точкой для создания авторского блока если:
У вас есть существующий код С, это моделирует пользовательскую функциональность.
Ваши функции C не читают или пишут глобальную переменную/статические переменные.
Вы хотите, чтобы блоки легко объединялись с другими функциями Simulink, такими как Simulink Coverage™, Simulink Test™ и Simulink Coder™.
Вы не моделируете динамические системы.
Блоки s-function позволяют вам писать MATLAB, C, или Код С++, чтобы задать пользовательскую функциональность. Эти блоки служат хорошей отправной точкой для создания авторского блока если:
У вас есть существующий MATLAB, C, или Код С++, это моделирует пользовательскую функциональность.
Вы используете непрерывные или дискретные динамические состояния или другое поведение системы, которое требует доступа к API S-функции.
Вы не можете смоделировать пользовательскую функциональность с помощью существующих блоков Simulink.
Можно создать авторский блок из S-функции с помощью одного из следующих типов Блоков s-function.
Уровень 2 Блок s-function MATLAB позволяет вам писать свою S-функцию с помощью языка MATLAB. (См. Уровень 2 Записи S-функции MATLAB). Можно отладить S-функцию MATLAB во время симуляции с помощью отладчика MATLAB.
Блок s-function позволяет вам написать свою S-функцию в C или C++, или включить существующий код в вашу модель с помощью обертки MEX C. (См. Реализацию S-функции C/C++.)
Блок S-Function Builder помогает вам в создании S-функции MEX C или функции обертки включать наследие C или Код С++. (См. Реализацию S-функции C/C++.)
Legacy Code Tool преобразовывает существующий C или функции C++ в S-функции MEX C. (См., Интегрируют Функции C Используя Legacy Code Tool.)
Цель S-функции в продукте Simulink Coder автоматически генерирует S-функцию MEX C от графической подсистемы. Если вы хотите создать свой авторский блок в Подсистеме Simulink, но реализовывать окончательную версию блока в S-функции, можно использовать цель S-функции, чтобы преобразовать подсистему в S-функцию. Смотрите Ускоряют Симуляцию, Код Повторного использования, или Защищают Интеллектуальную собственность при помощи Цели S-функции (Simulink Coder) в Руководстве пользователя Simulink Coder для деталей и ограничений на использование цели S-функции.
Можно настроить любой блок путем добавления маски в него. Маска является пользовательским интерфейсом к блоку. Можно настроить блок с помощью маски во многих отношениях, такой как:
Измените внешний вид блока.
Скройте некоторых или все параметры от пользователя блока.
Настройте параметры блоков.
Чтобы узнать больше о маскированных блоках, смотрите, Создают Маски Блока.
@fcn | Интерпретированная функция MATLAB | Уровень 2 S-функция MATLAB | Функция MATLAB | Matlab.system | S-функция | Разработчик S-функции | Функция Simulink | Подсистема