Конечные автоматы
Введение в конечные автоматы
Диаграмма состояний – это графическое представление конечного автомата, включающее набор состояний и правила переходов между ними.
Перед выполнением заданий запустите следующий скрипт для того, чтобы задать значения входных сигналов модели:
using DataFrames
f1 = [rand([1 0 0 0 0 0 0]) for i in LinRange(1, 20, 20)]
f = repeat(f1, inner = 5)
t = [i for i in LinRange(1, 100, 100)]
F = DataFrame(time = t, value = f)
fault = WorkspaceArray(string(rand()), F);
✏️Задание 1
- Откройте модель
Модель 1.engee, которая содержит диаграмму состояний светофора. На этой диаграмме отдельные лампы (красная, желтая и зеленая) включаются (1) или выключаются (0).
Модель имеет вид:
Диаграмма состояний в модели Engee находится внутри блока Chart. Чтобы попасть в него, нужно дважды нажать левой кнопкой мыши на блок Chart.
Внутри блока Chart вы увидите следующее:
Существует два режима работы модели:
Normal(Обычный): светофор переключается между красным, желтым и зеленым сигналами по таймеру.Fault(Неисправность): светофор выключает и включает красную лампу по таймеру.
Диаграмма состояний принимает и отправляет данные с помощью входных и выходных портов, как и другие блоки Engee. В данной модели выходные данные диаграммы подключены к блокам Выход1, Выход2 и Выход3 и залогированы. После запуска симуляции их можно отобразить на графике. Входные данные (переменная fault, задающая наличие или отсутствие неисправности в работе светофора) поступают из блока From Workspace.
- Запустите симуляцию модели и выведите на экран графики выходных сигналов.
Решение
Ниже приведен возможный вид графиков выходных сигналов модели.
Красный сигнал:
Желтый сигнал:
Зеленый сигнал:
✏️Задание 2
Условия перехода между состояниями определяют время, в течение которого горят сигналы светофора. Щелчок по одному из условий высвечивает соответствующий переход. Например, условие перехода after(10,sec) применяется к переходу из состояния Go (зеленый свет) в состояние PrepareToStop (желтый свет).
- Войдите внутрь блока Chart. Измените режим
after(10,sec)наafter(15,sec). При этом продолжительность зеленого сигнала будет увеличена до 15 секунд. - Запустите модель и выведите на экран график зеленого сигнала светофора.
Решение
График зеленого сигнала светофора может выглядеть следующим образом:
✏️Задание 3
Попробуйте добавить свой собственный конечный автомат в модель:
- Создайте новую модель.
- Дважды щелкните мышью на холсте для моделирования и наберите Chart. Нажмите клавишу
Enterи выберите блок Chart из библиотеки.
Решение
Тест для получения сертификата
Если вы впервые проходите тестирование на платформе Этюд по ссылке из Engee, то, нажав на ссылку ниже, вы увидите следующее диалоговое окно:
Нажмите на кнопку Предоставить, чтобы авторизоваться на платформе Этюд с данными вашего профиля Engee ID.
Если вы раньше уже проходили тестирование по ссылке из Engee, то ваша авторизация выполнится автоматически и тестирование начнется сразу же после нажатия на ссылку.