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

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

Чтобы подготовить график к симуляции самостоятельно, выполните упражнения в этом разделе. В противном случае откройте предоставленную модель, чтобы видеть, как должны появиться параметры симуляции. Введите эту команду в подсказке 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.

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

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

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

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

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

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

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

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

    1. В редакторе Stateflow выберите Simulation> Model Configuration Parameters.

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

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

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

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

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

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

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

  1. Установите скорость анимации путем выбора Simulation> Stateflow Animation> Medium. Это замедляет анимацию.

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

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

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

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

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

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

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

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

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

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

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

  2. Запустите симуляцию путем выбора Simulation> 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 и закройте все другие окна и диалоговые окна.