Функция, заданная блоками Simulink
Simulink/Пользовательские функции
SimEvents
Блок 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 аргументы для вызова функции.

В целом, блок Function-Call Subsystem обеспечивает лучшую трассируемость сигнала при прямых соединениях сигнала, чем блок Simulink Function. В то время как блок Simulink Function устраняет необходимость маршрутизации входных и выходных сигнальных линий через иерархию модели.
| Признак | Подсистема вызова функций | Функциональный блок Simulink |
|---|---|---|
| Метод выполнения/вызова функции | Срабатывает с помощью сигнальной линии | Вызывается по ссылке с использованием имени функции |
| Формальные входные параметры (блоки Argument Inport) и выходные аргументы (блоки Argument Outport) | Нет | Да |
| Локальные входы (Inport блок) и выходы (Outport блок) | Да | Да |
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
[a] Фактический тип данных или поддержка возможностей зависит от реализации блоков. | |