Автоматные описания

При разработке системы управления некоторым объектом необходимым этапом является формализация функционирования будущего устройства. Рассмотрим три вида описаний, относящихся к типу автоматных.

Будем представлять будущее устройство в виде «черного ящика» (рис. 3.1), у которого есть входы x1, x2,...,xq и выходы y1, y2, ...,yp и «что-то внутри». Внутреннее содержание «черного ящика» нам не известно, но его функционирование мы можем описывать с помощью внутренних состояний будущего устройства. Точное число входов и выходов системы управления известно, так как каждый вход ее есть выход некоторого датчика, установленного на объекте управления или на пульте управления (в этом случае датчиком является человек-оператор), а каждый выход ее есть вход некоторого исполнительного механизма на объекте управления или индикатора сигнализации на пульте.

Разработчику известно смысловое значение всех входов xi и выходов yj. Часто на практике xi и yj принимают двоичные значения, например, xi - «включено», «выключено»; yj - «включить», «выключить». Сигнал по входу или по выходу может быть и недвоичным, но дискретным. Например, датчик температуры показывает три уровня: 1) ниже - 5oC; 2) от -5oС до +5oС; 3) выше +5oС. В этом случае вместо одного входа x от датчика температуры введем два: xi׳ и xi״. При этом возможны четыре комбинации двоичных значений на этих входах: 00, 01, 10, 11. Три из них можно сопоставить трем сигналам от датчика температуры.

Будем обозначать через Xi набор значений входных сигналов и Yj - набор значений выходных сигналов. Если, например, устройство имеет три входа и в некоторый момент времени x1 = 1, x2 = 0, x3 = 0, то двоичный номер этого набора есть 100. Таким образом, этому набору соответствует вход X4.

Составим теперь таблицу, в левой части которой перечислены все входные наборы, а в правой - соответствующие им выходные наборы. Если устройство управления имеет q входов и p выходов, то таблица будет содержать 2q строк, а в правой ее части будут перечислены выходы из 2p возможных. Заметим, что заполнить такую таблицу можно только тогда, когда каждый набор Xi однозначно определяет набор Yj. Если это так, то говорят, что система управления представляет собой комбинационную схему (автомат без памяти). Сама таблица называется автоматной таблицей и дает автоматное описание системы управления.

Приведем пример составления автоматной таблицы. Пусть необходимо спроектировать следующую систему управления. Кондиционер малой мощности должен включаться, если температура воздуха в помещении достигнет +10oС и выключаться, когда температура достигнет +22oС. После этого должен включиться мощный кондиционер. Если же температура достигнет +30oС, необходимо включить оба кондиционера. Наконец если температура достигнет значения +35oС, необходимо выдать аварийный сигнал.

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

1) to < 10oC;

2) +10oC £ to < +22oC;

3) +22oC £ to < +30oC;

4) +30oC £ to < +35;

5) to ³ 35oC.

Для перехода к двоичным входным сигналам введем три входа: x1, x2, x3. На них можно реализовать 8 различных двоичных комбинаций. Выберем любые пять из них (например, 000, 001, 010, 011, 100) и закодируем ими упомянутые показания датчика температуры.

Выходами устройства управления являются три двоичных сигнала: y1, y2, y3. Значение y1 = 1 соответствует включению кондиционера малой мощности, y1 = 0 - отключению этого кондиционера, y2 = 1 - включению кондиционера большой мощности, y2 = 0 - его отключению, y3 = 1 соответствует включению сигнала аварии, y3 = 0 - отсутствию этого сигнала. Теперь можно составить автоматную таблицу (табл. 3.9). Эта таблица имеет две особенности: 1) в правой части не заполнены три последние строки; 2) для набора X4 не определен однозначно выходной набор.

 

Таблица 3.9 - Автоматная таблица

Входы Выходы
x1 x2 x3 y1 y2 y3
? ?
     
     
     

 

Действительно, входные наборы 101, 100, 111 не соответствуют никакому сигналу от датчика температуры и никогда не появляются на входе системы управления. Такие наборы входов называются неиспользуемыми (о том, как заполнять таблицу в этом случае, скажем позднее). Кроме того, из задания неясно, что делать с кондиционерами, если температура стала аварийной (входной набор 100): оставить включенными (соответствующий выходной набор 111), отключить (выходной набор 001), либо оставить включенным один из них (выходные наборы 101, 011). После уточнения этого вопроса (с заказчиком) неоднозначность должна быть устранена.

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

1) увеличить число входов системы управления, дополнив их сигналами датчиков, регистрирующих состояние каждого кондиционера;

2) в системе управления организовать память, в которой будут фиксироваться действия, которые она формировала в прошлом. Формально это означает введение множества внутренних состояний системы. Обозначим это множество Z = {z0, z1,...,zk}. Среди элементов множества Z выделим начальное состояние объекта z0. В каждой конкретной задаче начальное состояние связывается с некоторым фиксированным состоянием объекта.

В нашем примере с кондиционерами множество внутренних состояний Z = {z0, z1, z2, z3}. Начальное состояние z0 соответствует ситуации, когда оба кондиционера выключены, z1 - включенному кондиционеру малой мощности и выключенному кондиционеру большой мощности, z2 - включенному кондиционеру большой мощности и выключенному кондиционеру малой мощности, z3 - состояние, ког­­да оба кондиционера включены.

Построим граф переходов рассматриваемого ав-томата с памятью. Вершинами графа являются состояния z0, z1, z2, z3, дуги соответствуют переходам из одного состояния в другое. Каждая дуга помечается входным набором, при котором осуществляется соответствующий переход (рис. 3.2). Петлям графа соответствуют два набора, что следует из условий задачи и уточнений заказчика.

Информацию о смене состояний можно представить в виде так называемой таблицы переходов (для нашего примера это табл. 3.10). На пересечении строк и столбцов этой таблицы стоят внутренние состояния, в которые переходит система при данной комбинации внутреннего состояния и входного набора.

 

Таблица 3.10 – Таблица переходов

Состояния Входы
 
Z0 Z0 Z1 Z2 Z3 Z0
Z1 Z0 Z1 Z2 Z3 Z1
Z2 Z0 Z1 Z2 Z3 Z2
Z3 Z0 Z1 Z2 Z3 Z3

 

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

 

Таблица 3.11 – Таблица выходов

Состояния Входы
 
Z0
Z1
Z2
Z3

 

В отличие от таблицы переходов, на пересечении строк и столбцов таблицы выходов указаны выходные наборы, формируемые системой управления.

Таблицы переходов и выходов называются автоматными таблицами. Задание таких таблиц является одной из форм автоматного описания системы управления.

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