Материал: Ковригин Теория автоматов Лабораторный практикум 2012

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

Исходя из текста задания, можно определить следующий набор индикаторов на лицевой панели стиральной машины: G – стиральная машина готова к работе, Z – залив воды, ST – стирка, SL – слив воды, ERR – неисправен таймер. Двоичные выходные сигналы автомата, которые формирует управляющий автомат, можно определить, как показано в табл. 4.2.

Таблица 4.2

Выходные сигналы управляющего автомата

Имя выходного

Пояснение

сигнала

 

GВключить индикатор «Стиральная машина готова к работе»

ZВключить режим залива воды и индикатор «Залив воды»

ST

Включить режим стирки и индикатор «Стирка»

 

 

SL

Включить режим слива воды и индикатор «Слив

воды»

 

ERR

Заблокировать работу стиральной машины и вклю-

чить индикатор «Неисправен таймер»

 

Определение необходимого набора состояний автомата

Режимы работы стиральной машины, приведенные в задании, позволяют без особого труда определить состояния автомата. Возможные внутренние состояния управляющего автомата приведены в табл. 4.3.

46

Таблица 4.3

Множество состояний управляющего автомата

Состояние

Пояснение

 

 

S0 Начальное состояние автомата. Стиральная машина готова к работе

S1 Режим залива воды

S2 Режим стирки

S3 Режим слива воды

S4 Заблокирована работа стиральной машины. Неисправен таймер

Составление графа переходов

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

Вданном случае вначале изобразим вершины графа, которые будут представлять состояния автомата (см. табл. 4.3). Поскольку каждое состояние автомата определяет и соответствующий выходной сигнал, то выходные сигналы автомата проставим около вершин графа. Таким образом, проектируемый автомат является автоматом Мура. (Заметим, что в заданиях также предполагается проектирование автомата Мура.)

Этот шаг построения графа переходов автомата представлен на рис. 4.1. Отметим, что при записи значений выходных сигналов использовался синтаксис, принятый в редакторе FSM Editor.

Синтаксис выражений должен быть следующим:

-оператор присваивания обозначается составным символом <=,

-константы заключаются в одинарные кавычки, например, ‘0’,

-выражения отделяются друг от друга символом точкой с запятой.

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

47

Рис. 4.1. Задание состояний и выходных сигналов автомата

Таблица 4.4

 

Логические операторы

 

 

not

Инверсия

and

И

or

ИЛИ

nand

И-НЕ

nor

ИЛИ-НЕ

хоr

ИСКЛЮЧАЮЩЕЕ ИЛИ

хnоr

ИСКЛЮЧАЮЩЕЕ ИЛИ-НЕ

У оператора not самый высокий приоритет, так что можно не заключать в скобки подвыражение типа not А1.

Логические операторы and, or, nand, nor, xor, хnоr имеют одинаковое старшинство и выполняются слева направо в выражениях. В сложных логических выражениях порядок выполнения операторов регулируется скобками.

В соответствии с логикой работы стиральной машины и определенными выше состояниями зададим все переходы для автомата (рис. 4.2). Автомат будет находиться в одном из четырёх состояний S0,S1,S2,S3 до тех пор, пока соответствующий входной сигнал не переведет автомат в очередное состояние.

48

При отказе таймера возможны две ситуации:

а) отказ произошел во время работы стиральной машины до начала режима стирки или во время стирки (выявление отказа возможно в режиме стирки),

б) отказ произошел после окончания режима стирки.

В первом случае управляющий автомат перейдет в состояние S4 (неисправен таймер) из состояния S2 (режима стирки). Во втором случае автомат перейдет в состояние S4 из начального состояния S0 только при повторном запуске стиральной машины (см. рис.

4.2).

Рис. 4.2. Результат задания переходов

Далее необходимо каждую дугу графа пометить условием, которое вызывает в автомате соответствующий данной ветви переход. Условие перехода автомата из одного состояния в другое задаётся истинностью или ложностью (равенством 1 или 0) логического выражения или переменной, которые соответствуют появлению тех или иных входных сигналов. Выражение заключается в круглые скобки, ставится знак равенства, затем пишется 0 или 1, заключённые в одинарные кавычки. Например:

(not E1 and E2) = ‘1’.

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

49

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

E2 = ‘0’.

На рис. 4.3 приведен граф переходов управляющего автомата с заданными условиями переходов. Следует отметить, переход автомата в то или иное состояние определяется, как ранее условились, единичным значением входного сигнала. Автомат будет находиться в том или ином состоянии до тех пор, пока на вход автомата не поступит определенный входной сигнал. Начало работы стиральной машины по сигналу pusk возможно только при исправном тай-

мере – условие (not t_err and pusk)=’1’.

Рис. 4.3. Граф переходов управляющего автомата

Здесь же на графе показан и установочный вход reset, единичный сигнал которого переводит автомата в начальное состояние.

Реализация проекта управляющего автомата

Следующие шаги по выполнению задания выполняются в лаборатории. Они включают следующую последовательность действий:

- ввод графа переходов конечного автомата,

50

Источник: https://studfile.net/preview/16708773/