Há tempo estamos convivendo com a automação industrial. Está presente no nosso cotidiano. Sem percebermos, a porta do aeroporto abre-se com a nossa aproximação; a garrafa de água mineral é envazada sem a presença do homem; o comandante aciona o piloto automático do avião e a automação encarrega-se de nos levar ao destino; armazenamos fotos na nuvem e há programas inteligentes que separa as fotos por evento, por pessoa ou por lugar. Até nos brinquedos encontramos automação, por exemplo, no conjunto de robótica da Lego tem um mini controlador programável versátil. Podemos ser aversos a algum tipo de automação. Todavia, não podemos escapar dela.
Um dos equipamentos utilizados na indústria para promover a automação dos sistemas e dos processos é o controlador programável. No meu canal Luciano Lucena - Educação Profissional no YouTube tem uma vídeo aula sobre Controlador Programável (https://www.youtube.com/watch?v=-A6HUDW_ads) dividida em três partes. Vale a pena assistir.
Os fabricantes de controladores programáveis facilita nossa vida na hora de programar a máquina, permitindo alguns recursos para isso: diagrama Ladder, diagrama de blocos e linguagem de programação. Neste artigo, focaremos na programação utilizando diagrama de blocos de função (FBD). Antes, faremos um brevíssimo resumo sobre portas lógicas, amplamente utilizadas na programação de equipamentos lógicos.
A Fig. 1 traz um resumo das portas lógicas mais usuais.
![]() |
Fig. 1: Resumo das Portas Lógicas |
Podemos associar as portas lógicas para fazermos circuitos lógicos e estes acionarem, desligarem, ligarem, movimentarem, entre outros, elementos passivos e ativos nos diversos segmentos industriais ou não.
Mas, como funciona o controlador programável? Vejamos a Fig. 2.
![]() |
Fig. 2: Constituição básica de um Controlador Programável típico |
Assim como em um computador, o controlador programável precisa de uma fonte de alimentação para funcionar e possui unidade central de processamento (CPU), banco de memórias ROM, RAM e suas variantes, processador, uma interface homem máquina (IHM), além de diversos tipos de cartões de entrada e de saída de dados, quer sejam digitais (discretos) ou analógicos.
Após a correta parametrização das informações e correta programação do controlador, podemos, por exemplo, apertar uma botoeira na sala de controle de uma indústria que fica muito distante da planta de processo (campo) e, mesmo à distância, ligarmos um motor de uma bomba de transferência de fluido. Como isso ocorre? A botoeira é uma entrada discreta. Fisicamente, ela está conectada a um canal de um cartão de entrada do controlador programável. O controlador, por sua vez, faz uma varredura das informações dos cartões de entrada e de saída em milésimos de segundos, a fim de atualizar sua tabela de ações. Ao perceber que o canal mudou de nível, por exemplo, de desligado (nível lógico 0) para ligado (nível lógico 1), o controlador atualiza aquela informação na sua tabela e, por meio do programa inserido nele, faz a mudança de nível lógico em um canal de saída, devidamente endereçado para aquela bomba que se deseja ligar. Interessante, não é?
Agora, vamos praticar. Analisem a malha de um processo de medição de nível da Fig. 3.
![]() |
Fig. 3: Malha de medição de nível |
De acordo com a norma internacional ISA 5.1, a malha tem um transmissor indicador de nível (LIT), conectado diretamente ao tanque TQ-01. Este transmissor envia um sinal elétrico de corrente, variando de 4 a 20 mA, para um conversor de sinal (LY) elétrico em sinal de dados (software), virtual, que se encontra no controlador programável (um canal de um cartão de entrada) e para um indicador de nível (LI) virtual que está na tela do supervisório na sala de controle. Ainda no controlador programável, temos duas chaves de nível baixo (LSL) e alto (LSH), também virtuais, que enviam sinal de dados a dois alarmes de nível baixo (LAL) e alto (LAH) que estão na tela do supervisório em uma sala de controle. Além de enviar sinal para os alarmes, dois conversores (LY) de sinal de dados em sinal elétrico recebem informações para atuarem as duas válvulas solenóides (LY 1 e LY 2) que estão conectadas no atuador pneumático das duas válvulas ON-OFF da malha (LV 1 e LV 2), na entrada e na saída do tanque, respectivamente.
A programação no controlador programável será assim: temos uma entrada analógica que receberá 4 a 20 mA do LIT. Quando o nível do tanque estiver baixo, a LSL acionará a LY 1 que abrirá a válvula LY 1, permitindo a entrada de líquido no tanque. Esta válvula permanecerá aberta até o nível atingir seu valor considerado alto e atuar a LSH. Neste instante, a LY 1 desenergiza, fechando a LV 1 e a LY 2 energiza, abrindo a LV 2, que tem como objetivo esvaziar o tanque. A partir daí o ciclo se repete.
Para exercitarmos, o valor de nível baixo dar-se-á com 6 mA e o de nível alto com 18 mA na saída do LIT. Utilizei um temporizador (TON - conta para energizar) de 2 s antes da atuação das válvulas solenóides com o objetivo de o sistema certificar-se de que não foi algum ruído ou distúrbio na malha causado por balanço do líquido dentro do tanque, por exemplo. Também utilizei uma porta lógica Ou Exclusivo com duas entrada, sendo uma com a informação oriunda do conversor analógico-digital após o LIT e a outra entrada com a informação do valor esperado para a condição normal de operação. Explico melhor: na maioria dos casos, utilizamos o nível lógico 0 para detectarmos uma anormalidade na malha de controle, pois este representa equipamento desligado, falta de fase, botoeira desligada, resistor elétrico desligado, válvula fechada, entre outros. Já o nível lógico 1 representa que o sistema está normal e é o inverso dos exemplos que acabei de citar. Assim para o exemplo em questão, esperamos que o nível do tanque esteja sempre normal, ou seja nível lógico 1 em uma das entradas da porta lógica Ou Exclusivo.
É preciso também, explicar duas palavras que são comuns na programação de controladores programáveis: By Pass e Override. A tradução, no pé da letra, é desvio e sobrepor, respectivamente. E apesar de cada ação desta representar um sinal forçado em algum item do programa, eles tem consequências diferentes. O By Pass atua na entrada do controle e/ou intertravamento e o Override atua diretamente no sinal de saída, independentemente do comando programado no controle e/ou intertravamento.
Para simular o controlador programável, utilizei o programa Zelio, baixado do site da Schneider Electric. Vejamos a Fig. 4, que mostra a tela em FBD do programa do controlador programável.
Fig. 4: Tela do programa Zelio referente ao controle da malha de medição de nível |
O LIT está representado por uma entrada analógica (resistor variável ou potenciômetro). Os valores de nível baixo (6 mA) e nível alto (18 mA) estão representados pelos blocos de números fixos NUM. Antes das portas Ou Exclusivas, inseri um Schmitt Trigger que terá saída com nível lógico 1 quando a corrente do LIT atingir 18 mA e nível lógico 0 quando a corrente do LIT atingir 6 mA. Na sequência, temos as duas portas lógicas OU Exclusivo, com o valor esperado 1 para cada situação de nível (LSL e LSH) e depois o temporizador, setado em 2 s. Após o temporizador, está um bloco que representa o comando de By Pass. A Fig 5 mostra o que tem dentro do bloco. Percebam que o By Pass inibe o comando da entrada da lógica. Vejam a diferença para o bloco Override. A Fig. 6 mostra o bloco. O comando de Override 0 ou 1 atua diretamente na saída, ou seja, diretamente nas válvulas solenóides, independentemente de qualquer comando que tenha atuado antes dele.
Fig. 5: Bloco do comando By Pass |
Fig. 6: Bloco do comando Override |
Vejamos a simulação que foi separada em três vídeos. Antecipadamente, peço-lhes desculpas pela falta de qualidade dos vídeos, pois não estou com os meus acessórios de filmagem. No entanto, é possível entender a mensagem.
Resumindo:
Resumindo:
![]() |
Fig. 7: Válvulas atuadas para encher o tanque |
![]() |
Fig. 8: Válvulas atuadas para diminuir o nível do tanque |
Espero que tenham gostado do artigo e agradeço a atenção de todos. Tudo de bom!
Nenhum comentário:
Postar um comentário