Диаграмма Stateflow ® взаимодействует с другими блоками в модели Simulink ® с помощью:
Обмен данными через входные и выходные соединения.
Импорт начальных значений данных из базового рабочего пространства MATLAB ®.
Сохранение окончательных значений данных в базовом рабочем пространстве MATLAB.
Диаграммы также могут получать доступ к параметрам Simulink и хранилищам данных. Дополнительные сведения см. в разделе Совместное использование параметров с Simulink и рабочей областью MATLAB и памятью хранилища данных Access из диаграммы.
Данные передаются из Simulink в диаграмму Stateflow через входные порты. Данные передаются из диаграммы Stateflow в Simulink через выходные порты.
Для определения входных или выходных данных на диаграмме:
Добавьте объект данных в диаграмму, как описано в разделе Добавление данных потока состояний.
Задайте свойство Scope для объекта данных.
Чтобы определить входные данные, установите для области значение Input Data. Порт ввода появляется в левой части блока диаграммы.
Чтобы определить выходные данные, установите для области значение Output Data. Порт вывода появляется в правой части блока диаграммы.
По умолчанию значения порта отображаются в порядке добавления объектов данных. Эти назначения можно изменить путем изменения свойства Port данных. При изменении свойства Port для объекта входных или выходных данных значения Port для остальных объектов входных или выходных данных автоматически перенумеруются.
Задайте тип данных объекта данных, как описано в разделе Указание типа данных потока состояний.
Задайте размер объекта данных, как описано в разделе Задание размера данных потока состояний.
Примечание
Нельзя задать тип или размер входных данных Stateflow для приема данных на основе кадров из Simulink.
Начальное значение символа данных можно импортировать, определив его в базовой рабочей области MATLAB и в иерархии Stateflow.
Определите и инициализируйте переменную в базовой рабочей области MATLAB.
В иерархии Stateflow определите объект данных с тем же именем, что и переменная MATLAB.
Выберите параметр Разрешить начальное значение для разрешения свойства параметра для объекта данных.
При запуске моделирования происходит разрешение данных. В ходе этого процесса объект данных Stateflow получает свое начальное значение из связанной переменной MATLAB.
Одномерные массивы Stateflow совместимы с векторами строк и столбцов MATLAB одинакового размера. Например, вектор Stateflow размера 5 совместим с вектором строки MATLAB размера [1,5] или вектор столбца размера [5,1]. Каждый элемент массива Stateflow инициализируется с тем же значением, что и соответствующий элемент массива в базовой рабочей области MATLAB.
Время инициализации зависит от родителя данных и области действия объекта данных Stateflow.
Родительский элемент данных | Объем | Время инициализации |
|---|---|---|
Машина | Локальный, экспортированный | Начало моделирования |
Импортированный | Неприменимо | |
Диаграмма | Вход | Неприменимо |
Выходные данные, локальные | Запуск моделирования или повторная инициализация диаграммы в составе включенной подсистемы Simulink | |
Состояние с соединением истории | Местный | Запуск моделирования или повторная инициализация диаграммы в составе включенной подсистемы Simulink |
Состояние без соединения истории | Местный | Активация состояния |
Функция (графическая, таблица истинности и функции MATLAB) | Вход, Выход | Вызов функции |
Местный | Запуск моделирования или повторная инициализация диаграммы в составе включенной подсистемы Simulink |
В конце моделирования диаграмма Stateflow, использующая C в качестве языка действий, может сохранить конечное значение объекта данных в базовой рабочей области MATLAB.
Откройте обозреватель моделей. На вкладке Моделирование (Modeling) выберите Обозреватель моделей (Model Explorer).
Дважды щелкните объект данных на панели «Содержимое».
На панели «Описание» диалогового окна «Свойства данных» выберите «Сохранить окончательное значение в базовое рабочее пространство».
Эта опция доступна для символов данных всех областей, кроме Constant и Parameter.