A linguagem ladder através da álgebra booleana

Yuri Carvalho
Editorial 20 21
Published in
6 min readSep 23, 2020

Se você já estudou ou estuda a linguagem de programação ladder, provavelmente já deve ter se deparado com a álgebra booleana em outra disciplina da sua grade curricular, mas talvez você nunca tenha parado pra pensar em como esses dois assuntos se interligam e podem ser uma mão na roda na hora de resolver exercícios!

Neste artigo, trataremos da linguagem ladder pela óptica da álgebra de boole.

Caso você não esteja muito familiarizado com esse termos, a linguagem ladder é uma linguagem de programação gráfica, semelhante a diagramas elétricos, sendo uma das linguagens padronizadas para programação de CLP’s (Controladores Lógicos Programáveis), que por sua vez são considerados a inteligência de um processo industrial automatizado, uma espécie de computador responsável por receber os sinais do campo, processá-los e enviar os comandos adequados para os dispositivos atuadores, mantendo sempre a variável de processo (pressão, nível, vazão, temperatura e outras) em um valor requerido pelo processo.

A álgebra de Boole por sua vez, é utilizada principalmente na descrição de circuitos que podem ser construídos com a utilização de portas lógicas, nesta álgebra, todas as variáveis e funções podem assumir apenas dois valores, 0 e 1. E o fator interessante aqui é que toda a lógica presente nesta álgebra, está atrelada à lógica combinacional que constitui a base dos programas executados em CLP’s e uma vez sabendo manipular expressões booleanas, não faltarão alternativas para resolver um problema que pode parecer complicado inicialmente. Agora vamos ao que interessa!

Lógica de entrada

Toda a programação em lógica ladder é voltada à lógicas de entrada, de modo que possamos controlar e manipular nossas saídas, de acordo com restrições e suposições iniciais. Todo o programa então, é baseado no que chamamos de lógica digital, ou matematicamente falando, álgebra Booleana.

Para exemplificar, podemos pensar na associação de dois interruptores de forma a ligar um LED. Dos diferentes arranjos que podemos fazer com esses elementos, resultam diferentes modos de funcionamento. Ressaltando novamente, que ambos possuem dois estados: Ligado (1) ou Desligado (0).

Inicialmente poderíamos conectá-los numa mesma linha, resultando numa associação em série, como na imagem abaixo:

Quando realizamos uma conexão como esta, ambos os interruptores precisam estar ligados para permitir a passagem de corrente e, consequentemente, possibilitar que o LED acenda. Na lógica digital, chamamos isso de porta AND ou porta E pois, para obtermos uma saída igual a 1 (Verdadeiro, indicando existência de corrente e LED ligado), necessitamos que o interruptor 1 E o interruptor 2 estejam ligados.

Portas lógicas e suas correspondências em ladder

Dentro da lógica digital, temos inúmeras portas digitais que nos possibilitam uma gama de aplicações, abaixo relacionarei três importantes portas e suas respectivas tabelas verdade que servirão de base para todas as outras.

PORTA E (AND)

Como anteriormente citado, a porta lógica E parte da máxima de que, para obtermos uma saída igual a 1 (verdadeiro), é necessário que todas as entradas relacionadas àquela saída, possuam estado ativo, isto é, que estejam em nível lógico alto (1).

Sua tabela verdade é a exibida abaixo:

Tabela verdade porta lógica E

Em termos da álgebra booleana, a função que descreve a porta lógica E pode ser representada do seguinte modo: Y = A·B

Já a sua correspondência na lógica ladder é dada pela seguinte forma:

Lógica E em linguagem ladder

PORTA OU

A porta lógica OU parte da máxima que para obter obtermos uma saída igual a 1 (verdadeiro), é necessário que pelo menos uma de suas entradas associadas estejam em nível lógico alto (1).

Veja a tabela verdade abaixo:

Tabela verdade porta lógica OU

Em termos da álgebra booleana, a função que descreve a porta lógica E pode ser representada do seguinte modo: Y = A+B

Sua correspondência na lógica ladder é dada pela seguinte forma:

Lógica OU em linguagem ladder

PORTA INVERSORA (NOT)

A porta NOT ou inversora, sempre apresentará como saída o sinal oposto ao correspondente em sua entrada, confira sua tabela verdade:

Tabela verdade porta inversora

Sua correspondência em lógica ladder é representada como segue:

Porta inversora em lógica ladder

Em termos da álgebra booleana, a função que descreve a porta lógica E pode ser representada do seguinte modo: Y = A’

Mas… e agora? Como essas informações podem ser úteis?

Nada melhor do que começar com um exemplo! A princípio a resolução deste pode parecer um pouco simples, porém o interessante é que a medida que a dificuldade do problema cresce, a dificuldade na resolução não aumenta no mesmo nível.

Exemplo : Em uma determinada fábrica, deseja-se controlar o acionamento de três motores, com a restrição de que, no máximo, dois motores funcionem por vez,, de modo a evitar possível sobrecarregamento do sistema.

Antes de começar a pensar na resolução, devemos nos atentar que este método busca fornecer a resposta para apenas uma variável por vez, portanto, como são três motores, faremos a análise e simplificação três vezes.

Vamos então considerar os três motores A, B e C; Estas serão nossas variáveis.

Partiremos do princípio que a quantidade de saídas possíveis para o sistema será de 2^(número de saídas), neste caso, 2³ = 8 saídas.

MOTOR A

O próximo passo então, é montar a tabela verdade para o motor A e as possíveis condições de entrada para o funcionamento do mesmo, tendo a saída igual a 1 quando ele estiver ligado sozinho, quando estiver ligado apenas com o motor B e quando estiver ligado apenas com o motor C, desta forma:

Tabela verdade motor A

Efetuando a simplificação por Mapa de Karnaugh, chegamos à seguinte expressão: Y = AB’ + AC’ = A(B’+C’)

MOTOR B

Seguindo a mesma linha de raciocínio, para o motor B, teremos a seguinte tabela verdade:

Tabela verdade motor B

Resultando na seguinte expressão: Y = A’B + BC’ = B(A’+C’)

MOTOR C

De maneira análoga, para o motor C temos a seguinte tabela verdade:

Tabela verdade motor C

Como resultado, temos a expressão: Y = A’C + B’C = C(A’+B’)

RESUMO

Ao final, temos as seguintes expressões para os motores:

  • Y(A) = A(B’+C’)
  • Y(B) = B(A’+C’)
  • Y(C) = C(A’+B’)

De acordo com os conhecimentos adquiridos até aqui, podemos associar tais expressões às suas correspondências na lógica Ladder e apresentar a solução da seguinte forma:

Resolução do exemplo proposto em linguagem ladder

Pode-se observar então, as lógicas contidas nas expressões obtidas pela simplificação da tabela verdade de cada motor, destacadas em vermelho. Os demais contatos são relativos às entradas e seus respectivos selos de ligação.

Agora que você já conseguiu entender os conceitos básicos, é só praticar e aplicar nos mais variados problemas, atentando sempre a colocar as restrições corretas e individuais para cada saída que desejar!

Até a próxima!

--

--