Simulink Function

Функция, заданная блоками Simulink

  • Библиотека:
  • Simulink/Пользовательские функции

    SimEvents

  • Simulink Function block

Описание

Блок Simulink Function является Subsystem блоком, предварительно сконфигурированным как начальная точка для графического определения функции с Simulink® блоки. Блок обеспечивает текстовый интерфейс для вызывающих абонентов функций. Можно вызвать Simulink Function блок из Function Caller блока, MATLAB Function блока или Stateflow® Chart (Stateflow).

Описание параметров блоков смотрите в Subsystem страницы с описанием блоков в документации Simulink.

Можно визуализировать вызовы функции Simulink в Sequence Viewer. Средство просмотра показов, когда выполнялись вызовы с помощью аргумента и возврата значений. См. Sequence Viewer (Stateflow) блок ссылки.

Можно выбрать Simulink Function или Function Caller блок, чтобы подсветить связанные с ним блоки.

Функциональный интерфейс

Интерфейс функции появляется на грани блока Simulink Function. Редактирование текста блока добавляет и удаляет Argument Inport блоки и Argument Outport блоки из определения функции. Редактирование также устанавливает параметр Function name в блоке Trigger внутри блока Simulink Function .

Для примера введите y = myfunction(u) на грани блока Simulink Function добавляется один блок Argument Inport (u) и один блок Argument Outport (y) в пределах подсистемы.

При вызове функции с помощью блока Function Caller, параметр, Function prototype в блоке Function Caller, должен точно совпадать с интерфейсом функции, заданным на блоке Simulink Function. Это соответствие включает имя функции и имена входа и выходных аргументов. Например, блок Simulink Function и блок Function Caller используют имена аргумента u и y.

При вызове функции из перехода Stateflow или метки состояния можно использовать различные имена аргумента. Для примера в блоке Simulink Function используются x и y аргументы в то время как переход Stateflow использует x2 и y2 аргументы для вызова функции.

Подсистемы вызова функций от функциональных блоков Simulink

В целом, блок Function-Call Subsystem обеспечивает лучшую трассируемость сигнала при прямых соединениях сигнала, чем блок Simulink Function. В то время как блок Simulink Function устраняет необходимость маршрутизации входных и выходных сигнальных линий через иерархию модели.

ПризнакПодсистема вызова функцийФункциональный блок Simulink
Метод выполнения/вызова функцииСрабатывает с помощью сигнальной линииВызывается по ссылке с использованием имени функции
Формальные входные параметры (блоки Argument Inport) и выходные аргументы (блоки Argument Outport)НетДа
Локальные входы (Inport блок) и выходы (Outport блок)ДаДа

Порты

Вход

расширить все

Размещение блока Inport в блоке подсистемы добавляет внешний входной порт к блоку Simulink Function. Метка порта совпадает с именем блока Inport.

Используйте Inport блоки, чтобы получить сигналы от локального окружения.

Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | struct

Блок Argument Inport в блоке подсистемы обеспечивает порт входа, относящийся к входному параметру. Порт не отображается на блоке подсистемы.

Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | struct

Выход

расширить все

Размещение блока Outport в блоке подсистемы добавляет порт выхода из блока. Метка порта на блоке подсистемы является именем блока Outport.

Используйте Outport блоки для отправки сигналов в локальное окружение.

Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | struct

Блок Argument Outport в блоке подсистемы обеспечивает выходной порт, относящийся к выходному аргументу put. Порт не отображается на блоке подсистемы.

Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | struct

Примеры моделей

Характеристики блоков

Типы данных

Булев[a] | шина[a] | double[a] | перечисленные[a] | фиксированную точку[a] | половину[a] | целое число[a] | сингл[a] | строка[a]

Прямое сквозное соединение

no

Многомерные сигналы

ограниченный[a]

Сигналы переменного размера

no

Обнаружение пересечения нулем

no

[a] Фактический тип данных или поддержка возможностей зависит от реализации блоков.

Расширенные возможности

.
Введенный в R2014b