Функция Simulink

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

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

    SimEvents

Описание

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

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

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

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

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

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

При вызывании функции с помощью блока Function Caller параметр Function prototype в блоке 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, чтобы получить сигналы от окружения.

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

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

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

Вывод

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

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

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

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

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

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

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

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

Типы данных

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

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

no

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

limited[a]

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

no

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

no

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

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

Введенный в R2014b

Для просмотра документации необходимо авторизоваться на сайте