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

Implementação da lógica de escada XOR com 3 interruptores usando bit interno

Implemente um circuito de luz XOR com 3 interruptores SPST no LogixPro ou RSLogix 500 usando um bit de relé interno. Inclui tabelas-verdade, equações boolean...

O exercício clássico—três chaves SPST controlam uma luz de modo que qualquer chave individual alterne a saída—é reduzido a um OR exclusivo de três entradas (paridade ímpar). O XOR de duas entradas é um par familiar de ramos XIC/XIO cruzados. Estender esse padrão com um terceiro ramo paralelo não funciona: ele implementa uma soma de XORs entre pares, acendendo com as três chaves fechadas quando a especificação exige apenas paridade ímpar. A correção aceita é um bit de relé interno que armazena A⊕B e, em seguida, um segundo estágio que calcula (A⊕B)⊕C.

Implementação da lógica Ladder XOR de 3 chaves com bit interno — figura 1

A paridade ímpar entre três entradas mantidas é XOR—não uma estrutura inclusiva de três ramos.

Tabela-verdade (1 = fechada)

S1 S2 S3 Luz Paridade
0 0 0 0 par
0 0 1 1 ímpar
0 1 0 1 ímpar
0 1 1 0 par
1 0 0 1 ímpar
1 0 1 0 par
1 1 0 0 par
1 1 1 1 ímpar

Referência de duas entradas

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

Mapeie I:1/0, I:1/1 → O:2/0 nos simuladores LogixPro/RSLogix 500 (ou em tags BOOL no Logix Designer). Verifique as quatro linhas antes de adicionar S3.

Por que o terceiro ramo paralelo falha

Y = (S1⊕S2) ∨ (S1⊕S3) ∨ (S2⊕S3) resulta verdadeiro na linha com as três chaves fechadas, porque cada par é diferente. Os alunos descrevem o sintoma como a luz “ficando acesa” quando duas chaves fecham. Esse é um comportamento de OR inclusivo entre pares, não XOR.

Implementação da lógica Ladder XOR de 3 chaves com bit interno — figura 2

Encadeie o XOR por B3:0/0 (ou por uma tag BOOL)—não coloque os estágios em paralelo com OR.

Implementação com bit interno

Rung 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]---+              |

Rung 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]---+             |

Como o XOR é associativo, a ordem das chaves não importa. No Logix Designer, as mesmas equações se tornam XOR_Mid := S1 XOR S2; Light := XOR_Mid XOR S3; para texto estruturado ou padrões de contatos idênticos em tags BOOL. O bit intermediário é escrito em um rung e lido no seguinte durante o mesmo ciclo de varredura, o que é intencional e estável para este padrão.

Procedimento no LogixPro / RSLogix 500

  1. Confirme os módulos de entrada e saída discretas no simulador (mapeamento padrão I:1 / O:2)
  2. Certifique-se de que o arquivo binário B3 exista com bits disponíveis ou crie uma tag BOOL chamada XOR_Mid no Logix Designer
  3. Crie o rung 2, acionando B3:0/0 a partir de S1 e S2 com contatos XIC/XIO cruzados
  4. Build rung 3 driving O:2/0 from B3:0/0 and S3 using the same crossed pattern
  5. Crie o rung 3 acionando O:2/0 a partir de B3:0/0 e S3, usando o mesmo padrão cruzado
  6. Baixe o programa, coloque o processador em RUN e libere todas as forças antes de percorrer a tabela-verdade

Force momentaneamente cada LED de entrada e a lâmpada de saída uma vez para comprovar a fiação; depois libere as forças

Plano de endereçamento e alternativas Plataforma Intermediário
Observações B3:0/0 RSLogix 500 / SLC
Bit de arquivo binário XOR_Mid BOOL Escopo do programa ou do controlador
LogixPro B3:0/0 Compatível com laboratórios do RSLogix 500

Como diagnóstico opcional, mantenha os dois intermediários: B3:0/0 = S1 XOR S2 e B3:0/1 = intermediário XOR S3; depois acione a lâmpada a partir de B3:0/1 para que os monitores online possam interromper a cadeia em qualquer um dos estágios. As instruções XOR em nível de palavra podem agrupar muitas entradas para verificação de paridade, mas obscurecem o padrão didático para três chaves. Evite expansões de De Morgan que tentem expressar “não quaisquer duas verdadeiras” como uma floresta de contatos — a cascata de bits internos continua sendo a forma mais fácil de manter, tanto em bancadas de treinamento quanto em seletores de modo de produção.

Percorra as oito linhas de paridade antes da aprovação final

  1. Percorra as oito linhas da tabela-verdade com as forças liberadas
  2. Confirme que três chaves fechadas acendem a lâmpada (paridade ímpar)
  3. Alterne cada chave individualmente e comprove que a saída muda
  4. Se a lâmpada permanecer acesa com duas entradas, você ainda terá uma lógica OR par a par
  5. Opcional: gere um alarme quando duas chaves de modo mantidas estiverem em verdadeiro após a filtragem antirruído em máquinas reais
  6. Documente a identidade booleana (A XOR B) XOR C nos comentários do rung para o próximo editor

Dê nomes aos intermediários de acordo com a função (XOR_Mid, ModeParity), em vez de usar bits anônimos, para que a próxima edição continue legível. Aplique a mesma disciplina em todas as frotas padronizadas em sistemas PLC e PAC.

Sobre o autor

Mark Townsend | Engenheiro sênior de automação – Sistemas Allen-Bradley

Mark Townsend é engenheiro sênior de automação, com mais de 18 anos de experiência em plataformas Allen-Bradley, abrangendo ControlLogix, CompactLogix e o antigo SLC-500. No dia a dia, trabalha com lógica no RSLogix / Studio 5000 e com a colocação em operação de IHMs FactoryTalk View em frotas antigas e heterogêneas.

Implementação da lógica de escada XOR com 3 interruptores usando bit interno

Implemente um circuito de luz XOR com 3 interruptores SPST no LogixPro ou RSLogix 500 usando um bit de relé interno. Inclui tabelas-verdade, equações booleanas e verificação.

O exercício clássico—três chaves SPST controlam uma luz de modo que qualquer chave individual alterne a saída—é reduzido a um OR exclusivo de três entradas (paridade ímpar). O XOR de duas entradas é um par familiar de ramos XIC/XIO cruzados. Estender esse padrão com um terceiro ramo paralelo não funciona: ele implementa uma soma de XORs entre pares, acendendo com as três chaves fechadas quando a especificação exige apenas paridade ímpar. A correção aceita é um bit de relé interno que armazena A⊕B e, em seguida, um segundo estágio que calcula (A⊕B)⊕C.

Implementação da lógica Ladder XOR de 3 chaves com bit interno — figura 1

A paridade ímpar entre três entradas mantidas é XOR—não uma estrutura inclusiva de três ramos.

Tabela-verdade (1 = fechada)

S1 S2 S3 Luz Paridade
0 0 0 0 par
0 0 1 1 ímpar
0 1 0 1 ímpar
0 1 1 0 par
1 0 0 1 ímpar
1 0 1 0 par
1 1 0 0 par
1 1 1 1 ímpar

Referência de duas entradas

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

Mapeie I:1/0, I:1/1 → O:2/0 nos simuladores LogixPro/RSLogix 500 (ou em tags BOOL no Logix Designer). Verifique as quatro linhas antes de adicionar S3.

Por que o terceiro ramo paralelo falha

Y = (S1⊕S2) ∨ (S1⊕S3) ∨ (S2⊕S3) resulta verdadeiro na linha com as três chaves fechadas, porque cada par é diferente. Os alunos descrevem o sintoma como a luz “ficando acesa” quando duas chaves fecham. Esse é um comportamento de OR inclusivo entre pares, não XOR.

Implementação da lógica Ladder XOR de 3 chaves com bit interno — figura 2

Encadeie o XOR por B3:0/0 (ou por uma tag BOOL)—não coloque os estágios em paralelo com OR.

Implementação com bit interno

Rung 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]---+              |

Rung 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]---+             |

Como o XOR é associativo, a ordem das chaves não importa. No Logix Designer, as mesmas equações se tornam XOR_Mid := S1 XOR S2; Light := XOR_Mid XOR S3; para texto estruturado ou padrões de contatos idênticos em tags BOOL. O bit intermediário é escrito em um rung e lido no seguinte durante o mesmo ciclo de varredura, o que é intencional e estável para este padrão.

Procedimento no LogixPro / RSLogix 500

  1. Confirme os módulos de entrada e saída discretas no simulador (mapeamento padrão I:1 / O:2)
  2. Certifique-se de que o arquivo binário B3 exista com bits disponíveis ou crie uma tag BOOL chamada XOR_Mid no Logix Designer
  3. Crie o rung 2, acionando B3:0/0 a partir de S1 e S2 com contatos XIC/XIO cruzados
  4. Build rung 3 driving O:2/0 from B3:0/0 and S3 using the same crossed pattern
  5. Crie o rung 3 acionando O:2/0 a partir de B3:0/0 e S3, usando o mesmo padrão cruzado
  6. Baixe o programa, coloque o processador em RUN e libere todas as forças antes de percorrer a tabela-verdade

Force momentaneamente cada LED de entrada e a lâmpada de saída uma vez para comprovar a fiação; depois libere as forças

Plano de endereçamento e alternativas Plataforma Intermediário
Observações B3:0/0 RSLogix 500 / SLC
Bit de arquivo binário XOR_Mid BOOL Escopo do programa ou do controlador
LogixPro B3:0/0 Compatível com laboratórios do RSLogix 500

Como diagnóstico opcional, mantenha os dois intermediários: B3:0/0 = S1 XOR S2 e B3:0/1 = intermediário XOR S3; depois acione a lâmpada a partir de B3:0/1 para que os monitores online possam interromper a cadeia em qualquer um dos estágios. As instruções XOR em nível de palavra podem agrupar muitas entradas para verificação de paridade, mas obscurecem o padrão didático para três chaves. Evite expansões de De Morgan que tentem expressar “não quaisquer duas verdadeiras” como uma floresta de contatos — a cascata de bits internos continua sendo a forma mais fácil de manter, tanto em bancadas de treinamento quanto em seletores de modo de produção.

Percorra as oito linhas de paridade antes da aprovação final

  1. Percorra as oito linhas da tabela-verdade com as forças liberadas
  2. Confirme que três chaves fechadas acendem a lâmpada (paridade ímpar)
  3. Alterne cada chave individualmente e comprove que a saída muda
  4. Se a lâmpada permanecer acesa com duas entradas, você ainda terá uma lógica OR par a par
  5. Opcional: gere um alarme quando duas chaves de modo mantidas estiverem em verdadeiro após a filtragem antirruído em máquinas reais
  6. Documente a identidade booleana (A XOR B) XOR C nos comentários do rung para o próximo editor

Dê nomes aos intermediários de acordo com a função (XOR_Mid, ModeParity), em vez de usar bits anônimos, para que a próxima edição continue legível. Aplique a mesma disciplina em todas as frotas padronizadas em sistemas PLC e PAC.

Sobre o autor

Mark Townsend | Engenheiro sênior de automação – Sistemas Allen-Bradley

Mark Townsend é engenheiro sênior de automação, com mais de 18 anos de experiência em plataformas Allen-Bradley, abrangendo ControlLogix, CompactLogix e o antigo SLC-500. No dia a dia, trabalha com lógica no RSLogix / Studio 5000 e com a colocação em operação de IHMs FactoryTalk View em frotas antigas e heterogêneas.

Deixe um comentário

Por favor, note que os comentários precisam ser aprovados antes de serem publicados.