Controladores Lógicos Programáveis (CLP’s ou PLC sigla em inglês) e microcontroladores são amplamente aplicados em diversos projetos e maquinários. Para um usuário iniciante muitas perguntas sobre estes sistemas pairam no ar, perguntas como: as principais diferenças entre ambos os sistemas, custo, aplicação, funcionamento e até mesmo que curso resultaria numa melhor oportunidade de se conseguir um novo emprego. Este artigo tem por finalidade solucionar muitas destas dúvidas e permitir ao leitor escolher o sistema que melhor lhe atenda.

O CLP

Os CLP’s de uma maneira geral são sistemas microprocessados que desempenham uma função de controle (lógica, aritmética, comunicação, temporização, contagem e sequenciamento). Este sistema toma decisões baseadas em suas informações de entrada e na lógica desejada para manipular relés de saída. Obviamente é um sistema mais complexo constituído por diversos módulos intercambiáveis capazes de atender as necessidades do usuário, variando apenas em tamanho, complexidade e custo. A figura 1 mostra um sistema CLP.

CLP versus Microcontrolador: Sistema CLP
Figura 1 –  Sistema CLP

Existem diversos fabricantes de CLP’s entre os mais famosos temos a Siemens, Schneider, Allen Bradley, Festo, Rockwell e ABB, entre outros atendendo diversos nichos de mercado. Embora os CLP’s variem em termos de hardware a sua forma de programação basicamente costuma ser a mesma para todos os fabricantes, podendo ser operados e programados via computador ou via Interface Homem Máquina (IHM). As formas de programação mais usuais são a linguagem ladder (diagrama de contatos) vista na figura 2, lista de instruções, bloco de funções e texto estruturado. Normalmente os CLP’s possuem sua maior aplicação em indústrias (máquinas operatrizes, controle de processos, aquisição de dados). Embora os CLP’s possam ser aplicados em diferentes situações seu custo normalmente impede outros tipos de implementações. As grandes vantagens na utilização dos CLP’s são sua modularidade, a facilidade de programação em campo e fácil aprendizagem do programa. Por outro lado, seu alto custo o torna inviável para aplicações caseiras ou mais simples.

CLP versus Microcontrolador: Exemplo de um programa em linguagem Ladder.
Figura 2 –  Exemplo de um programa em linguagem Ladder.

O microcontrolador

O microcontrolador é um circuito integrado programável que contém todos os componentes de um computador (CPU, memória, portas de entrada e saída, conversores A/D e D/A, etc). Sua aplicação vai desde um simples controle remoto a máquinas mais complexas como exemplo máquinas pneumáticas e hidráulicas, máquinas dispensadoras de produtos, motores, temporizadores, sistemas automotivos, sistemas de controle, telefonia e medicina entre outros. Vale lembrar que um microcontrolador é diferente de um microprocessador. Enquanto os primeiros são sistemas completos, o microprocessador não passa de um circuito integrado com a função de CPU e que para operar adequadamente deverá estar inserido em um sistema maior que incorpore  sistema de entrada e saída de dados, vias de comunicação e memória externa. Existem diversas linhas de microcontroladores e entre os principais fabricantes pode-se citar a Microchip, Texas, Atmel, ST, NXP, Renesas, Intel, Motorola, Hitachi, Zilog, entre outras. O conhecido Arduino (figura 3) na realidade consiste em uma placa de prototipagem eletrônica que utiliza o microcontrolador AVR da Atmel. O arduíno se popularizou por sua simplicidade e baixo custo mas não deve ser confundido com um microcontrolador, palavra que se refere a um circuito integrado.

CLP versus Microcontrolador: Placa de prototipagem Arduino.
Figura 3 –  Placa de prototipagem Arduino.

Um dos maiores problemas na utilização dos microcontroladores é que um código escrito e compilado (normalmente em linguagem Assembly ou C) para um fabricante não funciona no modelo de outro, existindo até mesmo incompatibilidade entre diferentes modelos de um mesmo fabricante. Devido a complexidade de se trabalhar com um microcontrolador, exigindo do usuário conhecimentos de sistemas digitais, componentes eletrônicos, projeto de hardware,  montagem e programação, os microcontroladores são utilizados em sua maior parte por profissionais da área de desenvolvimento e por aficionados por eletrônica. Embora a aplicação de um microcontrolador em um projeto qualquer exija uma certa dedicação e estudo, por outro lado seu baixo custo facilita que o mesmo possa ser aplicado desde projetos caseiros até projetos de grande porte. Os microcontroladores variam de acordo com seu barramento de bits (8, 16 ou 32 bits), pela quantidade de memória RAM, FLASH e EEPROM disponíveis, por seu número de pinos e sua frequência máxima de clock. A figura 4 mostra as principais características de um microcontrolador padrão.

CLP versus Microcontrolador
Figura 4 – Características padrão de um microcontrolador.

CLP versus Microcontrolador

Em termos de facilidade de aprendizado os CLP’s ganham em relação aos microcontroladores. Os primeiros exigem que o estudante saiba interpretar comandos elétricos e lógica booleana quando muito, embora existam grandes diferenças entre os modelos dos diversos fabricantes.  Já para se dominar um microcontrolador exige-se o estudo de seu sistema de hardware, uma linguagem de programação, conhecimentos em softwares de simulação como o Proteus ou Multisim, além de prática na montagem de placas. Em termos práticos a maioria dos cursos de microcontroladores se centra em mostrar a configuração interna do microcontrolador e a aplicação de códigos pré montados em exemplos prontos. Isto dificulta em muito a aprendizagem do aluno que acaba sem saber do porque se aplicar aquele código, de como modificá-lo de uma maneira mais detalhada ou mesmo criar um código do zero. Os sistemas baseados em placas já prontas como o Arduíno, Proto’n (PIC) e outros facilitam a aprendizagem da manipulação do microcontrolador, contudo certas sutilezas como o funcionamento interno do hardware e sua interação com os demais componentes da placa se perdem, fazendo com que muitas vezes o usuário acabe por exemplo comprando um conversor A/D externo quando o mesmo já estava disponível no microcontrolador, bastando apenas uma reconfiguração da funcionalidade do pino. Atualmente seguindo esta tendência de oferecer uma placa simples e de fácil manipulação para os usuários, muitas empresas aplicam os microcontroladores para criar CLP’s de pequeno porte que atendem a diferentes nichos de mercado, barateando os custos e facilitando a sua configuração pelo usuário que necessitará de menores conhecimentos técnicos.

Quanto ao mercado de trabalho existem mais vagas disponíveis na indústria para pessoas com conhecimentos de CLP’s, visto sua maior aplicação e a possibilidade de que qualquer pessoa com o mínimo conhecimento possa reconfigurar por exemplo toda uma linha de montagem. Se por um lado os programadores de CLP’s levam vantagem para as vagas de emprego nas indústrias, os programadores de microcontroladores possuem a flexibilidade de trabalharem por conta própria tornando isto uma fonte de renda ou mesmo uma renda extra ocasional. Muitas empresas que necessitam de um projeto fechado utilizando microcontroladores contratam programadores pagando por projeto realizado. Os valores cobrados por projeto variam de acordo com a complexidade e com o custo, mas no geral compensam tanto aos programadores quanto as empresas que muitas vezes conseguem reduzir o valor que teriam que gastar ao comprar um CLP por exemplo. Nestes casos em que a eliminação do custo de um componente representa um grande ganho na quantidade fabricada, os programadores em linguagem Assembly (linguagem de máquina) saem ganhando por dois simples fatores. Primeiro porque um programador Assembly é obrigado a ter domínio total do hardware, o que elimina a possibilidade de se usar um componente desnecessário, o que encarece o projeto. O segundo fator importante se  deve que o código compilado em Assembly fica mais enxuto do que o compilado em linguagem C, isto é importante quando se analisa o fato de que a quantidade de memória disponível em um microcontrolador é pouca, fazendo em alguns casos com que surja a necessidade de se incorporar uma memória RAM externa ou optar por um microcontrolador de maior capacidade, aumentando o custo final do projeto.

Para finalizar ambos os sistemas tem sua utilidade, interessados e defensores, e isto não deverá mudar por muitos anos. Abaixo temos um quadro comparativo entre ambos os sistemas, mostrando as principais diferenças.

CLP versus Microcontrolador: Comparativo

E você leitor, qual sua opinião sobre o uso de CLP ou Microcontroladores? Deixe seu comentário.