Stateflow® строит диаграмму интерфейса с другими блоками в модели Simulink®:
Обмен данными посредством связей ввода и вывода.
Импорт значений исходных данных от базового рабочего пространства MATLAB®.
Сохранение итоговых значений данных к базовому рабочему пространству MATLAB.
Графики также могут получить доступ к параметрам Simulink и хранилищам данных. Для получения дополнительной информации смотрите Параметры Доли с Simulink и рабочим пространством MATLAB и Памятью Хранилища Доступа к данным из Графика.
Потоки данных от Simulink в диаграмму Stateflow через входные порты. Потоки данных от диаграммы Stateflow в Simulink через выходные порты.
Задавать данные о вводе или выводе в графике:
Добавьте, что объект данных к графику, как описано в Добавляют Данные Stateflow.
Установите свойство Scope для объекта данных.
Чтобы задать входные данные, установите Scope на Input Data
. Входной порт появляется на левой стороне блока графика.
Чтобы задать выходные данные, установите Scope на Output Data
. Выходной порт появляется на правой стороне блока графика.
По умолчанию значения Port появляются в порядке, в котором вы добавляете объекты данных. Можно изменить эти присвоения путем изменения Свойства портов данных. Когда вы изменяете свойство Port для объекта данных ввода или вывода, значения Порта для остающихся объектов данных ввода или вывода автоматически перенумеровывают.
Установите тип данных объекта данных, как описано в Задают Тип Данных Stateflow.
Установите размер объекта данных, как описано в Задают Размер Данных Stateflow.
Вы не можете установить тип или размер входных данных Stateflow принимать основанные на кадре данные из Simulink.
Можно импортировать начальное значение символа данных путем определения его в базовом рабочем пространстве MATLAB и в иерархии Stateflow.
Задайте и инициализируйте переменную в базовом рабочем пространстве MATLAB.
В иерархии Stateflow задайте объект данных с тем же именем как переменная MATLAB.
Выберите свойство 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 |
В конце симуляции диаграмма Stateflow, которая использует C в качестве языка действия, может сохранить окончательное значение объекта данных к базовому рабочему пространству MATLAB.
Откройте Model Explorer путем выбора View> Model Explorer.
Дважды кликните объект данных в панели Contents.
В панели Description диалогового окна Свойств данных выберите Save final value to base workspace.
Эта опция доступна для символов данных всех осциллографов кроме Constant
и Parameter
.