Programação de CLPs por
Diagramas de Contato
1. Diagramas de Contato
2. Um CLP Genérico
3. Instruções de Entrada e Saída
4. Instruções Booleanas
5. Circuitos de Intertravamento
6. Detecção de Borda
7. Temporizadores
8. Contadores
9. Exemplo
1/20
1. Diagramas de Contato
Os diagramas de contato são uma forma de programação de
CLPs por meio de símbolos gráficos, representando contatos
(contacts) e bobinas (coils).
Os contatos e bobinas correspondem a variáveis booleanas
armazenadas na memória intermediária do CLP.
Os contatos e bobinas são conectados por ligações (links) em
ramos (rungs) como num diagrama de lógica a relé.
As expressões booleanas calculadas a cada ciclo de
varredura do CLP correspondem à avaliação lógica
seqüencial do diagrama de contatos.
Um contato é representado como abaixo, onde se identifica
um contato, associado à variável booleana A, interna ao CLP,
e suas ligações.
A
--||-Os contatos são usados como acesso ao estado de uma
variável interna no cálculo de expressões booleanas.
Contato
normalment
e aberto
A
--||--
Contato
normalment
e fechado
A
--|/|--
O estado da ligação à direita é
copiado para a ligação à esquerda
se o estado de A é verdadeiro. Caso
contrário, o estado da ligação à
direita é falso.
O estado da ligação à direita é
copiado para a ligação à esquerda
se o estado de A é falso, caso
contrário, o estado da ligação à
direita é verdadeiro.
2/20
Contato
sensível à
transição
positiva
A
--|P|--
O estado da ligação à direita é
verdadeiro por um ciclo de
varredura se o estado da ligação à
esquerda é verdadeiro e uma
transição positiva da variável A é
detectada.
Uma bobina é representada como na figura abaixo, onde
identifica-se uma bobina, associada a uma variável booleana
Q.
Q
--( )-As bobinas alteram os estados das variáveis associadas.
Bobina
normal
Bobina
negativa
Q
--( )-Q
--(\)--
Bobina
Latch
(Set)
Q
--(S)--
Bobina
Latch
(Reset)
Q
--(R)--
Bobina
sensível
Q
à
--(P)-transição
positiva
O estado da ligação da esquerda é
copiado para a variável Q e para a
ligação à direita.
O estado da ligação à esquerda é
copiado para a ligação à direita, e a
negação do estado da ligação à
esquerda é copiada para a variável
Q.
O estado de Q passa para
verdadeiro quando a ligação à
esquerda vai para verdadeiro, e não
se altera em caso contrário.
O estado de Q passa para falso
quando a ligação à direita vai para
verdadeiro, e não se altera em caso
contrário.
O estado de Q passa para
verdadeiro por um ciclo de
varredura cada vez que a ligação à
esquerda vai de falso para
verdadeiro.
3/20
2. Um CLP genérico
Para fins de ilustração de diversos aspectos da programação
por diagramas de contato, introduz-se um CLP ilustrativo:
I0
I1
I2
I3
I4
I5
I6
I7
GND
Q6
Q7
GND
CLP
Ge né rico
Q0
Q1
Q2
Q3
Q4
Q5
Informações sobre o CLP:
•
•
•
•
•
8 entradas a relé, endereçadas pelas variáveis I0 a I7
8 saídas a relé, endereçadas pelas variáveis Q0 a Q7
Variáveis auxiliares, endereçadas por F0, F1, ...
Temporizadores, endereçados por T0, T1, ...
Contadores, endereçados por C0, C1, ...
4/20
3. Instruções de entrada e saída
CH
I0
I1
I2
I3
I4
I5
I6
I7
-
GND
+
Vc
CLP
Ge né rico
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
R
GND
Lam
p
Programa básico de entrada e saída
|
I0
Q0 |
|--||------( )--|
|
|
Leitura de variável negada
|
I0
Q0 |
|--|/|-----( )--|
|
|
Atribuição de valor invertido
|
I0
Q0 |
|--||------(/)--|
|
|
5/20
~
S
Lógica duplamente invertida
|
I0
Q0 |
|--|/|-----(/)--|
|
|
As entradas podem também ser de natureza invertida, como
contatos e botoeiras normalmente fechadas (NF).
O uso de contatos NF no diagrama de contatos facilita a
manutenção quando pela disponibilidade de LEDs no painel
do CLP.
6/20
4. Instruções Booleanas
Operação ‘E’
|
I1
I2
I3
Q0 |
|--||----||----||----( )--|
|
|
Operação ‘OU’
|
I1
Q1 |
|--||--|--( )--|
|
I2 |
|
|--||--|
|
|
I3 |
|
|--||--|
|
Lógica elaborada
|
I0
I1
I4
I5
Q0 |
|--||-----||--|--||--|--||----( )--|
|
I2
I3 |
|
|
|--||-----||--|
|
|
|
I1
I2
|
|
|--||--|--||--|------|
|
|
I6 |
I7 |
|
|--||--|--||--|
|
|
|
7/20
Programa implementado com flags ou relés auxiliares
|
I0
I1
F0 |
|--||----||----------( )--|
|
I2
I3
F1 |
|--||----||----------( )--|
|
F0
I4
F2 |
|--||------|---||----( )--|
|
F1
|
|
|--||------|
|
|
I1
F3 |
|--||------|---------( )--|
|
I6
|
|
|--||------|
|
|
I2
F4 |
|--||------|---------( )--|
|
I7
|
|
|--||------|
|
|
F3
F4
F5 |
|--||----||----------( )--|
|
F2
I5
Q0 |
|--||------|---||----( )--|
|
F5
|
|
|--||------|
|
|
|
8/20
5. Circuitos de memorização ou intertravamento
Memorização ou auto-retenção de uma variável
|
I0
Q0 |
|--||--|--( )--|
|
Q0 |
|
|--||--|
|
¿É possível com lógica de relés físicos?
Aplicação - acionamento por botoeiras de liga e desliga:
Lig
Des l
I0
I1
I2
I3
I4
I5
I6
I7
-
GN
D
+
Vc
CLP
Ge né rico
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
R
GN
D
~
S
K
Programa de
desligamento
liga-desliga
com
prioridade
|
I0
I1
Q0 |
|--||--|--|/|---( )--|
|
Q0 |
|
|--||--|
|
9/20
para
o
Programa de liga-desliga com prioridade para o ligamento
|
Q0
I1
Q0
|
|--||----|/|--|--( )--|
|
I0
|
|
|--||---------|
|
Usando bobinas de set-reset
|
I0
Q0 |
|--||------(S)--|
|
I1
Q0 |
|--||------(R)--|
|
|
|
I1
Q0 |
|--||------(R)--|
|
I0
Q0 |
|--||------(S)--|
|
|
Qual é a prioridade nos circuitos acima?
10/20
6. Circuito de Detecção de Borda
Existem situações no controle discreto em que o estado de
uma variável não é suficiente como informação, mas sim o
instante de transição de um estado a outro.
Diferença entre a extração de uma condição ou de um
evento de um sinal.
Exemplo de um programa que realiza deteção de borda de
subida em uma variável de um CLP. Utiliza-se o conceito de
ciclo de varredura:
|
I0
F1
F0 |
|--||----|\|----( )--|
|
I0
F1 |
|--||-----------( )--|
|
|
I0
F0
F1
¿Como se implementa tal circuito com lógica de relés pura?
¿Como seria um circuito detetor de borda descendente?
11/20
Exemplo de circuito de liga-desliga com uma só botoeira
Bot o
I0
I1
I2
I3
I4
I5
I6
I7
-
GND
+
Vc
CLP
Ge né rico
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
R
GND
~
K
Programa correspondente:
|
I0 F1
F0 |
|--||--|\|---------( )--|
|
I0
F1 |
|--||--------------( )--|
|
F0 Q0
Q0 |
|--||--|\|--|------( )--|
|
F0
Q0 |
|
|--|/|--||--|
|
|
|
¿Seria possível fazê-lo com lógica a relés pura?
12/20
S
7. Temporizadores
Seguindo o modelo dos antigos relés de tempo, o tipo de
temporização mais comum em CLPs é o retardo na
energização.
Exemplo
|
I0
3 T0 |
|--||----( )--|
|
|
|
T0
Q0 |
|--||----( )--|
|
|
t > 3s
t < 3s
I0
t = 3s
T0
Q0
Exemplo de uso do temporizador – circuito Estrela-Triângulo
para acionamento de motor.
13/20
Esquemas de temporização
Temporiozador com retardo no desligamento
I0
T
T
Q0
Sugestão de programa
|
Q0
T0
Q0 |
|--||----|\|--|---------( )--|
|
I0
|
I0
T T0 |
|--||---------|--|\|----( )--|
Temporizador com retardo na energização e no
desligamento
t < t1
t > t1
I0
Q0
t1
14/20
t2
Sugestão de programa
|
I0
t1 T1 |
|--||-------------------( )--|
|
Q0
T2
Q0 |
|--||----|\|--|---------( )--|
|
T1
|
T1
t2 T2 |
|--||---------|--|\|----( )--|
Temporizador de tempo definido
t < T
t > T
I0
Q0
T
T
Sugestão de programa
|
I0
T T0 |
|--||--|---------( )--|
|
Q0 |
T0
Q0 |
|--||--|--|\|----( )--|
Temporizador limitado no tempo
t < T
t > T
I0
Q0
T
15/20
Sugestão de programa:
|
I0
T T0 |
|--||--|---------( )--|
|
|
T0
Q0 |
|
|--|\|----( )--|
Temporizador por tempo t apos o desligamento
I0
T
T
Q0
Sugestão de programa:
|
F0
T0
F0 |
|--||----|\|--|----------( )--|
|
I0
|
I0
T T0 |
|--||---------|--|\|--|--( )--|
|
|
Q0 |
|
|--( )--|
Oscilador astável
t1
t2
Q0
16/20
Sugestão de programa
|
T1
t2
|--|\|----(
|
T2
t1
|--||-----(
|
T2
|--||-----(
17/20
T2|
)--|
T1|
)--|
Q0 |
)--|
8. Contadores
Por intermédio de contadores, é possível quantificar a
ocorrência de eventos impulsionais no processo controlado.
No contador mais simples possível, o valor da contagem é
atribuído ao contador por uma função SET, a função RESET
pára a contagem, e a identificação é feita por uma bobina.
A cada pulso na bobina a contagem é decrementada, até
chegar a zero.
Analise o programa abaixo:
|
I0
5 C0 |
|--||----(S)--|
|
I1
C0 |
|--||----( )--|
|
I2
C0 |
|--||----(R)--|
|
C0
Q0 |
|--||----( )--|
18/20
I0
4 3 2
1
0
4 3
I1
I2
Q0
19/20
4
3
9. Exemplo
Um vaso misturador possui uma válvula de entrada, um
motor misturador e uma única chave de detecção de nível
(vide figura). Ambas as válvulas são acionadas por
solenóides. A chave de nível fecha quando o vaso está cheio
e permanece fechada até que o vaso esteja vazio.
[Figura 12.38 - p. 559]
Desenhe um diagrama de contatos para que seja feito o
seguinte:
a) Quando o botão início é pressionado, a válvula de entrada
abre até que o vaso fique cheio.
b) O misturador então é ligado por 5 minutos.
c) A válvula de saída abre até que o vaso fique vazio.
20/20
Download

1. Diagramas de Contato