Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Преобразование таблиц истинности в логические выражения

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

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

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

Здесь булева алгебра наиболее убедительно доказывает свою полезность.

Чтобы проиллюстрировать этот процедурный метод, мы должны начать с реалистичной задачи дизайна.

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

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

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

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

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

Что нам нужно в этой системе, так это надежный способ обнаружения наличия пламени и разрешение закачки отходов только в том случае, если наличие пламени «подтверждается» системой обнаружения пламени.

Существует несколько различных технологий обнаружения пламени:оптическая (обнаружение света), тепловая (обнаружение высокой температуры) и электропроводность (обнаружение ионизированных частиц на пути пламени), каждая из которых имеет свои уникальные преимущества и недостатки.

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

Каждый датчик снабжен нормально разомкнутым контактом (разомкнут, если пламя отсутствует, замкнутым, если пламя обнаружено), который мы будем использовать для активации входов логической системы:

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

Однако сначала мы должны решить, каким должно быть логическое поведение этой системы управления.

Хотим ли мы, чтобы клапан открывался, если только один из трех датчиков обнаруживает пламя? Вероятно, нет, потому что это противоречит цели наличия нескольких датчиков.

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

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

Таким образом, любой единственный неисправный датчик, ложно показывающий пламя, не сможет удерживать клапан в открытом положении; скорее, для возникновения этой опасной ситуации потребовалось бы, чтобы все три датчика вышли из строя одним и тем же способом - что крайне маловероятно.

Таким образом, наша таблица истинности будет выглядеть так:

Не требуется особого понимания, чтобы понять, что эта функциональность может быть сгенерирована с помощью логического элемента И с тремя входами:выход схемы будет «высоким» тогда и только тогда, когда вход A И ввод B И вход C все "высокие:"

При использовании релейной схемы мы могли бы создать эту функцию И, подключив три контакта реле последовательно или просто подключив три контакта датчика последовательно, так что единственный способ подачи электроэнергии для открытия сливного клапана - это если все три датчика указать пламя:

Хотя такая стратегия проектирования обеспечивает максимальную безопасность, она делает систему очень чувствительной к отказам датчиков противоположного типа.

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

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

Было бы неплохо иметь логическую систему, которая учитывала бы этот вид сбоя без ненужного отключения системы, но все же обеспечивала бы резервирование датчика, чтобы поддерживать безопасность в случае, если какой-либо отдельный датчик выйдет из строя «на высоком уровне» (постоянно показывая пламя. , независимо от того, был ли он обнаружен).

Стратегия, которая удовлетворит обе потребности, - это логика датчика «два из трех», при которой сливной клапан открывается, если хотя бы два из трех датчиков показывают хорошее пламя.

Таблица истинности для такой системы будет выглядеть так:

Использование суммы произведений

Здесь не обязательно очевидно, какая логическая схема удовлетворяет таблице истинности.

Однако простой метод проектирования такой схемы находится в стандартной форме логического выражения, называемого Sum-Of-Products , или СОП , форма.

Как вы могли догадаться, логическое выражение Sum-Of-Products - это буквально набор добавленных логических терминов ( суммированных ) вместе, каждый член является мультипликативным ( product ) комбинация логических переменных.

Примером выражения SOP может быть что-то вроде этого:ABC + BC + DF, сумма произведений «ABC», «BC» и «DF».

Выражения суммы произведений легко генерировать из таблиц истинности.

Все, что нам нужно сделать, это проверить таблицу истинности на предмет любых строк, выходных данных которых является «высоким» (1), и написать логический член произведения, который бы равнялся значению 1 с учетом этих входных условий.

Например, в четвертой строке ниже в таблице истинности для нашей логической системы два из трех, где A =0, B =1 и C =1, термин продукта будет A'BC, поскольку этот член будет иметь значение 1 тогда и только тогда, когда A =0, B =1 и C =1:

Три другие строки таблицы истинности имеют выходное значение 1, поэтому эти строки также нуждаются в логических выражениях продукта для их представления:

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

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

К сожалению, обе эти схемы довольно сложны и нуждаются в упрощении.

Используя методы булевой алгебры, выражение можно значительно упростить:

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

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

Как минимум, это то, что нам нужно для создания безопасной системы сжигания отходов.

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

Если все три датчика работают правильно, они должны обнаруживать пламя с одинаковой точностью.

Таким образом, все они должны регистрировать «низкий» (000:нет пламени) или все регистрировать «высокий» (111:хорошее пламя).

Любая другая комбинация выходных сигналов (001, 010, 011, 100, 101 или 110) представляет собой разногласие между датчиками и, следовательно, может служить индикатором потенциального отказа датчика.

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

Кто бы ни следил за мусоросжигательной установкой, он должен был бы принять решение либо продолжить работу с возможным неисправным датчиком (входы:011, 101 или 110), либо выключить мусоросжигательный завод, чтобы быть абсолютно безопасным.

Кроме того, если инсинератор выключен (нет пламени), и один или несколько датчиков по-прежнему показывают пламя (001, 010, 011, 100, 101 или 110), в то время как другие указывают на отсутствие пламени, будет известно, что существует определенная проблема с датчиком.

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

Поскольку у нас уже есть таблица истинности, описывающая выходные данные логической схемы «хорошего пламени», мы можем просто добавить в таблицу еще один выходной столбец для представления второй схемы и составить таблицу, представляющую всю логическую систему:

Хотя можно сгенерировать выражение суммы произведений для этого нового столбца таблицы истинности, для этого потребуется шесть членов по три переменные каждое!

Такое логическое выражение потребует много шагов для упрощения с большим потенциалом для совершения алгебраических ошибок:

Использование сумм

Альтернативой генерации выражения суммы продуктов для учета всех «высоких» (1) выходных условий в таблице истинности является создание произведения сумм , или POS , выражение, чтобы вместо этого учесть все «низкие» (0) условия вывода.

Поскольку в последнем столбце таблицы истинности гораздо меньше случаев «низкого» вывода, итоговое выражение «произведение сумм» должно содержать меньше терминов.

Как следует из названия, выражение "произведение сумм" представляет собой набор добавленных терминов ( суммы ), которые умножаются ( product ) вместе.

Примером POS-выражения может быть (A + B) (C + D), произведение сумм «A + B» и «C + D».

Для начала мы определяем, какие строки в последнем столбце таблицы истинности имеют «низкие» (0) выходные данные, и записываем логический член суммы, который будет равен 0 для условий ввода этой строки.

Например, в первой строке таблицы истинности, где A =0, B =0 и C =0, суммарный член будет (A + B + C), поскольку этот член будет иметь значение 0, если и только если A =0, B =0 и C =0:

Только одна другая строка в последнем столбце таблицы истинности имеет «низкий» (0) вывод, поэтому все, что нам нужно, это еще один член суммы для завершения нашего выражения «произведение сумм».

Этот последний член суммы представляет выход 0 для входного условия A =1, B =1 и C =1.

Следовательно, термин должен быть записан как (A ’+ B’ + C ’), потому что только сумма дополненных входные переменные будут равны 0 только для этого условия:

Завершенное выражение "произведение сумм", конечно же, представляет собой мультипликативную комбинацию этих двух элементов суммы:

В то время как выражение Sum-Of-Products может быть реализовано в виде набора логических элементов AND, выходы которых подключаются к единственному логическому элементу OR, выражение Product-Of-Sums может быть реализовано как набор логических элементов OR, вводимых в единый логический элемент. И ворота:

Соответственно, в то время как выражение Sum-Of-Products может быть реализовано как параллельный набор последовательно соединенных контактов реле, выражение Product-Of-Sums может быть реализовано как последовательный набор параллельно соединенных контактов реле:

Две предыдущие схемы представляют разные версии только логической схемы «несоответствие датчика», а не схемы (ов) обнаружения «хорошего пламени».

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

Вся логическая система, реализованная в программируемом логическом контроллере (ПЛК), может выглядеть примерно так:

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

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

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

Другими словами, компьютер можно запрограммировать так, чтобы он спроектировал собственную логическую схему на основе спецификации таблицы истинности!

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

ОБЗОР:

СВЯЗАННЫЕ РАБОЧИЕ ТАБЛИЦЫ:


Промышленные технологии

  1. Общие советы по устранению неполадок
  2. Группировка битов
  3. Отказоустойчивый дизайн
  4. Введение в логическую алгебру
  5. Логическая арифметика
  6. Логические алгебраические тождества
  7. Логические правила для упрощения
  8. Введение в отображение Карно
  9. Логические отношения на диаграммах Венна
  10. Долговечность системы пожаротушения