Типы пользовательских блоков

Блоки MATLAB function

Функциональный блок MATLAB® позволяет вам использовать язык MATLAB, чтобы задать пользовательскую функциональность. Эти блоки являются хорошей начальной точкой для создания пользовательского блока если:

  • У вас есть существующая функция MATLAB, которая моделирует пользовательскую функциональность.

  • Вы находите легче смоделировать пользовательскую функциональность с помощью функции MATLAB, чем использование блок-схемы Simulink®.

  • Пользовательская функциональность не включает непрерывные или дискретные динамические состояния.

Можно создать пользовательский блок из функции MATLAB с помощью одного из следующих типов блоков MATLAB function.

  • Блок Interpreted MATLAB Function позволяет вам использовать функцию MATLAB, чтобы задать блок SISO.

  • Блок MATLAB Function позволяет вам задавать пользовательский блок с несколькими вводами и выводами, которые можно развернуть во встраиваемый процессор.

Каждый из этих блоков имеет преимущества в конкретных приложениях моделирования. Например, можно сгенерировать код из моделей, содержащих блоки MATLAB Function.

Системные блоки MATLAB

Блок MATLAB System позволяет вам использовать Системные объекты, записанные с языком MATLAB, чтобы задать пользовательскую функциональность. Эти блоки являются хорошей начальной точкой для создания пользовательского блока если:

  • У вас есть существующая Система object™ что модели пользовательская функциональность.

  • Вы находите легче смоделировать пользовательскую функциональность с помощью языка MATLAB, чем использование Диаграммы Simulink.

  • Пользовательская функциональность включает дискретные динамические состояния.

Блоки Subsystem

Блоки Subsystem позволяют вам создавать схему Simulink, чтобы задать пользовательскую функциональность. Эти блоки служат хорошей начальной точкой для создания пользовательского блока если:

  • У вас есть существующая схема Simulink, это моделирует пользовательскую функциональность.

  • Вы находите легче смоделировать пользовательскую функциональность с помощью графического представления вместо того, чтобы использовать рукописный код.

  • Пользовательская функциональность является функцией непрерывных или дискретных системных состояний.

  • Можно смоделировать пользовательскую функциональность с помощью существующих блоков Simulink.

Если у вас есть Подсистема Simulink, которая моделирует необходимое поведение, можно преобразовать его в пользовательский блок:

  1. Маскирование блока, чтобы скрыть содержимое блока и обеспечить диалоговое окно пользовательского блока.

  2. Размещение блока в библиотеке, чтобы запретить модификации и допускать легко обновляющиеся копии блока.

Для получения дополнительной информации смотрите Пользовательские Библиотеки и Создайте Маски Блока.

C блок вызывающей стороны

Блок C Caller позволяет вам интегрировать код С в блоки Simulink. Эти блоки служат хорошей начальной точкой для создания пользовательского блока если:

  • У вас есть существующий код С, это моделирует пользовательскую функциональность.

  • Ваши функции C не читают или пишут глобальную переменную/статические переменные.

  • Вы хотите, чтобы блоки легко объединялись с другими функциями Simulink, такими как Simulink Coverage™, Simulink Test™ и Simulink Coder™.

  • Вы не моделируете динамические системы.

Блок C Function

Блок C Function позволяет вам интегрировать код С в блоки Simulink. Эти блоки служат хорошей начальной точкой для создания пользовательского блока если:

  • У вас есть существующий код С, это моделирует пользовательскую функциональность.

  • Вы хотите вызвать несколько функций C от блока или вызвать функции C условно.

  • Вы хотите включать код С, чтобы предварительно обработать и постобработать данные до и после вызова C функции.

  • Вы хотите задать различный код для симуляции и генерации кода.

  • Вы не моделируете динамические системы с непрерывными состояниями.

Блоки s-function

Блоки s-function позволяют вам писать MATLAB, C, или Код С++, чтобы задать пользовательскую функциональность. Эти блоки служат хорошей начальной точкой для создания пользовательского блока если:

  • У вас есть существующий MATLAB, C, или Код С++, это моделирует пользовательскую функциональность.

  • Вы используете непрерывные или дискретные динамические состояния или другое поведение системы, которое требует доступа к API S-функции.

  • Вы не можете смоделировать пользовательскую функциональность с помощью существующих блоков Simulink.

Можно создать пользовательский блок из S-функции с помощью одного из следующих типов Блоков s-function.

Цель S-функции в продукте Simulink Coder автоматически генерирует S-функцию MEX C от графической подсистемы. Если вы хотите создать свой пользовательский блок в Подсистеме Simulink, но реализовывать окончательную версию блока в S-функции, можно использовать цель S-функции, чтобы преобразовать подсистему в S-функцию. Смотрите Ускоряют Симуляцию, Код Повторного использования, или Защищают Интеллектуальную собственность при помощи Цели S-функции (Simulink Coder) в Руководстве пользователя Simulink Coder для деталей и ограничений на использование цели S-функции.

Маскированные блоки

Можно настроить любой блок путем добавления маски в него. Маска является пользовательским интерфейсом с блоком. Можно настроить блок с помощью маски во многих отношениях, такой как:

  • Измените внешний вид блока.

  • Скройте некоторых или все параметры от пользователя блока.

  • Настройте параметры блоков.

Чтобы узнать больше о маскированных блоках, смотрите, Создают Маски Блока.

Смотрите также

| | | | | | | | |

Похожие темы