Совместное использование данных с Simulink и рабочим пространством MATLAB

Stateflow® графики с другими блоками в Simulink® модель по:

  • Обмен данными через входные и выходные соединения.

  • Импорт начальных значений данных из MATLAB® базовое рабочее пространство.

  • Сохранение окончательных значений данных в базовом рабочем пространстве MATLAB.

Графики также могут получить доступ к параметрам Simulink и хранилищам данных. Для получения дополнительной информации см. Раздел «Совместное использование параметров с Simulink» и Рабочим пространством MATLAB и Доступом к данным памяти хранилища данных из Графика.

Совместное использование входных и выходных данных с Simulink

Данные поступают из Simulink в диаграмму Stateflow через входные порты. Данные поступают из диаграммы Stateflow в Simulink через выходные порты.

Чтобы задать входные или выходные данные на графике:

  1. Добавьте объект данных к графику, как описано в Add Stateflow Data.

  2. Установите свойство Scope для объекта данных.

    • Чтобы задать входные данные, установите Scope равным Input Data. Порт входа появляется на левой стороне блока графика.

    • Чтобы задать выходные данные, установите Scope равным Output Data. Порт выхода появляется на правой стороне блока графика.

    По умолчанию Port значения появляются в том порядке, в котором вы добавляете объекты данных. Можно изменить эти назначения, изменив свойство Port данных. Когда вы изменяете свойство Port для объекта входных или выходных данных, значения Port для остальных объектов входных или выходных данных автоматически перенумеруются.

  3. Установите тип данных объекта данных, как описано в Specify Type of Stateflow Data.

  4. Установите размер объекта данных, как описано в Specify Size of Stateflow Data.

Примечание

Вы не можете задать тип или размер входных данных Stateflow, чтобы принять данные на основе фрейма от Simulink.

Инициализация данных из базового рабочего пространства MATLAB

Можно импортировать начальное значение символа данных путем определения его в базовом рабочем пространстве MATLAB и в иерархии Stateflow.

  1. Определите и инициализируйте переменную в базовом рабочем пространстве MATLAB.

  2. В иерархии Stateflow задайте объект данных с таким же именем, как переменный MATLAB.

  3. Выберите свойство Allow initial value to resolve to a parameter для объекта данных.

Когда симуляция начинается, происходит разрешение данных. Во время этого процесса объект данных Stateflow получает свое начальное значение от связанного переменного MATLAB.

Одномерные массивы Stateflow совместимы с MATLAB вектор одного размера строка и столбец. Для примера - вектор Stateflow размера 5 совместим с MATLAB- вектора-строки размера [1,5] или вектор-столбец размера [5,1]. Каждый элемент массива Stateflow инициализируется до того же значения, что и соответствующий элемент массива в базовом рабочем пространстве MATLAB.

Время инициализации зависит от родительского элемента данных и возможностей объекта данных Stateflow.

Родительский элемент данных

Возможности

Время инициализации

Машина

Локальный, Экспортированный

Начало симуляции

Импортированный

Не применяется

График

Вход

Не применяется

Выход, Локальный

Начало симуляции или когда график повторно инициализируется как часть включенной подсистемы Simulink

Состояние с историческим соединением

Местный

Начало симуляции или когда график повторно инициализируется как часть включенной подсистемы Simulink

Состояние без исторического соединения

Местный

Активация состояния

Функция (графическая, таблица истинности и функции MATLAB)

Вход, выход

Вызов вызова функции

Местный

Начало симуляции или когда график повторно инициализируется как часть включенной подсистемы Simulink

Сохраните данные в базовом рабочем пространстве MATLAB

В конце симуляции диаграмма Stateflow, которая использует C в качестве языка действий, может сохранить окончательное значение объекта данных в базовом рабочем пространстве MATLAB.

  1. Откройте Model Explorer. На вкладке Modeling выберите Model Explorer.

  2. Дважды кликните объект данных на панели Contents.

  3. На панели Description диалогового окна «Свойства данных» выберите Save final value to base workspace.

Эта опция доступна для символов данных всех возможностей, кроме Constant и Parameter.

Похожие темы