Соедините структуры в функциях MATLAB к сигналам шины Simulink

О структурах в функциях MATLAB

Функции MATLAB® поддерживают структуры MATLAB. Можно создать структуры в функциях MATLAB верхнего уровня, чтобы взаимодействовать через интерфейс с сигналами шины Simulink® в портах ввода и вывода. Шины Simulink появляются в функции MATLAB как структуры; структура выходные параметры от функции MATLAB появляется как шины.

Можно также создать структуры как локальные и персистентные переменные в функциях верхнего уровня и локальных функциях функций MATLAB.

Задайте структуры в функциях MATLAB

В этом разделе описывается задать структуры в функциях MATLAB.

Правила для определения структур в функциях MATLAB

Следуйте этим правилам при определении структур для функций MATLAB в графиках Stateflow®:

  • Для каждого ввода или вывода структуры в функции MATLAB необходимо задать Simulink.Bus объект в базовом рабочем пространстве, чтобы задать его тип к Сигналу Simulink.

  • Структуры MATLAB не могут наследовать свой тип от Сигналов Simulink.

  • Функции MATLAB поддерживают невиртуальные шины только (см. Типы Составных Сигналов (Simulink)).

  • Структуры не могут иметь осциллографов, заданных как Constant.

Задайте вводы и выводы структуры, чтобы взаимодействовать через интерфейс с сигналами шины

Когда вы создаете входные параметры структуры в функциях MATLAB, функция определяет тип, размер и сложность структуры от входного сигнала Simulink. Когда вы создаете структуру выходные параметры, необходимо задать их тип, размер и сложность в функции MATLAB.

Можно соединить вводы и выводы структуры MATLAB с любым сигналом шины Simulink, включая:

  • Блоки Simulink, о которых выходная шина сигнализирует — такие как блоки Создателя Шины

  • Блоки Simulink, которые принимают сигналы шины, как введено — такие как Селектор Шины и блоки Усиления

  • Блоки s-function

  • Другие функции MATLAB

Чтобы задать вводы и выводы структуры для функций MATLAB в диаграммах Stateflow, выполните эти шаги:

  1. Создайте объект шины Simulink в базовом рабочем пространстве, чтобы задать свойства структуры, которую вы создадите в функции MATLAB.

    Для получения информации о том, как создать объекты шины Simulink, смотрите, Создают и Задают Объекты Шины (Simulink).

  2. Откройте Model Explorer и выполните эти шаги:

    1. В панели Model Hierarchy выберите функцию MATLAB в своем графике.

    2. Добавьте, что объект данных, как описано в Добавляют Данные Через Model Explorer.

      Model Explorer добавляет объект данных и открывает диалоговое окно Properties в его правой панели Dialog.

    3. В диалоговом окне Properties введите следующую информацию в поля вкладки General:

      Поле Что задать
      NameВведите имя для ссылки на структуру в функции MATLAB. Это имя не должно совпадать с именем объекта шины в базовом рабочем пространстве.
      ScopeВыберите Input или Output.
      Type

      Выберите Bus: <bus object name> из выпадающего списка.

      Затем замена “<bus object name>” с именем Simulink.Bus объект в базовом рабочем пространстве, которое задает структуру. Например: Bus: inbus.

    4. Добавить или изменить Simulink.Bus объекты, откройте Ассистент Типа данных. Затем нажмите кнопку Edit, чтобы открыть Редактор Шины Simulink (см., Создают и Задают Объекты Шины (Simulink)).

    5. Нажмите Apply.

  3. Если вашей структурой является выход (имеет осциллограф Output), задайте выход неявно в функции MATLAB, чтобы иметь тот же тип, размер и сложность как ее Simulink.Bus объект. Для получения дополнительной информации смотрите Структуры (MATLAB Coder).

Задайте локальные и персистентные переменные структуры

Можно задать структуры как локальные или персистентные переменные в функциях MATLAB. Для получения дополнительной информации смотрите Структуры (MATLAB Coder).