Baixe o app para aproveitar ainda mais
Prévia do material em texto
CLP – CONTROLADORES LÓGICOS PROGRAMÁVEIS FUNDAMENTOS BÁSICOS E APLICAÇÕES Vitória – ES - Julho 2006 APRESENTAÇÃO DO CURSO Assunto: Conceitos Fundamentais de Hardware e Software de CLP’s; Objetivo: Mostrar os princípios de funcionamento do CLP, especificação e interligação com os dispositivos de campo; Interesses / Experiências: PROGRAMAÇÃO 1. Introdução Geral (1,5h) 2. Introdução aos CLP´s (0,5h) 3. Partes do CLP (1,5h) 4. Conexões Externas (0,5h) 5. Programação (1,0h) 6. Linguagens de Programação (4,0h) 7. Especificação (0,5h) 8. Documentação (1,0h) 9. Desenvolvimento de Aplicação Prática (3,0h) 10. Visita à Planta (1,0h) VISÃO GERAL INTERLIGAÇÃO DOCUMENTAÇÃO ANÁLISE ESPECIFICAÇÃO PROGRAMAÇÃO APLICAÇÃO VOCABULÁRIO Chão de Fábrica Sensores Atuadores Intertravamento Relés Processo Linguagem de Programação Memória Tipos de Dados Entradas Saídas Analógico Digital Redes IHM Flexibilidade CPU Módulos Scan Bits Endereçamento 1. INTRODUÇÃO GERAL SISTEMA DE AUTOMAÇÃO SENSORES (ENTRADAS) CONTROLE (CLP) ATUADORES (SAÍDAS) CLP MEMÓRIA PROGRAMA CICLO LEITURA SISTEMA DE CONTROLE SIMPLES COMPLEXOS 1. INTRODUÇÃO GERAL CONTROLE HUMANO X CONTROLE ELETRÔNICO •MONTAGEM; •DOSAGEM; •PESAGEM; •MEDIÇÃO; •ETC; TAREFAS REPETITIVAS TAREFAS PERIGOSAS •ATMOSFERA EXPLOSIVA •TEMPERATURA; •PRESSÃO; •QUÍMICA; •MOV. CARGAS; ERGONOMIA SEGURANÇA PESSOAL 1. INTRODUÇÃO GERAL COMUNICAÇÃO 1. INTRODUÇÃO GERAL GERENCIAMENTO Chão de Fábrica Fonte: CBTA – Centro Brasileiro de Tecnologia e Automação Controle Supervisório SCADA Gestão Industrial Entreprise Resources Planning GERENCIAMENTO DE ATIVOS ERP MES Manufacturing Execution Systems CLP´s SENSORES ATUADORES 1. INTRODUÇÃO GERAL Contabilidade Custos RH Vendas Manufatura Estoques Recursos e status Op. Sch. detalhado Gerenc. Mão de obra Gerenc. Processo Gerenc. Manutenção Gerenc. Qualidade Rastrabili// genealogia Controle documentos Análise Performance Supervisório Supervisório Controlador Controlador Chão de fábricaChão de fábrica Financeiro Fonte: CBTA – Centro Brasileiro de Tecnologia e Automação 1. INTRODUÇÃO GERAL PAINEL DE CONTROLE A RELÉS DIFICULDADES ESPAÇO FÍSICO 1. INTRODUÇÃO GERAL PAINEL DE CONTROLE A RELÉS MANUTENÇÃO AMPLIAÇÃO DIFICULDADES 1. INTRODUÇÃO GERAL ESPAÇO FÍSICO MANUTENÇÃO AMPLIAÇÃO FACILIDADES CONFIABILIDADE FLEXIBILIDADE 1. INTRODUÇÃO GERAL PRIMEIRO CLP 1969 Bedford Associates - MODICON GENERAL MOTORS MUDANÇAS LINHA DE MONTAGEM – mudar a lógica de controle de painéis de comando 084 1. INTRODUÇÃO GERAL MODICON - Inventora do CLP - 1968 (Richard Morley) Criadora do primeiro protocolo industrial - Modbus Fonte: SCHNEIDER 1. INTRODUÇÃO GERAL VANTAGENS NA UTILIZAÇÃO DE CLP's Confiabilidade: software x contatos elétricos Flexibilidade: modificações, atualizações remotas Modularidade: ampliações, manutenção Funções Avançadas: comunicação, IHM´s, aquisição de dados Diagnóstico: localização, histórico de falhas 1. INTRODUÇÃO GERAL APLICAÇÕES ATUAIS Sequenciamento de operações (Máquinas) Controle de malha fechada (Processos) Controle Predial (Ar-Condicionado, Energia, Elevadores, Acesso) Supervisão (Subestações) Bancadas de teste (redes, relés inteligentes, IHM´s) 1. INTRODUÇÃO GERAL TENDÊNCIAS TECNOLÓGICAS Redes de Campo Protocolos Abertos (Integração) ProfiBus PA Profibus DP DeviceNet FieldBus Foundation ControlNet Asi ModBus Economia de Fiação Diagnósticos On-line Parametrização Remota Upgrades Gestão Industrial 1. INTRODUÇÃO GERAL TENDÊNCIAS TECNOLÓGICAS Computadores Industriais – Emulam CLP Queda Custo Melhoria Estabilidade Sistemas Operacionais dedicados Baixa Manutenção (ventiladores e filtros) 1. INTRODUÇÃO GERAL COMPUTADORES INDUSTRIAIS 1. INTRODUÇÃO GERAL TENDÊNCIAS TECNOLÓGICAS Interface Homem Máquina - IHM Integração Amigável com Operador Alfanuméricas x Gráficas Visualização e Mudança de Parâmetros Economia de Fiação e Acessórios Redução das Dimensões Físicas do Painel Aumento da Capacidade de Controle Facilidade de Programação e Manutenção 1. INTRODUÇÃO GERAL IHM´s Gráfica Touch Screen Alfanumérica 1. INTRODUÇÃO GERAL Redes de Campo – DEVICENET FABRICANTES ADEPTOS ABB, Alfa Laval, Ametek, APV, Asco, Baldor, Baluf, Beckhoff, Bosch Rexroth, Brooks, Crouse – Hinds, Cutler_Hammer, Danfoss, Festo, Fuji Electric, GE Fanuc, Harting, Hilscher, Hirschmann, Hitachi, Mettler-Toledo, Mitsubishi, Moeller, National, Omron, Parker, Pepperl+Fuchs, Rockwell, Sense, Sew, Wago, Weidmüller, Westlock, Worcester, Yokogawa. Fonte: CBTA – Centro Brasileiro de Tecnologia e Automação 1. INTRODUÇÃO GERAL Redes de Campo – PROFIBUS DP FABRICANTES ADEPTOS Siemens, ABB, Altus, APV, Asco, Balluff, Beckhoff, Bosch, Brooks, Burkert, Danfoss, Emerson, Eurotherm, Festo, Foxboro, GE Fanuc, Hardy, Hima, Kistley-Morse, Leuze, Mettler-Toledo, Mitsubishi, Moeller, MTL, Murr, Omron, Parker, Pepperl Fuchs, Phoenix Contact, Pilz, Prominent, Schenck, Schneider, SEW, Smar, Stall, Wago. Fonte: CBTA – Centro Brasileiro de Tecnologia e Automação 1. INTRODUÇÃO GERAL Redes de Campo – PROFIBUS PA FABRICANTES ADEPTOS Siemens, ABB, APV, Brooks, Burkert, Danfoss, Emerson, Endress Hauser, Eurotherm, Foxboro, Hirchmann, Hilscher, Kistley-Morse, Krohne, Metso, Mettler-Toledo, Miltronics, Pepperl Fuchs, Samson, Smar, Stall, Vega, Wika, Yaskawa. Fonte: CBTA – Centro Brasileiro de Tecnologia e Automação 1. INTRODUÇÃO GERAL Redes de Campo – FIELDBUS FOUNDATION FABRICANTES ADEPTOS Emerson Process, Smar, ABB, Burkert, Dresser, Elomatic, Endress Hauser, Honeywell, Krohne, National, Oval, Flowserve, Foxboro, Pepperl Fuchs, Samson, Westlock, Yokogawa Fonte: CBTA – Centro Brasileiro de Tecnologia e Automação 1. INTRODUÇÃO GERAL Redes de Campo – CONTROLNET FABRICANTES ADEPTOS Rockwell, ABB, Pepperl Fuchs, Phoenix Contact, Wonderware Fonte: CBTA – Centro Brasileiro de Tecnologia e Automação 1. INTRODUÇÃO GERAL Redes de Campo – AS-i FABRICANTES ADEPTOS Balluff, Burkert, Entrelec, Festo, Emerson, Flowserve, GE Power, Gemu, Mitsubishi, Moeller, Murr, Norgreen, Omron, Pepperl Fuchs, Phoenix Contact, Schneider, Sense, Siemens, Turck, Weidmuller, Westlock, Worcester Fonte: CBTA – Centro Brasileiro de Tecnologia e Automação 1. INTRODUÇÃO GERAL DESENVOLVIMENTO DE PROJETOS Sistemática Análise Especificação Programação Testes Fonte de Figura: Maunal CLP S7200 SIEMENS 2. INTRODUÇÃO AOS CLP´S Definição 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 e operações aritméticas, controlando, por meio de módulos de entradas e saídas, vários tipos de máquinas ou processos. CPU INTERFACE DE ENTRADA INTERFACE DE SAÍDA 2. INTRODUÇÃO AOS CLP´S CPU Processamento do Programa armazenado na Memória INTERFACE DE ENTRADA Sinais Vindos do Processo INTERFACE DE SAÍDA Sinais para os Atuadores 2. INTRODUÇÃO AOS CLP´S 2. INTRODUÇÃO AOS CLP´S VISÃO DETALHADA 2. INTRODUÇÃO AOS CLP´S CICLO DE OPERAÇÃO INICIALIZAÇÃO Carregamentodo Firmware LEITURA DAS ENTRADAS o CLP examina sinais que estão chegando do campo (sensores), quanto ao estado destes sensores. O estado das entradas é armazenado temporariamente em uma região da memória denominada "tabela imagem de entrada"; PROCESSAMENTO Após a leitura das entradas o CLP aplica as regras e cálculos segundo as instruções do programa; ATUALIZAÇÃO DAS SAÍDAS Baseado nos resultados das operações do programa, o CLP atua em seus circuitos de saída que exercem controle sobre dispositivos externos do campo (atuadores). 2. INTRODUÇÃO AOS CLP´S INICIALIZAÇÃO LEITURA DAS ENTRADAS E ATUALIZAÇÃODA MEMÓRIA PROGRAMA ATUALIZAÇÃO DAS SAÍDAS Princípio de funcionamento de um CLP CICLO ou SCAN 2. INTRODUÇÃO AOS CLP´S CONFIGURAÇÃO COMPACTOS X MODULARES Podem ser basicamente de dois tipos: compactos ou modulares. Os compactos permitem pouca ou nenhuma expansão do número de entradas e saídas e têm menor capacidade de memória. Ao contrário, os modulares, são bem mais flexíveis quanto às expansões e capacidade de memória. 2. INTRODUÇÃO AOS CLP´S TIPOS DE SINAIS DE ENTRADA Os sinais de entrada, proveniente dos sensores de campo podem ser digitais (0-VCC ou VCA) ou analógicos (4-20mA, 0-10V). TIPOS DE SINAIS DE SAÍDA Assim como os sinais de entrada, os de saída também podem ser digitais (0-VCC ou VCA) ou analógicos (4-20mA, 0-10V). . TENSÃO DE ALIMENTAÇÃO Os PLC´s pode sem alimentados com tensões alternadas ou tensões contínuas. 2. INTRODUÇÃO AOS CLP´S FUNÇÕES ESPECIAIS Algumas aplicações exigem certificações especiais para atmosferas explosivas ou sistemas de segurança (à prova de falhas) PROTOCOLOS DE COMUNICAÇÃO Para interligação dos CLP´s entre si e/ou com os instrumentos de campo existem diversos protocolos e tecnologias: Ethernet, Profibus, DeviceNet, FieldBus Foundation, etc. 3. PARTES DO CLP CPU A unidade de processamento central (Central Processing Unit) é o cérebro de um controlador PLC. O processador central próprio é geralmente um microprocessador de 8, 16 ou 32 bits. PROCESSAMENTO CÍCLICO POR INTERRUPÇÃO POR COMANDO DE TEMPO POR EVENTO 3. PARTES DO CLP PROCESSAMENTO CÍCLICO Este tipo é a forma mais comum de execução que predomina em todas as CPU´s conhecidas, e de onde vem o conceito de varredura (SCAN), ou seja, as instruções de programa contidas na memória, são lidas uma após a outra seqüencialmente do início ao fim, daí retornando ao início ciclicamente. Um dado importante de uma CPU é o seu tempo de varredura, ou seja, o tempo gasto para a execução de um ciclo. Este tempo está relacionado com o tamanho do programa do usuário (em média 10 ms a cada 1.000 instruções). 3. PARTES DO CLP PROCESSAMENTO CÍCLICO 3. PARTES DO CLP PROCESSAMENTO POR INTERRUPÇÃO Em algumas situações, é necessário interromper o ciclo normal de um programa para priorizar uma rotina em especial. Nestes casos, ao reconhecer um pedido de interrupção, a CPU interrompe o ciclo normal de programa e executa um outro programa chamado de rotina de interrupção. Esta interrupção pode ocorrer a qualquer instante na execução do ciclo de programa. Ao finalizar esta situação o programa voltará a ser executado do ponto onde ocorreu a interrupção. Exemplo: uma perda de sincronismo numa linha de produção. 3. PARTES DO CLP PROCESSAMENTO POR INTERRUPÇÃO 3. PARTES DO CLP PROCESSAMENTO COMANDADO POR TEMPO Às vezes as interrupções têm que ser feitas de forma periódica e com duração definida, como por exemplo, uma lubrificação. Assim o ciclo normal pode ser alterado de duas formas: ou é interrompido para execução de uma interrupção, ou uma parte do programa passa a se tornar ativa durante um tempo definido. Lembrando que isso aumentará o tempo de scan e deve ser considerado na hora de elaborar programas em aplicações críticas. Este tipo de processamento também pode ser visto como um tipo de interrupção, porém ocorre a intervalos regulares de tempo dentro do ciclo normal de programa. 3. PARTES DO CLP PROCESSAMENTO POR EVENTO Este é processado em eventos específicos, tais como no interrupção de energia, falha na bateria e estouro do tempo de supervisão do ciclo da CPU Existe uma função importante da CPU, chamada watchdogtimer, que tem grande utilidade na segurança do sistema. É um temporizador que monitora o tempo de scan do CLP e caso esse tempo seja maior que o tempo do watchdogtimer, o CLP detecta que está havendo algum erro de processamento no scan do programa e pára de funcionar gerando um alarme externo 3. PARTES DO CLP MEMÓRIA É o espaço físico dentro da CPU onde podem ser armazenados e manipulados os arquivos de programas e arquivos de dados TIPOS DE MEMÓRIA RAM (Random Access Memory) Volátil Rápida Baixo Custo 3. PARTES DO CLP TIPOS DE MEMÓRIA ROM (Read Only Memory) Não-Volátil Rápida Alto Custo EEPROM ((Electrically Erasable Programmable Read Only Memory ) Não-Volátil Pode ser programada em condições especiais Alto Custo 3. PARTES DO CLP ENDEREÇAMENTO DE MEMÓRIA Os dados de memória são armazenados em áreas específicas dentro da CPU, chamadas de "endereço" ou "registro". As variáveis e constantes do programa do usuário são referenciadas com um endereço para indicar onde se localizam os dados. AS MEMÓRIAS SE DIVIDE NAS SEGUINTES ÁREAS: Área de Firmware Área do Sistema Área de Status das Entradas e Saídas Área de Dados Área de Programa 3. PARTES DO CLP ÁREA DO FIRMWARE Esta é a área do sistema operacional do CLP. É do tipo ROM, vem programada de fábrica e o usuário não tem acesso; ÁREA DO SISTEMA É utilizada pelo sistema operacional para armazenar resultados de operações temporárias (rascunho). É do tipo RAM e o usuário não tem acesso. ÁREA DE STATUS DAS ENTRADAS E SAÍDAS A memória de entrada e saída guarda o estado dos bits que representam as chaves fechadas ou abertas, tanto da entrada como da saída. Em geral, todas estas áreas são do tipo RAM não volátil, pois é importante que, na falta de energia, o programa e os dados não se percam. 3. PARTES DO CLP ÁREA DE DADOS Armazenam os resultados do processamento das instruções do programa (variáveis) e valores pré- estabelecidos (constantes) de contadores, temporizadores, comparadores, etc. São memórias do tipo RAM. ÁREA DE PROGRAMA É a área propriamente dita onde ficam armazenadas as instruções do programa. Em alguns CLP´s a área de programa é EEPROM, ou seja, não volátil mas reprogramável. 3. PARTES DO CLP Cada fabricante usa uma determinada convenção para referenciar os elementos de programa com as entradas físicas, saídas físicas, bits, words, etc. A norma internacional recomenda as seguintes convenções: Descrição Representação Bits de entrada %I Bits de saída %Q Bits Internos %M Bits do Sistema %S Bits de Temporizadores %TM Bits de Contadores %C 3. PARTES DO CLP Bits de Entrada e Saída (I/Q) São as imagens lógicas dos estados elétricos dos terminais das entradas e saídas do CLP; Bits Internos (M) Destinam-se a armazenar valores (variáveis ou constantes) durante a execução do programa; Bits do Sistema (S) Informam sobre o funcionamento e estado do CLP e a correta execução do programa; 3. PARTES DO CLP Bits de Temporizadores (TM) Estão associados aos temporizadores e ativam-se ao final das temporizações; Bits de Contadores (C) Estão associados aos contadores e ativam-se ao final das contagens; 3. PARTES DO CLP Acesso a Bits: | Identificador da área de memória: M = bitsinternos S = bits do sistema TM = bits de Temporizador C = bits de Contador | Símbolo | número do Bit % M,S,TM,C i Exemplo: %M25 – Bit interno numero 25 %S13 – Bit do sistema numero 13 %C20 – Bit do contador n° 20 %TM3 – Bit do temporizador n°4 3. PARTES DO CLP Acesso às Entradas e Saídas físicas | 0=E/S do módulo base, 1 a 7 E/S dos módulos de expansão | Símbolo | número da E/S do módulo base ou da expansão % I,Q . y . z Exemplo: %I0.5 – Entrada n° 5 do módulo base %I1.5 – Entrada n° 5 do módulo de expansão n°1 %Q0.2 – Saída n° 2 do módulo base %Q3.2 – Saída n° 2 do módulo de expansão n°3 | Identificador da área de memória de status: I=(entrada) Q=(saída) 3. PARTES DO CLP Acesso à words (palavras) % M,K,S . W . i | word (palavra) | Símbolo | Identificador da área de memória:M=words internas K=words constantes S= words do sistema | número da Word (palavra) Exemplo: %MW40 – word interna n° 40 %KW25 – word constante n° 25 %SW28 – word do sistema n° 28 3. PARTES DO CLP ENTRADAS Os módulos de entrada coletam os sinais de entrada em níveis lógicos de tensão usados internamente no CLP. Estes sinais podem ser de origem digital (sinais discretos) em tensões contínuas ou alternadas, ou de origem analógicos (sinais contínuos). SENSORES MÓDULO DE ENTRADA CLP 3. PARTES DO CLP MÓDULOS DE ENTRADA ENTRADA DIGITAL EM TENSÃO CONTÍNUA ENTRADA DIGITAL EM TENSÃO ALTERNADA ENTRADA DE SINAL ANALÓGICO (0-10V, 4 a 20mA) 3. PARTES DO CLP MÓDULOS DE ENTRADA EM TENSÃO CONTÍNUA Os módulos de entrada digitais trabalham com sinais de tensão contínua 12, 24, 125Vcc e são tipicamente fornecidas pelos fabricantes de CLP´s com 4, 8, 16 ou 32 pontos. Diversos tipos de dispositivos podem ser ligados nas entradas digitais, podemos citar: Botoeiras; Fim de Curso; Sensores de Proximidade; Pressostatos; Encoders; FotoCélula; Etc; 3. PARTES DO CLP MÓDULOS DE ENTRADA EM TENSÃO CONTÍNUA Outro aspecto importante a ser considerado nos módulos de entradas é que a parte lógica do circuito é desacoplada do sinal de entrada através de um acoplador ótico, o que assegura a integridade do circuito, caso ocorram problemas (sobre-tensão, curto-circuito) com o sinal de entrada, além de aumentar a imunidade a ruídos do sistema. 3. PARTES DO CLP MÓDULOS DE ENTRADA EM TENSÃO CONTÍNUA 3. PARTES DO CLP MÓDULOS DE ENTRADA EM TENSÃO ALTERNADA As entradas digitais também podem ser em tensão alternada 110 ou 220Vca. Em instalações onde o CLP está distante dos sensores de campo a tensão alternada aumenta a relação sinal/ruído melhorando a imunidade em ambientes com muita interferência eletromagnética. Normalmente se os sensores de campo estão a uma distância superior a 50m do controlador, deve-se em trabalhar com entradas AC. É importante lembrar que trabalhando com níveis AC, devemos tomar mais cuidado com relação à isolação geral da instalação. 3. PARTES DO CLP MÓDULOS DE ENTRADA EM TENSÃO ALTERNADA 3. PARTES DO CLP MÓDULOS DE ENTRADA EM TENSÃO ALTERNADA 3. PARTES DO CLP MÓDULOS DE ENTRADA ANALÓGICO Converte sinais analógicos de entrada (em geral de 0 a 10Vcc ou 4 a 20mA) em valores numéricos que podem ser utilizados pelo CLP. A resolução das entradas analógicas é normalmente de 12 bits (4096), o que garante uma sensibilidade de 2,5 mV para um sinal de entrada 0 a 10 volts. Transdutores (pressão, temperatura, vazão, nível, etc) ; Potenciômetros; Transformadores de Corrente / Tensão; Etc; 3. PARTES DO CLP MÓDULOS DE ENTRADA ANALÓGICO 3. PARTES DO CLP MÓDULOS DE ENTRADA ANALÓGICO 3. PARTES DO CLP SAÍDAS São os terminais de saída do CLP que formam a interface pela qual os atuadores de campo são conectados ao CLP. Os módulos de saída podem gerar sinais de origem digital (sinais discretos) em tensões contínuas ou alternadas, ou de origem analógicos (sinais contínuos). CLP MÓDULO DE SAÍDA ATUADORES 3. PARTES DO CLP MÓDULOS DE SAÍDA SAÍDA DIGITAL EM TENSÃO CONTÍNUA A TRANSISTOR PNP ou NPN promove comutações mais velozes mas só comporta cargas de tensão contínua; SAÍDA DIGITAL EM TENSÃO ALTERNADA A TRIAC só pode acionar cargas de tensão alternada; SAÍDA DIGITAL A CONTATO SECO - RELÉ (CONTÍNUA OU ALTERNADA) pode acionar cargas alimentadas tanto por tensão tanto contínua quanto alternada. Podem ter vida útil curta. SAÍDA DE SINAL ANALÓGICO (0-10V, 4 a 20mA) MÓDULOS DE SAÍDA DIGITAL EM TENSÃO CONTÍNUA A TRANSISTOR PNP ou NPN Os módulos de saída digitais trabalham com sinais de tensão contínua 12, 24Vcc e são tipicamente fornecidos pelos fabricantes de CLP´s com 4, 8, 16 ou 32 pontos. Diversos tipos de dispositivos podem ser ligados nas saídas digitais, podemos citar: Solenóides; Relés; Sinaleiros; Sirenes; 3. PARTES DO CLP 3. PARTES DO CLP Nos módulos de saída a parte lógica do circuito também é desacoplada através de um acoplador ótico, o que assegura a integridade do circuito, caso ocorram problemas (sobre-tensão, curto-circuito) no sinal de saída, além de aumentar a imunidade a ruídos do sistema. MÓDULOS DE SAÍDA DIGITAL EM TENSÃO CONTÍNUA A TRANSISTOR 3. PARTES DO CLP MÓDULOS DE SAÍDA DIGITAL EM TENSÃO ALTERNADA A TRIAC Os módulos de saída em corrente alternada são usados para acionar diretamente bobinas de contatores. Normalmente estas saídas podem acionar cargas cuja alimentação esteja entre 90Vca e 240Vca. Contatores; Solenóides; Relés; Sinaleiros; Sirenes; 3. PARTES DO CLP 3. PARTES DO CLP MÓDULOS DE SAÍDA DIGITAL EM TENSÃO ALTERNADA A TRIAC MÓDULOS DE SAÍDA A CONTATO SECO (RELÉ) Muito utilizado porque são muito versáteis podendo acionar tanto cargas em CC ou AC. Podem alimentar diretamente cargas indutivas de até 2A e cargas resistivas até 8A. 3. PARTES DO CLP MÓDULOS DE SAÍDA A CONTATO SECO (RELÉ) 3. PARTES DO CLP 3. PARTES DO CLP MÓDULOS DE SAÍDA ANALÓGICO Converte os valores numéricos internos ao CLP em sinais analógicos de saída (em geral de 0 a 10Vcc ou 4 a 20mA). A resolução das saídas analógicas é normalmente de 12 bits (4096), o que garante uma sensibilidade de 2,5 mV para um sinal de entrada 0 a 10 volts. Tipos de dispositivos podem ser ligados nas saídas analógicas: Posicionadores de Válvulas ; Referência de Velocidade para Inversores; Etc; Interface Sistema a ser controlado MÓDULOS DE SAÍDA ANALÓGICO 3. PARTES DO CLP 3. PARTES DO CLP MÓDULOS DE SAÍDA ANALÓGICO FONTES DE ALIMENTAÇÃO CLP´s de pequeno porte -> Fontes incorporadas CLP´s de maior porte -> Fontes separadas Fontes Chaveadas 90-240Vac ou 18a 36Vdc Proteções de Curto-Circuito No-Breaks 3. PARTES DO CLP 3. PARTES DO CLP FONTES DE ALIMENTAÇÃO 3. PARTES DO CLP MÓDULOS ESPECIAIS Módulo de entrada para termopares (medição de temperatura); Módulo de entrada para PT100 (medição de temperatura); Módulo de Encoder; Módulo de Comunicação; INTERFACES Para facilitar a visualização do bom funcionamentos dos equipamentos existe uma interface visual com LED´s em cada módulo de um CLP. O módulo de CPU possui alguns LED´s indicadores de estado no seu painel frontal referentes à alimentação, operação, falhas modo RUN/STOP. Os módulos de E/S também possuem LED´s indicadores de estado ativo/inativo. 3. PARTES DO CLP INTERFACES 3. PARTES DO CLP CANAIS DE COMUNICAÇÃO As CPU´s compactas e modulares têm uma porta de comunicação para conexão com o computador PC para cargado programa ou para comunicação com outras CPU´s. Alguns fabricantes já disponibilizam na CPU duas portas para conexão simultânea com a IHM e com outras CPU´s. 3. PARTES DO CLP 4. CONEXÕES EXTERNAS COM SENSORES E ATUADORES CONCEITO SINK E SOURCE A conexão com dispositivos externos ao CLP, independente de ser uma entrada ou saída, é um assunto especial. Os conceitos Sink e Source são importantes para que estas interligações sejam compatíveis e o sistema de automação seja corretamente especificado pois influenciam diretamente nos dispositivos que podem e como podem ser conectados nos terminais de entrada ou saída do CLP. Estes conceitos aparecem somente em sistemas com tensões contínuas. 4. CONEXÕES4. CONEXÕES EXTERNAS COM SENSORES E ATUADORES CONCEITO SINK A ligação sink é chamada também de lógica positiva, ou seja, um estado está ativo quando está ligado a uma fonte +VCC. 4. CONEXÕES4. CONEXÕES EXTERNAS COM SENSORES E ATUADORES CONCEITO SOURCE A ligação source é chamada também de lógica negativa, ou seja, um estado está ativo quando está ligado ao terra (GND). Fonte das Figuras: site http://web4.automationdirect.com 4. CONEXÕES EXTERNAS COM SENSORES E ATUADORES CONEXÕES DE ENTRADA A conexão entre os sensores com saídas transistorizadas PNP e NPN e o CLP devem ser cuidadosamente analisadas sob o ponto de vista dos conceitos sink e source. Dependendo do tipo de sensor, sua saída ativa pode estar em +VCC (saída PNP) ou em GND 0V (saída NPN). Assim as conexões deve ser sempre complementares para que o sistema funcione, ou seja, do tipo sinking-sourcing ou sourcing-sinking, ao invés de sinking-sinking ou sourcing-sourcing. 4. CONEXÕES EXTERNAS COM SENSORES E ATUADORES CONEXÕES DE ENTRADA Fonte das Figuras: site http://web4.automationdirect.com 4. CONEXÕES EXTERNAS COM SENSORES E ATUADORES CONEXÕES DE ENTRADA Fonte das Figuras: site http://web4.automationdirect.com 4. CONEXÕES EXTERNAS COM SENSORES E ATUADORES CONEXÕES DE ENTRADA 4. CONEXÕES EXTERNAS COM SENSORES E ATUADORES CONEXÕES DE ENTRADA sourcing 4. CONEXÕES EXTERNAS COM SENSORES E ATUADORES CONEXÕES DE SAÍDA A TRANSISTOR NPN Sourcing carga Sinking 4. CONEXÕES EXTERNAS COM SENSORES E ATUADORES CONEXÕES DE SAÍDA A TRANSISTOR PNP carga SinkingSourcing 4. CONEXÕES EXTERNAS COM SENSORES E ATUADORES INTERFACEAMENTO E PROTEÇÕES Geralmente os terminais de entrada e saída do CLP são ligados aos dispositivos de campo através de bornes especiais contendo fusíveis ou relés de isolação que fazem a interface entre o CLP e o campo Os bornes fusíveis servem para proteção de curto-circuito Os bornes relés servem para comandar cargas indutivas 4. CONEXÕES EXTERNAS COM SENSORES E ATUADORES BORNES FUSÍVEIS PLC Vcc Borne fusível Carga resistiva 0V 4. CONEXÕES EXTERNAS COM SENSORES E ATUADORES BORNES RELÉS PLC Vca 0V Borne relé Carga indutiva 5. PROGRAMAÇÃO RELÉS ELETROMECÂNICOS A linguagem de programação dos CLP´s atuais evoluiu a partir dos diagramas elétricos de comandos lógicos com relés eletromecânicos. Um relé deste tipo é formado por uma bobina que quando energizada movimenta um eixo mecânico pelo efeito da atração magnética, que move os contatos auxiliares. 5. PROGRAMAÇÃO DIAGRAMA DE CONTATOS Os diagramas de contatos têm duas linhas horizontais simbolizando as tensões elétricas de fase e neutro ou +VCC e 0V. Na vertical são representados os circuitos elétricos com os contatos e as bobinas de forma que a combinação dos contatos conforme a lógica que se queira implementar leva à energização das bobinas CONTATO NORMALMENTE ABERTO - NA CONTATO NORMALMENTE FECHADO - NF +VCC +0V bobina Associação de contatos (formação da lógica) DIAGRAMA DE CONTATOS 5. PROGRAMAÇÃO 5. PROGRAMAÇÃO Lógica “OR” FORMAÇÃO DE LÓGICAS 5. PROGRAMAÇÃO Lógica “AND” FORMAÇÃO DE LÓGICAS 5. PROGRAMAÇÃO Lógica “NOT” FORMAÇÃO DE LÓGICAS 5. PROGRAMAÇÃO FORMAÇÃO DE LÓGICAS Lógica “XOR” 5. PROGRAMAÇÃO Contato de Selo FORMAÇÃO DE LÓGICAS 5. PROGRAMAÇÃO INSTRUÇÕES DE ENTRADA São instruções de leitura dos estados das entradas físicas do CLP. Assim como os diagramas de relés, o diagrama da linguagem Ladder usa os recursos de barramento energizado à esquerda e barramento de referência à direita. A combinação de contatos NA e NF leva à energização da saída. 5. PROGRAMAÇÃO INSTRUÇÕES DE ENTRADA Ladder Blocos %I0.0“+Vcc” “0V” I1 5. PROGRAMAÇÃO INSTRUÇÕES DE SAÍDA São instruções de comando das saídas físicas do CLP. Ladder Blocos %Q0.0“+Vcc” “0V” Q1 5. PROGRAMAÇÃO INSTRUÇÕES DE CONTROLE São instruções sofisticadas de controle proporcional, integral e derivativo para aplicações em sistema de realimentação em malhas fechadas. Atualmente são cada vez mais comuns CLP´s de micro e pequeno porte que disponibilizam estas funções. São utilizadas em sistema de controle de malha fechada 5. PROGRAMAÇÃO INSTRUÇÕES DE TEMPORIZAÇÃO Esta instrução apresenta duas entradas. A primeira é a entrada habilita, que quando acionada habilita o temporizador e quando desaciona zera o valor do tempo. A outra é a entrada START/STOP, quando ligada inicia a contagem, e desligada, bloqueia o temporizador, mas não zera o valor do tempo, fazendo com que quando ligada novamente o temporizador reinicie a contagem do ponto onde parou. 5. PROGRAMAÇÃO INSTRUÇÕES DE TEMPORIZAÇÃO Normalmente os CLP's apresentam a base de tempo de 0,01segundos. O temporizador durante a temporização mantém seu contato de saída desacionado, quando atingir o tempo definido, o contato de saída é acionado. Os temporizadores podem ser do tipo: Temporizador TON (Timer On Delay) Esta instrução deve ser usada para se atrasar o momento de se ligar um contato. Temporizador TOF (Timer Of-Delay) Esta instrução deve ser usada para se atrasar o momento de se desligar um contato. 5. PROGRAMAÇÃO INSTRUÇÕES DE COMPARAÇÃO DE DADOS Existem instruções que comparam dois valores. As instruções de comparação são: Maior que; Igual ou maior que; Menor que; Igual ou menor que; Igual; Não igual; 5. PROGRAMAÇÃO INSTRUÇÕES DE CONTAGEM São instruções onde são armazenados o valor da contagem atual e o valor máximo a ser atingido. Os contadores podem ser incrementador ou decrementador. A contagem é feita por um contato contando o número de pulsos nesse contato e ao atingir o valor de contagem pré-definido o contato de saída é acionado. 5. PROGRAMAÇÃO INSTRUÇÕES DE CONTAGEM O contador apresenta uma outra entrada, que é a entrada de habilita. Se um contato ligado a esta entrada for acionado, a contagem é habilitada, se for desacionado a contagem é zerada. Os contadores podem ser: Contador CTU (Count Up) Esta instrução deve ser usada contagem crescente de acordo com o número de vezes que o degrau passar da condição de falso para verdadeiro no contato de contagem. É importante que a sequência de transições de cada degrau de falso para verdadeiro não seja mais rápida que duas vezes o tempo de varredura do CLP. 5. PROGRAMAÇÃO INSTRUÇÕES DE CONTAGEM Contador CTD (Count Down) Esta instrução deve ser usada contagem decrescente de acordo com o número de vezes que o degrau passar da condição de falso para verdadeiro no contato de contagem. É importante que a sequência de transições de cada degrau de falso para verdadeiro não seja mais rápida que duas vezes o tempo de varredurado CLP. 5. PROGRAMAÇÃO INSTRUÇÕES LÓGICAS E (AND) - instrução booleana que representa a função de simultaneidade entre duas ou mais condições lógicas. OU (OR) - instrução booleana que representa a função de opção entre duas ou mais condições lógicas. NÃO (NOT) - instrução booleana que representa a função do inverso de uma condição lógica. OU EXCLUSIVO (XOR) - instrução booleana que representa a função de opção exclusiva entre duas ou mais condições lógicas. 5. PROGRAMAÇÃO INSTRUÇÕES ARITMÉTICAS Estas instruções realizam operações aritméticas com números inteiros e/ou, dependendo da CPU, operações de ponto flutuante com números reais. 5. PROGRAMAÇÃO SUBROTINAS As subrotinas são recursos de programação que permitem o desvio do fluxo normal do programa para execução de um algoritmo particular e ao final retorna ao ponto de interrupção no programa principal. 6. LINGUAGENS DE PROGRAMAÇÃO CONCEITO Um programa é formado por uma série de instruções que o usuário desenvolve para fazer com que o CLP comande as ações de saída em função das variáveis de entrada A NORMA IEC 61131-3 padroniza diversos aspectos relativos à programação de CLP´s, como os tipos de dados e as linguagens de programação. 6. LINGUAGENS DE PROGRAMAÇÃO INTEIROS Tipo IEC Descrição Bits Faixa SINT Short integer 8 -127 a +127 INT Integer 16 -32768 a 32767 DINT Double integer 32 -231 a 231-1 LINT Long Integer 64 -263 a 263-1 USINT Unsigned short Integer 8 0 a 256 UINT Unsigned integer 16 0 a 65535 UDINT Unsigned double integer 32 0 a 232 –1 ULINT Unsigned long integer 64 0 a 264 –1 PONTO FLUTUANTE Tipo IEC Descrição Bits Faixa REAL Real 32 ± 10±38 LREAL Long Real 64 ± 10±308 DURAÇÃO/TEMPO Tipo IEC Descrição Bits Uso TIME Duração do Tempo Dependente de implementação Armazenar a duração do tempo após evento TIPOS DE DADOS 6. LINGUAGENS DE PROGRAMAÇÃO DATA E HORA Tipo IEC Descrição Bits Uso DATE Data Absoluta Depende de implementação Armazenar datas de calendário TIME_OF_DAY Time of Day Depende de implementação Armazenar relógio de tempo real DATE_AND_TIME Data e time of day Depende de implementação Armazenar datas e time of day STRING Tipo IEC Descrição Bits Uso STRING String de caracteres Depende de Implementação Armazenar texto TIPOS DE DADOS CADEIA DE BITS Tipo IEC Descrição Bits Uso BOOL Bit string de 1 bit 1 Estados lógicos BYTE Bit string de 8 bit 8 Informação biária WORD Bit string de 16 bit 16 Informação biária DWIRD Bit string de 32 bit 32 Informação biária LWORD Bit string de 64 bit 64 Informação biária 6. LINGUAGENS DE PROGRAMAÇÃO – (IL) LISTA DE INSTRUÇÕES LISTA DE INSTRUÇÕES (IL) Textual Baixo Nível Pouco Legível INSTRUÇÃO=OPERADOR(opção modificadores)+OPERANDOS (constantes, variáveis) O operando é o dado a ser manipulado pelo operador. As operações são feitas utilizando o acumulador, sendo que o resultado de cada operação é armazenado no próprio acumulador. 6. LINGUAGENS DE PROGRAMAÇÃO – (IL) LISTA DE INSTRUÇÕES OPERADORES LD (*carrega operando para o acumulador*) ST (*carrega o acumulador para o operando*) ADD (*soma operando ao acumulador*) MODIFICADORES “N” – Negação do operador “C” – Condicional do operador “(“ – Adiamento de operação 6. LINGUAGENS DE PROGRAMAÇÃO – (IL) LISTA DE INSTRUÇÕES RESUMO Operador Modificador Operando Comentários LD N Qualquer Variável Acumulador = Operando ST N Qualquer Variável Operando = Acumulador S Variável Booleana Operando = TRUE R N,( Variável Booleana Opernado = FALSE AND N,( Variável Booleana “E” Booleano OR N,( Variável Booleana “OU” Booleano XOR N,( Variável Booleana “OU EXCLUSIVO” Booleano ADD ( Qualquer Variável Adição SUB ( Qualquer Variável Subtração MUL ( Qualquer Variável Multiplicação DIV ( Qualquer Variável Divisão GT ( Qualquer Variável Comparação Maior que GE ( Qualquer Variável Comparação Maior ou Igual EQ ( Qualquer Variável Comparação Igual NE ( Qualquer Variável Comparação Diferente LE ( Qualquer Variável Comparação Menor ou Igual LT ( Qualquer Variável Comparação Menor que JMP C,N Label Salto para Label CAL C,N Função Chama Função RET C,N Retorno da Função ) Executa o último operador adiado 6. LINGUAGENS DE PROGRAMAÇÃO – (IL) LISTA DE INSTRUÇÕES Operação de Soma LD 10 (*acumulador = 10*) ADD 10 (*acumulador = 20*) Operação Booleana LD %I0.0 (*acumulador = estado da entrada 0*) AND %I0.1 (*acumulador = entrada 0 AND entrada1*) ST %Q0.1 (*saída 0 = acumulador*) 6. LINGUAGENS DE PROGRAMAÇÃO – (IL) LISTA DE INSTRUÇÕES Execução Adiada Algumas instruções permitem o uso do modificador parêntesis “(“ para adiar reultador intermediários sem alterar o acumulador: LD A (*acumulador = A*) ADD B (*acumulador = A+B*) MUL( A (*Adia a multiplicação, acumulador = A*) SUB B (*acumulador = A-B*) ) (*multiplica o resultado por A+B*) Resultado = (A+B)*(A-B) 6. LINGUAGENS DE PROGRAMAÇÃO – (IL) LISTA DE INSTRUÇÕES Var X1, X2, Y1, Y2, temp : REAL; resultado = SQRT((X2-X1)* (X2-X1)+ (Y2-Y1)* (Y2-Y1)) : REAL; End_Var LD Y2 (*acumul=Y2*) SUB Y1 (*acumul=Y2-Y1*) ST temp (*temp=acumul*) MUL temp (*acumul= temp^2*) ADD( X2 (*adia a soma, acumul=X2*) SUB X1 (*acumul=X2-X1*) ST temp (*temp=acumul*) MUL temp (*acumul= temp^2*) ) (*executa a soma adiada dos quadrados*) ST temp (*temp=acumul*) CAL SQRT(temp) (*chama função raiz quadrada*) ST resultado (*resultado=acumul*) GT 10 (*testa se resultado>10*) JMPC DESLOCA (*chama subrotina se verdadeiro*) S alarme (*alarme = TRUE*) RET (*retorna ao programa sem alarme*) DESLOCA: RET (*retorna sem alarme*) Exemplo Prático P2 P1 X2X1 Y2 Y1 6. LINGUAGENS DE PROGRAMAÇÃO – (IL) LISTA DE INSTRUÇÕES Exercício: Programar uma partida e parada de um motor, sendo: -Uma botoeira com contato NA para partida do motor -Uma botoeira com contato NF para parada do motor -Um contato NF de falha do Relé Térmico -Um contator para acionamento do motor 6. LINGUAGENS DE PROGRAMAÇÃO – (IL) LISTA DE INSTRUÇÕES Solução Exercício: 1. Definir as Entradas 2. Definir as Saídas 3. Endereçar as Entradas 4. Endereçar as Saídas 5. Escrever Programa 6. Testar 6. LINGUAGENS DE PROGRAMAÇÃO – (FBD) BLOCOS DIAGRAMA DE BLOCOS (FBD – Function Block Diagram ) Totalmente gráfica Aplicações mistas de lógica combinacional, temporização, contagem e, em menor importância, o sequenciamento de operações. Baseada em função de fluxo de sinais entre a interligação dos elementos da linguagem, que são os blocos funcionais. 6. LINGUAGENS DE PROGRAMAÇÃO – (FBD) BLOCOS Representação Gráfica O Bloco Funcional é representado graficamente por um retângulo com “pinos” de entrada do lado esquerdo e “pinos” de saída do lado direito. A função do bloco é indicada na parte superior interna ao retângulo. Os parâmetros são descritos ao lado de cada “pino” no interior do bloco. FUNÇÃO PARÂMETROS DE SAÍDA PARÂMETROS DE ENTRADA 6. LINGUAGENS DE PROGRAMAÇÃO – (FBD) BLOCOS 0 0 0 0 0 0 0 1 1 1 1 1 A B S MAPA DE SINAIS “E” Lógico ANDA B S 0 0 0 0 0 1 1 1 1 1 1 1 A B S MAPA DE SINAIS “OU” Lógico ORA B S 6. LINGUAGENS DE PROGRAMAÇÃO – (FBD) BLOCOS 0 1 0 1 A S “OU” Lógico NOT A S MAPA DE SINAIS “OU EXCLUSIVO” Lógico XORA B S 0 0 0 0 0 1 1 1 1 1 1 0 A B S MAPA DE SINAIS 6. LINGUAGENS DE PROGRAMAÇÃO – (FBD) BLOCOS Exemplo: S = ((A+B)*C)*D ORAB ANDC ANDD S 6. LINGUAGENS DE PROGRAMAÇÃO – (FBD) BLOCOS blocos de temporização – RETARDO NA ENERGIZAÇÃO TON BOOL TIME BOOL RETARDO NA ENERGIZAÇÃO IN PT Q TIMEET IN Q PT IN Q ET 6. LINGUAGENS DE PROGRAMAÇÃO – (FBD) BLOCOS blocos de temporização – RETARDO NA DESENERGIZAÇÃO TOF BOOL TIME BOOL RETARDO NA DESENERGIZAÇÃO IN PT Q TIMEET IN Q PT ET PT 6. LINGUAGENS DE PROGRAMAÇÃO – (FBD) BLOCOS blocos de contagem – CONTADOR CRESCENTE CTU BOOL BOOL BOOL CONTADOR UP CU R Q INTCVINT PV CU: ENTRADA PULSOS R : RESET PV: VALOR REFERÊNCIA Q : SAÍDA CV : VALOR DA CONTAGEM 6. LINGUAGENS DE PROGRAMAÇÃO – (FBD) BLOCOS blocos de contagem – CONTADOR DECRESCENTE CTD BOOL BOOL BOOL CONTADOR DOWN CD LD Q INTCVINT PV CD: ENTRADA PULSOS LD : LOAD (CV:=PV) PV: VALOR REFERÊNCIA Q : SAÍDA CV : VALOR DA CONTAGEM 6. LINGUAGENS DE PROGRAMAÇÃO – (FBD) BLOCOS blocos especiais – RELÓGIO DE TEMPO REAL RTC BOOL DATE_AND_TIME BOOL RELÓGIO DE TEMPO REAL RUN PDT Q CDT DATE_AND_TIME RUN : ATIVAR=1 PDT : HORA ATUAL Q : SAÍDA CDT : HORA DE REFERÊNCIA 6. LINGUAGENS DE PROGRAMAÇÃO – (FBD) BLOCOS Composição de Blocos PÁTIO CORREIA 1 CORREIA 2 CORREIA 3 SILO NÍVEL-MIN NÍVEL-MÁX SIST_ALIM_SILOS Motor 1 STD_BY Motor 2 STD_BY Motor 3 STD_BY Motor_1 START EMERG_STOP Motor_2 START Motor_2 START PROCESS_START SILO_CHEIO SILO_VAZIO Motor_1 STOP Motor_2 STOP Motor_2 STOP PROCESS_STOP 6. LINGUAGENS DE PROGRAMAÇÃO – (FBD) BLOCOS Exercício: Programar uma partida e parada de um motor, sendo: -Uma botoeira com contato NA para partida do motor -Uma botoeira com contato NF para parada do motor -Um contato NF de falha do Relé Térmico -Um contator para acionamento do motor 6. LINGUAGENS DE PROGRAMAÇÃO – (LD) LADDER DIAGRAMA LADDER (LD – LADDER Diagram ) Totalmente gráfica ; Evoluíram dos diagramas de contatos elétricos; Baseada em função de fluxo de sinais entre a interligação dos elementos da linguagem; Mais Difundida 6. LINGUAGENS DE PROGRAMAÇÃO – (LD) LADDER Analogia com diagrama de contatos Fonte da Figura: Schneider-Electric, Twido Software Manual 6. LINGUAGENS DE PROGRAMAÇÃO – (LD) LADDER Analogia com diagrama de contatos Utiliza símbolos equivalentes aos elétricos representando as mesmas funções. A figura abaixo mostra a equivalência dos principais símbolos. SÍMBOLO LADDER CONTATO NORMALMENTE FECHADO - NF SÍMBOLO ELÉTRICO CONTATO NORMALMENTE ABERTO - NA DISPOSITIVO DE SAÍDA BOBINA 6. LINGUAGENS DE PROGRAMAÇÃO – (LD) LADDER Representação Gráfica 6. LINGUAGENS DE PROGRAMAÇÃO – (LD) LADDER 6. LINGUAGENS DE PROGRAMAÇÃO – (LD) LADDER Representação Gráfica contatos bobinas varredura “barramento energizado” “barramento de terra” blocos funcionais 6. LINGUAGENS DE PROGRAMAÇÃO – (LD) LADDER lógica AND Fonte da Figuras: Schneider-Electric, Twido Software Manual 6. LINGUAGENS DE PROGRAMAÇÃO – (LD) LADDER lógica OR 6. LINGUAGENS DE PROGRAMAÇÃO – (LD) LADDER lógica XOR 6. LINGUAGENS DE PROGRAMAÇÃO – (LD) LADDER bloco de função de temporizador 6. LINGUAGENS DE PROGRAMAÇÃO – (LD) LADDER bloco de função de contador Up/Down 6. LINGUAGENS DE PROGRAMAÇÃO – (LD) LADDER bloco de função de comparação 6. LINGUAGENS DE PROGRAMAÇÃO – (LD) LADDER bloco de função aritmética 6. LINGUAGENS DE PROGRAMAÇÃO – (LD) LADDER BD = Botoeira desliga (contato NF) – Entrada (input) BL = Botoeira liga (contato NA) – Elemento de entrada (input) K1 = Bobina do contator - Saída (output) K1.x = Contato de Selo – Auxiliar (variável interna) 6. LINGUAGENS DE PROGRAMAÇÃO – (LD) LADDER Exercício: Programar uma partida e parada de um motor, sendo: -Uma botoeira com contato NA para partida do motor -Uma botoeira com contato NF para parada do motor -Um contato NF de falha do Relé Térmico -Um contator para acionamento do motor 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET GRAFCET Gráfico Funcional de Comando Etapa-Transição Linguagem Gráfica Fácil Compreensão Indicada para Processos Seqüenciais 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET Elementos Gráficos ETAPAS TRANSIÇÕES LIGAÇÕES ORIENTADAS AÇÕES 0 1 Ações na etapa 0 Ações na etapa 1 Ações na etapa 2 1° Transição 2° Transição ETAPA 0 2 3° Transição ETAPA 1 ETAPA 2 Retorno à ETAPA 0 Ligação orientada ETAPA inicial 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET Etapas Correspondem aos estados do sistema. Podem estar ativas ou inativas. A elas estão associadas as ações a serem realizadas naquele estado. As etapas são representadas por um quadrado numerado no seu interior, indicando o numero da etapa. As etapas ativas são representadas com um ponto em baixo no número no interior do quadrado. 1 ETAPA 1 - Ativa 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET Etapa inicial A etapa inicial é sempre representada por um quadrado duplo; São ativadas incondicionalmente sempre que o programa é colocado para funcionar; Geralmente não possuem ações associadas; Podem situar-se em qualquer ponto do Grafcet; 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET Etapa inicial Uma vez iniciadas têm o mesmo tratamento que as outras etapas; Sempre deve existir uma etapa inicial; 0 ETAPA inicial 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET Transições As transições são as condicionantes para as passagens entre uma etapa ativa anterior para um etapa inativa na seqüência. A condição de uma transição é chamada de receptividade. Representa-se a transição com um pequeno traço horizontal sobre a linha que liga as etapas: 1 2 Transição 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET Transições As receptividades correspondem à condições que têm que ser satisfeitas para a transição se torne verdadeira ou válida. Em geral são associadas à condições lógicas booleanas, temporizadores, etc. 1 2 (Nível_baixo*Motor_parado) 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET Ligações Orientadas As ligações orientadas representam os caminhos de evolução entre as etapas. São desenhadas na vertical e na horizontal. A evolução natural é de cima pra baixo sendo obrigatório representar com uma seta quando o sentido for diferente. Deve-se evitar o cruzamento de ligações para que o diagrama final seja o mais compreensível possível. 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET Ligações Orientadas Q0.3 Q0.1 Q0.2 Q0.2 C0.V=20 C0.V=10 I0.0+(C0.V=30) /I0.0 I0.1 Q0.3 I0.0 R C0M0 M1 M2 M3 I0.0 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET Ações As ações estão ligadas às etapas. São representadas por um retângulo com duas divisões internas ligado à Etapa. A primeira divisão contém o qualificador da ação e a segunda divisão contém a descrição textual da ação. x: é o qualificador da ação – define como a ação será executada y: é a descrição textual da ação a ser executada yx1 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET Qualificadores 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET N - Ação Não Memorizada Ações que são executadas somente enquanto a Etapa estiver ativa. E6 M1 a E7 M2 M1NE6 M2NE7 a 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET S - Ação Memorizadas Tipo de ação que se mantém ativa mesmo depois da duração em que a Etapa permanece ativa. Para desativar uma ação memorizada deve-se usa o qualificador “R” (reset). E6a E8 M1 E7 b M1SE6 E7 a M1RE8 b 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET L - Ação Limitada no Tempo A ação é executada durante um tempo preestabelecido pelo programa a partir da ativação da Etapa. Se a Etapa for desativada antes da finalização do tempo programado a ação interrompe sua execução. E6 a E7 M1 T M1 (T=3s)LE6 E7 a 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET D - Ação com Atraso no Tempo A ação é executada aos um atraso de tempo preestabelecido pelo programa, a partir do instante da ativação da Etapa. Se a Etapa for desativada antes da finalização do tempo programado a ação interrompe sua execução. E6 a E7 M1 TM1 (T=3s)DE6 E7 a 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET C - Ação Condicionada Este tipo de ação é associado a uma condição lógica. A ação só será executada enquanto a Etapa estiver ativa e a condição lógica verdadeira. E6 k E7 M1 a M1 (se k=1)CE6 E7 a 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET P - Ação Impulso A ação é executada após a Etapa ser ativada com uma duração muito pequena mas com tempo suficiente para ser reconhecida pelo programa. E6 a E7 M1 M1PE6 E7 a 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET SD – Ação Memorizada e Atrasada no Tempo Quando a Etapa se torna ativa a ação é memorizada mas só começa a ser executada após o tempo preestabelecido pelo programa. Independe da duração da atividade da Etapa. Para desativar a ação deve-se usar o qualificador R (reset) para esta ação. 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET SD – Ação Memorizada e Atrasada no Tempo E6 a En M1 T E6 a En M1 T M1 (T=3s)SDE6 M1REn a 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET DS – Ação Atrasada no Tempo e Memorizada Quando a Etapa se torna ativa a ação é memorizada mas só começa a ser executada após o tempo preestabelecido pelo programa. Depende da duração da atividade da Etapa. Para desativar a ação deve-se usar o qualificador R (reset) para esta ação. 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET DS – Ação Atrasada no Tempo e Memorizada E6 a En M1 T E6 a En M1 T M1 (T=3s)DSE6 M1REn a 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET SL – Ação Memorizada e Limitada no Tempo Quando a Etapa se torna ativa a ação é memorizada é começa a ser executada durante o tempo preestabelecido pelo programa, Independe da duração da atividade da Etapa. 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET E6 a En M1 T E6 a En T M1 M1 (T=3s)SLE6 M1REn a SL – Ação Memorizada e Limitada no Tempo Regras de Evolução do Grafcet Regra 1: inicialização Na inicialização do sistema ativa-se a etapa incial Regra 2: transposição de uma etapa Uma etapa só é transposta quando a mesma está ativa e a transição imediatamente seguinte tem sua receptividade verdadeira. Regra 3: transposição de uma transição A transposição de uma transição provoca a ativação da(s) etapa(s) imediatamente seguintes e a desativação da(s) etapa(s) imediatamente precedentes. 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET Regras de Evolução do Grafcet Não há Transposição Ocorre TransposiçãoNão há Transposição 1 2 a=0 ou a=1 1 2 a=1 1 2 a=0 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET Tipos de Ligações entra Etapas Seqüência Única: 2 3 b=0 1 a=1 Antes 2 3 b=1 1 a=0 Depois 2 3 b=0 1 a=0 Depois 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET Seqüências Alternativas: Divergência OU: a 1 Depois 2 b 3 a=0 1 Antes 2 b=1 3 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET Seqüências Alternativas: Convergência OU a=0 9 Antes 7 b=1 3 a 9 Depois 7 b 3 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET Seqüência Simultâneas: Divergência E a=1 3 Antes 4 6 a 3 Depois 4 6 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET Seqüência Simultâneas: Convergencia E a=1 9 Antes 7 3 a 9 Depois 7 3 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET Salto de Etapas: 2 3 b 1 a 4 d c /a 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET Repetição de Etapas: 2 3 b 1 a 4 d c /c 6. LINGUAGENS DE PROGRAMAÇÃO – GRAFCET Exercício: Programar uma partida e parada de um motor, sendo: -Uma botoeira com contato NA para partida do motor -Uma botoeira com contato NF para parada do motor -Um contato NF de falha do Relé Térmico -Um contator para acionamento do motor 6. LINGUAGENS DE PROGRAMAÇÃO – TEXTO ESTRUTURADO TEXTO ESTRUTURADO: É a linguagem de mais alto nível que tem sua sintaxe mais semelhante às linguagens de microprogramação como Pascal, C++, etc, preferida pelos desenvolvedores de softwares em geral. Por ser estruturada é de fácil legibilidade é a mais indicada para aplicações que envolvem cálculos aritméticos complexos. 6. LINGUAGENS DE PROGRAMAÇÃO – TEXTO ESTRUTURADO TEXTO ESTRUTURADO: Comandos: IF / THEN / ELSE / ELSIF / END_IF CASE / ELSE / END_CASE FOR ... DO WHILE ... DO REPEAT ... UNTIL Atribuições: Usado para alterar o valor armazenado em uma variável A:=B Operadores: São usados para operações aritméticas e booleanas. 6. LINGUAGENS DE PROGRAMAÇÃO – TEXTO ESTRUTURADO Operadores: São usados para operações aritméticas e booleanas. 6. LINGUAGENS DE PROGRAMAÇÃO – TEXTO ESTRUTURADO Expressões São usados para operações aritméticas e booleanas. São usadas para gerar valores de outras variáveis e constantes Preço:= produto1*custo1 + produto2*custo2 6. LINGUAGENS DE PROGRAMAÇÃO – TEXTO ESTRUTURADO Comandos Condicionais: IF - THEN - ELSE São utilizados para executar comandos quando a condição da expressão booleana é verdadeira: IF <expressão_booleana> THEN <comandos> END_IF; IF <expressão_booleana> THEN <comandos> ELSE <comandos> END_IF; 6. LINGUAGENS DE PROGRAMAÇÃO – TEXTO ESTRUTURADO Comandos Condicionais: IF - THEN - ELSE IF <expressão_booleana> THEN <comandos> ELSEIF <expressão_booleana> <comandos> ELSE <comandos> END_IF; 6. LINGUAGENS DE PROGRAMAÇÃO – TEXTO ESTRUTURADO Comandos Condicionais: IF - THEN - ELSE Exemplos: IF sobrecarga THEN desliga:= TRUE; alarme:= TRUE; END_IF 6. LINGUAGENS DE PROGRAMAÇÃO – TEXTO ESTRUTURADO Comandos Condicionais: IF - THEN - ELSE Exemplos: IF nível_mínimo<10 THEN Liga_bomba:=TRUE; Sinaleiro_ligado:=TRUE; Sinaleiro_deslig:= FALSE; ELSE Liga_bomba:= FALSE; Sinaleiro_ligado:= FALSE; Sinaleiro_deslig:= TRUE; END_IF 6. LINGUAGENS DE PROGRAMAÇÃO – TEXTO ESTRUTURADO Comandos Condicionais: IF - THEN - ELSE Exemplos: IF nivel < nivel_min THEN alarme_nivel_min:=TRUE; ELSIF sobrecarga=FALSE THEN liga_motor:=TRUE; ELSE alame_sobrecarga:=TRUE; liga_motor:=FALSE; END_IF 6. LINGUAGENS DE PROGRAMAÇÃO – TEXTO ESTRUTURADO Comandos Condicionais: CASE São utilizados para executar comandos em função do valor inteiro da expressão: CASE <expressão_inteiro> OF < valor 1> : <comandos> < valor 2> : <comandos> < valor 3> : <comandos> ELSE <comandos> END_CASE; 6. LINGUAGENS DE PROGRAMAÇÃO – TEXTO ESTRUTURADO Comandos Condicionais: CASE Exemplo: posicionamento de elevador hidráulico CASE elevação OF 1: altura :=5; 2: altura :=10; 3: altura :=15; 4: altura :=20; 5: altura :=25; ELSE Altura :=0; END_CASE 6. LINGUAGENS DE PROGRAMAÇÃO– TEXTO ESTRUTURADO Comandos de Repetição: FOR...DO São usados para comandos repetitivos em função de uma condição. Quando se programa laços de repetição deve-se atentar para garantir que em algum momento a condição de saída seja satisfeita senão o programa irá entrar num loop infinito. FOR <inicia a variável> TO <valor final da variável> BY <valor incremental> (opcional. Se omitido o valor incremental será = 1) DO <comandos> 6. LINGUAGENS DE PROGRAMAÇÃO – TEXTO ESTRUTURADO Comandos de Repetição: FOR...DO Exemplo: reset de variáveis indexadas FOR x:=0 to 120 DO Motor1[x]:=0 END_FOR 6. LINGUAGENS DE PROGRAMAÇÃO – TEXTO ESTRUTURADO Comandos de Repetição: WHILE ... DO Estes laços se utilizam quando queremos repetir um número indefinido de vezes a execução de uns comandos, sempre que se cumpra uma condição. A condição da expressão booleana é testada antes da entrada no laço, de modo que se a condição é falsa os comandos não são executados. WHILE <expressão booleana> DO <comandos> END_WHILE 6. LINGUAGENS DE PROGRAMAÇÃO – TEXTO ESTRUTURADO Comandos de Repetição: WHILE ... DO Exemplo: controle do giro de uma máquina WHILE ângulo<130 DO Giro(); angulo:=angulo+pulso; END_WHILE 6. LINGUAGENS DE PROGRAMAÇÃO – TEXTO ESTRUTURADO Comandos de Repetição: REPEAT...UNTIL São laços também utilizados para repetição de comandos enquanto uma condição for verdadeira. A diferença aqui é que os comandos são executados pelo menos uma vez porque a condição é testada ao final da execução dos comandos. O laço é encerrado quando a condição se torna falsa. REPEAT <comandos> UNTIL <expressão booleana> 6. LINGUAGENS DE PROGRAMAÇÃO – TEXTO ESTRUTURADO Comandos de Repetição: REPEAT...UNTIL Exemplo: controle do giro de uma máquina REPEAT Giro(); angulo:=angulo+pulso; UNTIL ângulo<130 6. LINGUAGENS DE PROGRAMAÇÃO – TEXTO ESTRUTURADO Exercício: Programar uma partida e parada de um motor, sendo: -Uma botoeira com contato NA para partida do motor -Uma botoeira com contato NF para parada do motor -Um contato NF de falha do Relé Térmico -Um contator para acionamento do motor 7. ESPECIFICAÇÃO Como escolher um CLP Tamanho da Aplicação Capacidadede Processamento Capacidade de Memória Modularidade Comunicação 7. ESPECIFICAÇÃO Como escolher um CLP Critérios Coorporativos Padrões Existentes Técnicos Capacitados Base Instalada Estoque Casos Anteriores de Sucesso 7. ESPECIFICAÇÃO Como escolher um CLP Fornecimento Turn-Key Cultura do País de Origem Acordo com o Cliente Novas Tecnologias Casos Anteriores de Sucesso 7. ESPECIFICAÇÃO Como escolher um CLP Tamanho da Aplicação Critérios Coorporativos Fornecimento Turn-Key ANÁLISES TÉCNICA CUSTO 7. ESPECIFICAÇÃO Análise do sistema de Automação Requisitos de Entradas e Saídas Funções Avançadas Requisitos Elétricos Velocidade de Operação (processamento) IHM Comunicação Ambiente de Instalação ESPECIFICAÇÃO TÉCNICA Programação 7. ESPECIFICAÇÃO Etapa 1: Editar o programa no computador O usuário deverá ter conhecimento de todas as regras de operação da máquina ou processo. Desenvolvimento do Programa Etapa 2: Enviar do programa para a memória do CLP Após a edição, o programa deverá ser transmitido para a memória do CLP através da sua porta serial. Etapa 3: Teste do programa Para correção de possíveis erros de programação, antes de operar o sistema no campo o teste pode ser feito em bancada com os equipamentos principais conectados ou com os softwares de simulação. Alguns fabricantes fornecem o software de programação já com o simulador. 8. DOCUMENTAÇÃO Registro de Informações de Levantamentos de Campo Descrever Documentar Auxiliar na escolha Auxiliar na Programação 8. DOCUMENTAÇÃO Situação Real Válvula Reservatório Sensor de nível máximo Sensor de nível mínimo 8. DOCUMENTAÇÃO Funcionamento Em Operação normal: Se o sensor de nível mínimo for acionado → liga (abre) válvula; Se sensor de nível máximo acionado → desliga (fecha) válvula; Em Manutenção (deve-se pressionar um botão): Desligar a válvula (fechar); Quando o sensor de nível mínimo for acionado → aguardar 5 minutos e retornar a operação normal. Em Falha: Verificar contato de abertura da válvula → se a válvula for ligada e não ocorrer a sua abertura, ligar lâmpada indicando falha. 8. DOCUMENTAÇÃO Descrição funcional Em operação normal Quando a caixa d´água estiver vazia o sensor de nível mínimo deverá ser ativado. O CLP deverá acionar a abertura da válvula para que a caixa comece a encher novamente. Quando o nível de água atingir o sensor de nível mínimo o mesmo deverá se desativar mas a válvula deverá continuar aberta até que o nível de água suba o suficiente para atingir o sensor de nível alto, que deverá ser ativado. Neste momento o CLP deverá desacionar a abertura da válvula para que a caixa d´água pare de encher e evite o transbordo. 8. DOCUMENTAÇÃO Em manutenção Descrição Funcional Caso a chave de manutenção seja acionada em qualquer momento, o CLP deverá desacionar a válvula para que a caixa d´água pare de encher e comece a esvaziar. Quando o nível de água estiver abaixo do sensor de nível mínimo, o mesmo deverá se tornar ativo. Neste caso, com a chave de manutenção acionada, mesmo que o sensor de nível mínimo esteja ativo, o CLP não poderá acionar a abertura da válvula e deverá iniciar contagem de 5 minutos até que o sistema volte a operar normalmente. 8. DOCUMENTAÇÃO Descrição Funcional Em falha Uma falha na válvula ocorrerá quando o CLP enviar um comando de acionamento para abrir e a mesma não abrir. Para detectar essa falha a válvula deverá ter um contato auxiliar que indique sua abertura. Assim se o CLP enviar um comando de abertura e não houver confirmação pelo contato auxiliar deverá ser indicada uma falha através de uma lâmpada. Uma falha poderá ocorrer também quando o CLP enviar comando de fechar a válvula de não houver confirmação pelo contato auxiliar. Um botão de Reset poderá limpar os alarme e colocar o sistema em operação normal novamente. PLANILHAS - Planilha de Variáveis Estão contidas todas as variáveis do processo que se quer automatizar Variáveis de Entrada são os sinais dos sensores lidos pelo CLP que podem ser analógicos ou digitais; Variáveis de Saída são os sinais comandados pelo CLP para acionar algum atuador do processo, que podem ser analógicos ou digitais; Variáveis de Memória são internas ao programa; 8. DOCUMENTAÇÃO 8. DOCUMENTAÇÃO PLANILHAS - Planilha de Variáveis Primeira Coluna é preenchida com o nome da variável, preferencialmente algum mnemônico ou nome que facilite lembrar a que sinal se refere. Segunda Coluna é preenchida com o tipo de variável; Terceira Coluna é preenchida com um comentário, servindo para descrever uma variável e/ou sua utilização. 8. DOCUMENTAÇÃO PLANILHAS - Planilha de Variáveis 8. DOCUMENTAÇÃO PLANILHAS - Planilha de Controle descreve as operações lógicas a serem feitas entre as diferentes variáveis do processo, resultando em ações sobre o mesmo. Primeira Coluna contém a operação lógica das variáveis da primeira planilha. Segunda Coluna contém coluna ação resultante da operação lógica da primeira coluna ; Terceira Coluna descreve textualmente o resultado da ação da segunda coluna. 8. DOCUMENTAÇÃO PLANILHAS - Planilha de Controle 8. DOCUMENTAÇÃO Mapa de Sinais Os mapas mostrama representação gráfica da evolução por evento do estado das variáveis. É mais aplicada em lógica combinacional. As linhas de evento, comuns a todas as variáveis, são desenhadas na vertical e os estados das variáveis são desenhados da horizontal. 8. DOCUMENTAÇÃO Mapa de Sinais Em Operação Normal Nmin Nmáx Manut Valv Caux Alarm T2 8. DOCUMENTAÇÃO Mapa de Sinais Em Manutenção Nmin Nmáx Manut Valv Caux Alarm T2 5 min 8. DOCUMENTAÇÃO Mapa de Sinais Em Falha Nmin Nmáx Manut Valv Caux Alarm T2 8. DOCUMENTAÇÃO Fluxogramas são representações gráficas mostrando o fluxo da informação enquanto descreve os estados das variáveis 8. DOCUMENTAÇÃO Nmin=ativo? sim Abre válvula Vál. Aberta? sim não Sinaliza falha Nmáx=ativo? sim Fecha válvula Vál. fechada? não sim não não Reset? sim não INICIO Fluxogramas 9. EXEMPLO DE APLICAÇÃO CLP – CONTROLADORES LÓGICOS PROGRAMÁVEIS 1. INTRODUÇÃO GERAL 1. INTRODUÇÃO GERAL 1. INTRODUÇÃO GERAL 1. INTRODUÇÃO GERAL 1. INTRODUÇÃO GERAL 1. INTRODUÇÃO GERAL 1. INTRODUÇÃO GERAL VANTAGENS NA UTILIZAÇÃO DE CLP's
Compartilhar