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