- •Оглавление
- •Введение
- •1.Проверка на достоверность сигналов с усо
- •2.Структура алгоблока. Организация связи между алгоблоками
- •3.Программная реализация защиты по дискретному каналу
- •3.1.1 Таймер
- •3.1.2Триггер
- •3.1.3Программа защиты от «дребезга»
- •3.2.Программа защиты по дискретному каналу
- •3.3.Первая программа защиты по аналоговому каналу
- •3.3.1Конфигурационная таблица программы 1
- •3.4.Вторая программа защиты по аналоговому каналу
- •3.4.1Конфигурационная таблица программы 2
- •3.5.Оценка величины гистерезиса в нуль-органе
- •3.6.Алгоритм расчёта среднего значения в асутп
- •3.7.Защита от выброса или провала аналогового сигнала
- •3.8.Контрольные вопросы
- •4.Алгоритм простого блока мажоритарного выбора два из трёх
- •4.1.Программа простого блока мажоритарного выбора
- •5. Алгоритм мажоритарного выбора три из пяти
- •5.1.Программа
- •5.2.Конфигурационная таблица
- •6.Программа выбора исправного канала из двух каналов
- •6.1.Конфигурационная таблица
- •6.2.Контрольные вопросы
- •7.Управление по циклограмме
- •8.Алгоритм синтеза циклического управления
- •8.1.Циклограмма 1. Типовая циклограмма
- •8.2.Циклограмма 2. Управление в зависимости от параметра.
- •8.3.Циклограмма 3. Программа с повторяющимися ситуациями
- •8.4.Циклограмма 4. Задание числа циклов с лп контроллера
- •8.5.Циклограмма 5. Пуск циклограммы по команде оператора
- •8.6.Контрольные вопросы
- •9.Синтез дискретных систем управления
- •9.1.Классический алгоритм синтеза дискретного автомата
- •9.1.1Автомат с памятью и с защитой по каналам
- •9.2.Автомат с контролем последовательности ситуаций
- •9.3.Описание программы управления электрозадвижкой
- •9.4.Контрольные вопросы
- •10.Организация связи с верхним уровнем16
- •11.Управление задвижкой по циклограмме
- •12.Практические особенности реализации циклограмм
- •13.Перевод программы c языка fbd в dxf-формат
- •14.Порядок получения конфигурационной таблицы
- •15.Спецификация представленных в пособии программ
- •16.Варианты заданий
- •Литература
- •Приложение а
- •1.Элементарные функции алгебры логики
- •2.Свойства элементарных функций
- •3.Принцип двойственности
- •4. Разложение булевой функции по переменным
- •5. Полнота системы
- •5.1.Полином Жегалкина
- •5.2.Теорема Жегалкина
- •1.Минимизация булевых функций
- •1.1.Минимизация нормальных форм
- •1.2.Алгоритм Квайна построения сокращенной днф
- •1.3.Метод Блейка
- •1.4. Построение сокращенной днф с помощью кнф
- •1.5.Построение всех тупиковых днф.
- •Алгоритм минимизации функций в классе днф
- •Алгоритм минимизации функций в классе кнф
- •Алгоритм минимизации функций в классе нормальных форм
- •1.6.Минимизация частично определенных функций
- •1.7. Минимизация с использованием карт Карно
- •1.8.Код Грея
- •Приложение б Краткая биография Жегалкина и.И.
- •Приложение в Языки программирования промышленных контроллеров
- •Приложение г Имитаторы аналоговых и дискретных сигналов
- •Приложение д25 Программы для овен плк-150 и плк-154
- •Реализация дискретных систем управления на контроллерах
- •400131 Волгоград, пр. Ленина, 28, корп. 1.
- •400131, Г. Волгоград, пр. Ленина, 28, корп. 7.
1.7. Минимизация с использованием карт Карно
1. В карте Карно группы единиц (для получения ДНФ) и группы нулей (для получения КНФ) необходимо обвести четырехугольными контурами. Внутри контура должны находится только одноименные значения функции. Этот процесс соответствует операции склеивания или нахождения импликант данной функции.
2. Количество клеток внутри контура должно быть целой степенью двойки (1, 2, 4, 8, 16...).
3. При проведении контуров крайние строки карты (верхние и нижние, левые и правые), а также угловые клетки, считаются соседними (для карт до 4-х переменных).
4. Каждый контур должен включать максимально возможное количество клеток. В этом случае он будет соответствовать простой импликанте.
5. Все единицы (нули) в карте (даже одиночные) должны быть охвачены контурами. Любая единица (нуль) может входить в контуры произвольное количество раз.
6. Множество контуров, покрывающих все 1 (0) функции образуют тупиковую ДНФ (КНФ). Целью минимизации является нахождение минимальной из множества тупиковых форм.
7. В элементарной конъюнкции (дизъюнкции), которая соответствует одному контуру, остаются только те переменные, значение которых не изменяется внутри обведенного контура. Переменные булевой функции входят в элементарную конъюнкцию (для значений функции 1) без инверсии, если их значение на соответствующих координатах равно 1 и с инверсией - если 0. Для значений булевой функции, равных 0, записываются элементарные дизъюнкции, куда переменные входят без инверсии, если их значение на соответствующих координатах равно 0 и с инверсией - если 1.
В методе минимизирующих карт Карно функция задается прямоугольной таблицей, в которой наборы значений переменных на каждой из сторон прямоугольника расположены в коде Грея. Нахождение простых импликант сводится к выделению максимальных по включению прямоугольников, состоящих из единиц. Из прямоугольников, соответствующих граням максимальной размерности, находим коды максимальных интервалов. Считается, что каждая клетка таблицы является соседней к клетке, примыкающей к противоположной стороне и расположенной на той же горизонтали или вертикали. Метод применим также и для не всюду определенных функций. В этом случае выделяются максимальные прямоугольники, содержащие хотя бы одну единицу и не содержащие нулей.
Пример 2. Таблица
3.12 представляет собой минимизирующую
карту для функции
с вектором значений
Коды максимальных интервалов имеют вид
(00-0), (000-), (--01), (-1-1), (110-). Сокращенная ДНФ
имеет вид
Таблица 3.12 Таблица 3.13
Пример 3. Таблица
3.13 представляет собой минимизирующую
карту для частичной функции f,
зависящей от трех переменных. Сокращенная
ДНФ имеет вид
К
Рис. 1 Пример Карты Карно
Если необходимо получить минимальную ДНФ, то в Карте рассматриваем только те клетки которые содержат единицы, если нужна КНФ, то рассматриваем те клетки которые содержат нули. Сама минимизация производится по следующим правилам (на примере ДНФ):
объединяем смежные клетки содержащие единицы в область, так чтобы одна область содержала 2n (n целое число = 0… ) клеток(помним про то что крайние строки и столбцы являются соседними между собой), в области не должно находится клеток содержащих нули;
область должна располагаться симметрично оси(ей) (оси располагаются через каждые четыре клетки);
не смежные области расположенные симметрично оси(ей) могут объединятся в одну;
область должна быть как можно больше, а количество областей как можно меньше;
области могут пересекаться;
возможно несколько вариантов накрытия.
Далее берём первую область и смотрим какие переменные не меняются в пределах этой области, выписываем конъюнкцию этих переменных, если неменяющаяся переменная нулевая, проставляем над ней инверсию. Берём следующую область, выполняем тоже самое что и для первой, и т. д. для всех областей. Конъюнкции областей объединяем дизъюнкцией.
