exponenta event banner

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

Функциональные блоки MATLAB

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

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

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

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

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

  • Блок интерпретированной функции MATLAB позволяет использовать функцию MATLAB для определения блока SISO.

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

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

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

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

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

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

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

Блоки подсистем

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

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

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

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

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

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

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

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

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

Блокировка вызывающего абонента C

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

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

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

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

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

Функциональный блок C

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

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

  • Требуется вызвать несколько C-функций из блока или вызвать C-функции условно.

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

  • Необходимо указать другой код для моделирования и создания кода.

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

S-функциональные блоки

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

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

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

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

Можно создать пользовательский блок из S-функции, используя один из следующих типов S-функциональных блоков.

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

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

Любой блок можно настроить, добавив к нему маску. Маска - это пользовательский интерфейс к блоку. Блок можно настроить с помощью маски различными способами, например:

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

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

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

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

См. также

| | | | | | | | |

Связанные темы