29
Autómato programável Autómato programável Exercícios práticos Exercícios práticos ~ 230 VAC 24 VDC + G ~ M 3 ~ L1 L2 L3 400 VAC 230 VAC PLC Detector de entrada Relé Saída Bobina do contact or

Exercício nº4

Embed Size (px)

Citation preview

Page 1: Exercício nº4

Autómato programávelAutómato programável

Exercícios práticos Exercícios práticos

Lucínio Preza de Araújo

~230 VAC

24 VDC+

G ~

M3 ~

L1L2L3

400 VAC

230 VAC

PLC

Detector de entrada

Relé

Saída

Bobina do contactor

Page 2: Exercício nº4

ESCOLA SECUNDÁRIA CARLOS AMARANTE

E-mail: [email protected]://www.prof2000.pt/users/lpa

Para que serve a linguagem de programação?

O funcionamento de um autómato programável é determinado por um programa armazenado na sua memória. Esse programa é uma sucessão de instruções que o autómato vai realizar e que pode ser escrito em várias linguagens como a linguagem em diagrama de contactos e a linguagem em lista de instruções.

Linguagens de programação

Vamos aplicar as linguagens de programação referidas anteriormente a um exemplo de um circuito eléctrico muito simples:

“a” , “b” – interruptores – entradas“s” – bobina - saída

Função lógica: s = a + b

A linguagem em diagrama de contactos (Ladder Diagram – LD) permite escrever as instruções do programa do autómato sob forma gráfica. .

Este tipo de linguagem de programação é utilizado na maioria dos autómatos pelo facto de apresentar semelhança com os esquemas de relés utilizados nos automatismos industriais de lógica cablada.

A linguagem em lista de instruções (Instruction List – IL) permite escrever um programa sob forma de linhas de programas. Cada linha de programa é uma instrução que o autómato compreende.

Linhas do programa Instrução (mnemónicas) Operando0 Load LD a1 Or OR b2 Out OUT s

NOTA:Mnemónicas são abreviaturas das palavras que designam as instruções.As instruções, sob a forma de mnemónicas, variam ligeiramente conforme o fabricante do autómato.

Autómatos programáveis Página 2 de 24

a

b

s

a

b

s

Page 3: Exercício nº4

ESCOLA SECUNDÁRIA CARLOS AMARANTE

As variáveis de entrada “a”, “b” e de saída “s” serão substituídas pelos códigos referentes às entradas e saídas dos respectivos autómatos.

OMRON

Autómato SYSMAC C20K

Dispõe de 20 E/S (12 entradas e 8 saídas).Os dois primeiros dígitos indicam o canal de E/S (00 entradas e 01 saídas) e os dois últimos a E/S a utilizar (00 a 11 nas entradas e 00 a 07 nas saídas). As entradas vão desde 0000 a 0011 As saídas vão desde 0100 a 0107

Alimentação do autómato100 - 240 VAC50 Hz/60Hz60 VA

Entradas24 VDC7 mA

Saídas24 VDC/250 VAC2 A Max.

Consola de programação PRO 15

Autómatos programáveis Página 3 de 24

Page 4: Exercício nº4

ESCOLA SECUNDÁRIA CARLOS AMARANTE

Permite a programação do autómato, linha a linha, em linguagem lista de instruções

Modos de operação

PROGRAM – Utiliza-se este modo para escrever/editar o programa.MONITOR – Este modo é usado na fase de teste e afinação do programa.RUN – O autómato executa o programa.

Funções das teclas

Teclas numéricas (cor branca)

Tecla CLR – clear – (cor vermelha): Tecla usada para cancelar a operação em curso e para limpar o ecrã.

Teclas operativas (cor amarela): Teclas usadas na edição do programa.

SRCH: Procurar instruções.MONTR: Visualizar estado ou valores de variáveis (monitorização).EXT: Visualizar, em simultâneo, 3 canais (palavras) consecutivos no ecrã.CHG: Em modo Monitor, permite alterar valores.INS: Inserir instruções.DEL: Apagar instruções.WRITE: Validar as linhas do programa.↑ e ↓: Deslocar o cursor para cima e para baixo.

Autómatos programáveis Página 4 de 24

Page 5: Exercício nº4

ESCOLA SECUNDÁRIA CARLOS AMARANTE

Teclas de instruções (cor cinzenta)

SHIFT: Para aceder à indicação superior das teclas.FUN: Seleccionar uma função com código numérico.CNT: Contador.TIM: Temporizador.CH: Especifica um canal (palavra) da área de memória do autómato.CONT: Especifica um bit (contacto).SFT: Registo de deslocamento.#: Especifica uma constante numérica.*: Especifica um endereçamento indirecto.

Escrever o programa

1. Seleccionar o modo Program;2. Premir a tecla CLR até se obter a primeira linha do programa “0000”;

3. Escrever o programa em lista de instruções, linha a linha, validando

cada linha com a tecla WRITE. A linha do programa é incrementada

automaticamente;

4. Terminar obrigatoriamente o programa com a instrução END – FUN (01).

Inserir instruções (modo Program)

1. Posicionar-se na linha de instrução posterior à instrução a inserir;

2. Escrever a instrução e premir a tecla INS;

3. Premir a tecla ↓ para validar a nova instrução.

Apagar instruções (modo Program)

1. Posicionar-se na linha de instrução que se pretende apagar;

2. Premir a tecla DEL;

3. Premir a tecla ↑ para validar a instrução.

Autómatos programáveis Página 5 de 24

Page 6: Exercício nº4

ESCOLA SECUNDÁRIA CARLOS AMARANTE

Operadores lógicos elementares

Exercício nº1

Operador E (AND)

Descrição: Circuito série

Pretende-se que a saída 0100 esteja activa (ON), quando e só quando a entrada 0000 esteja activa (ON) e a entrada 0002 esteja também activa (ON).

Diagrama de contactos:

Lista de instruções:

NOTAS:

LD – Load – Inicia uma linha lógica ou bloco lógico.

AND – Ligação série de contactos abertos.

OUT – Instrução de saída de linha.

Autómatos programáveis Página 6 de 24

(0000)

(0002)

(0100)

0000 0002

0100

Page 7: Exercício nº4

ESCOLA SECUNDÁRIA CARLOS AMARANTE

É obrigatório terminar qualquer programa com a instrução END, acessível na consola de programação por FUN (01).

Exercício nº2

Operador E (AND)

Descrição: Circuito série

Pretende-se que a saída 0100 esteja activa (ON), quando e só quando a entrada 0000 esteja activa (ON) e a entrada 0001 esteja inactiva (OFF).

Diagrama de contactos:

Lista de instruções:

NOTAS:

AND NOT – Ligação série de contactos fechados.

Autómatos programáveis Página 7 de 24

Page 8: Exercício nº4

ESCOLA SECUNDÁRIA CARLOS AMARANTE

Para obter o operador AND NOT é necessário premir sucessivamente as teclas AND e NOT da consola de programação.

Exercício nº3

Operador OU (OR)

Descrição: Circuito paralelo

Pretende-se que a saída 0100 esteja activa (ON), quando a entrada 0000 esteja activa (ON) ou a entrada 0001 esteja activa (ON).

Diagrama de contactos:

Lista de instruções:

Autómatos programáveis Página 8 de 24

(0000) (0001)

(0100)

0000 0001

0100

Page 9: Exercício nº4

ESCOLA SECUNDÁRIA CARLOS AMARANTE

NOTA:

OR – Ligação paralelo de contacto aberto.

Exercício nº4

Descrição: Circuito paralelo – série

Pretende-se comandar o arranque e a paragem de um motor assíncrono trifásico, através de dois botões S1 (arranque) e S0 (paragem). A acção sobre o botão S1, leva ao arranque do motor, mantendo-se nessa situação até uma ordem de paragem por acção no botão S0.

Comandar o contactor de potência, através da saída 0101.

Diagrama de contactos:

Lista de instruções:

NOTAS:

A manutenção do estado de ligado, mesmo quando o botão S1 regressa à posição de aberto, torna-se possível graça à auto-alimentação promovida pelo bit de saída (0101).

Autómatos programáveis Página 9 de 24

Número de linha Código de operação Operando

00000001000200030004

LDORAND NOTOUTEND

0101000000010101

Page 10: Exercício nº4

ESCOLA SECUNDÁRIA CARLOS AMARANTE

O número de saída OUT é fixo, pelo que não se pode repetir um mesmo número de saída, no entanto, o número de contactos associados a cada uma das saídas (tanto abertos como fechados) é ilimitado.

Exercício nº5

Descrição: Pretende-se implementar no autómato, a seguinte expressão booleana:

S = (A . B + A ). C

Arbitrariamente, associaremos a cada uma das três variáveis de entrada A, B e C, as entradas, 0000, 0001 e 0002 e a saída 0105.

Diagrama de contactos:

Lista de instruções:

Número de linha Código de operação Operando

000000010002000300040005

LDANDORANDOUTEND

00000001000000020105

Autómatos programáveis Página 10 de 24

A

A

B C

0000

0000

0001 0002

0105S

Page 11: Exercício nº4

ESCOLA SECUNDÁRIA CARLOS AMARANTE

NOTA:

O número de contactos abertos ou fechados que se podem utilizar num programa por cada uma das entradas é ilimitado, isto é, pode-se repetir o mesmo número de contacto (aberto ou fechado) quantas vezes quisermos.

Blocos Lógicos – Instrução OR LD

Exercício nº 6

Descrição: Pretende-se implementar no autómato, a seguinte expressão booleana:

S = (A . B + A . B). C

Arbitrariamente, associaremos a cada uma das três variáveis de entrada A, B e C, as entradas 0000, 0001 e 0002 e a saída 0105.

Diagrama de contactos:

Lista de instruções:

Número de linha Código de operação Operando

00000001000200030004000500060007

LDANDLDANDOR LDANDOUTEND

0000000100000001

00020105

Autómatos programáveis Página 11 de 24

A

A

B C

0000

0000

0001 0002

0105S

B

0001

Page 12: Exercício nº4

ESCOLA SECUNDÁRIA CARLOS AMARANTE

NOTAS:

Um bloco lógico inicia-se sempre com a instrução LD.A instrução OR LD permite realizar o paralelo de dois blocos lógicos, ou seja, permite realizar um OR lógico entre dois blocos.

Blocos Lógicos – Instrução OR LD

Exercício nº 7

Diagrama de contactos:

Lista de instruções:

Número de linha Código de operação Operando

000000010002000300040005

LDAND NOTLD NOTAND NOTOR LDLD

0000000100020003

0004

Autómatos programáveis Página 12 de 24

Page 13: Exercício nº4

ESCOLA SECUNDÁRIA CARLOS AMARANTE

0006000700080009

ANDOR LDOUTEND

0005

0101

NOTAS:

Um bloco lógico inicia-se sempre com a instrução LD.A instrução OR LD permite realizar o paralelo de dois blocos lógicos, ou seja, permite realizar um OR lógico entre dois blocos.

Blocos Lógicos – Instrução AND LD

Exercício nº 8

Diagrama de contactos: Circuito série – paralelo

Lista de instruções:

Número de linha Código de operação Operando

00000001000200030004

LDAND NOTLD ANDOR

00000001000200030004

Autómatos programáveis Página 13 de 24

Page 14: Exercício nº4

ESCOLA SECUNDÁRIA CARLOS AMARANTE

0005000600070008

ORAND LDOUTEND

0005

0101

NOTAS:

Um bloco lógico inicia-se sempre com a instrução LD.A instrução AND LD permite ligar em série dois blocos lógicos, ou seja, permite realizar um AND lógico entre dois blocos.

Blocos Lógicos – Instruções OR LD e AND LD

Exercício nº 9

Em circuitos lógicos com alguma complexidade, e uma vez que este modelo de autómato não faz uso de parêntesis, utilizam-se instruções AND LD e OR LD que associam blocos lógicos.

Diagrama de contactos: Circuito série – paralelo

Lista de instruções:

Número de linha Código de operação Operando

000000010002

LD NOTANDLD

000000010002

Autómatos programáveis Página 14 de 24

Page 15: Exercício nº4

ESCOLA SECUNDÁRIA CARLOS AMARANTE

0003000400050006000700080009

ANDLD NOTANDOR LDAND LDOUTEND

000300040005

0101

NOTAS:

Um bloco lógico inicia-se sempre com a instrução LD.A instrução OR LD permite realizar o paralelo de dois blocos lógicos, ou seja, permite realizar um OR lógico entre dois blocos.A instrução AND LD permite ligar em série dois blocos lógicos, ou seja, permite realizar um AND lógico entre dois blocos.

Blocos Lógicos – Instruções OR LD e AND LD

Exercício nº 10

Diagrama de contactos:

Lista de instruções:

Número de linha Código de operação Operando

00000001

LD NOTLD

00000001

Autómatos programáveis Página 15 de 24

Page 16: Exercício nº4

ESCOLA SECUNDÁRIA CARLOS AMARANTE

000200030004000500060007000800090010001100120013

LD ANDOR LDAND LDLD NOTANDOR LDLD NOTANDOR LDOUTEND

00020003

00040005

00060007

0101

NOTAS:

Um bloco lógico inicia-se sempre com a instrução LD.A instrução OR LD permite realizar o paralelo de dois blocos lógicos, ou seja, permite realizar um OR lógico entre dois blocos.A instrução AND LD permite ligar em série dois blocos lógicos, ou seja, permite realizar um AND lógico entre dois blocos.

Blocos Lógicos – Instrução OR LD

Exercício nº 11

Note que este diagrama de contactos é equivalente ao do exercício anterior. Com este novo diagrama, consegue-se um programa mais curto e mais rápido na execução.

Diagrama de contactos:

Autómatos programáveis Página 16 de 24

Page 17: Exercício nº4

ESCOLA SECUNDÁRIA CARLOS AMARANTE

Lista de instruções:

Número de linha Código de operação Operando

000000010002000300040005000600070008000900100011

LDAND ORAND NOTLD NOTANDOR LDLD NOTANDOR LDOUTEND

000200030001000000040005

00060007

0101

Instrução TR

Exercício nº12

Descrição: No diagrama abaixo, vão usar-se os bits temporários TR 0 e TR 1, para guardar as condições de execução nos pontos de ramificação.

Diagrama de contactos:

Autómatos programáveis Página 17 de 24

Page 18: Exercício nº4

ESCOLA SECUNDÁRIA CARLOS AMARANTE

Lista de instruções:

Número de linha Código de operação Operando

00000001000200030004000500060007000800090010001100120013

LDAND OUT TR 0ANDOUT TR 1ANDOUTLD TR 1ANDOUTLD TR 0ANDOUTEND

00000001

0002

00030100

00040101

00050102

NOTA:Os bits de memória temporários (TR) servem para guardar temporariamente o estado lógico de nós de circuitos com várias ramificações para as saídas.

Instruções DIFU, DIFD e KEEP

Exercício nº 13

Descrição:

A ligação do motor monofásico faz-se segundo os esquemas de comando e de potência da figura.

Autómatos programáveis Página 18 de 24

230 VAC

Page 19: Exercício nº4

ESCOLA SECUNDÁRIA CARLOS AMARANTE

Diagrama de contactos: Lista de instruções:

NOTAS: As instruções DIFU, DIFD e KEEP obtêm-se através das funções FUN(13), FUN(14) e FUN(11).DIFU: (Differentiate Up) Na transição 0 → 1 de um bit é gerado o valor lógico 1.DIFD: (Differentiate Down) Na transição 1 → 0 de um bit é gerado o valor lógico 1.KEEP: Permite através das suas entradas de controlo, manipular o estado de um bit biestável. O estado lógico deste bit é determinado por duas condições lógicas: uma set e outra reset. O bit programado vai a”1” se a condição set for momentaneamente a On; o bit vai a “0” se a condição reset for momentaneamente a On.

Instrução DIFU

Exercício nº 14

Descrição:

Pretende-se que sempre que se pressionar um botão de pressão P (entrada 0000) a lâmpada L (saída 0105) acenda se estiver apagada ou apague se estiver acesa.

Diagrama de contactos:

Autómatos programáveis Página 19 de 24

Número de linha

Código de operação

Operando

000000010002000300040005

LDDIFU LDLDKEEPEND

00001000100000010100

(S0)

(K)

(S1)

Set

Reset

0105

0105

1000

0105

1000

0000

DIFU 1000

Page 20: Exercício nº4

ESCOLA SECUNDÁRIA CARLOS AMARANTE

Lista de instruções:

Número de linha Código de operação Operando

000000010002000300040005000600070008

LDAND NOT LD NOTANDOR LDOUTLDDIFUEND

0105100001051000

010500001000

Instrução de Temporização (TIM)

Exercício nº 15

Temporização à operação (ao trabalho)

Descrição: O temporizador é activado quando a sua condição de execução fica ON e é reinicializado quando esta fica OFF. Uma vez activado, a instrução TIM mede o tempo em intervalos de 0.1 segundo a partir do valor de SV (set value). Se a condição de execução se mantiver ON durante um período de tempo suficiente para que o tempo diminua até zero, a saída utilizada será posta ON e assim permanecerá até à reinicialização do temporizador. (isto é, até que a condição de execução passe a OFF).

Diagrama temporal

Autómatos programáveis Página 20 de 24

Saída

Page 21: Exercício nº4

ESCOLA SECUNDÁRIA CARLOS AMARANTE

No exemplo da figura, a saída 0100 ficará ON, 5 segundos após a acção sobre a entrada 0001.

Diagrama de contactos:

Lista e instruções:

NOTA: TIM 10 # 0050

Instrução de Temporização (TIM)

Exercício nº 16

Temporização à desoperação (ao repouso)

Descrição: A saída 0100 fica ON quando é activada a entrada 0004, sendo desactivada 5 segundos após.

Diagrama temporal

Autómatos programáveis Página 21 de 24

Número de linha Código de operação Operando

00000001000200030004

LDTIM 10 # 0050LD TIM10OUTEND

0001

0100

Saída

Área de memória

Tempo pré-defenido (décimas de segundos)

Para que o contacto associado ao temporizador TIM 10 feche, isto é, passe de OFF a ON, é necessário que o sinal de entrada (neste caso 0001) se mantenha fechado (ON) pelo menos durante o tempo da temporização (neste caso 5 segundos).

Page 22: Exercício nº4

ESCOLA SECUNDÁRIA CARLOS AMARANTE

Diagrama de contactos:

Lista de instruções:

Número de linha Código de operação Operando

0000000100020003000400050006

LDTIM 10 # 0050LDORAND NOT TIM 10OUTEND

0004

00040100

0100

NOTA: TIM 10 # 0050

Instrução de Temporização (TIM)

Exercício nº 17

Temporização à operação e à desoperação

Descrição: A saída 0100 fica ON, 3 segundos depois de activada a entrada 0003, sendo desactivada 5 segundos após ter sido activada a entrada 0003.

Diagrama temporal

Autómatos programáveis Página 22 de 24

Área de memória

Tempo pré-defenido (décimas de segundos)

2

Saída 0100

Page 23: Exercício nº4

ESCOLA SECUNDÁRIA CARLOS AMARANTE

Diagrama de contactos:

Lista de instruções:

Número de linha Código de operação Operando

000000010002000300040005000600070008

LDTIM 20 # 0030LDTIM 10 # 0050LD TIM 20ORAND NOT TIM 10OUTEND

0003

0003

0100

0100

NOTA: Se for um temporizador TIMH o tempo expressa-se em milésimas de segundo.

Instrução CNT (Contadores)

Exercício nº 18

Descrição: Os contadores (CNT) dispõem de duas entradas, respectivamente entrada de impulsos para decrementação “A” e de reposição ou de reset “R”.

Se o contador for reversível (CNTR), dispõe de outra entrada “B” de impulsos para incrementação.

Autómatos programáveis Página 23 de 24

A

R

CNT

NSV

A

R

CNTR

NSV

B

Page 24: Exercício nº4

ESCOLA SECUNDÁRIA CARLOS AMARANTE

Diagrama de contactos:

Lista de instruções:

Número de linha Código de operação Operando

000000010002000300040005

NOTA: CNT 40 # 10

LDLDCNT 40 # 10 LD CNT 40OUTEND

00010002

0100

Autómatos programáveis Página 24 de 24

0001

CNT40#100002

CNT400100

(N) Área de memória

(SV) Valor de contagem

Por cada impulso OFF-ON na entrada “A” (0001 no exemplo) o valor SV (10 no exemplo) é decrementado de uma unidade desde o valor pré-seleccionado até zero, fechando o contacto (CNT40 no exemplo) associado ao contador.Um impulso na entrada de reset “R” coloca o valor SV no valor inicial.