Simulink Function

Графически задайте функцию с блоками Simulink

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

    SimEvents

  • Simulink Function block

Описание

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

Для описания параметров блоков смотрите Subsystem.

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

Можно выбрать блок Simulink Function или Function Caller, чтобы подсветить блоки, связанные с ним. Чтобы показать связанный блок в открытой схеме или новой вкладке, сделайте паузу на замещающем знаке, который появляется после выбора. Затем выберите Related Blocks Related Blocks buttonот строки меню. Когда несколько блоков соответствуют выбранному блоку, список связанных блоков открывается. Можно отфильтровать список связанных блоков путем ввода критерия поиска в текстовое поле. После того, как вы выбираете связанный блок из списка, особое внимание окна переходит к открытой схеме или новой вкладке, которая показывает связанный блок.

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

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

Например, ввод y = myfunction(u) на поверхности блока Simulink Function добавляет один 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 избавляет от необходимости маршрутизацию сигнальных линий ввода и вывода через иерархию модели.

АтрибутБлок Function-Call SubsystemФункциональный блок 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 в блоке подсистемы обеспечивает выходной порт, соответствующий выходному аргументу. Порт не отображен на блоке подсистемы.

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

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

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

Типы данных

Boolean[a] | шина[a] | дважды[a] | перечислимый[a] | фиксированная точка[a] | половина[a] | целое число[a] | один[a] | строка[a]

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

no

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

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

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

no

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

no

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

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

Введенный в R2014b