В фазе 1 этого рабочего процесса вы задаете интерфейс к модели Simulink®.

Чтобы реализовать интерфейс самостоятельно, выполните упражнения в этом разделе. В противном случае откройте предоставленную модель путем ввода этой команды в подсказке MATLAB®:
addpath(fullfile(docroot, 'toolbox', 'stateflow', 'gs', 'examples')) Stage1Interface
Следующие разделы описывают объяснение для ввода и вывода графика Stateflow®.
Тип Входа. Температура физического объекта
Объяснение. Цель графика состоит в том, чтобы управлять температурой воздуха в физическом объекте. Цель состоит в том, чтобы обеспечить идеальную температуру 120 градусов путем активации одного или двух вентиляторов при необходимости. График должен проверять температуру объекта в зависимости от времени, чтобы определить объем охлаждения необходимого.
Свойства Входа. Свойства температурного входа следующие:
| Свойство | Значение |
|---|---|
| Имя | temp |
| Осциллограф | Входной параметр |
| Размер | Наследуйтесь входному сигналу Simulink для совместимости |
| Тип данных | Наследуйтесь входному сигналу Simulink для совместимости |
| Порт | 1 |
Тип Выхода. Скорость потока воздуха, на основе того, сколько вентиляторов действует
Объяснение. Когда Подсистема Simulink определяет температуру физического объекта в зависимости от времени, этому нужно с учетом скорости потока воздуха. Скорость потока воздуха непосредственно связана на сумму охлаждающегося действия, сгенерированного вентиляторами. Когда больше поклонников активируется, охлаждая увеличения действия и воздушные потоки быстрее. Чтобы передать эту информацию, диаграмма Stateflow выводит значение, которое указывает, запускаются ли 0, 1, или 2 вентилятора. Подсистема Simulink использует это значение в качестве индекса в многопортовый переключатель, который выводит охлаждающееся значение действия, как описано во Взгляде на Физический объект.
Свойства Выхода. Свойства потока воздуха выход следующие:
| Свойство | Значение |
|---|---|
| Имя | airflow |
| Осциллограф | Вывод |
| Тип данных | 8-битное беззнаковое целое ( (Значения могут быть только 0, 1, или 2.) |
| Порт | 1 |
Чтобы начать создавать вашу диаграмму Stateflow, вы добавите блок Stateflow в частично созданную модель Simulink под названием sf_aircontrol_exercise, который содержит подсистему Физического объекта, описанную во Взгляде на Физический объект.
Добавить блок Stateflow в существующую модель Simulink:
Откройте модель Simulink путем ввода sf_aircontrol_exercise в командной строке MATLAB.
Модель открывается на вашем рабочем столе:

Модель является неполной, потому что она не включает диаграмму Stateflow, которую вы создадите, когда вы выполняете упражнения в этом руководстве. Вместо этого модель содержит несколько нефункциональных блоков: Терминатор, Inport и блоки Аннотации.
Удалите нефункциональные блоки и их коннекторы.
Совет
Удерживайте клавишу SHIFT, чтобы выбрать несколько объектов, и затем нажать Delete.
Ваша модель должна теперь выглядеть так:

Сохраните модель как Stage1Interface:
Создайте новую локальную папку для хранения вашей рабочей модели.
Во вкладке Simulation выберите Save> Save As.
Перейдите к новой папке.
Введите Stage1Interface как имя файла.
Оставьте тип по умолчанию как Simulink Models.
Нажмите Save.
На панели инструментов модели Simulink нажмите Library Browser icon:
![]()
Браузер Библиотеки Simulink открывается на вашем рабочем столе:

Добавьте блок Stateflow Chart в модель Simulink:
В левой области прокрутки Браузера Библиотеки выберите Stateflow.
Перетащите первый блок, названный Графиком, в вашу модель.
Модель должна теперь выглядеть так:

Кликните по метке Chart под блоком Stateflow и переименовывают его Air Controller.
Измените язык действия графика к C:
Дважды кликните блок, чтобы открыть график.
Щелкните правой кнопкой мыши в пустой области графика и выберите Properties.
От поля Action Language выберите C.
Выберите OK.
Ярлык для добавления блока Stateflow к новой модели Simulink
Вводы и выводы являются элементами данных в диаграмме Stateflow, которые взаимодействуют с родительской моделью Simulink. Чтобы задать вводы и выводы для вашего графика, выполните эти шаги:
Дважды кликните блок Air Controller в модели Simulink Stage1Interface открыть диаграмму Stateflow.
Редактор Stateflow открывается на вашем рабочем столе:

Добавьте элемент данных, чтобы содержать значение температурного входа из модели Simulink:
Во вкладке Modeling, под Design Data, выбирают Data Input.
Диалоговое окно Свойств данных открывается на вашем рабочем столе выбранной вкладкой General:

Значения по умолчанию в диалоговом окне зависят от осциллографа — в этом случае, ввод данных.
В поле Name поменяйте имя элемента данных к temp.
Покиньте следующие поля в их значениях по умолчанию во вкладке General, потому что они соответствуют конструктивным требованиям:
| Поле | Значение по умолчанию | Что это означает |
|---|---|---|
| Осциллограф | Input | Введите из модели Simulink. Элемент данных получает свое значение от Сигнала Simulink на том же входном порте. |
| Размер | -1 | Элемент данных наследовал свой размер от Сигнала Simulink на том же порте. |
| Сложность | Off | Элемент данных не содержит комплексных чисел. |
| Ввод | Inherit: Same as Simulink | Элемент данных наследовал свой тип данных от Сигнала Simulink на том же выходном порте. |
Примечание
Порты присвоены вводам и выводам в порядке, они создаются. Поскольку temp первый вход, который вы создали, он присвоен входному порту 1.
Во вкладке General выберите Add to watch window.
Окно Stateflow Breakpoints и Watch позволяет вам исследовать значение temp во время точек останова в симуляции. Вы попробуете это в Установке Параметров Симуляции и Точек останова.
Нажмите OK, чтобы применить изменения и закрыть диалоговое окно.
Добавьте элемент данных, чтобы содержать значение потока воздуха выход от Воздушного Диспетчера график:
Во вкладке Modeling, под Design Data, выбирают Data Output.
Диалоговое окно Свойств данных открывается на вашем рабочем столе, на этот раз с различными значениями по умолчанию, сопоставленными с осциллографом Output:

Примечание
Поскольку airflow первый выход, который вы создали, он присвоен выходному порту 1.
В поле Name диалогового окна Свойств данных поменяйте имя элемента данных к airflow.
В поле Type выберите uint8 (8-битное беззнаковое целое) из подменю.
Посмотрите на поле Initial value.
Начальное значение является пустым выражением, которое указывает на значение, равное нулю, на основе типа данных. Это значение сопоставимо с проектом модели, который указывает, что никакие вентиляторы не запускаются, когда график просыпается впервые.
Внесите следующие изменения для других свойств во вкладке General:
| Свойство | Что задать |
|---|---|
| Ограничьте область значений | Войдите 0 для Minimum и 2 для Maximum. |
| Добавьте, чтобы смотреть окно | Выберите это, чтобы добавить airflow к вкладке Watch окна Stateflow Breakpoints и Watch. |
Нажмите OK, чтобы применить изменения и закрыть диалоговое окно.
Вернитесь к модели Simulink путем нажатия кнопки стрелки вниз на панели инструментов Stateflow Editor.
Заметьте что вход temp и выход airflow были добавлены к блоку Stateflow:

Совет
Вы можете должны быть увеличить блок Air Controller, чтобы видеть ввод и вывод ясно. Изменить размер блока:
Выберите блок и переместите указатель через один из углов, пока это не превратится в эту форму:
![]()
Удерживайте левую кнопку мыши и перетащите блок к желаемому размеру.
Сохраните Stage1Interface.
Совет
Существует несколько способов добавить объекты данных в диаграммы Stateflow. Вы использовали редактора Stateflow, который позволяет вам добавить элементы данных в диаграмму Stateflow, которая открыта и фокусируется. Однако, чтобы добавить объекты данных не только к графику, но и где угодно в Stateflow проектируют иерархию, можно использовать инструмент, названный Model Explorer. Этот инструмент также позволяет вам просмотреть и изменить объекты данных, которые вы уже добавили в график. Для получения дополнительной информации см. Обзор Объектов Stateflow и Добавьте Данные Через Model Explorer в Руководстве пользователя Stateflow. Можно также добавить, что объекты данных программно с помощью API Stateflow, как описано в Создают Объекты Stateflow в Руководстве API Stateflow.
Теперь, когда вы задали вводы и выводы для блока Stateflow Air Controller, необходимо соединить их с соответствующими сигналами подсистемы Физического объекта Simulink. Выполните эти шаги:
В модели Stage1Interface, соедините выход airflow от Воздушного Диспетчера к соответствующему входу в Физическом объекте:
Поместите указатель по выходному порту для airflow на правой стороне блока Air Controller.
Указатель превращается в форме в крест нитей.
Удерживайте левую кнопку мыши и переместите указатель на входной порт для airflow на левой стороне блока Physical Plant.
Выпустите мышь.
Связь должна выглядеть примерно так:

Совет
Можно использовать ярлык для того, чтобы автоматически соединить блоки. Выберите исходный блок, и затем удерживайте клавишу CTRL и щелкните левой кнопкой по целевому блоку.
Соедините выход temp от Физического объекта до соответствующего входа в Воздушном Контроллере путем рисования ответвления от линии, которая соединяет temp к Осциллографу:
Поместите указатель в линию, где вы хотите, чтобы ответвление запустилось.
В то время как удержание клавиши CTRL, нажмите и удерживайте левую кнопку мыши.
Перетащите указатель к входному порту для temp на левой стороне блока Air Controller.
Отпустите кнопку мыши и клавишу CTRL.
Измените местоположение связи так, чтобы она выглядела так:

Совет
Чтобы изменить местоположение связей, переместите свой курсор через конец линии. Когда изменения курсора в кругу, выберите конец линии с левой кнопкой мыши и перетащите линию к новому местоположению.
Сохраните Stage1Interface.
Куда пойти затем. Теперь вы готовы смоделировать рабочие режимы с состояниями. Смотрите Реализацию Штаты, чтобы Представлять Рабочие режимы.