Функция, заданная блоками 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] Фактический тип данных или поддержка возможностей зависит от реализации блоков. |