Установка параметров симуляции и точек останова

В фазе 6 этого рабочего процесса вы симулируете график, чтобы протестировать его поведение. В процессе моделирования можно анимировать графики Stateflow®, чтобы подсветить состояния и переходы, как они выполняются.

Подготовьте график сами или используйте предоставленную модель

Чтобы подготовить график к симуляции самостоятельно, выполните упражнения в этом разделе. В противном случае откройте предоставленную модель, чтобы видеть, как должны появиться параметры симуляции. Введите эту команду в подсказке MATLAB®:

addpath(fullfile(docroot, 'toolbox', 'stateflow', 'gs', 'examples'))
Stage6Simulate

Проверка, что график соответствует лучшым практикам

Прежде, чем запустить сеанс симуляции, необходимо исследовать график, чтобы видеть, соответствует ли он рекомендуемым методам проекта:

  • Переход по умолчанию должен существовать на каждом уровне иерархии Stateflow, которая содержит исключительный (OR) состояния (имеет исключительный [OR] разложение). (См. Решение, Куда Поместить Переходы По умолчанию.)

  • Каждый раз, когда возможно, объекты входных данных должны наследовать свойства от связанного входного сигнала Simulink®, чтобы гарантировать непротиворечивость, минимизировать ввод данных и упростить обслуживание вашей модели. Вспомните, что в Определении Вводов и выводов, вы задали вход temp наследовать его размер и тип от выходного порта Simulink temp, который предоставляет входное значение Воздушному Контроллеру график.

  • Объекты выходных данных не должны наследовать типы и размеры, потому что значения назад распространены от блоков Simulink и могут, поэтому, быть непредсказуемыми. Вспомните, что в Определении Вводов и выводов, вы задали тип данных как uint8 и размер как скаляр (значение по умолчанию). (См., Стараются не Наследовать Свойства Выходных данных от блоков Simulink в Руководстве пользователя Stateflow.)

Совет

Можно задать типы данных и размеры как выражения, в которых вы вызываете функции, которые возвращают значения свойств других переменных, уже заданных в Stateflow, MATLAB или программном обеспечении Simulink. Такие функции включают тип и fixdt. Для получения дополнительной информации смотрите Specify Data Properties при помощи Выражений MATLAB в Руководстве пользователя Stateflow.

Установка продолжительности симуляции

Чтобы задать продолжительность симуляции, выполните эти шаги:

  1. Откройте модель Stage5Trigger — или тот вы создали в предыдущих упражнениях или предоставленной модели для этапа 5.

    Чтобы открыть предоставленную модель, введите следующую команду в подсказке MATLAB:

    addpath(fullfile(docroot, 'toolbox', 'stateflow', 'gs', 'examples'))
    Stage5Trigger

  2. Сохраните модель как Stage6Simulate в вашей локальной папке работы.

  3. Дважды кликните Воздушный Контроллер, чтобы открыть график.

  4. Проверяйте настройки на время симуляции:

    1. В Редакторе Simulink, во вкладке Modeling, нажимают Model Settings.

      Следующее диалоговое окно открывается:

    2. Нажмите Solver в левой панели Select, если это уже не выбрано.

      Под Simulation time справа, обратите внимание, что запуск и времена остановки были заданы для вас. Можно настроить эти времена спустя, когда вы становитесь более знакомыми с поведением во время выполнения графика.

    3. Сохраните предварительно установленные значения на данный момент и нажмите OK, чтобы закрыть диалоговое окно.

  5. Оставьте график открытым для следующего осуществления.

Конфигурирование анимации для графика

Когда вы симулируете модель Simulink, Stateflow анимирует графики, чтобы подсветить состояния и переходы, как они выполняются. Анимация обеспечивает визуальную верификацию, что ваш график ведет себя, как вы ожидаете. К анимации включают по умолчанию Быстро. Замедление его дает вам больше времени, чтобы просмотреть порядок выполнения объектов. Чтобы сконфигурировать анимацию для вашего сеанса симуляции, выполните эти шаги:

  1. Установите скорость анимации к носителю. В редакторе Stateflow, во вкладке Debug, устанавливает скорость анимации на Medium. Это замедляет анимацию.

  2. Оставьте Воздушный Контроллер графиком открытый для следующего осуществления.

Установка точек останова наблюдать поведение графика

В этом осуществлении вы изучите, как установить точки останова приостанавливать симуляцию во время ключевых операций этапа выполнения, таким образом, можно наблюдать поведение графика в замедленном воспроизведении. Вы установите следующие точки останова:

Точка остановаОписание
Стройте диаграмму записиСимуляция останавливается, когда диаграмма Stateflow просыпается.
Запись состоянияСимуляция останавливается, когда состояние становится активным.

Вы также изучите, как исследовать значения данных, когда симуляция делает паузу.

Выполните эти шаги:

  1. Щелкните правой кнопкой мыши в графике и выберите Set Breakpoint on Chart Entry.

  2. Для каждого PowerOn состояния и PowerOff, щелкните правой кнопкой мыши в состоянии и выберите Set Breakpoints> On State Entry.

Симуляция воздушного контроллера график

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

  1. В Stage6Simulate, откройте блок Scope. Расположите блок Scope и Воздушный Контроллер график, таким образом, они отображаются на вашем рабочем столе.

  2. Запустите симуляцию путем нажатия на Run.

    После того, как цель симуляции создается, график появляется с серым фоном, указывая, что симуляция началась. Симуляция продолжается, пока она не достигает первой точки останова, когда Воздушный Контроллер график просыпается.

  3. Щелкните правой кнопкой мыши по переходу в FAN1 состояния, и выберите Add to watch> (Input) temp. Это добавляет переменную temp к окну Stateflow Breakpoints и Watch.

  4. Щелкните правой кнопкой мыши в SpeedValue состояния, и выберите Add to watch> (Output) airflow. Это добавляет переменную airflow к окну Stateflow Breakpoints и Watch.

    Совет

    Можно также просмотреть значения данных из командной строки MATLAB в точках останова симуляции. Вот то, как сделать это:

    1. Когда симуляция сделает паузу в точке останова, щелкните в командной строке MATLAB и нажмите клавишу Enter.

      Командное окно MATLAB отображает debug>> подсказка.

    2. В подсказке введите имя объекта данных.

      Командное окно MATLAB отображает значение объекта данных.

  5. Просмотрите значения temp и airflow.

    Обратите внимание на то, что temp 70 (ниже порога для включения FAN1) и airflow 0 (указание, что никакие вентиляторы не запускаются).

  6. Возобновите симуляцию путем нажатия кнопки Continue.

    Симуляция продолжается до следующей точки останова, активации PowerOff состояние, которое кажется подсвеченным в графике (как часть анимации).

    Переход по умолчанию активирует PowerOff после того, как график просыпается.

  7. Во вкладке Breakpoints окна Stateflow Breakpoints и Watch Data очистите точку останова на Записи Графика. Наведите курсор на имя точки останова и нажмите удалить кнопку. Продолжите симуляцию.

    Симуляция продолжается к следующей точке останова, активации PowerOn состояние:

    Обратите внимание на то, что temp повысился до более чем 157 градусов. Осциллограф отображает температурный шаблон:

  8. Чтобы ускориться через остальную часть симуляции, очистите все точки останова и продолжите симуляцию.

    Заметьте тот FAN1 продолжает циклически повторяться на и прочь как temp колеблется между 119 и 120 градусами до, подвергает циклу включения и выключения питания прочь в 500 секунд. После подвергает циклу включения и выключения питания прочь, вентиляторы прекращают запускаться и temp начинает повышаться неконтролируемый, пока симуляция не достигает времени остановки в 600 секунд.

    Осциллограф получает это действие:

    Примечание

    Это отображение должно выглядеть одинаково как Осциллограф после выполнения предварительно созданной модели в Выполнении Модели.

  9. Сохраните Stage6Simulate, и закройте все другие окна и диалоговые окна.