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