Prévia do material em texto
Introdução aos CLPs Prof. Carlos A. V. Cardoso Sumário Introdução - CLPs Arquitetura interna Partes Partes Linguagens de Programação Introdução Antes da introdução do CLP, os controles lógicos foram implementados exclusivamente através da lógica cabeada (hard wired), sendo utilizados circuitos baseados em reles eletromagnéticos, lógica pneumática ou eletropneumática, portas lógicas eletrônicas e flip flops (David, 1995). Com este tipo de tecnologias era difícil resolver problemas complexos, além de seCom este tipo de tecnologias era difícil resolver problemas complexos, além de se tornar difícil modificar qualquer controle lógico já implementado. Os primeiros PLCs trabalharam com processadores especializados capazes de realizar operações lógicas. Posteriormente, foram usados microprocessadores de propósito geral tornando estes equipamentos mais baratos e poderosos. No entanto os CLPs se mantém diferentes dos computadores de propósito geral, uma vez que seu hardware é projetado para trabalhar em ambientes industriais. Introdução - História O CLP foi concebido dentro da indústria automobilística americana em 1968, especificamente na General Motors (GM), sendo a principal motivação a grande dificuldade de mudar a lógica de controle dos painéis de comando para cada mudança na linha de montagem. Na maioria dos casos era necessário mudar toda a fiação dos painéis de comando o que se traduzia em grandes gastos de tempo e dinheiro. Destapainéis de comando o que se traduzia em grandes gastos de tempo e dinheiro. Desta forma sobre a liderança Richard Morley, engenheiro da Hydronic Division da GM, foi especificado um sistema com as características que atendiam a necessidade por flexibilidade presentes na industria manufatureira da época (Antonelli, 2010). O sistema especificado pela GM possuía as seguintes características: Facilidade de programação; Facilidade de manutenção com conceito plug-in; Alta confiabilidade; Dimensões menores que as dos panéis de relés, para redução de custo; Preço competitivo; Envio de dados para processamento centralizado; Sinais de entrada de 115Vca; Sinais de saída de 115 Vca; Expansão de módulos; Mínimo de 4000 palavras de memória. Introdução A denominação CLP – Controlador Lógico Programável é a tradução de PLC – Programmable Logic Controler, que foi criado na década de 60 nos Estados Unidos. Definições O PLC é um equipamento composto de componentes eletrônicos e memória programável ou não programável que contém dados e programas com a finalidadeprogramável ou não programável que contém dados e programas com a finalidade de ler e executar instruções, interagindo com um sistema que deve ser controlado por dispositivos de input e output do tipo digital ou analógico. O PLC é um computador que realiza funções de controle em vários níveis de complexidade (Prudente, 2007) Segundo a NEMA (National Electrical Manufacturers Association) é um aparelho eletrônico digital que utiliza uma memória programável para armazenar internamente instruções e para implementar funções específicas, tais como lógica, sequenciamento, temporização, contagem aritmética controlando, por meio de módulos de entrada e saídas, vários tipos de máquinas ou processos. Introdução Características Linguagens de programação de alto nível, caracterizando um sistema amigável com relação ao operador. Simplificação nos quadros e painéis elétricos. Toda fiação de comando fica resumida a um conjunto de entradas e saídas.resumida a um conjunto de entradas e saídas. Confiabilidade operacional. Uma vez que as alterações podem ser realizadas através do programa aplicativo, necessitando de muito pouca ou nenhuma alteração de fiação elétrica; Funções avançadas. Os controladores podem realizar uma grande variedade de tarefas de controle através de funções matemáticas, controle de qualidade e informações para relatórios; Comunicações em rede. Através de interfaces de operação, controladores e computadores em rede permitem coleta de dados e um enorme intercambio de troca de dados em relação aos níveis da pirâmide de automação. CLPs- Vantagens Flexibilidade. Com o CLP é possível mudar as características do processo apenas mudando o programa (software) com um simples PC (personal computer), sem substituir o quadro elétrico. Fácil gestão de falhas. Os modernos programas de PLC conseguem diagnosticar falhas de maneira rápida e simples em qualquer problema de automação falhas de maneira rápida e simples em qualquer problema de automação industrial. Grande número de contatos. O CLP tem um número de contatos teoricamente ilimitado, enquanto nos circuitos eletromecânicos tradicionais (o relé) o número de contatos é geralmente limitado. Baixo custo. Observação do funcionamento. Através de um PC é possível simular o programa do CLP bem como monitorar sua execução durante a operação. Velocidade de operação. Na maioria das vezes, o CLP é mais veloz em executar uma tarefa de automação industrial do que em um quadro de comando eletromecânico. Facilidade de programação. CLPs- Desvantagens “Nova tecnologia. Nem sempre o trabalhador da indústria ou empresa quer converter seu modo de pensar e adequar-se a essa nova tecnologia (fator humano).” Aplicação fixa. Algumas aplicações tem uma única função que não pode ser mudada. Nesse caso não é conveniente utilizar um CLP.mudada. Nesse caso não é conveniente utilizar um CLP. Condições ambientais extremas. Lugares com alta temperatura ou forte distúrbio eletromagnético que torna impossível a utilização de um dispositivo eletrônico. Introdução Anos Tecnologias inovações Características principais 1969 Circuitos digitais convencionais Substituição de controles lógicos implementados com relés 1971 Circuitos digitais com maior grau de integração Substituição de contadores e temporizadores; operações aritméticas; Fonte: Aguirre, 2007 grau de integração microprocessador temporizadores; operações aritméticas; terminais portáteis de programação; impressão dos programas e relatórios 1976 Microprocessador de 16 bits Entradas e saídas analógicas; comunicação entre CLPs; maior capacidade de entradas e saídas. 1981 Rede maior variedade de microprocessadores a custos menores Maior capacidade aritmética CLPs em rede; módulos complexos; entradas e saídas remotas; recursos para implementação de interfaces com o operador; CLPs de diversos portes e capacidades. Introdução Anos Tecnologias inovações Características principais 1989 Maior grau de integração dos componentes semicondutores CLPs de porte muito pequeno (uma placa) sistemas de supervisão várias formas de programação; PCs transformados em CLPs multiplicidade de tipos de módulos de Fonte: Aguirre, 2007 multiplicidade de tipos de módulos de entrada e saídas esforços de padronização 1995 2006 Novas tecnologias aplicadas a controle de redução de custos da tecnologia Técnicas de inteligência artificial interfazes baseadas em lógica nebulosa; menores tempos de varredura; mais recursos aritméticos (ponto flutuante) recursos de diagnósticos e detecção de falhas CLPs de baixo custo Maior densidade de E/S por módulo; conexão com barramentos de campo; Interfaces inteligentes; esforços de padronização. Introdução Os CLP são extensivamente utilizados em muitos tipos de industrias: manufatura, metalurgia, química, papel, alimentos, transportes, etc. Atualmente, os Controladores Lógico Programáveis oferecem a possibilidade de implementar além dos controles lógicos discretos, sistemas de controle continuo, inclusive multimalhas. Arquitetura UCP EPROM - Sistema Operacional - Start do CLP - Sequencia de operações - Drivers Unidade de programação Área Local de Trabalho • Fonte de alimentação; • Unidade Central de Partes que constituem um CLP Fonte Microprocessador Memoria de usuário - RAM - Programa de usuário - Configuração de dados - Imagem de dados E/S Dispositivos decomunicação Módulo local de E/S Módulo Estendido E/S Estações Remotas E/S • Unidade Central de Processamento (UCP); • Memórias dos tipos fixos e volátil; • Dispositivos de entrada e saída; e • Terminal de programação. Arquitetura Fonte de alimentação. Converte corrente alternada em continua para alimentar o controlador. Caso falte energia, há uma bateria que impede a perda do programa de usuário. Ao retornar a energia, o programa se reinicia. Existem dois tipos de fonte: Source: fonte de energia interna ao controlador; Partes que constituem um CLP Source: fonte de energia interna ao controlador; Sink: fonte de energia externa ao controlador. Unidade Central de Processamento (UCP). Responsável pela execução do programa do usuário e pela atualização da memória de dados e da memória- imagem das entradas e saídas. • Memórias EPROM. Contém o programa do start-up do controlador, armazena dados e gerencia seqüência de operações. Esta memória não é acessível ao usuário. Arquitetura Memória do Usuário. Armazena o aplicativo do usuário. A CPU processa esse programa e atualiza a memória de dados internos e a de imagem E/S. Possui dois modos de operação: RUN em operação, com varredura cíclica e PROG, parado, quando se carrega o programa aplicativo no CLP. Partes que constituem um CLP quando se carrega o programa aplicativo no CLP. Memória de Dados. Encontram-se aqui dados referentes ao processamento do programa do usuário, isto é, uma tabela de valores manipuláveis. Memória-Imagem das Entradas e Saídas. Memória que reproduz o estado dos periféricos de entrada e saída. Circuitos das entradas são provenientes de chaves, seletoras, limitadoras Circuitos das saídas são destinados a dar partida em motores, solenóides A correspondência entre o nível 0 e 1 e níveis de tensão varia conforme a necessidade; por exemplo pode ocorrer nível 0 para 0 volts e nível 1 para 115 volts C.A. Memória A memória num CLP oferece: Possibilidade de ler e escrever; Comportamento em caso de falta da alimentação elétrica; Quantidade de informação memoriável (capacidade). Os tipos de memória são:Os tipos de memória são: ROM (read only memory) RAM (random access memory) EAROM (electrically alterable ROM); EPROM (erasable programmable ROM); EEPROM (electrically erasable programmable ROM); NOVRAM (non volatile ramdom access memory); e Memória FLASH. Módulos de Entrada/Saída Tipo N Tipo P Módulos de Saída Tipo Transistor Módulos de Entrada/Saída Saída Digital Transistor tipo P Saída Digital Transistor tipo N Módulos de Saída Tipo Rele Módulos de Saída Tipo Relé Módulos de Entrada/Saída Fonte: Moraes, 2007 Módulos de Saída de Estado Solido Fonte: Moraes, 2007 Módulos Especiais Módulos para Interfaceamento dos Termopares Os níveis de tensão dos termopares são muito baixos (0,2 a 100mV) estes tipo de módulo realiza a operação de filtragem, linearização, amplificação do sinal e conversão do valor digital. Módulos de Contagem VelozMódulos de Contagem Veloz Uma vez que os módulos convencionais de entrada são lentos (máximo algumas dezenas de Hz ), os módulos de contagem veloz são módulos rápidos, capazes de detectar sinais que chegam ate 80kHz. Estes módulos são utilizados em aplicações como contagem de unidades, medida de comprimento ou de posição, medida de velocidade e medida de duração. Em geral trata-se de módulos autônomos em relação ao programa principal. Este tipo de módulos pode ser capaz gerir sinais em código Gray, enviados, por exemplo, de um encoder absoluto. Tipos de Dados Na figura a seguir são representadas as estruturas básicas de memória: Com base nestas estruturas é possível definir um leque de tipos de variáveis dentro dos CLPs Tipos de Dados Tipos de Dados Tipos de Dados Variáveis Binárias A partir dos tipos de dados anteriormente definidos a seguir são apresentadas as variáveis normalmente definidas nos CLPs: a) Entrada Discreta – Tipo de Dado: I As entradas discretas são identificadas por I (dado tipo I), sendo cada ponto endereçado utilizando uma base octal (I0.0, I0.1, I0.2, ..., I0.7; I1.0, I1.1, I1.2, ..., I1.7). Usualmenteutilizando uma base octal (I0.0, I0.1, I0.2, ..., I0.7; I1.0, I1.1, I1.2, ..., I1.7). Usualmente cada bit de informação do octeto esta associado com as instruções booleanas de entrada (contatos NA e NF). b) Saídas Discretas – Tipo de Dado: Q As saídas discretas são nomeadas em geral por Q (dado tipo Q), sendo cada ponto endereçado por (Q0.0, Q0.1, Q0.2, ..., Q0.7; Q1.0, Q1.1, Q1.2, ..., Q1.7). Embora esteja associadas as instruções booleanas de saída (bobina de diversas funções) podem ser utilizadas também em instruções booleanas de entrada (contatos NA ou NF), conforme a necessidade. Variáveis Binárias c) Relés de Controle – Tipo de Dado: M Trata-se de bits internos à CPU, utilizados como variáveis auxiliares, sendo sua característica principal não possuir conexão acaracterística principal não possuir conexão a dispositivos externos de entrada ou saída. Nos CLPs padronizados são identificados por M ( Dado tipo M), e cada relé de controle é endereçado em base decimal (M0.0, M0.1, M0.2,...M0.7, M1.0,...) Por outro lado existem CLPs não padronizados como por exemplo o e-ZAP900, que nomeiam estas variáveis por R, (R1, R2, R3, ....) Elementos de Temporização d) Temporizadores (Timers) e Bits de Status – tipo de Dado T Estes elementos são utilizados normalmente para introduzir temporização de condições e/ou eventos controlados pelo programa de aplicação. Nos CLPs padronizados como o Siemens cada temporizador é identificado por TNos CLPs padronizados como o Siemens cada temporizador é identificado por T (dado tipo T), e endereçado em base decimal ( T0, T1, T2, ...T7, T10,..). Normalmente os CLPs padronizados possuem um bit de status (bit de condição) relacionado a cada temporizador (com o mesmo endereço), o qual é ativado quando o valor do temporizador for igual ou superior ao valor de Preset (valor pré- configurado). A razão do incremento de tempo depende do tipo de temporizador utilizado. Elementos de Temporização Nesta lógica ao ser atuada a entrada I0.0, é iniciada a temporização de T0, o qual tem valor de Preset fixo em 30 milissegundos, uma vez que o temporizador apresentado possui uma base de tempo, ou incrementoapresentado possui uma base de tempo, ou incremento de tempo, igual a 1ms, assim 30x1ms=30ms. Uma vez que o Preset foi atingido, o bit de status T0 é ativado, acionando ou energizando a Saída Q0.0. Este bit de status permanece ativo até que o temporizador seja desativado (I0.0=0, valor atual de T0=0). Este bit pode ser associado a um contato NA ou NF, conforme a necessidade. Elementos de Contagem e) Contadores (Counters) e Bits de Status – tipo de Dado C Estes elementos são utilizados para contagem de condições e/ou eventos controlados pelo programa de aplicação. Nos CLPs padronizados cada contador é identificado por C (dado tipo C), eNos CLPs padronizados cada contador é identificado por C (dado tipo C), e endereçado em base decimal (C0, C1, C2, C3, C10, ...). Também neste tipo de CLPs, da mesma forma que para os temporizadores, existe um bit de status (bit de condição) relacionado a cada contador (com o mesmo endereço), o qual é energizado quando o valor atual do contador for igual ou superior ao valor de Preset (valor pré-configurado). Em CLPs não padronizados como o e-Zap900 o bloco comparador não possui um bit com o mesmo nome, neste caso a saída do bloco ativará um bit, que poderá ser um saída discreta ou uma variável auxiliar discreta. Elementos de Contagem Nesta lógica de controle, a cada transição de 0 para 1 de entrada I0.0, o valor corrente de C0 é incrementado em uma unidade o qual tem valor de Preset fixo em 10. Ao ser atingido o valor dede Preset fixo em 10. Ao ser atingido o valor de Preset é ativado o bit de status de C0, energizando ou acionando a saída Q0.0. O status de C0 permanecerá ativado até a entrada de reset(R) seja ativada pela entrada I0.1. Registros f) Registros Numéricos São registros de memória onde é possível realizar o armazenamento ou manipulação de dados e valores numéricos. ExemplosExemplos No caso do CLP da Siemens os registros tem como prefixo a letra V: VB registros de 8bits. VW são registros com estrutura de 16bits, podem ser endereçados em base decimal (VW1000, VW1001, ..., VW1007, VW1010, ..) VD são registros com estrutura de 32 bits. Registros As variáveis analógicas são de comportamento contínuo ou seja para uma variável que pode assumir infinitos valores os registros poderão representar estes valores de forma digital através de um processo de quantização. Geralmente são utilizadas para representar variáveis físicas, tais como: comprimento, temperatura, pressão,para representar variáveis físicas, tais como: comprimento, temperatura, pressão, vazão, velocidade, nível, pH, etc. Em automação industrial, por exemplo, existem sensores que medem variáveis analógicas representando-as através de tensões ou correntes padronizadas, exemplo de 0 a 10Vdc ou de 4 a 20mA. A representação deste tipo de variáveis muda dependendo do tipo de CLP, por exemplo, podem ser representadas “E” no caso do CLP e-Zap-900 da Hi-tecnologia ou por A, caso do CLP Siemens. Neste último os registros do tipo A são também endereçados em base decimal e podem ser associados as instruções de comparação e a dados do tipo “V”. Tipos de Dados g) Relés Especiais (Special Relays) Trata-se de bits internos à CPU com funções predefinidas pelo fabricante, como indicação de status do acumulador da CPU, monitoramento do sistema, indicação de erros e base de tempo real, por exemplo. São identificados por SM (Dado tipode erros e base de tempo real, por exemplo. São identificados por SM (Dado tipo SM), endereçados em base decimal e só podem ser associados às instruções booleanas de entrada (contatos NA ou NF). Tipos de Dados g) Relés Especiais (Special Relays) Exemplos Endereçamento Ciclo de execução (SCAN) Linguagens de Programação Classes Linguagens Tábela de decisãoTabulares Fonte: Moraes, 2007 Textuais LD (Diagrama de Relés) FBD (Function Block Diagram) SFC (Sequential Flow Chart) Gráficas IL (Instruction List) ST(Structured Text) Linguagens de Programação Tabulares Tabela de decisão. Consiste numa tabela de verdade. Em cada linha há um conjunto de colunas que definem em lógica binária uma condição do sistema colunas que definem em lógica binária uma condição do sistema físico; outras colunas da mesma linha definem as conseqüências lógicas da condição. Linguagens de Programação Textuais Linguagem de Lista de Instruções (Instruction List – IL) Consiste numa sequência de comandos padronizados correspondentes a funções. Assemelha-se a linguagem Assembler na maneira como os funções. Assemelha-se a linguagem Assembler na maneira como os códigos são escritos. Sua aceitação é limitada, e proporciona um caminho de migração de produtos mais velhos para os novos padrões. É uma linguagem de difícil aprendizado. Correções no programa são complexas, pois essa linguagem não permite visualização clara. (O5)=(I1).(I2 negado).(I3)+(I4) LD I1 =tome I1 ANDN I2 =e não I2 AND I3 =e I3 OR I4 =ou I4 ST O5 =saída é O5 Linguagens de Programação Linguagem de Texto Estruturado (Structured Text – ST) É uma linguagem de alto nível em forma de texto que não impõe ordem de execução. Utiliza-se atribuindo novos valores as variáveis no lado esquerdo das instruções, como ocorre nas linguagens Pascal e Basic. Exemplo O5=(I1 AND NOT I2 AND I3) OR I4 Linguagens de Programação Gráficas Linguagem de Diagrama Sequencial (Sequential Flow Chart/Grafcet/SFC) Nesta linguagem representam-se em sequencia, graficamente, as Nesta linguagem representam-se em sequencia, graficamente, as etapas do programa. Isto permite uma visualização objetiva e rápida da operação e do desenvolvimento da automação implementada. O SFC é programado em PASSOS P1, P2, P3 (estados operacionais definidos) e TRANSIÇÕES T1, T2 (condições definidas). Os passos contém as ações booleanas, e as transições contém os eventos necessários para autorizar a mudança de uma passo a outro. Linguagens de Programação Linguagem de Diagrama Sequencial (Sequential Flow Chart/Grafcet/SFC) Fonte: Moraes, 2007 Linguagens de Programação Linguagem de Diagrama de Blocos de Função (Function Block Diagram) É uma linguagem de programação gráfica, também bastante conveniente para programar controladores programáveis. Pelo fato de ser de alto nível, como o SFC, e bastante familiar para os engenheiros, sua utilização é como o SFC, e bastante familiar para os engenheiros, sua utilização é muito difundida. Utiliza blocos da lógica booleana, com comandos padronizados. A figura seguinte apresenta o diagrama de blocos de função para produizir: O5=I1 AND NOT I2 AND I3 OR I4 Fonte: Moraes, 2007 Linguagens de Programação Linguagem de Diagrama de Blocos de Função (Function Block Diagram) Blocos mais avançados permitem os seguintes programas: Operações numéricas; Deslocamento;Deslocamento; Operações com sequência de bits; Seleção de bits; Comparação; Processamento de caracteres; Tempo; Conversão de tipos; Operações de flip-flop, contador, temporizador e comunicações; Regras de controle dinâmico, como atraso, média, diferença, monitoração, PID etc. Linguagens de Programação Linguagem de Diagrama de Contatos (Ladder Diagram) É uma linguagem que mantém os símbolos tradicionais no projeto de quadros de comando. Permite programar desde funções binárias até funções matemáticas complexas. A sua representação originou-se dos diagramas elétricos em ladder (escada), cujo principio provém da lógica de relés e contatos.ladder (escada), cujo principio provém da lógica de relés e contatos. Graficamente, as regras que constituem os elementos básicos – bobinas, contatos e linhas – são: Bobinas sempre ficam totalmente a direita das linhas horizontais; Linhas verticais são denominadas linhas-mãe; Das linhas verticais partem linhas horizontais que podem ligar-se a mais linhas verticais, e assim por diante; A seqüência de causa efeito orientam-se da esquerda para a direita e de cima para baixo; A habilitação das linhas horizontais da qual decorre o acionamento das bobinas, depende da afirmação de contatos a sua esquerda. Linguagens de Programação Linguagem de Diagrama de Contatos (Ladder Diagram) As instruções básicas da maioria de CLPs podem ser agrupadas em sete categorias: Lógica de relé ou instruções de bit; Temporização e contagem;Temporização e contagem; Aritmética; Manipulação de dados; Controle de fluxo; Transferência de dados; Avançada. Linguagens de Programação Estado do bit Instrução NA 0 Falsa 1 Verdadeira Endereço No do bit Lógica de relés ou instruções de bits Instrução NA XIC (eXamine If Closed) Instrução NF XIO (eXamine If Open)Instrução NF XIO (eXamine If Open) Instrução de saída – Bobina energizada OTE (Output Terminal Energize) Linguagens de Programação Lógica de relés ou instruções de bits Instrução OSR (one shot rising) Endereço ( S ) Instrução de saída – bobina energizada com retenção (OTL) (Output Terminal Latch) Instrução desabilitar saída com retenção (OTU) (Output Terminal Unlatch) Bibliográfia ANTONELLI, P. L.; Introdução aos Controladores Lógicos Programáveis (CLPs).Disponível em: www.ejm.com.br/download/Introducao%20CLP.pdf. Acesso em: 18 maio. 2011 AGUIRRE, L. A. ENCICLOPÉDIA DE AUTOMÁTICA CONTROLE & AUTOMAÇÃO, v. 1, editora Blucher, 2007, São Paulo, Brasil DAVID, R. Grafcet: A Powerful Tool for Specification of Logic Controllers. IEEE Transaction onDAVID, R. Grafcet: A Powerful Tool for Specification of Logic Controllers. IEEE Transaction on Control Systems Technology. Piscataway. IEEE, 1995. V. 3, n 3, p253-268. MORAES, C. COUTO DE; CASTRUCCI,P. Engenharia de automação industrial. 2 edição. Rio de Janeiro: LTC, 2007, 347p. NATALE, F. Automação Industrial. 10ª. Edição. Editora Érica Ltda, São Paulo, Brasil. PRUDENTE, F. Automação Industrial. PLC: Teoria e Aplicações Curso Básico. . 1 edição. Rio de Janeiro: LTC, 2007, 262p.