Графически задайте функцию с блоками Simulink
Simulink / Пользовательские Функции
SimEvents
Блок Simulink Function является блоком Subsystem, предварительно сконфигурированным как начальная точка для того, чтобы графически задать функцию с Simulink® блоки. Блок обеспечивает текстовый интерфейс, чтобы функционировать вызывающие стороны. Можно вызвать блок Simulink Function из блока Function Caller, блока MATLAB Function или Stateflow® график. Смотрите Вызывают Функцию Simulink из Модели.
Для описания параметров блоков смотрите Subsystem.
Можно визуализировать Вызовы функции Simulink в Sequence Viewer. Средство просмотра показывает, когда вызовы были выполнены с аргументом и возвращаемыми значениями.
Можно выбрать блок Simulink Function или Function Caller, чтобы подсветить блоки, связанные с ним. Чтобы показать связанный блок в открытой схеме или новой вкладке, сделайте паузу на замещающем знаке, который появляется после выбора. Затем выберите Related Blocks от строки меню. Когда несколько блоков соответствуют выбранному блоку, список связанных блоков открывается. Можно отфильтровать список связанных блоков путем ввода критерия поиска в текстовое поле. После того, как вы выбираете связанный блок из списка, особое внимание окна переходит к открытой схеме или новой вкладке, которая показывает связанный блок.
Функциональный интерфейс появляется на поверхности блока Simulink Function. Редактирование текста блока добавляет и удаляет блоки Argument Inport и блоки Argument Outport из функционального определения. Редактирование также устанавливает параметр Function name в блоке Trigger в блоке Simulink Function.
Например, ввод y = myfunction(u)
на поверхности блока Simulink Function добавляет один 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) | Да | Да |
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
[a] Фактическая поддержка типа данных или возможности зависит от реализации блока. |