Этот пример показывает, как использовать Stateflow®, чтобы смоделировать систему управления скорострельного оружия, которая регулирует температуру бойлера. Движущие силы бойлера моделируются в Simulink® в модели котельной установка.
Управляющая логика удара удара находится в диаграмме Stateflow и управляет, когда бойлер включается и выключается. Первоначально, бойлер выключен с помощью turn_boiler графической функции. Каждые 5 секунд, вспышки LED бойлера, снова с помощью графической функции. После 40 секунд, если бойлер является холодным, включен бойлер. После 20 секунд бойлер выключен еще раз, и повторения цикла управления ударом удара.
Отметьте использование абсолютного времени, временная логика в ударе ударяет по управляющей логике, чтобы управлять переходом между состояниями и периодически высветить LED. Синтаксис средние значения after(20,sec)
берут переход спустя 20 секунд после состояния, вводился. Обратите внимание на то, что график не имеет входного события под названием sec
. sec
является ключевым словом, которое может использоваться во временных логических операторах, чтобы задать задержку с точки зрения времени симуляции, а не случаев событий.
Поскольку мы не можем использовать every
временный логический оператор с ключевым словом sec
, мы используем "обходное решение", которое включает внутреннее подсостояние под названием Flash
с самопереходом, инициированным условием after(5,sec)
. Это означает, что действие записи подсостояния Flash
выполняется каждые 5 секунд в этой системе управления удара удара.
Смотря на Осциллограф Simulink, мы видим, что приблизительно после 450 секунд, температура бойлера эффективно сохраняется в установленной температуре 20 градусов Цельсия с этой управляющей логикой удара удара.