UFBA - Escola Politécnica - Departamento de Engenharia Elétrica
Primeiro Semestre - 2.000
Aula 15 |
|
Ao final desta aula o aluno deverá conhecer os princípios de funcionamento e programação dos controladores lógicos programáveis, principais componentes, e blocos funcionais dos controladores programáveis.
O surgimento dos CLP foi no final da década de 60. Muitas fontes mencionam a indústria automobilística, em especial a General Motors, como a primeira a usar os CLP, o que não é verdade.
A concepção e desenvolvimento do primeiro CLP foi realizada em 1968 por uma equipe de engenheiros coordenada por Richard Morley, um dos criadores da empresa MODICON. Sua empresa veio a tornar-se líder de mercado no segmento de controladores programáveis. O nome MODICON é um acrônimo formado pelas palavras "Modular Digital Controller" ou, em português, controlador modular digital.
Podemos didaticamente dividir os CLPs historicamente de acordo com o sistema de programação por ele utilizado :
1a. Geração: Os CLPs de primeira geração se caracterizam pela programação intimamente ligada ao hardware do equipamento. A linguagem utilizada era o Assembly que variava de acordo com o processador utilizado no projeto do CLP, ou seja , para poder programar era necessário conhecer a eletrônica do projeto do CLP. Assim a tarefa de programação era desenvolvida por uma equipe técnica altamente qualificada, gravando - se o programa em memória EPROM , sendo realizada normalmente no laboratório junto com a construção do CLP.
2a. Geração: Aparecem as primeiras Linguagens de Programação não tão dependentes do hardware do equipamento, possíveis pela inclusão de um Programa Monitor no CLP , o qual converte (no jargão técnico ,Compila), as instruções do programa , verifica o estado das entradas, compara com as instruções do programa do usuário e altera o estados das saídas. Os Terminais de Programação (ou Maletas, como eram conhecidas) eram na verdade Programadores de Memória EPROM . As memórias depois de programadas eram colocadas no CLP para que o programa do usuário fosse executado.
3a. Geração: Os CLPs passam a ter uma Entrada de Programação, onde um Teclado ou Programador Portátil é conectado, podendo alterar, apagar , gravar o programa do usuário, além de realizar testes (Debug) no equipamento e no programa. A estrutura física também sofre alterações sendo a tendência para os Sistemas Modulares com Bastidores ou Racks.
4a. Geração: Com a popularização e a diminuição dos preços dos micro - computadores (normalmente clones do IBM PC), os CLPs passaram a incluir uma entrada para a comunicação serial. Com o auxílio do microcomputadores a tarefa de programação passou a ser realizada nestes. As vantagens eram a utilização de várias representações das linguagens , possibilidade de simulações e testes , treinamento e ajuda por parte do software de programação, possibilidade de armazenamento de vários programas no micro, etc.
5a. Geração: Atualmente existe uma preocupação em padronizar protocolos de comunicação para os CLPs, de modo a proporcionar que o equipamento de um fabricante converse com o equipamento outro fabricante, não só CLPs , como Controladores de Processos, Sistemas Supervisórios, Redes Internas de Comunicação e etc., proporcionando uma integração afim de facilitar a automação, gerenciamento e desenvolvimento de plantas industriais mais flexíveis e normalizadas, fruto da chamada Globalização. Existe uma Fundação Mundial para o estabelecimento de normas e protocolos de comunicação.
- Ocupam menor espaço;
- Requerem menor potência elétrica;
- Podem ser reutilizados;
- São programáveis, permitindo alterar os parâmetros de controle;
- Apresentam maior confiabilidade;
- Manutenção mais fácil e rápida;
- Oferecem maior flexibilidade;
- Apresentam interface de comunicação com outros CLPs e computadores de controle;
- Permitem maior rapidez na elaboração do projeto do sistema.
Um CLP nada mais é que um computador em que as entradas e saídas são construídas de forma a torná-lo adequado ao uso em contato direto com dispositivos de campo para controle de processos industriais. Desta forma todo CLP tem em seu interior blocos, cartões e circuitos típicos de qualquer computador. Outros de seus componentes têm aplicações que não teriam utilidade em computadores convencionais, porém desempenham funções de grande importância para um equipamento usado em controle de processos industriais.
A Fonte de Alimentação tem normalmente as seguintes funções básicas :
- Converter a tensão da rede elétrica (110 ou 220 VCA) para a tensão de alimentação dos circuitos eletrônicos , (+ 5VCC para o microprocessador , memórias e circuitos auxiliares e +/- 12 VCC para a comunicação com o programador ou computador);
- Manter a carga da bateria, nos sistemas que utilizam relógio em tempo real e Memória do tipo R.A.M.;
- Fornecer tensão para alimentação das entradas e saídas (12 ou 24 VCC).
Também chamada de C.P.U. é responsável pela funcionamento lógico de todos os circuitos. Nos CLPs modulares a CPU está em uma placa ( ou módulo ) separada das demais, podendo - se achar combinações de CPU e Fonte de Alimentação. Nos CLPs de menor porte a CPU e os demais circuitos estão todos em único módulo. As características mais comuns são:
- Microprocessadores ou Microcontroladores de 8 ou 16 bits (INTEL 80xx, MOTOROLA 68xx, ZILOG Z80xx, PIC 16xx);
- Endereçamento de memória de até 1 Mega Byte;
- Velocidades de CLOCK variando de 4 a 30 MHZ;
- Manipulação de dados decimais, octais e hexadecimais.
As baterias são usadas nos CLPs para manter o circuito do Relógio em Tempo Real, reter parâmetros ou programas (em memórias do tipo RAM) ,mesmo em caso de corte de energia , guardar configurações de equipamentos etc. Normalmente são utilizadas baterias recarregáveis do tipo Ni-Cd ou Li. Neste casos , incorporam se circuitos carregadores.
O Programa Monitor é o responsável pelo funcionamento geral do CLP. Ele é o responsável pelo gerenciamento de todas as atividades do CLP. Não pode ser alterado pelo usuário e fica armazenado em memórias do tipo PROM , EPROM ou EEPROM . Ele funciona de maneira similar ao Sistema Operacional dos microcomputadores. É o Programa Monitor que permite a transferência de programas entre um microcomputador ou Terminal de Programação e o CLP, gerênciar o estado da bateria do sistema, controlar os diversos opcionais etc.
É onde se armazena o programa da aplicação desenvolvido pelo usuário. Pode ser alterada pelo usuário, já que uma das vantagens do uso de CLPs é a flexibilidade de programação. Inicialmente era constituída de memórias do tipo EPROM , sendo hoje utilizadas memórias do tipo RAM (cujo programa é mantido pelo uso de baterias), EEPROM e FLASH-EPROM , sendo também comum o uso de cartuchos de memória, que permite a troca do programa com a troca do cartucho de memória. A capacidade desta memória varia bastante de acordo com o marca/modelo do CLP, sendo normalmente dimensionadas em Passos de Programa.
É a região de memória destinada a armazenar os dados do programa do usuário. Estes dados são valores de temporizadores, valores de contadores, códigos de erro, senhas de acesso, etc. São normalmente partes da memória RAM do CLP. São valores armazenados que serão consultados e ou alterados durante a execução do programa do usuário. Em alguns CLPs , utiliza-se a bateria para reter os valores desta memória no caso de uma queda de energia.
Sempre que a CPU executa um ciclo de leitura das entradas ou executa uma modificação nas saídas, ela armazena o estados da cada uma das entradas ou saídas em uma região de memória denominada Memória Imagem das Entradas / Saídas. Essa região de memória funciona como uma espécie de tabela onde a CPU irá obter informações das entradas ou saídas para tomar as decisões durante o processamento do programa do usuário.
São circuitos responsáveis para atuar em casos de falha do CLP. Alguns deles são:
- POWER-ON RESET: Quando se energiza um equipamento eletrônico digital, não é possível prever o estado lógico dos circuitos internos. Para que não ocorra um acionamento indevido de uma saída , que pode causar um acidente , existe um circuito encarregado de desligar as saídas no instante em que se energiza o equipamento. Assim que o microprocessador assume o controle do equipamento esse circuito é desabilitado;
- POWER-DOWN: O caso inverso ocorre quando um equipamento é subitamente desenergizado . O conteúdo das memórias pode ser perdido. Existe um circuito responsável por monitorar a tensão de alimentação, e em caso do valor desta cair abaixo de um limite pré - determinado, o circuito é acionado interrompendo o processamento para avisar o microprocessador e armazenar o conteúdo das memórias em tempo hábil;
- WATCH-DOG TIMER: Para garantir no caso de falha do microprocessador , o programa não entre em loop , o que seria um desastre, existe um circuito denominado Cão de Guarda , que deve ser acionado em intervalos de tempo pré - determinados . Caso não seja acionado , ele assume o controle do circuito sinalizando um falha geral.
São circuitos utilizados para adequar eletricamente os sinais de entrada para que possa ser processado pela CPU (ou microprocessador) do CLP . Temos dois tipos básicos de entrada: as digitais e as analógicas.
- ENTRADAS DIGITAIS: São aquelas que possuem apenas dois estados possíveis, ligado ou desligado , e alguns dos exemplos de dispositivos que podem ser ligados a elas são :
- Botoeiras;
- Chaves ( ou micro ) fim de curso;
- Sensores de proximidade indutivos ou capacitivos;
- Chaves comutadoras;
- Termostatos;
- Pressostatos;
- Controle de nível ( bóia );
- Etc.
As entradas digitais podem ser construídas para operarem em corrente contínua (24 VCC) ou em corrente alternada (110 ou 220 VCA). Podem ser também do tipo N (NPN) ou do tipo P (PNP). No caso do tipo N , é necessário fornecer o potencial negativo (terra ou neutro) da fonte de alimentação ao borne de entrada para que a mesma seja ativada. No caso do tipo P é necessário fornecer o potencial positivo (fase) ao borne de entrada. Em qualquer dos tipos é de praxe existir uma isolação galvânica entre o circuito de entrada e a CPU. Esta isolação é feita normalmente através de optoacopladores.
- As entradas de 24 VCC são utilizadas quando a distância entre os dispositivos de entrada e o CLP não excedam 50 m. Caso contrário , o nível de ruído pode provocar disparos acidentais.
- ENTRADAS ANALÓGICAS : As Interfaces de Entrada Analógica , permitem que o CLP possa manipular grandezas analógicas, enviadas normalmente por sensores eletrônicos. As grandezas analógicas elétricas tratadas por estes módulos são normalmente tensão e corrente. No caso de tensão as faixas de utilização são : 0 á 10 VCC, 0 á 5 VCC, 1 á 5 VCC, -5 á +5 VCC, -10 á +10 VCC (no caso as interfaces que permitem entradas positivas e negativas são chamadas de Entradas Diferenciais), e no caso de corrente, as faixas utilizadas são: 0 á 20 mA , 4 á 20 mA.
Os principais dispositivos utilizados com as entradas analógicas são:
- Sensores de pressão manométrica;
- Sensores de pressão mecânica (strain gauges, utilizados em células de carga);
- Taco - geradores para medição rotação de eixos;
- Transmissores de temperatura;
- Transmissores de umidade relativa;
- Etc.
Uma informação importante a respeito das entradas analógicas é a sua resolução. Esta é normalmente medida em Bits. Uma entrada analógica com um maior número de bits permite uma melhor representação da grandeza analógica. Por exemplo : Uma placa de entrada analógica de 0 á 10 VCC com uma resolução de 8 bits permite uma sensibilidade de 39,2 mV , enquanto que a mesma faixa em uma entrada de 12 bits permite uma sensibilidade de 2,4 mV e uma de 16 bits permite uma sensibilidade de 0,2 mV.
- SAÍDAS DIGITAIS: As saídas digitais admitem apenas dois estados : ligado e desligado. Podemos com elas controlar dispositivos do tipo:
- Reles;
- Contatores;
- Reles de estado-sólido;
- Solenóides;
- Válvulas ;
- Inversores de frequência;
- Etc.
As saídas digitais podem ser construídas de três formas básicas : Saída digital à Relê, Saída digital 24 VCC e Saída digital à Triac. Nos três casos, também é de praxe, prover o circuito de um isolamento galvânico, normalmente opto-acoplado.
- SAÍDAS ANALÓGICAS: Os módulos ou interfaces de saída analógica converte valores numéricos, em sinais de saída em tensão ou corrente. No caso de tensão normalmente 0 à 10 VCC ou 0 à 5 VCC, e no caso de corrente de 0 à 20 mA ou 4 à 20 mA. Estes sinais são utilizados para controlar dispositivos atuadores do tipo:
- Válvulas proporcionais;
- Motores C.C.;
- Servo - Motores C.C;
- Inversores de frequência;
- Posicionadores rotativos;
- Etc.
Podemos ressaltar que, com a popularização dos micro-controladores e a redução dos custos de desenvolvimento e produção, houve uma avalanche no mercado de tipos e modelos de C.L.P.s , os quais podemos dividir em:
- Nano e Micro C.L.P.: São C.L.P. de pouca capacidade de E/S (máximo 16 Entradas e 16 Saídas), normalmente só digitais, composto de um só módulo (ou placa) , baixo custo e reduzida capacidade de memória (máximo 512 passos).
- C.L.P. s de Médio Porte: São C.L.P.s com uma capacidade de Entrada e Saída de até 256 pontos, digitais e analógicas, podendo ser formado por um módulo básico, que pode ser expandido. Costumam permitir até 2048 passos de memória, que poder interna ou externa (Módulos em Cassetes de Estado Sólido, Soquetes de Memória, etc), ou podem ser totalmente modulares.
- C.L.P.s de Grande Porte: Os C.L.P.s de grande porte se caracterizam por uma construção modular, constituída por uma Fonte de alimentação, C.P.U. principal, CPUs auxiliares, CPUs Dedicadas, Módulos de E/S digitais e Analógicos, Módulos de E/S especializados, Módulos de Redes Locais ou Remotas, etc, que são agrupados de acordo com a necessidade e complexidade da automação. Permitem a utilização de até 4096 pontos de E/S. São montados em um Bastidor (ou Rack) que permite um Cabeamento Estruturado .
Para facilitar a programação dos CLPs, foram sendo desenvolvidas durante o tempo, diversas Linguagens de Programação. Essas linguagens de programação constituem-se em um conjunto de símbolos, comandos, blocos, figuras, etc, com regras de sintaxe e semântica. Entre elas, surgiu a Linguagem STEP 5.
- LINGUAGEM DE PROGRAMAÇÃO STEP 5
A linguagem STEP 5 tem se mostrado bastante eficiente, principalmente porque permite ao usuário representar o programa de automação, tanto em Diagrama de Contatos (D.I.C. ou LADDER), em Diagrama Lógico (D.I.C.) e como uma Lista de Instruções (L.I.S.). Isso facilita o manejo da linguagem a um amplo círculo de usuários, na confecção e modificação de programas. Uma biblioteca dos denominados Blocos Funcionais Estandardizados , posta à disposição dos usuários, é um passo a mais na confecção racional de programas e redução dos custos de software.
A linguagem STEP 5 é uma entre as muitas outras de alto nível existentes, entendendo - se por alto nível aquela que se aproxima muito da linguagem humana. Ela foi desenvolvida levando - se em conta os conhecimentos da área de automação, tendo a partir daí representações para a mesma linguagem.
- INTERCAMBIALIDADE ENTRE REPRESENTAÇÕES
Cada um dos métodos de representação DIC, LIS e DIL tem suas propriedades e limitações em termos de programação, ou seja, um programa escrito em LIS nem sempre pode ser escrito em DIC ou DIL, isso em face da característica da própria representação; é o caso por exemplo, de querer se representar em DIC uma instrução de entrada de dados ou de um salto condicional de programação, embora alguns compiladores o faça, porém está instrução é facilmente representada em LIS. A seguir temos uma representação simbólica da intercambialidade:
- ESTRUTURA DA LINGUAGEM
O tratamento matemático dado à solução de um certo problema, para um número reduzido de variáveis, é a Álgebra de Boole, formando assim, através de seus teoremas, expressões representativas da solução do problema ou do comando de um sistema. Tais expressões podem ser executadas por um conjunto de circuitos, denominados em eletrônica digital, de portas lógicas. As portas lógicas, como veremos a seguir são a tradução dos postulados de Boole.
- NOÇÕES BÁSICAS DE REPRESENTAÇÃO
Podemos representar, logicamente, um circuito série simples, composto de dois interruptores e uma lâmpada, de diversas maneiras:
Todas as figuras acima, são representações possíveis de um mesmo circuito elétrico. Todas igualmente válidas para representar o circuito mencionado.
- INSTRUÇÕES E BLOCOS BÁSICOS
Os blocos básicos ou fundamentais nas linguagens de programação são: bloco NA (função SIM - NO), bloco NF (função NÃO - NOT), bloco SÉRIE (função E - AND) e o bloco PARALELO (função OU - OR). Veremos em detalhe cada bloco, em várias representações.
- BLOCO N.A. (NORMALMENTE ABERTO), que pode ser representado:
BLOCO N.F. (NORMALMENTE FECHADO), que pode ser representado:
BLOCO SÉRIE (FUNÇÃO E), que pode ser representado:
BLOCO PARALELO ( FUNÇÃO OU), que pode ser representado:
BLOCO SÉRIE NA - NF:
BLOCO PARALELO NA - NF
![]()
- INSTRUÇÕES E BLOCOS ESPECIAIS:
BLOCO OU INSTRUÇÃO - SET (SETAR)
Esta instrução força o estado de uma saída ou memória a ficar ativada
- BLOCO OU INSTRUÇÃO RESET - RST (RESETAR)
Esta instrução força o estado de uma saída ou memória a ficar desativada
![]()
- BLOCO OU INSTRUÇÃO TIMER - T (TEMPORIZADOR)
Esta instrução serve para ativar uma saída ou memória após um certo período de tempo
![]()
BLOCO OU INSTRUÇÃO COUNTER - C ( CONTADOR): Esta instrução serve para ativar uma saída ou memória, após um certo número de eventos
![]()