P. 1
AutÓmatos ProgramÁveis 2

AutÓmatos ProgramÁveis 2

5.0

|Views: 4.892|Likes:
Publicado porluisje

More info:

Published by: luisje on Nov 18, 2008
Direitos Autorais:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

07/01/2013

pdf

text

original

ESAS/2004 Introdução

DEFINIÇÃO

AUTÓMATOS PROGRAMÁVEIS 1

São equipamentos destinados a controlar e comandar uma enorme variedade de circuitos eléctricos, quer de iluminação quer de força motriz (motores). Por exemplo, numa fábrica, todos os circuitos eléctricos podem ser comandados e controlados por autómatos programáveis. No caso da iluminação as lâmpadas podem ser ligadas e desligadas automaticamente, a horas diferentes, a iluminação de uma zona da fábrica pode ser reduzida a uma determinada hora, etc. No caso da força motriz, os autómatos podem controlar, sem presença humana, a velocidade de uma passadeira rolante contendo peças, o manuseamento dessas peças por robots, a montagem e embalagem das peças, o funcionamento de um elevador, etc. Esta flexibilidade consegue-se porque os autómatos são programáveis, isto é, como num computador, podemos gravar na sua memória a sequência de acções que pretendemos que ele faça. Depois de concluída a programação e ligados os equipamentos, é só correr o programa.

OBJECTIVO
No nosso caso vamos aprender como programar o autómato, de forma a comandarmos a iluminação de uma escada de um prédio de 4 andares, mas de forma completamente flexível, ao contrário do que conseguimos com o automático de escada. Por exemplo, podemos querer que : - Por razões de economia, só acendam as lâmpada de 1 andar, à medida que a pessoa vai subindo as escadas e premindo o botão do andar respectivo; - Acendam as lâmpadas da metade dos andares correspondente ao botão premido, como fizemos através de 2 automáticos de escada; - O tempo de acendimento das lâmpadas de cada andar (ou grupo de andares) seja diferente; - Outras combinações. Sublinhe-se que esta flexibilidade ainda é acrescida de uma outra vantagem importante: Podemos alterar a forma como queremos que o circuito funcione, mexendo apenas no autómato, mais propriamente na sua programação, enquanto no caso dos circuitos clássicos teríamos de mexer também no circuito (ligar/desligar fios, montar/desmontar aparelhos, etc.)

CAMINHO
- Aprender as Funções Básicas de programação do autómato, necessárias a que possamos atingir os nossos objectivos de comandar a iluminação da escada do prédio; - Programar essas funções no autómato; - Elaborar o programa de comando pretendido; - Testar o programa no autómato; - Aprender como se liga o autómato à aparelhagem do circuito (botões, lâmpadas, etc.); - Programar o autómato com o programa de comando pretendido; - Experimentar.

©Luis Jerónimo

versão 1.0 – Jan.2004

ESAS/2004 Funções Básicas

AUTÓMATOS PROGRAMÁVEIS 2

REPRESENTAÇÃO DE UM PROGRAMA/CIRCUITO F I L N

Nesta representação da derivação simples, para a lâmpada (L) acender (ON), temos de ligar (ON) o interruptor (I). Se o interruptor estiver desligado (OFF), como na figura, a lâmpada está apagada (OFF). Dizemos que o interuptor é a entrada do circuito e a lâmpada, a saída. Isto ainda não é um programa. Para colocar este circuito como um programa de autómato programável, temos 2 hipóteses: - Programação gráfica ou Ladder; - Programação com lista de instruções 1. PROGRAMAÇÃO GRÁFICA OU LADDER

00.01

01.07

Os “nomes” do interruptor e da lâmpada têm de obedecer às regras impostas pelo fabricante para as entradas e saídas. Entradas começam por 00.00 e podem ir até 00.15; as saídas começam por 01.00 e podem ir até 01.08

2. PROGRAMAÇÃO COM LISTA DE INSTRUÇÕES (do mesmo circuito) Endereço 0000 0001 0002 Instrução LD OUT END Operando 00.01 01.07

> Write > Write > Write

Para já, não nos preocupemos com os “ > Write ” que serão explicados adiante.

FU NÇ ÕE S B ÁSI CAS
1. FUNÇÃO AND (“E”, em Português) Suponhamos que agora complicávamos um pouco o circuito. Pretendemos que a lâmpada só acenda se 2 interruptores estiverem ligados em simultâneo. Outra forma de dizer isto é que “pretendemos que a lâmpada acenda (ON) apenas quando o interruptor I1 e o interruptor I2 estiverem ligados (ON)”. A palavra chave na frase anterior é “e”, daí o nome da função.

©Luis Jerónimo

versão 1.0 – Jan.2004

ESAS/2004 Funções Básicas

AUTÓMATOS PROGRAMÁVEIS 3

a) PROGRAMAÇÃO GRÁFICA (OU LADDER)

00.01

00.02

01.07

b) PROGRAMAÇÃO COM LISTA DE INSTRUÇÕES Endereço Instrução Operando 0000 LD 00.01 0001 AND 00.02 0002 OUT 01.07 0003 END 2. FUNÇÃO OR (“OU” em Português) Desta vez, vamos supor que queremos que a lâmpada acenda logo que um dos 2 interruptores do circuito seja ligado ou, dito de outra forma, que “a saída fique activada (ON) se o Interruptor 1 ou o Interruptor 2 forem activados/ligados (ON)”. Agora, a palavra chave é o “ou”, daí o nome desta função. a) PROGRAMAÇÃO GRÁFICA OU LADDER

00.01 00.02

01.07

b) PROGRAMAÇÃO COM LISTA DE INSTRUÇÕES Endereço Instrução Operando 0000 LD 00.01 0001 OR 00.02 0002 OUT 01.07 0003 END -------------------------------------------------------------------------------------------------------------------

Apenas com estas 2 funções básicas, podemos construir uma infinidade de circuitos de controlo, através da associação de várias. Vejamos um exemplo: PROGRAMAÇÃO GRÁFICA OU LADDER

00.01

00.05

00.11

01.07

©Luis Jerónimo

versão 1.0 – Jan.2004

ESAS/2004 Funções Básicas
00.02

AUTÓMATOS PROGRAMÁVEIS 4 00.00

Serás capaz de escrever o programa ladder correspondente? Tenta, antes de ver a resolução: PROGRAMAÇÃO COM LISTA DE INSTRUÇÕES Endereço Instrução Operando 0000 LD 00.01 0001 OR 00.02 0002 LD 00.05 0003 LD 00.11 0004 OR 00.00 0005 AND LD 0006 0007 0008 AND LD OUT END

01.07

Nota: que há outras maneiras de efectuar este programa. Por exemplo: Endereço 0000 0001 0002 0003 0004 0005 0006 Instrução LD OR AND LD AND LD OR OUT END Operando 00.01 00.02 00.05 00.11 00.00 01.07

Ou seja, cada vez que se faz um LD o autómato vai interpretá-lo como um bloco. Depois podemos fazer qualquer operação (AND ou OR) com os 2 últimos blocos definidos. Se usarmos o AND LD ou o OR LD é feita a operação com os 2 últimos blocos definidos e dá-se origem a um outro bloco, resultado dessa operação. 3. ENTRADAS (OU SAÌDAS) NEGADAS Até aqui temos trabalhado apenas com entradas e saídas não negadas. Isso corresponde, por exemplo no caso das entradas, a termos no circuito real, por exemplo, um interruptor Normalmente Aberto (NA). Quando escrevemos a instrução, o Autómato vai ler o estado real do Interruptor (ON ou OFF). Por vezes (por ex. quando temos um interruptor Normalmente Fechado (NF) ) pode-nos interessar ler a entrada (estado do interruptor) negada, isto é, se o interruptor estiver ON o Autómato lê OFF e vice-versa. Vejamos como funciona, através de um exemplo que não é mais que a alteração do último exemplo que vimos:

©Luis Jerónimo

versão 1.0 – Jan.2004

ESAS/2004 Funções Básicas

AUTÓMATOS PROGRAMÁVEIS 5

a) PROGRAMAÇÃO GRÁFICA OU LADDER

00.01 00.02

00.05

00.11 00.00

01.07

Serás capaz de escrever o programa ladder correspondente? Tenta, antes de ver a resolução: b) PROGRAMAÇÃO COM LISTA DE INSTRUÇÕES Endereço Instrução Operando 0000 LD 00.01 0001 OR 00.02 0002 LD 00.05 0003 LD NOT 00.11 0004 OR NOT 00.00 0005 AND LD 0006 AND LD 0007 OUT 01.07 0008 END Como vemos, basta acrescentar a instrução NOT na entrada a ser lida. 4. TEMPORIZAÇÃO Uma das componentes muito usada, e que vamos utilizar no nosso circuito de comando da iluminação de uma escada de um edifício de 4 andares, é a temporização. Para implementar uma temporização: a) PROGRAMAÇÃO GRÁFICA OU LADDER

00.00 00.01

KEEP HR15

HR15

TIM0 #0100

TIM0

01.05 versão 1.0 – Jan.2004

©Luis Jerónimo

ESAS/2004 Funções Básicas

AUTÓMATOS PROGRAMÁVEIS 6

Repare-se que: 1. A entrada 00.00 é um um interruptor ou botão de pressão que vamos usar para iniciar a temporização. 2. O bloco KEEP é uma instrução que funciona como memória (pode estar ON ou OFF como resultado da nossa actuação em 00.00. Ele tem 2 entradas. 1 para pôr (a saída do) bloco a 1 ( a de cima) e outra para pôr o bloco a zero ( a de baixo). A saída do bloco KEEP é identificada, neste exemplo, por HR15. Existem outras que podemos usar se precisarmos. No nosso caso, o botão/entrada 00.00 serve para pôr o KEEP a 1 (ON) e a entrada 00.01 para o pôr a 0 (OFF). 3. O bloco TIM0 faz a temporização pretendida. Como funciona por décimos de segundo, vamos ter de fornecer o nº de décimos de segundo que queremos, prcedido sempre pelo carácter #. No nosso caso queremos fazer uma temporização de 10 segundos ( = 100 décimos de segundo), por isso temos de indicar #100 4. Funcionamento do circuito/programa: Premimos a entrada/botão de pressão 00.00; Isso coloca o bloco KEEP a 1 (ON), ou seja coloca a 1 (ON) a sua saída HR15; Como HR15 funciona como entrada do bloco TIM0, nessa altura o bloco TIM0 começa a contar o tempo indicado (10 segundos); No final do tempo, a saída do temporizador (inicialmente a OFF) passa a ON e fica assim até o limparmos, o que se consegue actuando na sua entrada de Reset (no nosso caso a entrada 00.01), ficando então pronto pra nova temporização. Como TIM0 funciona como entrada da saída 01.05, ao fim dos 10 segundos (depois de premirmos o botão 00.00) a saída também fica activada (ON), por exemplo lâmpada acesa se ligarmos essa saída a uma lâmpada. Está assim consumada a temporização. Neste caso usámos a temporização para ligar uma lâmpada ao fim de 10 segundos. b) PROGRAMAÇÃO COM LISTA DE INSTRUÇÕES LD 00.00 LD 00.01 KEEP HR 015 LD HR 015 TIM 00 #100 LD TIM 00 OUT 01.05 END

©Luis Jerónimo

versão 1.0 – Jan.2004

ESAS/2004 O Nosso Projecto

AUTÓMATOS PROGRAMÁVEIS 7

COMANDO DA ILUMINAÇÃO DAS ESCADAS DE UM EDIFÍCIO DE 4 PISOS Com aquilo que já vimos, estamos em condições de executar o nosso projecto de comando de um circuito de iluminação para de uma escada de um edifício de 4 pisos. E com uma flexibilidade total. Podemos, por exemplo, programar o autómato de modo a que: 1. Sempre que se prime qualquer dos 4 botões de pressão (1 por piso), as lâmpadas acendem todas durante um determinado intervalo de tempo (ex: 1 minuto), ao fim do qual voltam a apagar-se; 2. Quando se prime um dos botões dos 2 primeiros pisos, acendem apenas as lâmpadas referentes as esses pisos. O mesmo para para os 2 restantes pisos; 3. Cada botão faça apenas acender a lâmpada correspondente a esse piso; 4. O tempo em que cada lâmpada (ou grupo de lâmpadas) está aceso, seja diferente; 5. Etc. A imaginação (e a necessidade) é o limite. Vamos mostrar de seguida como se implementa/programa uma dessas possíveis soluções:

Alternativa 1: cada botão de pressão comanda apenas a lâmpada do seu piso
a) Diagrama Ladder

©Luis Jerónimo

versão 1.0 – Jan.2004

ESAS/2004 O Nosso Projecto
RC 00.00 TIM0

AUTÓMATOS PROGRAMÁVEIS 8

KEEP HR 00

PRI 00.01

KEEP
TIM 01 SEG 00.02

HR 01 KEEP HR 02 KEEP HR 03

TIM 02 TER 00.03

TIM 03

TIM0
HR 00

#0100

TIM1
HR 01

#0100

TIM2
HR 02

#0100

TIM3
HR 03

#0100

HR 00

SRC 01.00

HR 01

SPRI 01.01

HR 02

SSEG 01.02

©Luis Jerónimo

versão 1.0 – Jan.2004

ESAS/2004 O Nosso Projecto
HR 03

AUTÓMATOS PROGRAMÁVEIS 9
STER 01.03

Funcionamento do Circuito Esta solução corresponde ao caso em que cada botão de cada andar (entradas 00.00, 00.01, 00.02 e 00.03) comandam apenas a lâmpada, ou lâmpadas, respeitantes ao seu andar. Assim, nesta implementação, o morador deveria premir o botão correspondente a cada andar por onde ia passando. O tempo que cada lâmpada de cada andar está acesa pode ser definido independentemente, isto é, posso ter tempos diferentes para cada piso. No exemplo foi escolhido um tempo de acendimento igual para todas as lâmpadas – 10 segundos. Isso é denotado pelos #0100 explicitados em cada Temporizador. De salientar que o Autómato, no que toca a temporizadores, trabalha com a unidade décimo de segundo, isto é, para programarmos uma temporização de um segundo devemos escrever #0010 (10 unidades/décimos de segundo). Agora já se vê porque 10 segundos corresponde ao nosso #0100. Cada bloco KEEP funciona como uma memória. Como o arranque do circuito se dá através de um botão de pressão ( e não um interruptor que mantém a sua posição de fechado), é preciso que o sistema memorize que o botão já foi premido. Essa informação precisa ser memorizada, pois se o botão actuasse directamente no Temporizador (TIM) não se conseguia fazer a temporização pois estes TIM só realizam a temporização se a sua entrada estiver activa. Assim, quando actuamos no botão de pressão (mesmo que apenas momentaneamente), isso faz a saída do KEEP ficar ON (de forma permanente) – a entrada de cima do KEEP é a entrada de SET do KEEP (põe a sua saída a ON) - . Essa saída funciona como entrada do TIM e, como fica permanentemente ON, permite ao temporizador contar o tempo programado. Esta saída do KEEP também funciona como entrada das nossas lâmpadas, por isso estas acendem logo que o KEEP correspondente fica ON, isto é, logo que o botão de pressão é activado, como queremos. e ficam acesas por quanto tempo? Para isso temos de ver que no final da temporização o Temporizador ( a sua saída) passa a ON. Como esta saída funciona como entrada de Reset do KEEP, este é, nessa altura, posto OFF e, consequentemente, a lâmpada respectiva apaga-se. B) Lista de Instruções LD 00.00 LD TIM 00 KEEP HR 000 LD 00.01 LD TIM 01 KEEP HR 001 LD 00.02 LD TIM 02 KEEP HR 002 LD 00.03 LD TIM 03 KEEP HR 003 LD HR 000 TIM 00

©Luis Jerónimo

versão 1.0 – Jan.2004

ESAS/2004 O Nosso Projecto
#0100 LD HR TIM #0100 LD TIM #0100 LD TIM #0100 LD OUT LD OUT LD OUT LD OUT END 001 01 HR 002 02 003 03 000 01.00 001 01.01 002 01.02 003 01.03

AUTÓMATOS PROGRAMÁVEIS 10

HR

HR HR HR HR

-------------------------------------------------------

-------------------------------------------------------------

2ª ALTERNATIVA – Acendem todas as lâmpadas do edifício logo que qualquer botão de pressão é actuado. Lista de Instruções LD 00.00 OR 00.01 OR 00.02 OR 00.03 LD TIM 00 KEEP HR 001 LD HR 001 TIM 00 #0100 LD HR 000 OUT 01.00 LD HR 000 OUT 01.01 LD HR 000 OUT 01.02 LD HR 000 OUT 01.03 END Como exercício, desenhe o respectivo diagrama Ladder

©Luis Jerónimo

versão 1.0 – Jan.2004

ESAS/2004 O Nosso Projecto

AUTÓMATOS PROGRAMÁVEIS 11 -------------------------------------------------------

---------------------------------------------------------

3ª Alternativa – os botões dos 2 primeiros pisos fazem acender as lâmpadas desses 2 primeiros pisos e os botões dos 2 últimos pisos fazem acender as lâmpdas desses 2 últimos pisos. LISTA DE INSTRUÇÕES LD 00.00 OR 00.01 LD TIM 00 KEEP HR 000 LD 00.02 OR 00.03 LD TIM 01 KEEP HR 001 LD HR 000 TIM 00 #0100 LD HR 001 TIM 01 #0100 LD HR 000 OUT 01.00 LD HR 000 OUT 01.01 LD HR 001 OUT 01.02 LD HR 001 OUT 01.03 END

©Luis Jerónimo

versão 1.0 – Jan.2004

ESAS/2004 Questões Práticas
QUESTÕES PRÁTICAS

AUTÓMATOS PROGRAMÁVEIS 12

Para poderes inserir e testar estes programas, e todos os outros, no Autómato, há que ter em atenção os seguintes pontos: A) INSERIR E GRAVAR O PROGRAMA 1. Ao ligar o autómato, aparece no seu visor o pedido para inserir o password. Como o nosso não tem qualquer password inserido (veremos depois como se faz), devemos Premir sequencialmente as teclas: CLEAR > MONTR > CLEAR 2. Colocar o Autómato no modo Program (há um selector para isso – tem 3 posições: Program / Monitor / Run) de modo a que possamos inserir e gravar o nosso programa. 3. Limpar o autómato de outros programas que possa conter. Para isso, premir sequencialmente as seguintes teclas: CLEAR > PLAY/SET > NOT > REC/RESET > MONTR > CLEAR 4. O Autómato mostra o endereço inicial da sua memória (0000), que é o endereço em que devemos, sempre, começar a escrever o nosso programa, isto é devemos escrever a 1ª instrução do programa na posição de memória 0000. 5. Após escrevermos a 1ª instrução, premir a tecla WRITE. 6. O autómato posiciona-se na posição de memória seguinte (0001), onde devemos, da mesma maneira, escrever a 2ª instrução do nosso programa, seguindo-se WRITE. 7. Escrever as instruções seguintes do programa, concluindo sempre cada uma delas com a pressão na tecla WRITE. Esta tecla (WRITE) serve para que o Autómato grave na sua memória a instrução que acabámos de escrever. 8. A instrução END serve para concluir o programa e deve ser, sempre, a última instrução de cada programa. Para a escrever, temos de: premir a tecla FUN > escrever 01 (código da instrução) > WRITE b) TESTAR O PROGRAMA Para testar o programa introduzido, devemos: 1. Mudar o modo do Autómato de Program para RUN (quer dizer que vamos correr – run – o programa antes introduzido e gravado). 2. Premir a tecla CLEAR para podermos ver o conteúdo dos endereços onde escrevemos o programa, e assim podermos ver o que está a acontecer com as entradas e/ou saídas. Podemos mudar o endereço do programa a observar através das teclas de direcção:

©Luis Jerónimo

versão 1.0 – Jan.2004

ESAS/2004 Questões Práticas

AUTÓMATOS PROGRAMÁVEIS 13

C) LIGAR AS ENTRADAS E SAÍDAS A COMPONENTES CONCRETOS (BOTÕES DE PRESSÃO, LÂMPADAS, ETC.) Entradas do circuito: Podem ser interruptores, botões de pressão, etc. São ligadas às entradas do autómato, que são identificadas por 000 a 011 (usando o nosso autómato como exemplo). Deve ter-se em atenção o COMUM (COM) de cada uma das entradas ou grupos de entradas a usar. A figura mostra a ligação de um interuptor à entrada 011 do autómato. Só se deve ligar o que está fora do rectângulo que representa o autómato.

24V DC

000 001 COM 002

...

010 011 COM

Saídas do circuito: Podem ser lâmpadas, motores, etc. Devem ser ligadas às saídas do autómato (100 a 107). A figura mostra a entrada 100 ligada a uma lâmpada, usando o COMUM dessa saída; as saídas 104 e 105 ligadas cada uma delas a um motor, usando o COMUM do grupo de saídas 104 a 107. Como existem vários comuns, significa que podemos ligar saídas alimentadas a várias tensões (contínuas ou alternadas), como por ex. 220VAC, 24VDC, 24VAC, etc.

bobina

100
220V

COM

...
24V

104

105
24V

106

107

COM

©Luis Jerónimo

versão 1.0 – Jan.2004

ESAS/2004 Questões Práticas

AUTÓMATOS PROGRAMÁVEIS 14

©Luis Jerónimo

versão 1.0 – Jan.2004

You're Reading a Free Preview

Descarregar
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->