Чтобы подготовить график к симуляции самостоятельно, выполните упражнения в этом разделе. В противном случае откройте предоставленную модель, чтобы видеть, как должны появиться параметры симуляции. Введите эту команду в подсказке MATLAB®:
addpath(fullfile(docroot, 'toolbox', 'stateflow', 'gs', 'examples')) Stage6Simulate
Прежде, чем запустить сеанс симуляции, необходимо исследовать график, чтобы видеть, соответствует ли он рекомендуемым методам проекта:
Переход по умолчанию должен существовать на каждом уровне иерархии Stateflow®, которая содержит исключительный (OR) состояния (имеет исключительный [OR] разложение). (См. Решение, Куда Поместить Переходы По умолчанию.)
Каждый раз, когда возможно, объекты входных данных должны наследовать свойства от связанного входного сигнала Simulink®, чтобы гарантировать непротиворечивость, минимизировать ввод данных и упростить обслуживание вашей модели. Вспомните, что в Определении Вводов и выводов, вы задали вход temp
, чтобы наследовать его размер и тип от выходного порта Simulink temp
, который предоставляет входное значение Воздушному Контроллеру график.
Объекты выходных данных не должны наследовать типы и размеры, потому что значения назад распространены от блоков Simulink и могут, поэтому, быть непредсказуемыми. Вспомните, что в Определении Вводов и выводов, вы задали тип данных как uint8
и размер как скаляр (значение по умолчанию). (См., Стараются не наследовать свойства выходных данных от блоков Simulink в Руководстве пользователя Stateflow.)
Можно задать типы данных и размеры как выражения, в которых вы вызываете функции, которые возвращают значения свойств других переменных, уже заданных в Stateflow, MATLAB или программном обеспечении Simulink. Такие функции включают тип и fixdt
. Для получения дополнительной информации смотрите, Вводят Выражения и Параметры для Свойств данных в Руководстве пользователя Stateflow.
Чтобы задать продолжительность симуляции, выполните эти шаги:
Откройте модель Stage5Trigger
— или та, которую вы создали в предыдущих упражнениях или предоставленной модели для этапа 5.
Чтобы открыть предоставленную модель, введите следующую команду в посдказке MATLAB:
addpath(fullfile(docroot, 'toolbox', 'stateflow', 'gs', 'examples')) Stage5Trigger
Сохраните модель как Stage6Simulate
в вашей локальной папке работы.
Дважды кликните Воздушный Контроллер, чтобы открыть график.
Проверяйте настройки на время симуляции:
В редакторе Stateflow выберите Simulation> Model Configuration Parameters.
Следующее диалоговое окно открывается:
Нажмите Solver в левой панели Select, если это уже не выбрано.
Под Simulation time справа, обратите внимание, что запуск и времена остановки были заданы для вас. Можно настроить эти времена спустя, когда вы становитесь более знакомыми с поведением во время выполнения графика.
Сохраните предварительно установленные значения на данный момент и нажмите OK, чтобы закрыть диалоговое окно.
Оставьте график открытым для следующего осуществления.
Когда вы моделируете модель Simulink, Stateflow анимирует графики, чтобы подсветить состояния и переходы, как они выполняются. Анимация обеспечивает визуальную верификацию, что ваш график ведет себя, как вы ожидаете. К анимации включают по умолчанию Быстро. Замедление его дает вам больше времени, чтобы просмотреть порядок выполнения объектов. Чтобы сконфигурировать анимацию для вашего сеанса симуляции, выполните эти шаги:
Установите скорость анимации путем выбора Simulation> Stateflow Animation> Medium. Это замедляет анимацию.
Оставьте Воздушный Контроллер графиком открытый для следующего осуществления.
В этом осуществлении вы изучите, как установить точки останова приостанавливать симуляцию во время ключевых операций этапа выполнения, таким образом, можно наблюдать поведение графика в замедленном воспроизведении. Вы установите следующие точки останова:
Точка останова | Описание |
---|---|
Стройте диаграмму записи | Симуляция останавливается, когда диаграмма Stateflow просыпается. |
Запись состояния | Симуляция останавливается, когда состояние становится активным. |
Вы также изучите, как исследовать значения данных, когда симуляция делает паузу.
Выполните эти шаги:
Щелкните правой кнопкой мыши в графике и выберите Set Breakpoint on Chart Entry.
Для каждого PowerOn
состояния и PowerOff
, щелкните правой кнопкой мыши в состоянии и выберите Set Breakpoints> On State Entry.
В этом осуществлении вы моделируете Воздушный Контроллер график. Во время симуляции вы будете изменять точки останова и наблюдать значения данных, когда выполнение сделает паузу. Выполните эти шаги.
В Stage6Simulate
, открытом блок Scope. Расположите блок Scope и Воздушный Контроллер график, таким образом, они видимы на вашем рабочем столе.
Запустите симуляцию путем выбора Simulation> Run.
После того, как цель симуляции создается, график появляется с серым фоном, указывая, что симуляция началась. Симуляция продолжается, пока она не достигает первой точки останова, когда Воздушный Контроллер график просыпается.
Щелкните правой кнопкой мыши по переходу в FAN1
состояния и выберите Add to watch> (Input) temp. Это добавляет переменную temp
в окно Stateflow Breakpoints и Watch.
Щелкните правой кнопкой мыши в SpeedValue
состояния и выберите Add to watch> (Output) airflow. Это добавляет переменную airflow
в окно Stateflow Breakpoints и Watch.
Можно также просмотреть значения данных из командной строки MATLAB в точках останова симуляции. Вот то, как сделать это:
Когда симуляция сделает паузу в точке останова, щелкните в командной строке MATLAB и нажмите клавишу Enter.
Окно Команды MATLAB отображает подсказку debug>>
.
В подсказке введите имя объекта данных.
Окно Команды MATLAB отображает значение объекта данных.
Просмотрите значения temp
и airflow
.
Обратите внимание на то, что temp
равняется 70 (ниже порога для включения FAN1
), и airflow
0 (указание, что никакие вентиляторы не запускаются).
Возобновите симуляцию путем нажатия кнопки Continue.
Симуляция продолжается до следующей точки останова, активации состояния PowerOff
, которое кажется подсвеченным в графике (как часть анимации).
Переход по умолчанию активирует PowerOff
после того, как график проснется.
Во вкладке Breakpoints окна Stateflow Breakpoints и Watch Data очистите точку останова на Записи Графика. Наведите курсор на имя точки останова и нажмите удалить кнопку. Продолжите симуляцию.
Симуляция продолжается к следующей точке останова, активация PowerOn
утвердите:
Обратите внимание на то, что temp
повысился до более чем 157 градусов. Осциллограф отображает температурный шаблон:
Чтобы ускориться через остальную часть симуляции, очистите все точки останова и продолжите симуляцию.
Заметьте, что FAN1
продолжает циклически повторяться на и прочь когда temp
колеблется между 119 и 120 градусами до, подвергает циклу включения и выключения питания прочь в 500 секунд. После подвергает циклу включения и выключения питания прочь, вентиляторы прекращают запускаться, и temp
начинает повышаться неконтролируемый, пока симуляция не достигает времени остановки в 600 секунд.
Осциллограф получает это действие:
Это отображение должно выглядеть одинаково как Осциллограф после выполнения предварительно созданной модели в Выполнении Модели.
Сохраните Stage6Simulate
и закройте все другие окна и диалоговые окна.