Функция, определяемая с блоками Simulink
Simulink / Пользовательские Функции
![]()
Функциональный блок Simulink является блоком Subsystem, предварительно сконфигурированным как отправная точка для того, чтобы графически задать функцию с блоками Simulink®. Блок обеспечивает текстовый интерфейс, чтобы функционировать вызывающие стороны. Можно вызвать Функциональный блок Simulink от блока Function Caller, блока MATLAB function или Графика Stateflow®.
Для описания блочных параметров смотрите страницу с описанием блока Subsystem в документации Simulink.
Можно визуализировать Вызовы функции Simulink в Средстве просмотра Последовательности. Средство просмотра показывает, когда вызовы были выполнены с аргументом и возвращаемыми значениями. Смотрите ссылку блока Sequence Viewer.
Функциональный интерфейс появляется на поверхности Функционального блока Simulink. Редактирование блочного текста добавляет и удаляет Аргумент блоки Inport и блоки Выходного порта Аргумента из функционального определения. Редактирование также устанавливает параметр Имени функции в блоке Trigger в Функциональном блоке Simulink.
Например, ввод y = myfunction(u) на поверхности Функционального блока Simulink добавляет один блок Argument Inport (u) и один блок Argument Outport (y) в подсистеме.
При вызывании функции с помощью блока Function Caller Прототип функции параметра в блоке Function Caller должен совпадать точно с функциональным интерфейсом, который вы задаете на Функциональном блоке Simulink. Это соответствие включает имя функции и имена аргументов ввода и вывода. Например, Функциональный блок Simulink и блок Function Caller и используют имена аргумента u и y.

При вызывании функции от перехода Stateflow или метки состояния, можно использовать различные имена аргумента. Например, Функциональный блок Simulink использует аргументы x и y, в то время как переход Stateflow использует аргументы x2 и y2, чтобы вызвать функцию.

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