Функция, определяемая с блоками 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) | Да | Да |