CLP versus Microcontrolador

clp versus microcontrolador

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.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Hardware » CLP versus Microcontrolador
Comentários:
Notificações
Notificar
guest
25 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Cleber
Cleber
08/08/2020 20:30

Excelente artigo! Por eu ser da área de desenvolvimento de sistemas, tenho preferência por microcontroladores. E a linguagem ladder, que vi na faculdade, não me animou muito. Mas o mercado é melhor para profissionais de CLP.

Lenio Rodrigues
Lenio Eletricista
30/12/2019 23:12

Olá boa noite ! paraens pelo Posta !! muito objetivo !

Cláudio Henrique Costa Borges
Cláudio Henrique Costa Borges
04/01/2019 23:57

Legal as informações mas não satisfez minha dúvida em relação a velocidade, qual a velocidade em Hertz de uma CPL comum?

Estanislau Domingues
Estanislau Domingues
22/02/2016 13:30

A grande maravilha dos microcontroladores, é que em grande parte são de baixo custo, possibilitando que qualquer pessoa que tenha interesse possa comprar um e aprender, sobre eletrônica automação, computação, programação entre outros; o que não é acessível a qualquer um em um clp pois tem um custo muito alto. Para quem tiver interesse tenho um grupo recém criado que trata semanalmente sobre esses assuntos. Sou técnico e estudante de engenharia de automação e gosto muito de debater sobre isso. Segue o Link: https://www.facebook.com/groups/538683152975551/

Rodrigo Silva
Rodrigo Adao
17/02/2016 21:35

Boa noite camaradas. Eu tenho algumas dúvidas em relação aos barramentos do microcontrolador. Ao falarmos de arquitetura Harvard, existem 3 barramentos: Barramento de Controle, Barramento de Dados e Barramento de Controle. Estou lendo alguns livros, mas nenhum conseguiu tirar a minha dúvida: como é que são esses barramentos? Ex: se eu falo que um barramento é de 8 bits, significa dizer que tenho 8 "barramentos/caminhos/trilhas paralelas" interligando partes do MCU, cada bit sendo transmitido por uma via, ou significa que eu tenho um único barramento/caminho por onde passam 8 bits? E de fato, o que são barramentos? É uma via… Leia mais »

Jonadabe Alves
Jonadabe Alves
16/02/2016 17:51

Olá pessoal minha pergunta é colocar um Microntrolador (Arduino, por exemplo) em um chão de fabrica com tantos ruidos como motores e outros, vcs acham que isso é tranquilo? Acredito que os CLP's os fabricantes já se preocupam com isso. Valeu.

Dimitrius Borges
Dimítrius
Reply to  Jonadabe Alves
17/02/2016 11:00

Vai depender da quantidade de ruídos e da confiabilidade que o sistema exige. No ano passado eu "redesenvolvi" a parte eletrônica de uma máquina de vulcanização de solados de calçados. Ela é chão de fábrica e compete com várias outras máquinas, algumas tão antigas quanto ela (20 anos de idade) em uma estrutura elétrica um bocado duvidosa... Ou seja, tem ruído e queda de tensão com frequência. Mas o 328p tá lá, firme e forte sem dar problemas nesse sentido, o brownout dá conta do recado e impede problemas maiores. Porém, é apenas uma máquina de colar solado, não exige… Leia mais »

Jonadabe Alves
Jonadabe Alves
Reply to  Dimítrius
17/02/2016 12:08

Obrigado, pela resposta.
Um empresa me chamou para fazer um teste em algumas maquinas deles, como por exemplo detector de furo de garrafa e eles querem usar o Arduino por exemplo. E já estou testando na bancada e parece tranquilo, agora o proximo passo é testar em produção.
Dimitrius, valeu.

Rafael Gebert
Rafael Gebert
11/02/2016 16:08

Ótimo artigo Sérgio! Concordo com digamos 99% do que você escreveu.
Apenas acho que você "pintou com cores muito fortes" sobre a dificuldade e/ou complexidade no uso de sistemas microcontrolados.
Eu também mudaria o campo custo (da tabela) de "baixo custo" para "baixíssimo custo" uma vez que com microcontrolador é possível fazer a mesma tarefa com apenas 5% do valor de um CLP (isso já considerando outros componentes e pci)....
Obrigado!

Artur Freitas
Artur Freitas
11/02/2016 10:55

Artigo bastante esclarecedor! Muito Obrigado.

josinei
josinei
11/02/2016 10:54

O segundo fator importante se deve que o código compilado em Assembly fica mais enxuto do que o compilado em linguagem C ?

Você quis dizer que é melhor criar os códigos em Assembly ?
por favor explica melhor

Rafael Gebert
Rafael Gebert
Reply to  josinei
11/02/2016 16:04

josinei, na verdade a linguagem Assembly não é compilada... você programa diretamente no hardware através de minemônicos (e por isso exige que o programador conheça a arquitetura do microcontrolador), já na linguagem C o compilador converte de C para o assembly de uma determinada arquitetura (não é bem assim que ocorre mas estou tentando ser mais didático). A tarefa do compilador é bem complexa porque ele precisa compreender uma descrição de alto nível de abastração (dependendo da linguagem o programador praticamente escreve uma "carta" descrevendo o que deseja que seja executado) para um código de baixo nível de abstração (o… Leia mais »

josinei
josinei
Reply to  Rafael Gebert
11/02/2016 16:51

Ok.
Então pra quem vai aprender a programar Microcontroladores é melhor estudar a linguagem Assembly. ?

Rafael Gebert
Rafael Gebert
Reply to  josinei
11/02/2016 17:11

humm.... você quer uma resposta direta sobre o que estudar...
Olha, em função da simplicidade, praticidade e curva de aprendizagem eu recomendo o C.

Sérgio Eduardo Palmiere
Sérgio Eduardo Palmiere
Reply to  Rafael Gebert
11/02/2016 18:26

Obrigado Rafael, você respondeu a questão da vantagem da linguagem Assembly perfeitamente. Sobre a dificuldade de aprendizagem é o que senti durante meu próprio aprendizado e quando comecei a lecionar sobre microcontroladores na última escola técnica em que trabalhei. Cheguei a montar uma apostila para facilitar o aprendizado procurando integrar hardware e firmware de maneira que o leitor consiga criar projetos próprios no Proteus. Estou transformando-a em livro e espero publica-lo logo. Josinei ao meu ver eu acredito que qualquer interessado em dominar um microcontrolador específico deveria entender um básico da linguagem Assembly, principalmente porque isto lhe dará vantagens como… Leia mais »

Rafael Gebert
Rafael Gebert
Reply to  Sérgio Eduardo Palmiere
11/02/2016 18:46

Concordo contigo Sérgio! Programar em C conhecendo o assembly é um grande diferencial! É que me pareceu para o caso do Sr. Josinei seria melhor recomendar o C direto uma vez que o assembly pode ser, como diria, desistimulante para quem está querendo aprender por conta própria..... 😉

Rafael Gebert
Rafael Gebert
Reply to  josinei
11/02/2016 18:49

Josinei, nosso amigo Fabio Souza publicou um artigo sobre microcontrolaodres PIC com o compilador XC8 da Microchip. Nas perguntas ele publicou uma lista de vídeos do youtube muito bom para iniciar a programação C em microcontroladores PIC18. olha os links: http://embarcados.com.br/microchip-mplab-x-e-mplab-xc8-1/

https://www.youtube.com/watch?list=PL3lfkED2i6JcJH-OETxsI43e8M-7eLeL-&v=mUofSucHx_E

josinei
josinei
Reply to  Rafael Gebert
11/02/2016 19:21

Obrigado, Rafael.

Bruno Lobo
Bruno Lobo
14/10/2017 13:39

Técnico em Mecatrônica. Trabalho com Pesquisa e Desenvolvimento e utilizo ambos os sistemas, mas comparando a questão custo benefício os sistemas micro controlados são superiores. Desenvolvo sistemas embarcados para a empresa em que eu trabalho e atualmente tenho utilizado bastante Arduino e PIC para sistemas de automação e robótica e posso afirmar por experiência própria que esses sistemas tem muito mais recursos para serem explorados do que num CLP em que seu custo é muito elevado e depende bastante de módulos externos para controles e alguns até para compensação de sinais analógicosdigitais(transmissores). Também acrescento que alguns CPLs tem seu sistema… Leia mais »

Davidson Pena
davidson fellipe
Reply to  Bruno Lobo
15/05/2020 08:49

muito válido seu comentário. e o post é excelente, porém tive alguns problemas ao desenvolver um sistema embarcado industrial devido a ruídos no chão de fábrica e que sinceramente ainda não consegui solucionar, ainda acho que o arduino em si tem vantagem quando se trata de domotica mas industrial acho que ainda tem muito a melhorar, tenho como objetivo trabalhar no desenvolviemnto de sistemas embarcados geral tanto industrial quanto residencial automotivo emfim, a vantagem do arduino e de sistemas embarcados é sua aplicação que se limita a ideia do desenvolvedor.

Talvez você goste:

Séries

Menu

WEBINAR
 
Debugging
em Linux embarcado

 

Data: 30/09 às 19:30h - Apoio: Mouser Elecctronics
 
INSCREVA-SE AGORA »



 
close-link