Prévia do material em texto
Controle Discreto Aula 6 Controlador Lógico Programável (Introdução) Prof. Me. Roberto Vichinsky Controlador Lógico Programável Durante a década de 1950, dispositivos eletromecânicos baseados em relés foram os recursos mais utilizados na indústria para o controle lógico de equipamentos da linha de produção. Antigo painel de controle baseado em relés Relé aberto Os sistemas de controle baseados em relés apresentavam problemas relevantes, tais como: Dada a grande dimensão do relé, os painéis de controle ocupavam grande espaço; Condições ambientais (umidade, poeira, sobretemperatura, etc.) interferiam no funcionamento dos relés; Programação era feita através de lógica física (hardwired – com fio), isto comprometia a produção no caso de uma eventual reprogramação. Harvard Mark I – 1944 Universidade de Pennsylvania – ENIAC - 1950 Programação hardwired (conexões com fio) Com a advento da tecnologia de estado sólido que possibilitou o surgimento do transistor (final da década de 1950) e posteriormente com o surgimento dos componentes eletrônicos integrados em larga escala (LSI - large scale integrated), foi possível a substituição dos antigos painéis baseados em relés por sistemas de controle com programação através de software. A primeira experiência neste sentido foi realizada em 1968 na divisão de hidramáticos da General Motors Corporation. GM – Painel de Controle - 1968 – conectado a um mainframe (computador de grande porte) responsável pela programação Na década de 1970, com o advento dos microprocessadores, os PLCs (Programmable Logic Controller – Controlador Lógico Programável) receberam sensíveis melhorias, tais como: Tornaram-se stand-alone (não mais necessitavam de computadores de grande porte); Usavam interfaces de operação e programação facilitadas ao usuário; Foram introduzidas poderosas instruções de aritmética e de manipulação de dados; Recursos de comunicação por meio de redes de PLC; Configuração específica por meio de módulos intercambiáveis. Siglas utilizadas CLP – Tradução para o português da sigla Programmable Logic Controller, ou seja, Controlador Lógico Programável. PLC – Abreviatura do termo inglês Programmable Logic Controller (Controlador lógico Programável). CP – Tradução da abreviatura do termo inglês Programmable Controller, a qual se refere a um equipamento capaz de efetuar controles diversos além do de lógica. Mais amplo, portanto, do que um PLC, como é o caso, por exemplo, do controle de variáveis analógicas. Um PLC é basicamente composto por dois elementos principais: uma CPU (Unidade Central de Processamento) e interfaces para os sinais de entrada e saída. A CPU tem arquitetura similar a dos computadores digitais: possui um processador, um banco de memória para dados e programas e um barramento para o controle, endereçamento e fluxo de dados. O princípio de funcionamento do PLC é a execução pela CPU de um programa denominado “executivo” (desenvolvido pelo fabricante). O programa “executivo” realiza ciclicamente a leitura das entradas, a execução do programa de controle desenvolvido pelo usuário e a atualização das saídas. O tempo total para a execução destas tarefas é chamado de “ciclo de varredura” (que se encontra na faixa média de milissegundos ou microssegundos em equipamentos de última geração) Ciclo de varredura PLC – Linguagens de programação Q0 I0 I1 I2 Diagrama de contatos (ladder): + & I0 I1 I2 Q0 Blocos funcionais: L I0 OR I1 AN I2 = Q0 Mnemônicos booleanos: Let Q0:=(I0 or I1) and not I2 Parâmetros idiomáticos: O diagrama de contatos é uma forma de programação de CLPs por meio de símbolos gráficos, os quais representam “contatos” (contacts) e “bobinas” (coils). Os contatos e as bobinas correspondem a variáveis booleanas armazenadas na memória de dados do CLP. Os contatos (variáveis independentes) e as bobinas (variáveis dependentes) são conectados por meio de “ligações” (links) dispostas em “ramos” (rungs), assim como acontece em um diagrama de lógica a relé. Diagrama de Contatos - ladder diagram --[ ]-- --[/]-- --( )-- --(/)-- Representação gráfica Contatos Bobinas Normalmente aberto Normalmente fechado Normal Negativa A construção de um diagrama de contatos é feita com base em duas linhas verticais que representam os extremos dos ramos: a linha da esquerda representa as entradas e a da direita representa as saídas. Os ramos são construídos de cima para baixo em linhas horizontais, na forma de uma escada (daí o nome do diagrama: ladder – escada em inglês). Diagrama de Contatos - ladder diagram 1º ramo 2º ramo 3º ramo 4º ramo 5º ramo 6º ramo ... Cada ramo é dividido em duas regiões, sendo elas: região das variáveis independentes (representadas por contatos) e região da variável dependente (representada por uma bobina): Diagrama de Contatos - ladder diagram Y A B Região das variáveis independentes (contatos) Região da variável dependente (bobina) A região das variáveis independentes, representada pelos contatos, corresponde à expressão lógica ou condição que levará a variável dependente (bobina) ao nível lógico baixo (0) ou alto (1). Diagrama de Contatos - ladder diagram Y A B Região das variáveis independentes (contatos) Região da variável dependente (bobina) Expressão lógica (condição) Resultado da expressão lógica Representação das funções lógicas básicas em Diagrama de Contatos Função AND (E) Circuito elétrico Y A A Y B B Y = A * B A B Y 0 0 0 0 1 0 1 0 0 1 1 1 TABELA VERDADE Diagrama de contatos Função OR (OU) Circuito elétrico Y A A Y B B Y = A + B A B Y 0 0 0 0 1 1 1 0 1 1 1 1 TABELA VERDADE Diagrama de contatos Função NOT (NÃO) Circuito elétrico Y A A Y Y = 1 – A ou Y = A A Y 0 1 1 0 TABELA VERDADE Diagrama de contatos R Y A OU Função NAND (NÃO E) Circuito elétrico Y = A * B A B Y 0 0 1 0 1 1 1 0 1 1 1 0 TABELA VERDADE Diagrama de contatos B Y A Y A B Função NOR (NÃO OU) Circuito elétrico Y = A + B A B Y 0 0 1 0 1 0 1 0 0 1 1 0 TABELA VERDADE Diagrama de contatos Y A B B Y R A Função XOR (OU EXCLUSIVO) Circuito elétrico Y = A * B + A * B A B Y 0 0 0 0 1 1 1 0 1 1 1 0 TABELA VERDADE Diagrama de contatos Y A A Y R A B B A B B Função XNOR (NÃO OU EXCLUSIVO) Circuito elétrico Y = A * B + A * B A B Y 0 0 1 0 1 0 1 0 0 1 1 1 TABELA VERDADE Diagrama de contatos Y A B A B Y A A B B Modelo didático de um CLP I0 I1 I2 I3 I4 I5 I6 I7 GND Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 GND CLP Para ilustrarmos a implementação de aplicações desenvolvidas em linguagem ladder, vamos adotar um modelo genérico de CLP, conforme ilustração abaixo: Neste modelo, temos as entradas representadas pelas variáveis I0 a I7, nas quais serão conectados os contatos das nossas aplicações (representam as variáveis independentes). Da mesma forma, temos as saídas representadas pelas variáveis Q0 a Q7, nas quais serão conectadas as bobinas das nossas aplicações (representam as variáveis dependentes). O ponto comum GND das entradas é eletricamente isolado do ponto comum GND das saídas. Exemplo de aplicação 1 Nesta representação simbólica temos uma montagem elétrica onde a lâmpada L1 será acionada mediante o fechamento da chave CH1. Para que esta ação seja realizada, é necessário introduzir no CLP uma programação adequada, conforme demonstrado a seguir. Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 GND I0 I1 I2 I3 I4 I5 I6 I7 GND CLP CH1 L1 Exemplo de aplicação 1 Programa ladder CH1 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 GND I0 I1 I2 I3 I4 I5 I6 I7 GND CLP L1 Q0 I0 Exemplo de aplicação 2 Com base na mesma montagem elétrica, considere agora que a lâmpada L1 deve permanecer acesa enquanto a chave CH1 estiver aberta, e apagada quando a chave estiver fechada. CH1 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 GND I0 I1 I2 I3 I4 I5 I6 I7 GND CLP L1 Programa ladder Q0 I0 Q0 I0 ou Exemplo de aplicação 3 Neste exemplo, desejamos que a lâmpada L1 acenda somentequando as chaves CH1 e CH2 estiverem fechadas (I0 and I1). CH2 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 GND I0 I1 I2 I3 I4 I5 I6 I7 GND CLP L1 CH1 Programa ladder Q0 I0 I1 Exemplo de aplicação 4 Neste exemplo, desejamos que a lâmpada L1 acenda quando uma das chaves (CH1 ou CH2) estiver fechada. (I0 or I1). CH2 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 GND I0 I1 I2 I3 I4 I5 I6 I7 GND CLP L1 CH1 Programa ladder Q0 I0 I1 Exercício Dada a tabela verdade ao lado. Pede-se: função lógica, diagrama de blocos e diagrama de contatos. I0 I1 I2 I3 Q0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 Exercício Dada a tabela verdade ao lado. Pede-se: função lógica, diagrama de blocos e diagrama de contatos. I0 I1 I2 I3 Q0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 CD CD CD CD AB 1 1 0 0 AB 1 1 0 0 AB 1 1 1 0 AB 1 1 1 1 A B C D Exercício Dada a tabela verdade ao lado. Pede-se: função lógica, diagrama de blocos e diagrama de contatos. I0 I1 I2 I3 Q0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 CD CD CD CD AB 1 1 0 0 AB 1 1 0 0 AB 1 1 1 0 AB 1 1 1 1 A B C D Q0 = D Exercício Dada a tabela verdade ao lado. Pede-se: função lógica, diagrama de blocos e diagrama de contatos. I0 I1 I2 I3 Q0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 CD CD CD CD AB 1 1 0 0 AB 1 1 0 0 AB 1 1 1 0 AB 1 1 1 1 A B C D Q0 = D + BC Exercício Dada a tabela verdade ao lado. Pede-se: função lógica, diagrama de blocos e diagrama de contatos. I0 I1 I2 I3 Q0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 CD CD CD CD AB 1 1 0 0 AB 1 1 0 0 AB 1 1 1 0 AB 1 1 1 1 A B C D Q0 = D + BC + AB Exercício Dada a tabela verdade ao lado. Pede-se: função lógica, diagrama de blocos e diagrama de contatos. I0 I1 I2 I3 Q0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 CD CD CD CD AB 1 1 0 0 AB 1 1 0 0 AB 1 1 1 0 AB 1 1 1 1 A B C D Q0 = D + BC + AB Q0 = B(A+C) + D Q0 = I1(I0+I2) + I3 Exercício (resolução) Q0 = I1(I0+I2) + I3 I1 I0 I2 I3 Q0 Q0 I0 I2 I1 I3 Função lógica Diagrama de blocos Diagrama de contatos Exemplo de aplicação Em um queimador existem três gases A, B e C e um ignitor (I) para processar a queima deles. Para haver a queima dos gases, é necessário o acionamento do ignitor e a presença dos gases A e/ou C. Se houver a presença do gás B a queima não ocorre. A partir dessas definições, construa o programa ladder para a implementação em CLP. Considere que: O sensor para identificar a presença do gás A está acoplado na entrada I0; O sensor para identificar a presença do gás B está acoplado na entrada I1; O sensor para identificar a presença do gás C está acoplado na entrada I2; O ignitor está acoplado na entrada I3; A queima é acionada por meio de um atuador acoplado na saída Q0; O nível lógico 0 (zero) em uma das entradas I0, I1 e I2, indica a ausência do respectivo gás; o nível lógico 1 (um) indica a presença; O nível lógico 0 (zero) na entrada I3 indica que o ignitor não foi acionado; o nível lógico 1 (um) indica o acionamento do ignitor; Para realizar a queima, a saída Q0 deve estar em nível lógico 1. I0 I1 I2 I3 I4 I5 I6 I7 GND Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 GND CLP A B C Ignitor Circuitos de detecção de gás Contactor para acionamento da queima Ligação elétrica I0 I1 I2 I3 Q0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 A B C D CD CD CD CD AB 0 0 0 0 AB 0 0 0 0 AB 1 0 0 0 AB 1 1 0 0 I0 I1 I2 I3 Q0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 A B C D CD CD CD CD AB 0 0 0 0 AB 0 0 0 0 AB 1 0 0 0 AB 1 1 0 0 ABCD + ABCD = BCD I0 I1 I2 I3 Q0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 A B C D CD CD CD CD AB 0 0 0 0 AB 0 0 0 0 AB 1 0 0 0 AB 1 1 0 0 ABCD + ABCD = BCD ABCD + ABCD = ABD I0 I1 I2 I3 Q0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 A B C D CD CD CD CD AB 0 0 0 0 AB 0 0 0 0 AB 1 0 0 0 AB 1 1 0 0 ABCD + ABCD = BCD ABCD + ABCD = ABD Q0 = BCD + ABD = BD(C+A) I0 I1 I2 I3 Q0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 A B C D CD CD CD CD AB 0 0 0 0 AB 0 0 0 0 AB 1 0 0 0 AB 1 1 0 0 ABCD + ABCD = BCD ABCD + ABCD = ABD Q0 = BCD + ABD = BD(C+A) Q0 = I1.I3(I2+I0) I0 I2 I3 I1 I0 I1 I2 I3 I4 I5 I6 I7 GND Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 GND CLP A B C Ignitor Circuitos de detecção de gás Contactor para acionamento da queima Diagrama de blocos Resolução Q0 = I1.I3(I2+I0) Q0 I0 I2 I1 I3 Diagrama de contatos (ladder) L I0 OR I2 AN I1 AND I3 = Q0 Mnemônicos booleanos https://www.se.com/br/pt/product-range-download/542-zelio-soft/ Download – Zelio (Schneider) O Zelio Soft é a ferramenta de programação do Zelio Logic (SR2/SR3), disponível em diversas linguagens, entre elas o português. image1.jpeg image2.jpeg image3.jpeg image4.jpeg image5.gif image6.jpeg image7.png image8.png