ENG332 - Controle e Servomecanismos II

UFBA - Escola Politécnica - Departamento de Engenharia Elétrica

Primeiro Semestre - 2.000


Aula 15

  • Controladores Lógicos Programáveis
    • Principais características
    • Construção de Hardware
    • Linguagens de Programação

  • Objetivos:

    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.


  • A Origem dos CLP:
  • 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.

    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 :

     

    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:

    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:
     

    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.
     

    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.

     

     

    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.

    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.


    • 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:

    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.

     

    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.

     

    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:

     

     

    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.

     

    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.

    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

     

    • 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