Функция Simulink® является графическим объектом, который вы заполняете с блоками Simulink и вызываете в действиях состояний и переходах. Функции Simulink поддерживаются только в графиках Stateflow® в моделях Simulink. Для получения дополнительной информации смотрите Повторное использование Компоненты Simulink в диаграммах Stateflow.
Выполните эти шаги, чтобы добавить функцию Simulink в график:
Кликните по значку функции Simulink на панели инструментов Stateflow Editor:
![]()
Переместите указатель в местоположение для новой функции Simulink в вашем графике и нажатии кнопки, чтобы вставить функциональное поле.
Можно также перетащить функцию от панели инструментов.
Введите функциональную подпись.
Функциональная подпись задает имя для вашей функции и официальные имена для аргументов и возвращаемых значений. Подпись имеет этот синтаксис:
[r_1, r_2,..., r_n] = simfcn(a_1, a_2,..., a_n)где simfcn является именем вашей функции, a_1, a_2..., a_n официальные имена для аргументов, и r_1, r_2..., r_n являются официальными именами для возвращаемых значений.
Этот синтаксис совпадает с тем, что вы используете для графических функций, таблиц истинности и функций MATLAB®. Можно задать аргументы и возвращаемые значения как скаляры, векторы или матрицы любого типа данных.
Щелкните вне функционального поля.
Следующий пример показывает функцию Simulink, которая имеет имя sim_fcn, который берет три аргумента (a, b и c) и возвращает два значения (x и y).

Можно также создать и отредактировать функцию Simulink при помощи методов API.
Выполните эти шаги, чтобы задать элементы подсистемы функции Simulink:
Дважды кликните поле функции Simulink.
Содержимое подсистемы появляется: порты ввода и вывода, которые совпадают с функциональной подписью и одним триггерным портом вызова функции.
Добавьте блоки Simulink в подсистему.
Соедините порты ввода и вывода с каждым блоком.
Вы не можете удалить триггерный порт в функции.
Следующий пример показывает элементы подсистемы для функции Simulink.

Выполните эти шаги, чтобы сконфигурировать входные параметры для функции Simulink:
Сконфигурируйте входные порты.
Дважды кликните входной порт, чтобы открыть диалоговое окно Block Parameters.
В панели Signal Attributes введите размер и тип данных.
Например, можно задать размер [2 3] для 2 3 матрица и тип данных uint8.
Нажмите OK.
Входной порт функции Simulink не может наследовать размер или тип данных. Поэтому вы задаете размер и тип данных входа, который не является скалярными данными типа double. Однако выходной порт может наследовать размер и тип данных.