Функция Simulink

Функция, определяемая с блоками Simulink

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

Описание

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

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

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

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

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

Например, ввод y = myfunction(u) на поверхности Функционального блока Simulink добавляет один блок Argument Inport (u) и один блок Argument Outport (y) в подсистеме.

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

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

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

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

АтрибутБлок Function-Call SubsystemФункциональный блок Simulink
Метод выполняющейся/вызывающей функцииИнициированное использование сигнальной линииВызванный ссылкой с помощью имени функции
Формальные входные параметры (Аргумент блоки Inport) и выходные аргументы (Блоки Выходного порта аргумента)НетДа
Локальные входные параметры (Блок Inport) и выходные параметры (Блок Outport)ДаДа

Порты

Входной параметр

развернуть все

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

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | булевская переменная | фиксированная точка | перечисленный | шина | struct

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | булевская переменная | фиксированная точка | перечисленный | шина | struct

Вывод

развернуть все

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

Используйте блоки Выходного порта, чтобы отправить сигналы в окружение.

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | булевская переменная | фиксированная точка | перечисленный | шина | struct

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | булевская переменная | фиксированная точка | перечисленный | шина | struct

Образцовые примеры

Блокируйте характеристики

Типы данных

double[a] | single[a] | Boolean[a] | base integer[a] | fixed point[a] | enumerated[a] | bus[a] | string[a]

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

No

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

Yes[a]

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

No

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

No

A 

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

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

Введенный в R2014b

Была ли эта тема полезной?