- •© Иркутский государственный университет
- •Сокращения
- •Введение
- •Глава 1 базовые понятия и конструкции систем управления дискретной автоматики
- •1.1. Переменные и функции алгебры логики
- •1.2. Двоичные коды переменных
- •Запишем аналитическое выражение для y1 в виде логической суммы (дизъюнкции) конъюнкций тех переменных, которые определяют единичное значение булевой функции:
- •1.3. Логические функции одной и двух переменных
- •1.4. Одноразрядный сумматор двух переменных
- •1.5. Дешифратор и шифратор двоичного позиционного кода
- •1.6. Цифровой и аналоговый мультиплексоры
- •1.7. Основные понятия минимизации булевых функций
- •1.8. Структурный синтез самодиагностируемых обратимых функциональных преобразователей информации
- •1.9. Дискретные преобразователи информации
- •Глава 2 системы управления дискретной автоматики
- •2.1. Операционные автоматы
- •2.2. Базовые модели систем управления
- •Окончание рис. 32
- •Системная модель преобразования информации
- •Расширение двухблоковой модели системы
- •2.3. Организация связей в информационно-управляющих системах
- •2.4. Проектирование преобразователей информации
- •2.5. Операторные схемы алгоритмов систем управления
- •Глава 3 конечные автоматы систем управления
- •3.1. Абстрактный синтез автоматов
- •3.2. Структурный синтез автоматов
- •3.2.1. Организация памяти автоматов
- •3.3. Структурная схема автомата Мура
- •3.4. Функциональная реализация автоматов управления
- •3.4.1. Функциональная подсистема автомата
- •3.4.2. Адресная подсистема автомата
- •3.4.3. Реализация автоматов управления на программируемых логических интегральных схемах
- •3.5. Синтез быстродействующих автоматов
- •Глава 4 системы автоматов управления
- •4.1. Декомпозиция автоматов
- •4.2. Автоматы с объединенными операторами
- •4.3. Синтез многорежимных автоматов
- •4.3.1. Многопрограммные формирователи временных интервалов
- •4.3.2. Режим реализации нескольких последовательностей временных интервалов (от 8 до 64)
- •Режим реализации
- •4.4. Синтез автоматов по декомпозированной схеме алгоритма
- •4.5. Управление взаимосвязанными процессами
- •Глава 5 сложные автоматы систем реального времени
- •5.1. Структурная организация сложных автоматов
- •5.2. Контроль автоматов управления в системах реального времени
- •5.3. Моделирование автоматов управления
- •5.4. Управление спецпроцессором функционального контроля пзу
- •5.5. Система управления коммутаций сигналов
- •Основная литература
- •Дополнительная литература
Глава 1 базовые понятия и конструкции систем управления дискретной автоматики
1.1. Переменные и функции алгебры логики
В основе создания всей цифровой вычислительной техники и цифровых (дискретных) систем управления лежит принцип использования элементов, выходные параметры которых принимают два значения, «0» и «1». В данном случае это есть математическое обозначение сигналов, соответствующих «0» и «1». При практической реализации им могут соответствовать различные параметры. Например, для оптоэлектроники:
«0» – отсутствие светового импульса (темнота);
«1» – наличие светового импульса.
Для пневматики:
«0» – давление в сети равно атмосферному;
«1» – импульсное увеличение давления в 1,5 раза.
Для релейной техники:
«0» – разомкнутые контакты реле, т.е. отсутствие тока в цепи;
«1» – замкнутые контакты реле с наличием тока в цепи.
Для электромагнитной техники:
«0» – степень намагниченности ферритового кольца с прямоугольной петлей гистерезиса (или участка пленки с ферритовым напылением) в направлении «южного» полюса (–Hm), определяется напряженностью H магнитного поля;
«1» – степень намагниченности в направлении «северного» полюса (+Hm).
На рис. 1 обозначено:
1 – обмотка записи «1»; 2 – обмотка записи «0»; 3 – обмотка считывания информации о состоянии намагниченности феррита; 4 – ферритовое кольцо; 5 – транзистор; 6 – сопротивление нагрузки; Iw·W – произведение тока I на число витков W обмотки (магнитодвижущая сила); Hm – уровень максимальной намагниченности; 7 – петля гистерезиса, т.е. зависимость намагниченности от IW.
Для серийных ферритовых материалов при W = 1, I = 0,1 A.
Ферритовая техника с использованием колец ушла в прошлое, однако пленки и диски с магнитным напылением применяются. Здесь приведен этот фрагмент для иллюстрации того, что понятию «0» и «1» могут соответствовать действительно самые разные физические параметры.
В наиболее распространенной современной технике используется потенциально-импульсная элементная база, в которой «0» соответствует нулевому уровню напряжения, а «1» – уровню пяти вольт. Простейшая реализация импульсно-потенциальных логических элементов на диодах и полевых транзисторах представлена на рис. 2. Использовано свойство транзистора, который имеет в открытом состоянии сопротивление R0 < 0,5 Ома, а в закрытом R3 >> 1 МОма.
Может использоваться также и так называемая «отрицательная» логика, в которой отсутствие напряжения рассматривается как третье высокоимпедансное состояние. Тогда наличие импульса 5 В (3,5 В) – это «1», а отсутствие импульса – это «0». Различные типы логических элементов и устройств подробно рассмотрены в [18, 35, 52]. С помощью дискретных элементов с сигналами «0» и «1» могут быть реализованы различные функции, значения которых также соответствуют «0» и «1».
Рис. 1. Феррит-транзисторный элемент
Рис. 2. Логические элементы дискретной автоматики
1.2. Двоичные коды переменных
В вычислительной технике и автоматике
принято записывать переменные в наборе
справа налево, т.е. не x1,
x2, x3,
…, xn,
а xn,
xn-1,
…, x2, x1,
и нумеровать переменные, начиная с
i = 0, т.е. xn-1,
xn-2,
…, x2, x1,
x0. В этом
случае упорядоченный набор xi,
который называется кортеж, можно
рассматривать как число в двоичной
позиционной системе счисления, в которой
вес каждого последующего разряда в
кортеже в два раза больше предыдущего*,
а само число N
определяется по формуле
(1)
Для трехразрядного кортежа x2, x1, x0 получим табл. 1.
Таблица 1
N |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
x2, x1, x0 |
000 |
001 |
010 |
011 |
100 |
101 |
110 |
111 |
В данном случае номеру N соответствует определенное значение переменных в наборе, другими словами, код. Способ кодирования по формуле (1), которому соответствует табл. 1, называется двоичным позиционным кодом, или сокращенно ДПК. Кроме ДПК в системах управления широкое применение нашел так называемый соседний код, или код Грея (ДКГ), который от ДПК отличается тем, что при переходе от цифры Nj к Nj + 1 изменения происходят только в одном разряде кода (табл. 2). Используется также унитарный код (код с одной «1» в n разрядах), код с фиксированным m – числом единиц в n разрядах, а также большая группа кодов, допускающих обнаружение и исправление ошибки при передаче информации. Все эти коды, оставаясь двоичными, не являются позиционными, т.к. к ним не применима формула (1). Поэтому в ряде случаев отступают от этого правила обозначения и перечисляют переменные начиная с j = 1, 2, …, n.
Таблица 2
N |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
ДПК |
000 |
001 |
010 |
011 |
100 |
101 |
110 |
111 |
ДКГ |
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
Заметим, что ДКГ, будучи двоичным, не относится к позиционной системе счисления, как ДПК, т.к. для ДКГ не применима формула (1), хотя, как видно из табл. 2, легко найти соответствие между ДПК и ДКГ.
В данном пособии приведены только примеры кодов, соответствующих целым числам. Дробные числа, а также числа с плавающей запятой подробно рассмотрены в учебной литературе [37].
В цифровой технике используется много типов кодов, которые будут рассматриваться далее в соответствующих разделах пособия. В частности, сигналы двоичные по форме могут иметь основание не 2, а 3, если они представлены в виде –1, 0, +1, например, напряжение –5 В, 0, +5 В. Такая система представления сигналов используется при передаче информации по каналам связи (квазитроичный код). При импульсном представлении двоичных сигналов (+1 соответствует импульс положительной полярности, а –1 – импульс отрицательной полярности) код называется ЧПИ, т.е. код с чередованием полярности.
Троичные
коды и троичная система счисления
используются и в вычислительной
технике, однако в теории дискретных
устройств принято иметь дело с двоичными
переменными xi
{0, 1}.
Двоичные
наборы переменных xn,
xn-1,
…, x2, x1
могут рассматриваться как комплекс
двоичных переменных некоторой функции
y = ƒ(xn,
…, x2, x1),
которая называется переключательной
или булевой функцией, так как и {x}
и y
.
Один и тот же набор xi,
может «порождать» систему булевых
функций y1,
y2, …, ym.
Двоичные переменные называют булевыми
переменными.
1.2.1. Этот раздел параграфа, который приводится здесь, очень хорошо изложен в учебнике А.Я. Савельева (стр. 167–169) [37].
Две функции равносильны друг другу, если принимают на всех возможных наборах переменных одни и те же значения f1 (x1, х2, ..., xп) = = f2 (х1, х2, ..., хп).
Булевы переменные могут быть действительными или фиктивными.
Переменная xi действительна, если значение функции f (x1, х2, ..., xi, ...
..., хп) существенно изменяется при изменении xi.
Переменная xi фиктивна, если значение функции f (x1, ..., xi, ..., хп) не изменяется при изменении xi.
Логическая функция от трех переменных показана в табл. 3.
Из таблицы видно, что переменные х1 и х2 – действительные, а переменная x3 – фиктивная, так как f (x1, x2, 0) = f (x1, x2, 1) для всех наборов x1, x2.
Таблица 3
x3 |
x2 |
x1 |
f (x1, x2, x3) |
x3 |
x2 |
x1 |
f (x1, x2, x3) |
0 1 0 1 |
0 0 1 1 |
0 0 0 0 |
0 0 1 1 |
0 1 0 1 |
0 0 1 1 |
1 1 1 1 |
1 1 0 0 |
Таким
образом, появляется возможность сокращать
или расширять количество переменных
для логических функций удалением или
введением фиктивных переменных. Так
как число значений переменных хi
ограничено,
то можно определить количество N
функций от любого числа переменных: N
=
,
где n
–
количество переменных xi.
Пример. Предположим, что имеется система кондиционирования воздуха для помещения, где установлена ЭВМ, состоящая из двух кондиционеров малой и большой мощности и работающая при таких условиях:
кондиционер малой мощности включается, если температура воздуха в помещении достигает 19 °С;
кондиционер большой мощности включается, если температура воздуха достигает 22 °С (малый кондиционер при этом отключается);
оба кондиционера включаются при температуре воздуха 30 °С.
Пусть информация о температуре воздуха поступает от датчиков, которые соответственно срабатывают при достижении температуры 19, 22, 30 °С. Каждый из этих датчиков выдает входную информацию для устройства управления кондиционерами. Первые три датчика определяют рабочие режимы, и их можно представить как входы управляющего автомата. Используя двоичный алфавит для задания состояний датчика (0 – нет сигнала о достижении заданного уровня температуры, 1 – есть сигнал), функционирование системы управления кондиционерами можно описать следующим образом (табл. 4):
Таблица 4
z3 |
z2 |
z1 |
ω2 |
ω1 |
0 0 0 1 |
0 0 1 1 |
0 1 1 1 |
0 0 1 1 |
0 1 0 1 |
Здесь z1 – датчик, срабатывающий при t = 19 °C; z1 = 0, если температура меньше 19 °С; z1 = l, если температура равна или больше 19 °С; z2 – датчик, срабатывающий при t = 22 °С, z2 = 0, если t < 22 °C, z2 = l при t ≥ 22 °С; z3 – датчик, срабатывающий при t = 30 °С; z3 = 0 при t < 30 °C, z3 = l при t ≥ 30 °С; ω1 и ω2 – соответственно управление маломощным и мощным кондиционерами (ω = 0 – кондиционер выключен, ω = 1 – кондиционер включен). Таблица описывает функционирование системы управления без нарушений работы.
Впервые теория Дж. Буля была применена русским ученым П.С. Эренфестом к анализу контактных цепей (1910 г.). Возможность описания переключательных схем с помощью логических формул оказалась весьма ценной по двум причинам. Во-первых, с помощью формул удобнее проверять работу схем. Во-вторых, задание условий работы любой переключательной схемы в виде формул упрощает процесс построения самой переключательной схемы, так как оказалось, что существует ряд эквивалентных преобразований, в результате которых логические формулы упрощаются. При описании переключательных схем замкнутый контакт принимается за истинное высказывание, а разомкнутый – за ложное, поэтому последовательное соединение контактов можно рассматривать как функцию И, а параллельное – как функцию ИЛИ.
Использование логических функций оказалось особенно полезным для описания работы логических элементов ЭВМ.
ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
Булевы
функции, или функции алгебры логики
(ФАЛ), могут быть заданы непосредственно
в виде логического выражения, объединяющего
логические переменные со значением
x или
с помощью знаков конъюнкции (
)
и дизъюнкции (
).
Эти логические выражения могут быть
получены также из таблиц, в строках
которых перечислены все возможные
комбинации значений переменных, от
которых зависит функция, и в столбце
напротив каждой строки указано значение
этой функции. Такие таблицы называются
таблицами истинности. Если для одних и
тех же комбинаций переменных определяется
несколько функций, то значения этих
функций записываются в независимых
столбцах.
Пусть
задан набор двоичных (булевых) переменных
x1, x2,
x3, …, xn.
Функция y = ƒ(x1,
x2, x3,
…, xn)
называется булевой функцией, если она
принимает значение 0 или 1 на любом из
наборов переменных x1,
x2, x3,
…, xn.
Поскольку любая переменная xi(i
=
)
принадлежит множеству из 0 и 1 (xi
{0, 1}), то количество наборов переменных
равно 2n.
Рассмотрим правило определения булевой функции на конкретном небольшом примере, приведенном в работе [12] на стр. 136.
Пример. Насос принудительного водоснабжения должен быть включен автоматически, если сработает по крайней мере один из двух датчиков (аварийного или предупредительного падения давления на объекте) и датчик понижения температуры охлаждающей воды ниже 5 °С. Кроме того, включение насоса должно быть осуществлено автоматически, если срабатывает датчик понижения уровня воды в системе при условии отсутствия сигналов от обоих датчиков давления и от датчика температуры. В остальных случаях включение насоса не происходит.
Требуется спроектировать логическое устройство, выполняющее это предписание (алгоритм).
I этап. Выделим и обозначим входные переменные:
x1 – сигнал от датчика, предупреждающего о снижении давления;
x2 – сигнал от датчика аварийного снижения давления;
Таблица 5
№ п/п |
Наборы входных переменных |
Значения выходной функции y1 |
|||
x1 |
x2 |
x3 |
x4 |
||
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
2
|
0
|
0
|
1
|
0
|
0
|
3 |
0 |
0 |
1 |
1 |
0 |
4 |
0 |
1 |
0 |
0 |
0 |
5
|
0
|
1
|
0
|
1
|
0
|
6 |
0 |
1 |
1 |
0 |
1 |
7 |
0 |
1 |
1 |
1 |
1 |
8
|
1
|
0
|
0
|
0
|
0
|
9 |
1 |
0 |
0 |
1 |
0 |
10 |
1 |
0 |
1 |
0 |
1 |
11
|
1
|
0
|
1
|
1
|
1
|
12 |
1 |
1 |
0 |
0 |
0 |
13 |
1 |
1 |
0 |
1 |
0 |
14 |
1 |
1 |
1 |
0 |
1 |
15 |
1 |
1 |
1 |
1 |
1 |
x3 – сигнал от датчика температуры при t < 5 °С;
x4 – сигнал от датчика снижения уровня воды.
Выпишем возможные наборы переменных столбиком в табл. 5.
Как следует из этой таблицы, зависимости значений выходной функции от последовательности поступления входных сигналов нет.
