Implementing 3-Switch XOR Ladder Logic with Internal Bit — figure 1

Реализация ступенчатой логики XOR с 3 переключателями и внутренним битом

Реализуйте схему управления светом с логической функцией исключающего ИЛИ на основе трёх однополюсных однопозиционных переключателей (3-SPST) в LogixPro или ...

Классическое упражнение — три переключателя SPST управляют одним светом так, чтобы любой отдельный переключатель переключал выход, — сводится к трёхвходовой исключающей операции ИЛИ (нечётной чётности). Двухвходовой XOR — это знакомая пара перекрёстных ветвей XIC/XIO. Простое расширение этого шаблона третьей параллельной ветвью не обобщается: оно реализует сумму попарных XOR и включает свет при замыкании всех трёх переключателей, хотя по условию требуется только нечётная чётность. Принятое исправление — использовать внутренний релейный бит, хранящий A⊕B, а затем вычислить на втором этапе (A⊕B)⊕C.

Реализация лестничной логики XOR для трёх переключателей с внутренним битом — рисунок 1

Нечётная чётность для трёх поддерживаемых входов реализуется через XOR, а не через трёхветочную схему ИЛИ.

Таблица истинности (1 = замкнут)

S1 S2 S3 Свет Чётность
0 0 0 0 чётный
0 0 1 1 нечётный
0 1 0 1 нечётный
0 1 1 0 чётный
1 0 0 1 нечётный
1 0 1 0 чётный
1 1 0 0 чётный
1 1 1 1 нечётный

Базовая схема с двумя входами

|--[S1 XIC]-+-[S2 XIO]-+
|           |          +--( Light )--|
|--[S1 XIO]-[S2 XIC]---+             |

Сопоставьте I:1/0, I:1/1 → O:2/0 в симуляторах LogixPro/RSLogix 500 (или с тегами BOOL в Logix Designer). Проверьте четыре строки перед добавлением S3.

Почему третья параллельная ветвь не работает

Y = (S1⊕S2) ∨ (S1⊕S3) ∨ (S2⊕S3) принимает значение true для строки с тремя замкнутыми переключателями, поскольку каждая пара различается. Учащиеся описывают это проявление как «залипание» света во включённом состоянии после замыкания двух переключателей. Это попарное включение ИЛИ, а не XOR.

Реализация лестничной логики XOR для трёх переключателей с внутренним битом — рисунок 2

Каскадируйте XOR через B3:0/0 (или тег BOOL) — не соединяйте попарные этапы ИЛИ параллельно.

Реализация с внутренним битом

Ступень 2 — S1 XOR S2 -> B3:0/0
|--[I:1/0 XIC]-+-[I:1/1 XIO]-+
|              |             +--( B3:0/0 )--|
|--[I:1/0 XIO]-[I:1/1 XIC]---+              |

Ступень 3 — B3:0/0 XOR S3 -> O:2/0
|--[B3:0/0 XIC]-+-[I:1/2 XIO]-+
|               |             +--( O:2/0 )--|
|--[B3:0/0 XIO]-[I:1/2 XIC]---+             |

Поскольку XOR является ассоциативной операцией, порядок переключателей не имеет значения. В Logix Designer те же уравнения преобразуются в XOR_Mid := S1 XOR S2; Light := XOR_Mid XOR S3; для структурированного текста или идентичных шаблонов контактов на тегах BOOL. Промежуточный бит записывается на одной ступени и считывается на следующей в том же цикле сканирования, что для этого шаблона является намеренным и стабильным поведением.

Процедура в LogixPro / RSLogix 500

  1. Подтвердите наличие дискретных входных и выходных модулей в симуляторе (сопоставление по умолчанию: I:1 / O:2)
  2. Убедитесь, что существует бинарный файл B3 со свободными битами, или создайте тег BOOL с именем XOR_Mid в Logix Designer
  3. Создайте ступень 2, управляющую B3:0/0 от S1 и S2 с перекрёстными контактами XIC/XIO
  4. Build rung 3 driving O:2/0 from B3:0/0 and S3 using the same crossed pattern
  5. Создайте рунг 3, управляющий O:2/0 через B3:0/0 и S3 по той же перекрёстной схеме
  6. Загрузите программу, переведите процессор в режим RUN и снимите все принудительные установки перед прохождением таблицы истинности

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

План адресов и альтернативы Платформа Промежуточный
Примечания B3:0/0 RSLogix 500 / SLC
Бит двоичного файла XOR_Mid BOOL Область программы или контроллера
LogixPro B3:0/0 Соответствует лабораторным работам RSLogix 500

Необязательная диагностика сохраняет оба промежуточных значения: B3:0/0 = S1 XOR S2 и B3:0/1 = mid XOR S3, а затем управляет лампой через B3:0/1, чтобы онлайн-мониторы могли разорвать цепочку на любом из этапов. Побитовые инструкции XOR могут объединять множество входов для проверки чётности, но скрывают учебный пример с тремя переключателями. Избегайте расширений по законам де Моргана, пытающихся выразить «не любые два истинных» в виде леса контактов: каскад внутренних битов остаётся более удобной для сопровождения формой и на учебных стендах, и в производственных селекторах режима.

Пройдите все восемь строк таблицы чётности перед утверждением

  1. Пройдите все восемь строк таблицы истинности при снятых принудительных установках
  2. Убедитесь, что три замкнутых переключателя зажигают лампу (нечётная чётность)
  3. Переключите каждый переключатель по отдельности и убедитесь, что выход меняется
  4. Если лампа фиксируется во включённом состоянии при двух входах, значит, у вас по-прежнему логика попарного OR
  5. Необязательно: настройте аварийный сигнал, если после устранения дребезга два переключателя режима с фиксацией показывают значение true на реальных машинах
  6. Задокументируйте булеву тождественность (A XOR B) XOR C в комментариях рунга для следующего редактора

Называйте промежуточные переменные по их функции (XOR_Mid, ModeParity), а не используйте безымянные биты, чтобы следующие изменения оставались понятными. Применяйте тот же принцип ко всем паркам оборудования, стандартизированным на системах PLC и PAC.

Об авторе

Марк Таунсенд | Старший инженер по автоматизации — системы Allen-Bradley

Марк Таунсенд — старший инженер по автоматизации с более чем 18-летним опытом работы с платформами Allen-Bradley, включая ControlLogix, CompactLogix и устаревшую серию SLC-500. В его повседневную работу входят разработка логики в RSLogix / Studio 5000 и ввод в эксплуатацию HMI FactoryTalk View на устаревших и смешанных парках оборудования.

Реализация ступенчатой логики XOR с 3 переключателями и внутренним битом

Реализуйте схему управления светом с логической функцией исключающего ИЛИ на основе трёх однополюсных однопозиционных переключателей (3-SPST) в LogixPro или RSLogix 500 с использованием бита внутре...

Классическое упражнение — три переключателя SPST управляют одним светом так, чтобы любой отдельный переключатель переключал выход, — сводится к трёхвходовой исключающей операции ИЛИ (нечётной чётности). Двухвходовой XOR — это знакомая пара перекрёстных ветвей XIC/XIO. Простое расширение этого шаблона третьей параллельной ветвью не обобщается: оно реализует сумму попарных XOR и включает свет при замыкании всех трёх переключателей, хотя по условию требуется только нечётная чётность. Принятое исправление — использовать внутренний релейный бит, хранящий A⊕B, а затем вычислить на втором этапе (A⊕B)⊕C.

Реализация лестничной логики XOR для трёх переключателей с внутренним битом — рисунок 1

Нечётная чётность для трёх поддерживаемых входов реализуется через XOR, а не через трёхветочную схему ИЛИ.

Таблица истинности (1 = замкнут)

S1 S2 S3 Свет Чётность
0 0 0 0 чётный
0 0 1 1 нечётный
0 1 0 1 нечётный
0 1 1 0 чётный
1 0 0 1 нечётный
1 0 1 0 чётный
1 1 0 0 чётный
1 1 1 1 нечётный

Базовая схема с двумя входами

|--[S1 XIC]-+-[S2 XIO]-+
|           |          +--( Light )--|
|--[S1 XIO]-[S2 XIC]---+             |

Сопоставьте I:1/0, I:1/1 → O:2/0 в симуляторах LogixPro/RSLogix 500 (или с тегами BOOL в Logix Designer). Проверьте четыре строки перед добавлением S3.

Почему третья параллельная ветвь не работает

Y = (S1⊕S2) ∨ (S1⊕S3) ∨ (S2⊕S3) принимает значение true для строки с тремя замкнутыми переключателями, поскольку каждая пара различается. Учащиеся описывают это проявление как «залипание» света во включённом состоянии после замыкания двух переключателей. Это попарное включение ИЛИ, а не XOR.

Реализация лестничной логики XOR для трёх переключателей с внутренним битом — рисунок 2

Каскадируйте XOR через B3:0/0 (или тег BOOL) — не соединяйте попарные этапы ИЛИ параллельно.

Реализация с внутренним битом

Ступень 2 — S1 XOR S2 -> B3:0/0
|--[I:1/0 XIC]-+-[I:1/1 XIO]-+
|              |             +--( B3:0/0 )--|
|--[I:1/0 XIO]-[I:1/1 XIC]---+              |

Ступень 3 — B3:0/0 XOR S3 -> O:2/0
|--[B3:0/0 XIC]-+-[I:1/2 XIO]-+
|               |             +--( O:2/0 )--|
|--[B3:0/0 XIO]-[I:1/2 XIC]---+             |

Поскольку XOR является ассоциативной операцией, порядок переключателей не имеет значения. В Logix Designer те же уравнения преобразуются в XOR_Mid := S1 XOR S2; Light := XOR_Mid XOR S3; для структурированного текста или идентичных шаблонов контактов на тегах BOOL. Промежуточный бит записывается на одной ступени и считывается на следующей в том же цикле сканирования, что для этого шаблона является намеренным и стабильным поведением.

Процедура в LogixPro / RSLogix 500

  1. Подтвердите наличие дискретных входных и выходных модулей в симуляторе (сопоставление по умолчанию: I:1 / O:2)
  2. Убедитесь, что существует бинарный файл B3 со свободными битами, или создайте тег BOOL с именем XOR_Mid в Logix Designer
  3. Создайте ступень 2, управляющую B3:0/0 от S1 и S2 с перекрёстными контактами XIC/XIO
  4. Build rung 3 driving O:2/0 from B3:0/0 and S3 using the same crossed pattern
  5. Создайте рунг 3, управляющий O:2/0 через B3:0/0 и S3 по той же перекрёстной схеме
  6. Загрузите программу, переведите процессор в режим RUN и снимите все принудительные установки перед прохождением таблицы истинности

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

План адресов и альтернативы Платформа Промежуточный
Примечания B3:0/0 RSLogix 500 / SLC
Бит двоичного файла XOR_Mid BOOL Область программы или контроллера
LogixPro B3:0/0 Соответствует лабораторным работам RSLogix 500

Необязательная диагностика сохраняет оба промежуточных значения: B3:0/0 = S1 XOR S2 и B3:0/1 = mid XOR S3, а затем управляет лампой через B3:0/1, чтобы онлайн-мониторы могли разорвать цепочку на любом из этапов. Побитовые инструкции XOR могут объединять множество входов для проверки чётности, но скрывают учебный пример с тремя переключателями. Избегайте расширений по законам де Моргана, пытающихся выразить «не любые два истинных» в виде леса контактов: каскад внутренних битов остаётся более удобной для сопровождения формой и на учебных стендах, и в производственных селекторах режима.

Пройдите все восемь строк таблицы чётности перед утверждением

  1. Пройдите все восемь строк таблицы истинности при снятых принудительных установках
  2. Убедитесь, что три замкнутых переключателя зажигают лампу (нечётная чётность)
  3. Переключите каждый переключатель по отдельности и убедитесь, что выход меняется
  4. Если лампа фиксируется во включённом состоянии при двух входах, значит, у вас по-прежнему логика попарного OR
  5. Необязательно: настройте аварийный сигнал, если после устранения дребезга два переключателя режима с фиксацией показывают значение true на реальных машинах
  6. Задокументируйте булеву тождественность (A XOR B) XOR C в комментариях рунга для следующего редактора

Называйте промежуточные переменные по их функции (XOR_Mid, ModeParity), а не используйте безымянные биты, чтобы следующие изменения оставались понятными. Применяйте тот же принцип ко всем паркам оборудования, стандартизированным на системах PLC и PAC.

Об авторе

Марк Таунсенд | Старший инженер по автоматизации — системы Allen-Bradley

Марк Таунсенд — старший инженер по автоматизации с более чем 18-летним опытом работы с платформами Allen-Bradley, включая ControlLogix, CompactLogix и устаревшую серию SLC-500. В его повседневную работу входят разработка логики в RSLogix / Studio 5000 и ввод в эксплуатацию HMI FactoryTalk View на устаревших и смешанных парках оборудования.

Оставить комментарий

Обратите внимание, комментарии должны быть одобрены перед публикацией.