Você está na página 1de 37

UNIVERSIDADE FEDERAL DE MINAS GERAIS Sumário

ESCOLA DE ENGENHARIA
1. INTRODUÇÃO ................................................................................................................................................. 5
DEPARTAMENTO DE ENGENHARIA MECÂNICA
2. SISTEMAS DE AUTOMAÇÃO ...................................................................................................................... 6
2.1 - TIPOS DE AUTOMAÇÃO .................................................................................................................................... 6
2.2 - SISTEMAS SEQÜENCIAIS DE AUTOMAÇÃO ...................................................................................................... 7
2.3 - COMANDOS ELÉTRICOS BÁSICOS ................................................................................................................... 8
2.3.1 - Elementos de entrada de sinais ..................................................................................................... 8
2.3.2 - Elementos de processamento de sinais ...................................................................................... 9
2.3.3 - Elementos de saída de sinais ....................................................................................................... 12
2.4 - CIRCUITOS SEQÜENCIAIS ELETROPNEUMÁTICOS ......................................................................................... 17
2.5 - EXERCÍCIOS ................................................................................................................................................... 18
3. CONTROLADORES LÓGICOS PROGRAMÁVEIS................................................................................. 21
3.1 - ESTRUTURA ................................................................................................................................................... 21
3.2 - EXECUÇÃO..................................................................................................................................................... 23
3.3 - LINGUAGENS DE PROGRAMAÇÃO ................................................................................................................. 24
3.3.1 - Ladder ................................................................................................................................................. 25
3.3.2 - SFC....................................................................................................................................................... 35
3.4 - EXERCÍCIOS ................................................................................................................................................... 45
PROJETO DE SISTEMAS SEQÜENCIAIS DE 4. PROGRAMAÇÃO DE SISTEMAS SEQÜENCIAIS EM CLPS................................................................ 48
4.1 - AUTOMAÇÃO PNEUMÁTICA UTILIZANDO LADDER ......................................................................................... 48
AUTOMAÇÃO UTILIZANDO CLPS 4.2 - AUTOMAÇÃO PNEUMÁTICA UTILIZANDO SFC............................................................................................... 50
4.3 - EXERCÍCIOS ................................................................................................................................................... 55
5. CONVERSÃO DE PROGRAMAS EM SFC PARA LADDER .................................................................. 57
5.1 - REPRESENTAÇÃO DOS PASSOS .................................................................................................................... 57
5.2 - REPRESENTAÇÃO DAS TRANSIÇÕES ............................................................................................................ 64
Versão 1/2007 5.3 - ORGANIZAÇÃO DO PROGRAMA ..................................................................................................................... 67
5.4 - EXERCÍCIOS ................................................................................................................................................... 71
REFERÊNCIAS BIBLIOGRÁFICAS .................................................................................................................... 73

DR. EDUARDO JOSÉ LIMA II

Belo Horizonte, Janeiro de 2007 Prof. Eduardo José Lima II 1


Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br
Lista de Figuras Figura 5.14 – Programação em Ladder de transição disparada por um sinal de entrada
do CLP. ................................................................................................................................65
Figura 5.15 – Programação em Ladder de transição disparada por um sinal de entrada
Figura 2.1 – Elemento de entrada de sinal (botoeira). Fonte: [Parker, 2001]. ...................9 do CLP. ................................................................................................................................65
Figura 2.2 – Representação de Sensores. Fonte: [Parker, 2001] ........................................9 Figura 5.16 – Programação em Ladder de transição temporizada....................................66
Figura 2.3 – Relé auxiliar. .........................................................................................................10 Figura 5.17 – Programação em Ladder de divergência E. ..................................................66
Figura 2.4 – Relé auxiliar com contatos comutadores. ........................................................10 Figura 5.18 – Programação em Ladder de convergência E................................................67
Figura 2.5 – Relé temporizador com retardo na energização.............................................11 Figura 5.19 – Utilização de bit de memória para evitar que mais de uma transição seja
Figura 2.6 – Relé temporizador com retardo na desenergização. .....................................11 disparada em um mesmo ciclo de varredura.................................................................68
Figura 2.7 – Relé contador. ......................................................................................................12 Figura 5.20 – Linha de inicialização do programa. ...............................................................69
Figura 2.8 – Elementos de saída de sinal. .............................................................................12
Figura 3.1 – Ligações de um CLP. ..........................................................................................22
Figura 3.2 – Ciclo de execução de um CLP...........................................................................23
Figura 3.3 – Representação em diagrama Ladder de contatos NA, NF e bobinas.........25
Figura 3.4 – Exemplo de programa em Ladder.....................................................................26
Figura 3.5 – Analogia entre uma memória e um relé auxiliar. ............................................27
Figura 3.6 – Lógicas E e OU em Ladder. ...............................................................................28
Figura 3.7 – Auto-retenção em linguagem Ladder. ..............................................................29
Figura 3.8 – Bobinas com retenção em linguagem Ladder.................................................29
Figura 3.9 – Equivalência entre programas utilizando bobinas com retenção ................30
Figura 3.10 – Contatos sensíveis à borda..............................................................................30
Figura 3.11 – Temporizador TON............................................................................................31
Figura 3.12 – Temporizador TOFF..........................................................................................32
Figura 3.13 – Contador CTU. ...................................................................................................32
Figura 3.14 – Contador CTD. ...................................................................................................33
Figura 3.15 – Contador CTUD..................................................................................................34
Figura 3.16 – Ligações entre passos e transições................................................................36
Figura 3.17 – Exemplo de SFC................................................................................................37
Figura 3.18 – Divergência e convergência OU......................................................................38
Figura 3.19 – Divergência e convergência E. ........................................................................39
Figura 3.20 – Evolução de um SFC. .......................................................................................40
Figura 3.21 – SFC com conflito (divergência E sem convergência). .................................41
Figura 3.22 – Bloco de ações associado a um passo ..........................................................42
Figura 3.23 – Exemplos de ações. ..........................................................................................44
Figura 3.24 – Exemplo de condições lógicas associadas transições................................44
Figura 3.25 – Divisor de freqüência por 2. .............................................................................45
Figura 5.1 – Programação em Ladder de ação com qualificador S...................................58
Figura 5.2 – Programação em Ladder de ação com qualificador R...................................58
Figura 5.3 – Programação em Ladder de ação com qualificador N...................................59
Figura 5.4 – Programação em Ladder de uma mesma ação N acionada em dois passos
diferentes. ............................................................................................................................59
Figura 5.5 – Execução da ação com qualificador D. ............................................................60
Figura 5.6 – Programação em Ladder de ação com qualificador D...................................60
Figura 5.7 – Execução da ação com qualificador L..............................................................61
Figura 5.8 – Programação em Ladder de ação com qualificador L. ..................................61
Figura 5.9 – Programação em Ladder de ação com qualificador P...................................62
Figura 5.10 – Programação em Ladder de ação com qualificador SD..............................62
Figura 5.11 – Programação em Ladder de ação com qualificador DS..............................63
Figura 5.12 – Programação em Ladder de ação com qualificador SL. .............................63
Figura 5.13 – Programação em Ladder de ação com qualificadores P1 e P0.................64

Prof. Eduardo José Lima II 2 Prof. Eduardo José Lima II 3


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
Lista de Tabelas
1. Introdução
Tabela 3.1 – Qualificadores de ações.....................................................................................43

Essa apostila faz parte do material utilizado na disciplina “Automação Aplicada à


Engenharia Mecânica” do Departamento de Engenharia Mecânica da Universidade
Federal de Minas Gerais.
Inicialmente serão apresentados alguns conceitos fundamentais sobre
automação, bem como sobre circuitos de comandos elétricos. Serão mostrados os
aspectos fundamentais do funcionamento dos Controladores Lógicos Programáveis
(CLPs), necessários ao entendimento dos recursos disponíveis e de suas limitações.
Os fundamentos da linguagem Ladder serão apresentados, bem como os diagramas
seqüenciais (SFCs). Por ser a linguagem mais comum de programação de CLPs, será
apresentada uma metodologia de geração de programas em Ladder a partir de
programas feitos em SFCs. Ao final de cada parte da apostila são apresentados
exemplos resolvidos e exercícios a serem feitos pelos alunos.

Prof. Eduardo José Lima II 4 Prof. Eduardo José Lima II 5


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
2.2 - Sistemas seqüenciais de automação
2. Sistemas de Automação
Sistemas de automação são compostos basicamente por um equipamento de
Automação é o conjunto das técnicas baseadas em máquinas e programas com controle e pelo sistema controlado. Esses sistemas se comunicam por meio de sinais
objetivo de executar tarefas previamente programadas pelo homem e de controlar elétricos. Os comandos são enviados pelo equipamento de controle aos atuadores do
seqüências de operações sem a intervenção humana. Através de intertravamentos sistema controlado, que convertem tais comandos em ações como forças, movimentos,
(seqüências de programação) do sistema, o usuário consegue maximizar com correntes elétricas etc. O estado e as respostas do sistema controlado são medidos por
qualidade e precisão seu processo produtivo, controlando, assim, variáveis diversas meio de sensores, que convertem as grandezas físicas em sinais elétricos que são
(temperatura, pressão, nível e vazão) e gerenciando à distância toda a cadeia produtiva enviados ao equipamento de controle.
[Gomes, 2004]. O equipamento de controle deve possuir uma lógica (programável ou fixa) para
realizar o comando para o sistema controlado de acordo com os sinais recebidos dos
2.1 - Tipos de automação sensores. A lógica de comando pode ser combinacional ou seqüencial.
Em sistemas combinacionais, o valor atual dos comandos (saídas - O) depende
Pode-se classificar sistemas de automação em três tipos: automação fixa, apenas do valor atual dos sensores (entradas - I):
automação programável e automação flexível. O(k) = f (I(k)).
Automação fixa utiliza equipamentos concebidos para a produção de Por exemplo, considerando três sensores S1, S2 e S3, um sistema combinacional
determinado tipo de peça. É utilizada para volumes de produção muito altos. Possui um poderia ser representado pela equação:
custo relativamente baixo, porém os equipamentos ficam obsoletos quando há O1 = S1 S 2 + S 3
mudanças no tipo de peça produzida, já que são capazes de fabricar apenas
Nesse caso, a saída depende apenas do estado atual das entradas.
determinados produtos.
Em sistemas seqüenciais, o valor atual das saídas (O) depende do valor das
A automação programável é utilizada para volumes mais baixos de produção e
entradas (I) e do estado atual do sistema (E(k)). O estado seguinte do sistema
com grande variedade de produtos. O funcionamento dos equipamentos pode ser
depende, por sua vez, do estado atual e do valor das entradas, ou seja:
programado para fabricar diferentes tipos de peças. Dessa forma, as peças podem ser
O(k) = f (E(k),I(k));
fabricadas em lotes, entre os quais os equipamentos devem ser reprogramados. São
E(k+1) = g (E(k),I(k)).
exemplos de sistemas de automação programável robôs, máquinas CNC etc.
Dessa forma, um elemento essencial em um sistema seqüencial é a memória.
Os sistemas flexíveis de manufatura (FMS) se caracterizam por permitir o
Em um sistema seqüencial de automação, o controlador deve gerar sinais em
processamento de produtos com diferentes especificações por meio da troca
uma determinada seqüência de forma a fazer o sistema evoluir da maneira desejada.
automática de programas dos equipamentos, bem como da alteração da seqüência de
Esses sinais podem possuir uma seqüência fixa ou podem possuir seqüências
equipamentos e processos a serem utilizados. Dessa forma, tal tipo de sistema pode
dependentes de seleções feitas pelo usuário ou de condições do sistema em
reunir equipamentos de automação fixa e programável. Toda a produção é integrada
determinado momento (diferenças entre peças por exemplo).
por computador, que coordena as tarefas a serem realizadas.
Antes do advento dos controladores programáveis (CLPs, microcontroladores,
PCs etc.), um dos métodos mais comuns de geração de sinais para automação de um
processo eram os circuitos de comandos elétricos. Para aplicações mais simples e que

Prof. Eduardo José Lima II 6 Prof. Eduardo José Lima II 7


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
não necessitem de reprogramação, o método ainda é bastante utilizado, porém torna-
se menos atraente à medida que o número de elementos de memória necessários
aumenta, já que isso representa um aumento do custo de implantação.
13 11

2.3 - Comandos elétricos básicos

Os circuitos de comandos elétricos são compostos basicamente por três tipos de 14 12


elementos [Parker, 2001]:
(a) Estrutura (b) Simbologia
• elementos de entrada de sinais;
Figura 2.1 – Elemento de entrada de sinal (botoeira). Fonte: [Parker, 2001].
• elementos de processamento de sinais;
• elementos de saída de sinais.
Na Figura 2.2 são mostrados outros elementos de entrada de sinal, como rolete
Os diagramas de comandos elétricos são também chamados de diagramas de
e sensores capacitivo, indutivo e óptico.
contatos.

2.3.1 - Elementos de entrada de sinais

Os elementos de entrada de sinais são responsáveis por fornecer informações


ao circuito de comando para o processamento. Essas informações podem ser (a) rolete (b) capacitivo
comandos fornecidos pelo usuário (botoeiras, pedais, chaves seletoras etc.) ou
informações sobre o processo, obtidas por meio de sensores (chaves fim de curso,
sensores de proximidade, pressostatos etc.).
A Figura 2.1 mostra um botão com um contato normalmente aberto (NA) e um
contato normalmente fechado (NF) e sua simbologia utilizada em diagramas de (c) indutivo (d) óptico
contatos. Ao se pressionar o botão, o contato NA se fecha, permitindo a passagem de Figura 2.2 – Representação de Sensores. Fonte: [Parker, 2001]
corrente elétrica entre os terminais 13 e 14, enquanto o contato NF se abre, impedindo
a passagem de corrente entre os terminais 11 e 12. É importante lembrar que, em
circuitos elétricos, um contato fechado permite a passagem de sinal, ao contrário de
2.3.2 - Elementos de processamento de sinais
sistemas pneumáticos e hidráulicos, em que uma válvula fechada impede a passagem
de fluido, e vice-versa: um contato aberto impede a passagem do sinal enquanto uma
Os elementos de processamento de sinais são responsáveis por manipular os
válvula aberta permite a passagem do fluido.
sinais de entrada, de forma a fornecer os sinais de saída de acordo com a
especificação do sistema de comando.
Um dos principais elementos de processamento de sinais são os relés auxiliares
(Figura 2.3). Os relés auxiliares são contatos elétricos acionados por uma bobina

Prof. Eduardo José Lima II 8 Prof. Eduardo José Lima II 9


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
eletromagnética. Ao se energizar a bobina, os contatos elétricos são comutados, ou Relés auxiliares especialmente projetados para o acionamento de circuitos de
seja, os contatos NA são fechados e os contatos NF são abertos. Geralmente os relés potência são chamados de contatores de potência.
auxiliares são compostos de quatro contatos, que podem ser NA, NF ou combinações. Os relés temporizadores são utilizados para causar um atraso de tempo Ton pré-
Na Figura 2.3(b), ao se energizar os contatos A1 e A2, os contatos NA 13-14, 23-24 e determinado por meio de um potenciômetro em algum acionamento ou
33-34 são fechados, enquanto o contato NF 41-42 é aberto. desacionamento no sistema. O relé temporizador com retardo na energização (Figura
2.5), após acionado, realiza um retardo de tempo para que os contatos sejam
comutados (Figura 2.5(b)). Quando desenergizado, os contatos retornam
imediatamente para a posição normal.

A2 14 24 34 42

A1-A2
A2 12 13
K

K 11-12
A1 13 23 33 41
(a) (b)
A1 11 Ton
Figura 2.3 – Relé auxiliar.
(a) simbologia (b) diagrama de acionamento

Figura 2.5 – Relé temporizador com retardo na energização.


Como se pode observar, os quatro pares de contatos do relé mostrado na Figura
2.3 são independentes entre si, ou seja, podem ser utilizados em partes diferentes do
Já os relés temporizadores com retardo na desenergização (Figura 2.6), quando
circuito de comando, bem como ser acionar circuitos diferentes com tensões diferentes.
energizados, realizam imediatamente a comutação dos contatos auxiliares. Porém,
Um outro tipo de relé auxiliar possui contatos comutadores (Figura 2.4). Nesse
quando desenergizados, é aguardado um período de tempo Toff pré-determinado para
relé, quando a bobina é energizada, o terminal 11 é desconectado do terminal 12 e
que ocorra o retorno dos contatos para a posição normal.
conectado ao terminal 13, o mesmo ocorrendo com os terminais 21, 22 e 23. Esse relé
pode ser utilizado, por exemplo, para energizar alternadamente duas máquinas
diferentes (a fonte de energia poderia ser conectada ao terminal 11 e a alimentação de A1-A2
cada uma das máquinas conectadas aos terminais 12 e 13, respectivamente). A2 12 13

K 11-12
A2 12 13 22 23

A1 11 Toff
K
(a) simbologia (b) diagrama de acionamento

A1 11 21 Figura 2.6 – Relé temporizador com retardo na desenergização.

Figura 2.4 – Relé auxiliar com contatos comutadores.

Prof. Eduardo José Lima II 10 Prof. Eduardo José Lima II 11


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
Relés contadores registram a quantidade de pulsos elétricos recebidos e
comutam seus contatos quando a contagem atingir um valor pré-determinado. O
Exemplo 2.1: Acionamento direto de um solenóide.
contador pode ser reiniciado por meio de um botão no painel do relé ou por meio de um
sinal elétrico de reset. A Figura 2.7(a) mostra a simbologia de um relé contador e a
Figura 2.7(b) mostra o diagrama de acionamento para uma contagem de 3 pulsos.
+

B
A1-A2

A2 12 13
Y Y
Reset
K -
11-12
A1 11 Ao ser acionado o botão B, seu contato NA será fechado, permitindo a
(a) simbologia (b) diagrama de acionamento passagem de corrente elétrica. O solenóide Y será então alimentado, acionando a

Figura 2.7 – Relé contador. válvula direcional. O ar comprimido alimentará o cilindro, provocando seu avanço. Ao
ser liberado o botão B, a mola provocará o retorno da válvula à sua posição normal,
permitindo o recuo do cilindro.

2.3.3 - Elementos de saída de sinais


Exemplo 2.2: Acionamento direto de um solenóide por dois botões (lógica OU).
Após realizado o processamento, o resultado pode ser utilizado para acionar
atuadores e máquinas ou exibir informações para o operador. Como sinais de saída
tem-se os sinais sonoros (Figura 2.8(a)) e luminosos (Figura 2.8 (b)) e os solenóides de +
válvulas (Figura 2.8 (c)), entre outros.
B1 B2

Y Y

-
(a) sonoro (b) luminoso (c) solenóide
Nesse exemplo, se qualquer um dos botões B1 ou B2 for acionado, o solenóide
Figura 2.8 – Elementos de saída de sinal.
Y será alimentado, acionando a válvula. Como os contatos dos botões estão em
paralelo, tem-se uma lógica OU, ou seja: o solenóide Y será acionado caso o botão B1
Os próprios contatos dos relés auxiliares podem ser utilizados como elementos
OU o botão B2 seja acionado.
de saída de sinal, caso estejam conectados à alimentação de máquinas e outros
equipamentos.
Prof. Eduardo José Lima II 12 Prof. Eduardo José Lima II 13
Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
Exemplo 2.3: Acionamento direto de um solenóide por dois botões (lógica E). Exemplo 2.5: Acionamento com memória de um solenóide – auto-retenção ou selo
(reset prioritário).

+
+
B1
B1 K K

B2
B2

Y Y
K Y Y
-
-

Para que o solenóide seja alimentado, é necessário que os botões B1 e B2


Ao ser pressionado o botão B1, seu contato NA é fechado e o relé auxiliar K é
sejam acionados simultaneamente. Como os contatos dos botões estão em série, tem-
alimentado, fechando os dois contatos auxiliares K. O solenóide Y é então alimentado
se uma lógica E, ou seja: o solenóide Y será acionado caso o botão B1 E o botão B2
provocando o avanço do cilindro. Quando o botão B1 é liberado, a bobina do relé K
sejam acionados.
continua a ser alimentada pelo próprio contato auxiliar de K. Nesse ponto, só é possível
interromper a alimentação de K pressionando-se o botão B2 provocando a abertura de
Exemplo 2.4: Acionamento indireto de um solenóide.
seu contato NF. Os contatos auxiliares de K retornam então para sua posição inicial
(NA), desenergizando o solenóide Y.
Pode-se dizer que esse sistema representa uma memória do tipo set-reset, com
+ o botão B1 representando o set e o botão B2 representando o reset. Caso os botões
B1 K B1 e B2 sejam pressionados simultaneamente, a bobina do relé K não é energizada.
Por essa razão se diz que essa é uma memória com reset prioritário.

K Y Y

Ao ser acionado o contato NA do botão B, o relé auxiliar K será alimentado,


fechando o contato NA de K, que, por sua vez, alimentará o solenóide Y, acionando a
respectiva válvula.

Prof. Eduardo José Lima II 14 Prof. Eduardo José Lima II 15


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
Exemplo 2.6: Acionamento com memória de um solenóide – auto-retenção ou selo (set Exemplo 2.8: Acionamento de um cilindro de dupla ação utilizando uma vávula 5/2 vias
prioritário). acionada por duplo solenóide com retorno automático após o avanço.

+ A1
+
B1 B2 K
B A1

K
Y1 Y2
Y1 Y2

-
K Y Y

- O contato NA de A1 é comutado pelo rolete posicionado no final do curso do


atuador. Dessa forma, ao chegar ao final do avanço, o cilindro aciona A1, que energiza
Nesse caso, ao se pressionar os botões B1 e B2 simultaneamente, o sistema é o solenóide Y2, provocando o recuo do cilindro.
acionado (set). Por isso tem-se um sistema com set prioritário.
2.4 - Circuitos seqüenciais eletropneumáticos
Exemplo 2.7: Acionamento de um cilindro de dupla ação utilizando uma vávula 5/2 vias
acionada por duplo solenóide. Na seção anterior foi mostrado um circuito eletropneumático com retorno
automático do atuador. Nomeando o atuador como A, pode-se dizer que tem-se a
seqüência:
+ A+ A-
Pelo método intuitivo, pode-se implementar, de maneira simples, circuitos
B1 B2
eletropneumáticos com mais de um cilindro, desde que a seqüência desejada seja
direta. Para verificar se uma seqüência é direta, basta dividi-la ao meio e verificar se os

Y1 Y2 atuadores aparecem na mesma ordem e sem repetições. Por exemplo, a seqüência:


Y1 Y2
A+ B+ A- B-
-
é direta, já que dividindo-a ao meio, tem-se A+ B+ e A- B-. Já a seqüência:
A+ B+ B- A-
Nesse sistema, a própria válvula funciona como uma memória. Ao ser
não é direta. Nesse caso, o método intuitivo não é aplicável, já que o sinal que
pressionado o botão B1, o solenóide Y1 é alimentado e o carretel da válvula se
comanda o avanço de B (fim de curso de A) continua existindo no momento em que se
desloca. Mesmo ao ser liberado o botão, a válvula permanece nessa posição,
comandaria o retorno de B, já que o cilindro A ainda não retornou. No Capítulo 4 é
provocando o avanço do cilindro. O botão B2, por sua vez, provoca o acionamento de
mostrada uma metodologia para a programação em CLPs de seqüências indiretas.
Y2, causando o retorno do cilindro.
O método intuitivo consiste em, ao final de cada movimento, utilizar o sinal do
sensor de fim de curso para comandar diretamente o movimento seguinte.
Prof. Eduardo José Lima II 16 Prof. Eduardo José Lima II 17
Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
Exemplo 2.9: Seqüência A+ B+ A- B-. a) ABC
Para essa seqüência, observa-se que o sensor fim de curso de A (A1) deve b) A+ B +C
comandar o avanço de B. O sensor fim de curso de B (B1) deve comandar o retorno de c) ( AB) + C
A. Um sensor posicionado no início do curso de A (A0) deve comandar o retorno de B.
d) A( B + C )
Dessa forma, observa-se que são necessárias, no mínimo, três chaves de fim de curso,
sendo necessária uma quarta chave caso se deseje confirmar o retorno de B antes de e) A BC

aceitar o comando de reinício da seqüência gerado, por exemplo, por um botão (ST).
Exercício 2.2: Faça os diagramas de contatos para acionar uma lâmpada quando as
lógicas a seguir forem verdadeiras. Considere A, B e C como três botões que possuem
A0 A1 B0 B1
apenas um contato NA cada.

a) A BC
b) ( A BC ) + ( AC )

A+ A- B+ B- c) ( ABC )

Exercício 2.3: Refaça o exercício anterior considerando que cada botão possui apenas
um contato NF cada.
+

ST A1 B1 A0
Exercício 2.4: Um cilindro pneumático deve iniciar seu avanço quando dois botões
forem pressionados simultaneamente. O cilindro deve retornar quando chegar ao final
de seu curso ou quando um terceiro botão (emergência) for acionado. Faça o diagrama
B0
de contatos e o pneumático que implemente essa lógica. Considere uma válvula 3/2
vias com retorno por mola.

A+ B+ A- B-
Exercício 2.5: Um sistema hidráulico de acionamento de um cilindro deve permitir
-
paradas intermediárias. Seu acionamento deve se dar da seguinte maneira:
Botão Av: inicia o avanço do cilindro
Botão Re: inicia o retorno do cilindro
2.5 - Exercícios Botão P: provoca a parada do cilindro, aliviando a pressão da bomba.
Ao terminar o avanço ou recuo, a válvula direcional deve aliviar a pressão da
Exercício 2.1: Faça os diagramas de contatos para acionar uma lâmpada quando as bomba.
lógicas a seguir forem verdadeiras. Considere A, B e C como três botões. Faça o diagrama hidráulico e o de contatos elétricos para acionamento do sistema.
Prof. Eduardo José Lima II 18 Prof. Eduardo José Lima II 19
Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
Exercício 2.6: Faça o diagrama elétrico para o comando da seguinte seqüência de 3. Controladores Lógicos Programáveis
movimentos de atuadores pneumáticos:
A+ C+ B+ A- C- B- Controladores Lógico Programáveis (CLPs), também conhecidos como PLCs
(Programmable Logic Controller), são dispositivos desenvolvidos para substituir
circuitos elétricos baseados em relés para o controle de máquinas. O CLP trabalha
monitorando suas entradas (que podem ser analógicas, digitais ou dados recebidos por
uma rede industrial), processando-as de acordo com o programa e definindo valores
para saídas (que também podem ser analógicas, digitais ou valores a serem enviados
pela rede).
As vantagens da substituição dos circuitos de comandos elétricos por CLPs
estão na flexibilidade de programação (o CLP pode ser reprogramado via software,
enquanto os circuitos elétricos podem exigir uma nova montagem de todas as
conexões do sistema), na economia de espaço físico (o limite do tamanho de um
programa em CLP é determinado apenas pela memória do mesmo, ou seja, um
pequeno CLP substitui circuitos elétricos que poderiam ocupar vários gabinetes) e, a
depender da complexidade do sistema, o CLP pode ter um custo mais baixo que o
material necessário para a montagem do circuito elétrico.

3.1 - Estrutura

O CLP consiste basicamente de uma CPU (unidade central de processamento),


memórias, circuitos de entradas e saídas de sinais e dispositivos para conexão via
redes industriais. De acordo com o modelo do CLP, esses dispositivos podem ser fixos
ou configuráveis, pela inserção de cartões de entrada, saída e comunicação.
A grande maioria das funções do CLP (funções lógicas, contadores,
temporizadores etc.) não existem fisicamente, mas são simuladas em software, e são
executadas de acordo com a programação do usuário. Alguns CLPs dispõem de
contadores de alta velocidade, utilizados para contabilizar pulsos em freqüências
maiores que a capacidade de processamento da CPU, como os pulsos de um encoder.
A Figura 3.1 mostra como são realizadas as interligações entre um CLP de 8
entradas e 8 saídas e os elementos externos, como sensores e atuadores.

Prof. Eduardo José Lima II 20 Prof. Eduardo José Lima II 21


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
3.2 - Execução

O ciclo de execução de um CLP é representado na Figura 3.2. Após ligado, o


CLP executa uma rotina de inicialização e entra em um ciclo chamado ciclo de

COM
varredura. Primeiramente é realizada a leitura dos sinais de entrada, e os valores

IN0

IN1

IN2

IN3

IN4

IN5

IN6

IN7
desses sinais são armazenados em uma região de memória denominada imagem de
24Vcc
entrada. Durante a execução do programa do usuário, quaisquer leituras realizadas nas
variáveis de entrada na realidade são lidas da imagem de entrada. Esse artifício é
utilizado pois uma leitura em uma posição de memória é muito mais rápida que uma

OUT0

OUT1

OUT2

OUT3

OUT6

OUT7
OUT4

OUT5
COM
leitura realizada na entrada em si. Após a leitura dos sinais de entrada, o programa do
usuário é executado instrução por instrução. Todos os valores escritos pelo programa
nas saídas do CLP na realidade são armazenados em uma área de memória chamada
de imagem de saída. Após a completa execução do programa é realizado o
procedimento de atualização das saídas a partir da imagem de saída.

Figura 3.1 – Ligações de um CLP.


Inicialização

Na figura, o CLP é alimentado por uma fonte externa de 24Vcc (em muitos
casos, a fonte é encapsulada no próprio corpo do CLP). Leitura das
entradas
Para que uma entrada seja sensibilizada é necessário aplicar +24Vcc entre o
respectivo terminal e o terminal comum. Por esse motivo, o terminal comum é ligado no
Execução do
terminal negativo da fonte e cada chave é conectada ao terminal positivo e a respectiva programa

entrada. Dessa forma, quando a chave se encontra aberta (não é aplicado +24Vcc ao
terminal), a entrada correspondente realizará uma leitura de “falso”. Quando a chave Atualização das
saídas
estiver fechada (aplicando +24Vcc ao terminal) será realizada uma leitura de
“verdadeiro”.
Ao ser escrito um valor “verdadeiro” em uma saída, o CLP aplica +24Vcc ao Figura 3.2 – Ciclo de execução de um CLP.
respectivo terminal. Dessa forma, para que uma saída acione, por exemplo, o
solenóide de uma válvula, seus terminais devem ser ligados à saída e ao terminal Como o ciclo de execução do CLP normalmente é mais rápido que as
negativo da fonte. constantes de tempo do sistema controlado, e já que as saídas são atualizadas apenas
no final do ciclo de varredura, pode-se dizer que o CLP simula, com fidelidade, os
circuitos de comandos elétricos, em que o processamento é realizado em paralelo por
todos os dispositivos.

Prof. Eduardo José Lima II 22 Prof. Eduardo José Lima II 23


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
É importante salientar algumas conseqüências da utilização de imagens de também um método para a conversão de diagramas representados por SFC para a
entrada e saída pelo CLP. Por exemplo, caso o valor de uma saída seja alterada mais linguagem Ladder, já que o SFC não está disponível em todos os CLPs comerciais,
de uma vez durante a execução do programa, apenas o último valor será realmente como a linguagem Ladder.
escrito na saída do CLP. Por outro lado, caso o valor de alguma entrada for alterado
durante a execução, essa alteração somente será percebida no ciclo de varredura 3.3.1 - Ladder
seguinte.
Alguns modelos de CLPs dispõem de comandos de leitura e escrita imediatas A linguagem Ladder é derivada dos diagramas de contatos elétricos. Por esse
em dispositivos de entrada e saída. Nesses casos, a leitura do sinal e a escrita do motivo, é a linguagem mais popular de programação de CLPs. Além dos elementos de
resultado são realmente realizados no momento da execução do comando. Porém, é entrada, saída e processamento de sinais presentes nos diagramas de contatos
importante salientar que a execução desses comandos é mais lenta que a leitura e elétricos (tipicamente sinais discretos, 0 ou 1, falso ou verdadeiro), a linguagem Ladder
escrita nas imagens de entrada e saída. permite trabalhar também com outros tipos de dados, como inteiros e reais e entradas
O tempo do ciclo de varredura depende do tamanho do programa e das e saídas analógicas, tornando-a uma poderosa forma de programação da automação e
instruções utilizadas. Esse tempo pode ser fixo em programas que não utilizem controle de processos.
variação no controle de fluxo (instruções condicionais etc.), porém em muitos casos O elemento básico de um diagrama Ladder são os barramentos de energização,
pode ser variável. Caso o tempo de execução ultrapasse um valor pré-determinado, o representados por duas linhas verticais. Eles representam os terminais da fonte
CLP acusa um sinal de erro e interrompe a execução do programa. existente nos diagramas de contatos elétricos. Os elementos da lógica da programação
(Figura 3.3) são representados entre os barramentos como os degraus de uma escada
3.3 - Linguagens de Programação (daí o nome Ladder, escada em inglês), como mostrado na (Figura 3.4). O programa é
executado pela CPU do CLP executando a lógica de cada degrau, da esquerda para a
As linguagens de programação de CLPs são definidas pela norma IEC 61131-3. direita e varrendo degrau por degrau de cima para baixo.
A norma define 2 linguagens textuais e duas gráficas:
Linguagens textuais:
• IL (Instruction List), ou lista de instruções; ( )
• ST (Structured Text), ou texto estruturado.
Linguagens gráficas: (a) Contato NA (b) Contato NF (c) Bobina
• LD (Ladder Diagram), ou diagrama escada, ou de contatos;
Figura 3.3 – Representação em diagrama Ladder de contatos NA, NF e bobinas.
• FDB (Function Block Diagram), ou diagrama de blocos funcionais.
Uma quinta forma de representação é definida pela norma como SFC
(Sequential Function Chart). O SFC é uma forma de representação gráfica utilizada
para programação de eventos seqüenciais, cujos elementos podem ser utilizados em
conjunto com quaisquer das quatro linguagens definidas.
Neste texto serão utilizadas as linguagens Ladder, por ser a mais utilizadas na
programação de CLPs, bem como o SFC, por ser a representação mais apropriada
para a programação de sistemas seqüenciais de automação. Será apresentado
Prof. Eduardo José Lima II 24 Prof. Eduardo José Lima II 25
Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
+
E0 S0 B1 B2 K
( ) B1 K K
( )
E1 E2 S1 K Y
( ) B2
( )
E0 E2 S2 K L1
( )
K Y L1
( )
-
(a) Relé auxiliar (b) Memória
Figura 3.4 – Exemplo de programa em Ladder.
Figura 3.5 – Analogia entre uma memória e um relé auxiliar.
Cada contato e bobina devem ser endereçados de modo a identificar a
correspondência com os sinais de entrada, saída e memórias. Durante a execução do A forma de endereçamento das entradas, saídas e memórias depende de cada

programa, caso o valor associado a um contato NA seja verdadeiro, o contato se fecha, fabricante de CLP, mas normalmente é composta de três campos:

“permitindo a passagem de corrente elétrica” (considerando a analogia com os • Tipo de memória


diagramas de contatos elétricos). Caso o valor associado seja falso, o contato NA • Endereço do byte
permanece aberto. O contrário acontece para o contato NF, que se abre quando o valor • Número do bit dentro do byte (0 a 7)
associado é verdadeiro e se fecha quando o valor associado é falso. Em programas que utilizem apenas sinais discretos, os tipos de memória
Quando a lógica à esquerda de uma bobina é verdadeira (analogamente à utilizados são: imagem da entrada, imagem da saída, memória auxiliar. Nessa apostila
bobina energizada), é atribuída à saída ou posição de memória associada o valor 1. serão utilizados os seguintes símbolos: E para imagem da entrada, S para imagem da
Caso a lógica seja falsa, é atribuído o valor 0. Caso essa posição de memória saída e M para memória auxiliar.
corresponda ao espelho de saída, o valor armazenado será atribuído à saída O campo endereço do byte identifica a posição na respectiva memória em que
correspondente no final do ciclo de execução. Caso essa posição seja uma memória se encontra o byte que contém o bit referenciado. Normalmente o endereço vai de 0
auxiliar, o valor será simplesmente armazenado, podendo ser utilizado em outras até um valor que depende do número de entradas e saídas e do tamanho da memória
partes do programa. Dessa forma, pode-se fazer uma analogia com um relé: quando auxiliar.
um valor é armazenado em uma posição de memória significa que se está energizando Por último, o campo número do bit identifica, dentre os 8 bits do byte, qual o bit
ou desenergizando a bobina do relé; ao se utilizar o valor armazenado na memória está referenciado.
se utilizando os contatos do relé (Figura 2.1). Ao contrário do relé físico, em que existe Considerando o modo de endereçamento utilizado nessa apostila, são exemplos
um número limitado de contatos, no programa do CLP a posição de memória pode ser de identificadores:
utilizada um número indeterminado de vezes. • E0.3 – Bit 3 do byte 0 de entrada;
• S2.0 – Bit 0 do byte 2 de saída;
• M10.7 – Bit 7 do byte 10 da memória auxiliar.
Para simplificar a representação, no caso de programas pequenos que utilizem
no máximo 8 bits de entrada, saída e de memória auxiliar, serão utilizados apenas os
campos de memória e de bit (ex.: E0, S5, M3).
Prof. Eduardo José Lima II 26 Prof. Eduardo José Lima II 27
Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
Alguns fabricantes de CLPs permitem a associação de símbolos (ex: VALVULA1, E0 E1 S0 E0 S0
BOTAO3 etc.) a determinadas posições de memória e de espelho de entrada e saída de ( ) ( )
forma a tornar mais fácil a programação por parte do usuário. Ao se compilar o
programa, os símbolos são automaticamente convertidos para os respectivos S0 E1 S0
identificadores.
Assim como em circuitos de comandos elétricos, dois contatos em série
(a) reset prioritário (b) set prioritário
representam uma lógica “E”, enquanto dois contatos em paralelo representam uma
Figura 3.7 – Auto-retenção em linguagem Ladder.
lógica “OU” (Figura 3.6).

A linguagem Ladder prevê, ainda comandos de bobinas com retenção (set e


E0 S0 E0 E1 S1
reset). A Figura 3.8 mostra uma lógica equivalente à da Figura 3.7, utilizando bobinas
( ) ( ) com retenção. Observe que, como a saída somente é atualizada após o término do
E1 ciclo de execução do programa, caso as entradas E0 e E1 sejam acionadas
simultaneamente, apenas a última instrução executada tem influência no valor real da
saída, determinando assim o reset ou set prioritário.
(a) S0=E0+E1 (b) S1=E0×E1

Figura 3.6 – Lógicas E e OU em Ladder. E0 S0 E0 S0


(S ) (R )
A auto-retenção ou selo pode ser utilizada para acionar e manter o estado de
E1 S0 E1 S0
uma saída, assim como no diagrama de contatos elétricos. A Figura 3.7 mostra um
(R ) (S )
exemplo em que, quando é acionada a entrada E0 (set), a saída S0 é acionada,
permanecendo nesse estado mesmo que E0 seja desacionada. S0 apenas é
(a) reset prioritário (b) set prioritário
desacionada quando E1 (reset) é acionada (abrindo o contato NF). Na Figura 3.7(a)
Figura 3.8 – Bobinas com retenção em linguagem Ladder.
tem-se reset prioritário (a saída é desacionada quando E0 e E1 são acionadas
simultaneamente), enquanto na Figura 3.7(b) tem-se set prioritário (a saída é acionada
É importante observar uma diferença fundamental entre as bobinas normais e as
quando E0 e E1 são acionadas simultaneamente).
bobinas com retenção. Nas bobinas normais, o resultado da lógica à esquerda da
bobina, quer seja falso ou verdadeiro, é sempre escrito na memória (auxiliar ou espelho
de saída) referenciada. No caso das bobinas com retenção, seu valor é setado ou
resetado apenas se o resultado da lógica for verdadeiro. Isso significa que, caso um
programa possua várias linhas que acionem uma bobina normal referenciando uma
saída, apenas a última terá efeito real na saída, já que o resultado de sua lógica é que
será utilizado na atualização das saídas. Porém, caso várias linhas utilizem bobinas
com retenção, o efeito será equivalente a uma única linha com uma lógica OU entre as
lógicas de cada linha (Figura 3.9).
Prof. Eduardo José Lima II 28 Prof. Eduardo José Lima II 29
Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
Assim como em diagramas de contatos, em Ladder é também possível se

E1 S0 E1 S0 utilizar temporizadores com retardo na energização e na desenergização. Dependendo

(S ) (S ) do fabricante, a representação do temporizador pode variar.


O temporizador com retardo na energização, também chamado de TON,
E3 S0 E3
provoca um atraso entre a condição de ativação e o acionamento de uma saída ou
(S )
memória. A Figura 3.16(a) mostra a representação de um temporizador conforme a
E2 E4 S0 E2 E4 S0
norma IEC 61131-3. A condição de ativação deve ser ligada à entrada IN, enquanto a
(R ) (R )
saída a ser acionada (ou o restante de uma condição lógica) deve ser ligada à saída Q.
E5 S0 E5 O valor de tempo do atraso é representado por uma variável numérica ou por uma
(R ) constante, e deve ser configurada na entrada PT (preset time). A saída ET (elapsed
time) pode ser armazenada em uma variável numérica para ser utilizada em outra parte
Figura 3.9 – Equivalência entre programas utilizando bobinas com retenção . do programa.

A norma IEC 61131-3 prevê, também, a utilização de contatos sensíveis à borda


de subida ou de descida de um sinal. No caso do contato sensível à borda de subida, IN
seu valor é verdadeiro durante um ciclo de execução caso o valor da variável E3 TON S0
associada sofra uma transição de falso para verdadeiro durante o ciclo de execução IN Q ( ) Q
anterior. O contato sensível à borda de descida possui valor verdadeiro durante um
ciclo de execução quando a variável associada sofre uma transição de valor verdadeiro 3s PT ET PT
para falso. A Figura 3.10(a) mostra um programa utilizando contatos sensíveis à borda
(a) representação (b) estado da saída em função da entrada
de subida e descida, enquanto a Figura 3.10(b) mostra os estados das saídas em
função de variações da entrada (Texec é o tempo do ciclo de execução). Figura 3.11 – Temporizador TON.

O temporizador com retardo na desenergização (TOFF) aciona a saída no


E0
momento em que a condição de entrada é satisfeita, porém provoca um atraso na
desenergização da saída a partir do momento em que a entrada é desenergizada
E0 S0 S0
(Figura 3.12). A representação em Ladder é semelhante ao temporizador TON, com o
P ( )
indicador substituído por TOFF.
E0 S1 S1

N ( )
Texec
(a) programa (b) estado das saídas em função da entrada

Figura 3.10 – Contatos sensíveis à borda.

Prof. Eduardo José Lima II 30 Prof. Eduardo José Lima II 31


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
value), correspondente ao número de pulsos a serem contados. Como saídas tem-se
IN um inteiro CV (current value) que corresponde ao valor atual do contador e um sinal
E3 TOFF S0 lógico Q, que é acionado quando CV atinge o valor 0.
IN Q ( ) Q

3s PT ET E3 CTD S0
PT CD
CD Q ( )
(a) representação (b) estado da saída em função da entrada E4
LD LD
Figura 3.12 – Temporizador TOFF.

Contadores são utilizados para contar o número de pulsos de determinado sinal 3 PV CV Q


ou função lógica e acionar uma saída quando tal número atingir um valor pré-
(a) representação (b) estado da saída em função da entrada
determinado. A norma prevê três tipos básicos de contadores: counter up (CTU),
counter down (CTD) e counter up-down (CTUD). Figura 3.14 – Contador CTD.

O counter up (Figura 3.13) faz a contagem de pulsos em sentido crescente. São


utilizados 2 sinais de entrada CU (counter up), sinal a ser contado e R (reset), sinal que Considerando-se apenas a relação entre os sinais de entrada CU e CD e de

provoca o reinício da contagem. É necessário fornecer ainda um valor inteiro PV (preset saída Q, o efeito dos contadores CTU e CTD é o mesmo.

value), correspondente ao número de pulsos a serem contados. Como saídas tem-se Por último, tem-se o contador CTUD (counter up-down). Esse contador pode

um inteiro CV (current value) que corresponde ao número de pulsos contabilizados e contar pulsos de modo crescente, quando acionada a entrada CU ou decrescente

um sinal lógico Q, que é acionado quando CV atinge o valor de PV. quando acionada a entrada CD. Possui sinais de reset (R), que reinicia a contagem do
zero e load (LD), que carrega o valor de PV em CV. Como saídas, possui QU, que é
acionada quando o valor de CV atinge PV e QD que é acionada quando CV atinge 0.
E3 CTU S0 CU
CU Q ( )
E4
R R

3 PV CV Q

(a) representação (b) estado da saída em função da entrada

Figura 3.13 – Contador CTU.

Já o counter down (Figura 3.14) faz a contagem de pulsos em sentido


decrescente. São utilizados 2 sinais de entrada CD (counter down), sinal a ser contado
e LD (load), sinal que provoca o reinício da contagem a partir do valor PV (preset

Prof. Eduardo José Lima II 32 Prof. Eduardo José Lima II 33


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
E1 CTUD S0
3.3.2 - SFC
CU QU ( )
E2 S1
CD QD ( ) Como mencionado anteriormente, o diagrama Ladder simula um diagrama de
E3 contatos elétricos. Por esse motivo, simula-se um ambiente de processamento
R paralelo, ou seja, cada linha seria processada em paralelo com as outras. Esse efeito é
E4 conseguido pela utilização do ciclo de execução, que é realizado normalmente em um
LD tempo menor que as constantes de tempo do sistema. Dessa forma, essa linguagem é
apropriada para intertravamento e monitoramento de várias máquinas ao mesmo
3 PV CV tempo.
Por outro lado, para sistemas seqüenciais de automação, a programação em
Figura 3.15 – Contador CTUD linguagem Ladder pode se tornar uma tarefa tediosa e propensa a erros, já que as
linhas e condições devem ser intertravadas com outras. Nesses casos, a forma de
programação mais adequada é o SFC (Sequential Function Chart), por ser orientada a
estados e eventos do sistema.
Exemplo 3.1: Utilizando apenas contatos simples, faça um programa que substitua o
programa abaixo. O SFC é uma linguagem de programação gráfica baseada no GRAFCET. O

E0 S0 GRAFCET foi inicialmente desenvolvido na França sob o nome de GRAphe


P ( ) Functionnel de Commande Etape/Transition e é baseado nas redes de Petri
interpretadas. Em 1988 foi publicado o padrão IEC 848: “Preparation of function charts
E0 S1
for control system”, baseado na linguagem GRAFCET. Posteriormente, a norma IEC
N ( )
61131-3 introduziu modificações no GRAFCET de forma a adequá-lo às outras
linguagens definidas na norma, definindo então o SFC.
Resolução: Utiliza-se uma memória para armazenar o valor anterior de E0, ao final do
Um SFC é baseado em passos e transições, interligados por arcos direcionados.
ciclo de execução. Os contatos sensíveis à borda podem então ser substituídos por
Os passos são representados por retângulos e as transições por traços horizontais.
uma lógica que verifique o valor atual e o anterior da entrada (armazenado na
Cada transição deve estar ligada, no mínimo, a um passo de entrada e um passo de
memória):
saída, por meio de arcos direcionados.
E0 M0 S0 Os passos podem estar ativos ou inativos. A cada instante de tempo, pelo
( ) menos um passo deve estar ativo. A cada passo ativo corresponde um conjunto de
E0 M0 S1 ações a serem executadas, que na prática são sinais de saída que devem ser
( ) acionados ou desligados. Esse conjunto de ações podem ser desde simples atribuições

E0 M0 de valores de saída até programas escritos em uma das linguagens de programação

( ) de CLPs. Todo SFC deve possuir, no mínimo, um passo inicial, que estará ativo no
início da execução do programa (representado por um retângulo de linhas duplas).

Prof. Eduardo José Lima II 34 Prof. Eduardo José Lima II 35


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
Os passos são ligados a transições por meio de arcos direcionados (Figura
3.16). Os arcos de saída de um passo são conectados em sua borda inferior. Os arcos 1

de entrada são ligados a sua borda superior.


1 Botão Início

2 Liga lâmpada
1
Arco de entrada
da transição 1 2 T=5seg
1 Arco de entrada
Arco de saída da do passo 2 3 Desliga lâmpada
transição 1
2
Arco de saída do 3 T=3seg

2 passo 2

Figura 3.17 – Exemplo de SFC.


Figura 3.16 – Ligações entre passos e transições
Há casos em que duas transições podem estar ligadas a arcos de saída de um
As transições determinam as mudanças de passos. Um passo ativo habilita a lugar ou dois lugares estarem ligados aos arcos de saída de uma transição. Nesses
transição ligada a seu arco de saída. Quando as condições de disparo de uma casos, tem-se as divergências e convergências E e OU.
transição habilitada são satisfeitas, ela é disparada, desativando o passo ligado a seu
arco de entrada e ativando o passo ligado a seu arco de saída. Divergência e convergência OU
A (Figura 3.17) mostra um exemplo de SFC com três passos (sendo um inicial) e
três transições. No início da execução do programa, o passo 1 está ativo, habilitando a A divergência/convergência OU é utilizada quando se deseja que uma dentre
transição 1. Ao ser pressionado o botão de início, a transição é disparada, desativando duas ou mais seqüências seja executada.
o passo 1 e ativando o passo 2. No passo 2, é realizada a ação “Liga lâmpada”. Após No caso de uma divergência OU, um passo ativo habilita duas transições ao
decorridos 5 segundos, a transição 2 é disparada, desativando o passo 2 e ativando o mesmo tempo, porém apenas uma delas pode ser disparada. Será disparada a
passo 3, que realiza a ação “Desliga lâmpada”. Após decorridos 3 segundos, a transição cujas condições de disparo forem satisfeitas primeiro. Esse caso é
transição 3 é disparada, desativando o passo 3 e reativando o passo 1. identificado quando mais de uma transição é ligada a arcos de a saída de um passo.
No exemplo da Figura 3.18, o processo é iniciado quando é pressionado o botão
“Início”, ativando o passo 2. O passo 2 habilita as transições 2 e 4 (divergência OU).
Caso o botão 1 seja pressionado, a transição 2 é disparada, desativando o passo 2 e
ativando o passo 3. Caso o botão 2 seja pressionado, a transição 4 é disparada,
desativando o passo 2 e ativando o passo 4. Tanto o disparo da transição 3 como o da
transição 5 ativam o mesmo passo (5). Nesse caso, tem-se uma convergência OU.

Prof. Eduardo José Lima II 36 Prof. Eduardo José Lima II 37


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
1 1

1 Botão Início 1

2 Divergência OU 2
Divergência E
2
2 Botão 1 4 Botão 2

3 4 3 5

3 T=3seg 5 T=5seg 3 4

5 4 6
Convergência OU
5

Figura 3.18 – Divergência e convergência OU. Convergência E


7

Divergência e convergência E Figura 3.19 – Divergência e convergência E.

A divergência/convergência E é utilizada quando se deseja que mais de uma Na Figura 3.20 é mostrada a evolução do SFC para a seguinte seqüência de

seqüência seja executada simultaneamente. disparo de transições: 1, 2, 3, 4 e 5.

No caso de uma divergência E, o disparo de uma transição ativa mais de um


passo ao mesmo tempo. As ações relacionadas aos passos ativados são, então,
executadas simultaneamente. Esse caso é identificado quando mais de um passo é
ligado a arcos de saída de uma transição. É utilizada uma barra horizontal dupla para
indicar a divergência.
A transição associada à convergência (também identificada por barras
horizontais duplas) somente é habilitada se todos os passos conectados aos seus
arcos de entrada estiverem ativos. Ao ser disparada a transição, todos esses lugares
são então desativados e o passo conectado ao arco de saída da transição é ativado.
No exemplo da Figura 3.19, o disparo da transição 2 ativa os passos 3 e 5. As
duas seqüências (passo 3, transição 3, passo 4 e passo 5, transição 4, passo 6) são
então executadas paralelamente. A transição 5 apenas é habilitada quando as duas
seqüências forem finalizadas, ou seja, passos 4 e 6 ativos.

Prof. Eduardo José Lima II 38 Prof. Eduardo José Lima II 39


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
1 1

1 1
No caso da ocorrência de uma divergência E, deve necessariamente existir uma

2 2
ou mais convergências E de modo que torne a existir apenas um passo ativo no ramo
2 2
do programa. A Figura 3.21 mostra um SFC com uma divergência E sem a respectiva
convergência. Nesse caso, a transição 2 ativa os passos 3 e 5 simultaneamente.
3 5 3 5

Conforme a evolução do sistema, os passos 1 e 2 podem estar ativados


3 4 3 4

simultaneamente, o que causaria um conflito, já que são dois passos que deveriam ser
4 6 4 6

executados em seqüência.
5 5

7 7

(a) passo 1 ativo (b) passo 2 ativo 1

1
1 1

1 1
2

2 2
2
2 2

3 5 3 5 3 5

3 4 3 4
3 5
4 6 4 6

4 6
5 5

7 7
4 6

(c) passos 3 e 5 ativos (d) passos 4 e 5 ativos


Figura 3.21 – SFC com conflito (divergência E sem convergência).
1 1

1 1

2 2 Representação de ações
2 2

3 5 3 5 A cada passo de um SFC, podem corresponder uma ou mais ações a serem


3 4 3 4 executadas enquanto o passo estiver ativo. Essas ações devem ser representadas por
4 6 4 6
um retângulo posicionado ao lado direito do passo, como mostrado na (Figura 3.22). O
campo “a” é o qualificador da ação. Indica, por exemplo, se um sinal somente é ligado
5 5

7 7
enquanto o passo estiver ativo, ou se é ligado e permanece assim até que seja
executado um comando que o desligue. O campo “b” corresponde à descrição da ação
(e) passos 4 e 6 ativos (f) passo 7 ativo executada, normalmente indicando qual sinal será acionado, por exemplo. O campo
Prof. Eduardo José Lima IIFigura 3.20 – Evolução de um SFC. 40 Prof. Eduardo José Lima II 41
Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
“c”, chamado de indicador lógico, corresponde a qual sinal lógico indica o término de Tabela 3.1 – Qualificadores de ações
execução da ação. Esse sinal pode ser um sinal externo, como uma válvula fim de Qualificador Descrição
curso ou uma variável setada pela própria ação. Em grande parte das vezes, a
(Nenhum) Não armazenada
transição que faz o programa avançar para o próximo passo é disparada pela própria
N Não armazenada
variável indicada nesse campo.
R Reset
O campo “d” contém o programa relacionado à ação. Esse programa pode ser
escrito em qualquer uma das quatro linguagens definidas pela norma (IL, ST, LD ou S Set

FDB). Quando o campo “b” indica uma variável lógica, não é necessário se definir o L Limitada no tempo (equivalente a Toff)

campo “d”, já que a ação já está completamente definida. D Atrasada no tempo (equivalente a Ton)

P Pulso

SD Setada e com atraso de tempo. A ação é ativada após um tempo estipulado


mesmo se o passo associado for desativado antes do tempo de atraso.
2 a b c
DS Atrasada no tempo e setada. Caso o passo associado seja desativado
d
antes de completado o tempo de atraso, a ação não é setada.
Figura 3.22 – Bloco de ações associado a um passo SL Armazenada apenas durante um período de tempo.

P1 Pulso (borda de subida)


Os qualificadores de ações são definidos na (Tabela 3.1).
P0 Pulso (borda de descida)

Observe as diferenças entre os qualificadores D, SD e DS e entre os


qualificadores L e SL. Nos casos de SD e SL, as ações continuam ativas mesmo após
a desativação do passo correspondente, assim como a S. As ações D, DS e L são
imediatamente interrompidas quando o passo é desativado.
Segundo a norma, a ação é sempre executada novamente quando o passo é
desativado, porém, isso depende da implementação do fabricante.
Na Figura 3.23 são mostrados alguns exemplos de representações de ações.

Prof. Eduardo José Lima II 42 Prof. Eduardo José Lima II 43


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
dois programas equivalentes que implementam um divisor de freqüência por 2.
Observe que, no segundo caso, a utilização da condição de borda de subida reduz
7 S Abrir válvula 3 P Iniciar programa CNC
significativamente o tamanho do programa. Observe também que no segundo caso
utilizou-se o qualificador de ação N. Nesse caso, o valor da saída S0 é verdadeiro
apenas no passo 2, não sendo necessário especificar seu valor no passo 1.

9 N Fechar porta E3 4 L
Furar peça
T#20s

1 S S0

Figura 3.23 – Exemplos de ações.


E0

2 1
Representação de Transições
E0 ↑ E0
Uma transição representa as condições a serem satisfeitas para que o controle
3 R S0 2 N S0
do programa seja transferido de um ou mais passos ativos para outro(s). Como
mencionado anteriormente, uma transição está habilitada se todos os passos cujos E0 ↑ E0
arcos estejam ligados a essa transição estiverem ativos. A transição habilitada é
disparada caso as condições relacionadas a ela sejam satisfeitas. As condições de 4

disparo de uma transição podem ser definidas em quaisquer das linguagens definidas
E0
pela norma IEC 61131-3. Nessa apostila as condições serão definidas como funções
lógicas (Figura 3.24). Essas funções podem ser traduzidas para qualquer uma das
Figura 3.25 – Divisor de freqüência por 2.
linguagens de programação.

3.4 - Exercícios
2 8

Exercício 3.1: Descreva o funcionamento do programa abaixo. Qual o resultado efetivo


5 E2 E E3 9 (
A + B× C )
do programa? Como alterá-lo de modo a funcionar como seria esperado?

3 9 E0 S0
( )
Figura 3.24 – Exemplo de condições lógicas associadas transições. E0 S0
( )
As condições de disparo podem também envolver condições de mudança de
estado de uma variável (borda de subida ou de descida). Na Figura 3.25 são mostrados
Prof. Eduardo José Lima II 44 Prof. Eduardo José Lima II 45
Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
Exercício 3.2: Dada a lógica de comando digital abaixo, escreva um programa robô em funcionamento por meio de um sinal de saída RB. Quando o número de peças
equivalente para CLP em linguagem Ladder. (Questão do Exame Nacional de Cursos no buffer chegar a 10, a esteira deve ser desligada. A entrada de peças no buffer é
de 1998) detectada por um sensor ENT. Sempre que o robô retira uma peça do buffer, sinaliza

E1
para o CLP com um sinal SAI. Faça um programa em Ladder para controlar esse

E2
sistema.
S1

Exercício 3.5: Faça, utilizando SFC, um divisor de freqüência por 4.


E3

S2

E4

Exercício 3.3: O início de operação de uma máquina depende da condição de três


sensores, S1, S2 e S3. O início da seqüência se dá somente quando uma das seguintes
condições é satisfeita:
S1 S2 S3
0 0 1
0 1 0
0 1 1
1 0 0
1 1 0

Em todas as outras condições a operação da máquina não deve ser iniciada.

Pede-se:

a) Mapa de Karnaugh do comando de acionamento de início da operação.


b) Equação booleana baseada no mapa de Karnaugh.
c) Diagrama elétrico da equação booleana. Considere que os sensores possuam
apenas um contato NA disponível.
d) Diagrama Ladder da equação booleana.

Exercício 3.4: Considere um sistema de produção de peças com um buffer de entrada


alimentado por uma esteira. Enquanto houver peças no buffer, o CLP deve manter um
Prof. Eduardo José Lima II 46 Prof. Eduardo José Lima II 47
Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
E0 Botão de início (ST) S0 Solenóide A+
4. Programação de sistemas seqüenciais em CLPs
E1 Fim de curso A0 S1 Solenóide A-

4.1 - Automação pneumática utilizando Ladder E2 Fim de curso A1 S2 Solenóide B+

E3 Fim de curso B0 S3 Solenóide B-


Por se basear na representação de contatos elétricos, a lógica de programação
em Ladder de sistemas seqüenciais pneumáticos é bastante semelhante aos E4 Fim de curso B1
diagramas de contatos.
Para seqüências diretas de acionamento, utiliza-se o método intuitivo para O diagrama a seguir mostra as ligações realizadas no CLP.
especificação da lógica, em que a conclusão de cada movimento comanda diretamente
ST A0 A1 B0 B1
o início do movimento seguinte. O exemplo a seguir mostra o programa em Ladder
para uma seqüência direta.

COM

IN0

IN1

IN2

IN3

IN4

IN5

IN6

IN7
Exemplo 4.1: Seqüência A+ B+ A- B-.
A seguir é mostrado o diagrama pneumático do sistema. São utilizadas duas válvulas 24Vcc
de 5/2 vias (5 vias e 2 posições) acionadas por duplo solenóide, dois cilindros de dupla
ação e 4 sensores de fim de curso (contatos NA acionados por roletes).

OUT0

OUT1

OUT2

OUT3

OUT6

OUT7
OUT4

OUT5
COM
A0 A1 B0 B1

A+ A- B+ B-

A+ A- B+ B-
O programa em Ladder é semelhante ao diagrama de contatos elétricos do Exemplo
2.9:

As tabelas a seguir mostram a equivalência entre os sinais de entrada e saída do CLP


e os sensores e solenóides.

Prof. Eduardo José Lima II 48 Prof. Eduardo José Lima II 49


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
E0 E3 S0 Cada um dos movimentos da seqüência deve ser representada por um passo do

( ) SFC, e cada confirmação de movimento (sensores fim de curso) dispara uma transição.
O exemplo a seguir mostra a programação de uma seqüência simples.
E2 S2
( )
Exemplo 4.2: O SFC a seguir mostra a programação da seqüência A+ B+ B- A-.
E4 S1
( )
1 N Recuar A A0
E1 S3 N Recuar B B0

( )
1 A0 × B0

2 ST
O início da seqüência (avanço de A, S0) se dá com o comando do botão de início
(E0), desde que o atuador B esteja recuado (rolete B0, E3). Quando A chega ao fim de 3 N Avançar A A1

curso e aciona o rolete A1 (E2), o avanço de B é comandado (S2). Quando B chega 3 A1

ao fim de curso e aciona o rolete B1 (E4), é comandado o recuo de A (S1). 4 N Avançar B B1

Finalmente, quando A aciona o rolete A0 (E1), é comandado o recuo de B. 4 B1

5 N Recuar B B0

5 B0
Para seqüências indiretas, pode-se utilizar o método de maximização de
6 N Recuar A A0
contatos ou de minimização de contatos [Parker, 2001] para geração do programa em
Ladder. Nessa apostila será mostrada a utilização da representação em SFC, por ser 6 A0

mais poderosa no sentido de permitir uma mais fácil representação de seqüências


alternativas e eventuais alterações na seqüência de acionamento. No Capítulo 5 é
O passo inicial, 1, comanda o recuo dos cilindros A e B de modo a levar o sistema a
mostrada uma metodologia para conversão de programas representados em SFC para
sua posição inicial. A transição 1 é disparada quando os sensores A0 e B0 confirmam
a linguagem Ladder.
essa posição. No passo 2, nenhuma ação é executada. Apenas é aguardado que seja
pressionado o botão ST para o disparo da transição 2. Os passos 3, 4, 5 e 6 executam
4.2 - Automação pneumática utilizando SFC
cada um dos movimentos da seqüência. A cada passo aguarda-se a confirmação do
término do movimento indicado pelo respectivo sensor. Ao término da seqüência, após
Como mencionado anteriormente, a representação SFC permite a programação
o recuo do atuador A, o programa retorna para o passo 2, em que se aguarda um novo
de movimentos seqüenciais de uma forma por meio de uma linguagem gráfica e de
comando pelo botão ST.
fácil interpretação. Para seqüências pneumáticas indiretas, uma das soluções mais
simples é a utilização de SFC.

Prof. Eduardo José Lima II 50 Prof. Eduardo José Lima II 51


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
Exemplo 4.3: O SFC a seguir mostra a programação da seqüência A+ B+ A- A+ A- B-. Exemplo 4.4: Seqüência A+ B+ (A- B-) C+ C-.

1 N Recuar A A0 1 N Recuar A A0

N Recuar B B0 N Recuar B B0

N Recuar C C0
1 A0× B0

1 A0 × B0 × C0
2

2
2 ST

2 ST
3 N Avançar A A1

3 N Avançar A A1
3 A1

3 A1
4 N Avançar B B1

4 N Avançar B B1
4 B1

4 B1
5 N Recuar A A0

5 N Recuar A A0
5 A0
N Recuar B B0

6 N Avançar A A1
5 A0× B0

6 A1
6 N Avançar C C1
7 N Recuar A A0
6 C1
7 A0
7 N Recuar C C0
8 N Recuar B B0
7 C0
8 B0

Seqüências em que dois ou mais movimentos ocorrem simultaneamente são


representados da seguinte forma:
A+ B+ (A- B-) C+ C-.
Nesse caso, após o avanço de B, o recuo de A e B ocorrem simultaneamente. É
importante observar que, como o recuo de A não tem necessariamente a mesma
duração do recuo de B, é necessária a confirmação de ambos os movimentos antes
que seja comandado o avanço de C.

Prof. Eduardo José Lima II 52 Prof. Eduardo José Lima II 53


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
Exemplo 4.5: Após pressionado um botão ST, um sistema pneumático deve avançar Exemplo 4.6: Após pressionado um botão ST, um sistema pneumático deve avançar
um cilindro A. Após o término desse avanço, dois cilindros B e C devem avançar e um cilindro A. Após o término desse avanço, a posição de uma chave seletora CH
recuar, não necessariamente sincronizadamente. Após o recuo de ambos, o cilindro A determinará qual das seqüências B+ B- ou C+ C- será realizada. Após o término dessa
deve recuar. seqüência, o cilindro A deve recuar.

1 N Recuar A A0 1 N Recuar A A0

N Recuar B B0 N Recuar B B0

N Recuar C C0 N Recuar C C0

1 A0 × B0 × C0 1 A0 × B0 × C0

2 2

2 ST 2 ST

3 N Avançar A A1 3 N Avançar A A1

3 A1 3 A1× CH 6 A1× CH

4 N Avançar B B1 6 N Avançar C C1 4 N Avançar B B1 6 N Avançar C C1

4 B1 5 C1 4 B1 7 C1

5 N Recuar B B0 7 N Recuar C C0 5 N Recuar B B0 7 N Recuar C C0

6 5 B0 8 C0
B0× C0

8 N Recuar A A0 8 N Recuar A A0

7 A0 9 A0

4.3 - Exercícios

Exercício 4.1: Faça um programa em Ladder para o comando da seguinte seqüência


de acionamento de cilindros pneumáticos:
A+ C+ B+ A- C- B-
Pede-se:
(a) Diagrama pneumático
(b) Diagrama de ligações de sensores e atuadores no CLP
(c) Tabela de sinais
(d) Programa em Ladder

Prof. Eduardo José Lima II 54 Prof. Eduardo José Lima II 55


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
Exercício 4.2: Faça um programa em SFC para o comando da seguinte seqüência de
acionamento de cilindros pneumáticos: 5. Conversão de Programas em SFC para Ladder
A+ C+ C- B+ A- B-
Apesar de alguns ambientes de programação de CLPs possuírem a opção de se
programar diretamente em SFC (ou Graphcet), essa opção pode não ser atraente, já
que seria necessária a aquisição de uma licença para a utilização de tal ambiente.
Como a linguagem Ladder é normalmente a mais utilizada, pode ser interessante
realizar o projeto do sistema em SFC e depois convertê-lo para Ladder. Esse capítulo
mostra uma metodologia objetiva para realizar tal conversão, o que minimiza ou
extingue a possibilidade de erros.

5.1 - Representação dos passos

Cada passo de um SFC pode, em um determinado momento, estar ativo ou


inativo. Dessa forma, para cada passo é utilizado um bit de memória para representar
seu estado. É conveniente representar cada passo por um bit de memória com a
mesma numeração de seu endereço, ou seja, passo 1 como M1, passo 2 como M2 etc.
Para SFCs com mais de 8 passos, é conveniente numerá-los segundo a base de
numeração octal. Na base octal, cada dígito de um número pode possuir valores de 0 a
7, ou seja, o número sucessor de 7 é 10, o de 17 é 20, e assim por diante. Assim, se
tem a seguinte relação:

Passo Memória Passo Memória Passo Memória


0 M0.0 10 M1.0 20 M2.0
1 M0.1 11 M1.1 21 M2.1
2 M0.2 12 M1.2 22 M2.2
3 M0.3 13 M1.3 23 M2.3
4 M0.4 14 M1.4 24 M2.4
5 M0.5 15 M1.5 25 M2.5
6 M0.6 16 M1.6 26 M2.6
7 M0.7 17 M1.7 27 M2.7

Prof. Eduardo José Lima II 56 Prof. Eduardo José Lima II 57


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
Para cada ação, deve ser criada uma linha no programa Ladder, que deve ser Qualificador N (ou nenhum)
executada apenas quando o respectivo passo estiver ativo. A forma de se programar
cada ação depende de seu qualificador. O qualificador N (ou nenhum qualificador especificado) realiza ações que
somente são válidas enquanto o passo correspondente está ativo. Portanto, nesse
Qualificadores S e R (set e reset) caso, utiliza-se bobinas comuns (sem retenção), como mostrado na Figura 5.3.

Os qualificadores S e R devem setar ou resetar um sinal de saída quando o


passo correspondente estiver ativo. Utilizam-se então bobinas com retenção (S e R) M1.5 S2.1
que são ativadas pelas memórias correspondentes aos passos em que são realizadas
15 N S2.1
( )
as ações. A Figura 5.1 mostra a programação em Ladder de uma ação com
qualificador S e a Figura 5.2 mostra a programação de uma ação com qualificador R.
Figura 5.3 – Programação em Ladder de ação com qualificador N.

Diferentemente das bobinas com retenção (S e R) que são executadas somente


M0.3 S3.2
quando a condição de ativação é verdadeira, as bobinas comuns são sempre
3 S S3.2
(S ) executadas, escrevendo na saída valor verdadeiro caso a condição seja verdadeira, e
falso caso a condição seja falsa. Dessa forma, caso uma mesma ação com qualificador
Figura 5.1 – Programação em Ladder de ação com qualificador S. N seja executada em mais de um passo, deve ser utilizada uma condição de
acionamento OU entre as memórias correspondentes aos passos em que a ação é
executada (Figura 5.4).
M0.7 S3.2
7 R S3.2
(R )
8 N S2.5
Figura 5.2 – Programação em Ladder de ação com qualificador R.
M0.8 S2.5
( )
Caso dois passos diferentes referenciem uma mesma saída com o mesmo M1.4
qualificador (por exemplo, uma saída pode ser setada em dois pontos diferentes do
14 N S2.5
programa), pode-se utilizar uma lógica ou entre as memórias correspondentes aos dois
passos, com o objetivo de se diminuir o tamanho do programa. Porém, dada a
característica das bobinas S e R de serem executadas apenas se a condição de
Figura 5.4 – Programação em Ladder de uma mesma ação N acionada em dois
ativação for verdadeira, não há problema em se programarem duas linhas em Ladder passos diferentes.
que referenciem a mesma saída com bobinas S e R (ver Figura 3.9).

Prof. Eduardo José Lima II 58 Prof. Eduardo José Lima II 59


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
Qualificador D
Passo Passo
ativo ativo

O qualificador D determina que a ação deve ser iniciada após decorrido um Ação Ação

intervalo de tempo especificado desde a ativação do passo, e finalizada quando o


passo é desativado. Caso o passo seja desativado antes de a ação ser iniciada, a t t

mesma não é executada (Figura 5.5). Figura 5.7 – Execução da ação com qualificador L.

Passo Passo
A programação em Ladder deve utilizar uma memória auxiliar que é acionada
ativo ativo
quando decorrido o tempo t após o passo acionado. A execução da ação depende do
Ação Ação passo estar acionado e a memória auxiliar não estar ativa, como mostrado na Figura
5.8.
t t

Figura 5.5 – Execução da ação com qualificador D.


M1.0 TON M9.0
A programação dessa ação em Ladder é feita pela utilização de um IN Q ( )
temporizador TON acionado pela memória correspondente ao passo em que a ação pe
L
4s PT ET
executada. 10 S3.2
T#4s

M1.0 M9.0 S3.2


TON
M1.4 S5.3 ( )
14 D
S5.3
IN Q ( )
T#8s
Figura 5.8 – Programação em Ladder de ação com qualificador L.
8s PT ET

Figura 5.6 – Programação em Ladder de ação com qualificador D.


Qualificador P

Qualificador L O qualificador P (pulso) determina que a ação deve ser executada durante um
intervalo de tempo muito pequeno, ou seja, durante um ciclo de varredura do programa.

O qualificador L determina que a ação deve ser iniciada e mantida enquanto o


passo estiver ativo e enquanto o tempo especificado não tiver sido atingido, ou seja:

Prof. Eduardo José Lima II 60 Prof. Eduardo José Lima II 61


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
M4.4 TON S1.7
M2.3 S2.7
23 P S2.7
P ( ) 44 DS
T#5s
S1.7 IN Q (S )
5s PT ET
Figura 5.9 – Programação em Ladder de ação com qualificador P.
53 R S1.7 M5.3 S1.7
(R )
Qualificador SD
Figura 5.11 – Programação em Ladder de ação com qualificador DS.
O qualificador SD determina que a ação deve ser armazenada e iniciada após
um tempo especificado, mesmo que a etapa não esteja mais ativa. A ação deve ser
interrompida em outro passo por uma ação com qualificador R. Para programar essa Qualificador SL
ação em Ladder, utiliza-se uma memória auxiliar.
O qualificador SL determina que a ação deve ser setada quando o passo se
tornar ativo e resetada após decorrido determinado período de tempo. A diferença
M4.3 M9.1 entre os qualificadores L e o SL é que com o qualificador L, a ação é interrompida
(S ) quando o passo é desativado, enquanto com a SL a mesma somente é interrompida
43 SD
T#3s
S1.6 M5.2 M9.1 quando decorrido um período de tempo. Opcionalmente, a ação pode ser interrompida
(R ) por outro passo com a utilização de um qualificador R.

M9.1 TON S1.6


52 R S1.6 IN Q ( ) M3.7 S1.8
(S )
3s PT ET
37 SL S1.8 TON S1.8
S1.8
Figura 5.10 – Programação em Ladder de ação com qualificador SD.
T#10s
IN Q (R )
10s PT ET
Qualificador DS
Figura 5.12 – Programação em Ladder de ação com qualificador SL.

O qualificador SD determina que a ação deve ser setada após decorrido


determinado período de tempo. Caso o passo associado seja desativado antes do
término da contagem de tempo, a ação não é executada. Também é necessário que
outro passo interrompa a execução da ação com um qualificador R.

Prof. Eduardo José Lima II 62 Prof. Eduardo José Lima II 63


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
Qualificadores P1 e P0

1 M0.1 I0.4 M0.1


O qualificador P1 (pulso, borda de subida) é executado quando o passo
(R )
correspondente é ativado, enquanto o qualificador P0 é executado quando o passo é 1 I0.4
M0.2
desativado.
2
( S)

M1.6 S2.2
P ( ) Figura 5.14 – Programação em Ladder de transição disparada por um sinal de
16 P1 S2.2 entrada do CLP.
M1.6 S2.3
P0 S2.3
N ( ) A Figura 5.15 mostra a conversão para Ladder de uma transição disparada por
uma função lógica de sinais de entrada do CLP.
Figura 5.13 – Programação em Ladder de ação com qualificadores P1 e P0.

A diferença entre o qualificador P1 e o qualificador P é que o qualificador P1


gera um pulso na saída mesmo que outro passo esteja resetando a mesma saída. 2 M0.2 I0.6 I0.7 M0.2
Nesses casos, é necessário verificar a ordem em que as linhas em Ladder são (R )
2 I0.6 E I0.7
inseridas considerando o ciclo de varredura do CLP. M0.3
3
( S)
5.2 - Representação das transições

Considerando que cada passo do SFC é representado por um bit de memória, Figura 5.15 – Programação em Ladder de transição disparada por um sinal de
entrada do CLP.
as transições devem setar ou resetar tais bits de acordo com a leitura de sinais ou
outras condições determinadas para seu disparo. Para cada transição deve ser
Caso o disparo da transição dependa da borda de subida ou de descida de um
programada uma linha em Ladder.
sinal, utilizam-se contados sensíveis à borda (como mostrado na Figura 3.10) como
A Figura 5.14 mostra a conversão para Ladder de uma transição disparada por
condição de disparo.
um sinal de entrada do CLP. A lógica da linha é a seguinte: se o passo 1 estiver ativo e
Para transições temporizadas, utilizam-se temporizadores acionados pelas
o sinal I0.4 for acionado, então desative o passo 1 e ative o passo 2.
memórias dos respectivos passos (Figura 5.16).

Prof. Eduardo José Lima II 64 Prof. Eduardo José Lima II 65


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
M0.4 M0.6 I0.5 M0.4
3 M0.3 TON M0.3 4 6
(R )
IN Q ( R) M0.6
3 t=5s
M0.4 5 I0.5 ( R)
5s PT ET
4 (S ) 7 M0.7
( S)
Figura 5.16 – Programação em Ladder de transição temporizada.
Figura 5.18 – Programação em Ladder de convergência E.

No caso de divergências OU, considera-se simplesmente que duas ou mais


transições são habilitadas por um mesmo passo. A condição de disparo de cada uma
5.3 - Organização do programa
irá determinar qual delas irá disparar. Do mesmo modo, na convergência OU, duas ou
mais transições são capazes de ativar o mesmo passo. Isso não causa nenhum
Foi mostrado como cada passo e cada transição devem ser convertidos para
problema no programa em Ladder, já que contatos com retenção (set e reset) podem
Ladder. A princípio, como o CLP simula a execução simultânea de todas as linhas, a
aparecer várias vezes em um mesmo programa acionando uma mesma memória.
ordem em que as mesmas são colocadas não teria importância. Porém, deve ser
No caso de divergências E, as memórias correspondentes aos passos a serem
tomado o cuidado para evitar que duas transições consecutivas sejam disparadas em
ativados devem ser setadas simultaneamente (Figura 5.17). Nas convergências E,
um mesmo ciclo de varredura sem que as ações correspondentes ao passo
mais de um passo deve estar ativo para que a transição seja habilitada. Assim, deve-se
intermediário entre elas sejam executadas. Para isso, pode-se posicionar as linhas no
utilizar uma lógica E entre as memórias correspondentes (Figura 5.18).
programa Ladder na mesma ordem em que elas aparecem no diagrama (passo,
transição, passo, transição etc.) Porém, para SFCs mais complexos, com tarefas sendo
M0.2 I0.4 M0.2 executadas em paralelo, tal tarefa pode-se tornar difícil. Além disso, caso algum passo

2
(R ) anule a ação de um passo anterior e ambos sejam acionados em seqüência em um
M0.3 mesmo ciclo de varredura, a ação do primeiro não terá efeito na saída do CLP.
2 I0.4
( S) Podem ser utilizadas, portanto, duas soluções para o problema. A primeira utiliza
instruções de salto do compilador Lader. Todas as transições são então representadas
3 5 M0.5
( S) no início do programa e todos os passos em seguida. Após o disparo de cada
transição, é utilizado um comando de salto para o início do bloco dos passos. Isso evita
que duas transições sejam disparadas em um mesmo ciclo de varredura, forçando que
Figura 5.17 – Programação em Ladder de divergência E.
as ações correspondentes aos passos ativados por cada transição sempre sejam
executados por pelo menos um ciclo de varredura.
Porém, como nem todos compiladores necessariamente possuem instruções de
salto e para efeitos de compatibilidade entre controladores diferentes, pode-se utilizar
um bit de memória que represente que alguma transição já foi disparada no ciclo de
Prof. Eduardo José Lima II 66 Prof. Eduardo José Lima II 67
Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
varredura atual. Todas as linhas de disparo de transições verificam, então caso alguma
M0.2 M0.3 M0.4 M0.1
transição já tenha sido disparada. Caso afirmativo, a linha não é executada. Caso
(S)
contrário, a transição pode ser disparada. Sempre que ocorrer o disparo de uma
transição, tal bit de memória deve ser ativado. Além disso, no início do programa, uma M9.7
linha deve desativar esse bit para que seja possível disparar uma transição. A Figura (S)
5.19 mostra essa solução.
Figura 5.20 – Linha de inicialização do programa.

M9.7 M9.7 Exemplo 5.1: O SFC a seguir mostra a programação da seqüência A+ B+ B- A-


( R) (Exemplo 4.2). Em seguida é mostrada a conversão do SFC para Ladder.

M9.7 M0.2 I0.1 M0.2 1 N Recuar A A0

2
( R) N Recuar B B0

M0.3 1 A0× B0

5 I0.1 (S ) 2

3
M9.7 2 ST

(S ) 3 N Avançar A A1
6 I0.2
M9.7 M0.3 I0.2 M0.3
( R)
3 A1

4
4 N Avançar B B1
M0.4
(S ) 4 B1

M9.7 5 N Recuar B B0

(S ) 5 B0

6 N Recuar A A0
Figura 5.19 – Utilização de bit de memória para evitar que mais de uma transição
seja disparada em um mesmo ciclo de varredura. 6 A0

Finalmente, é necessário que, no início do programa, o passo inicial seja


acionado. Isso pode ser realizado pela rotina de inicialização do CLP (caso esteja
disponível) ou por uma linha no início do programa que verifique se todos os passos
estão desativados. Caso afirmativo, o passo inicial é acionado (Figura 5.20).

Prof. Eduardo José Lima II 68 Prof. Eduardo José Lima II 69


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
M9.7 M9.7 M9.7 M0.5 B0 M0.5
(R) ( R) Como nesse caso não há o risco de duas transições serem disparadas em um
M0.6 mesmo ciclo, já que cada passo tem a duração mínima do tempo de movimento dos
M0.1 M0.2 M0.3 (S ) atuadores, pode-se simplificar o programa eliminando o bit de memória M9.7:
M9.7
M0.4 M0.5 M0.6 M0.1 (S ) M0.1 M0.2 M0.3 M0.5 B0 M0.5
(S)
M9.7 M0.6 A0 M0.6 ( R)
M9.7 ( R) M0.4 M0.5 M0.6 M0.1 M0.6
( S) M0.2 ( S) (S )
M9.7 M0.1 (S ) M0.1 A0 B0 M0.1 M0.6 A0 M0.6
M9.7 ( R) ( R)
A0 B0 M0.1 (S ) M0.2 M0.2
(R) M0.1 A- ( S) (S )
M0.2 ( ) M0.2 ST M0.2 M0.1 A-
( S) M0.6 ( R) ( )
M9.7
M0.3 M0.6
( S) M0.1 B- ( S)
M9.7 M0.2 ST M0.2 ( ) M0.3 A1 M0.3 M0.1 B-
(R) M0.5 ( R) ( )
M0.3
M0.4 M0.5
( S) M0.3 A+ ( S)
M9.7 ( ) M0.4 B1 M0.4 M0.3 A+
( S) M0.4 B+ ( R) ( )
M9.7 M0.3 A1 M0.3 ( ) M0.5 M0.4 B+
(R) ( S) ( )
M0.4
( S)
M9.7
5.4 - Exercícios
( S)
M9.7 M0.4 B1 M0.4
Exercício 5.1: Faça a conversão para Ladder dos SFCs a seguir:
(R)
M0.5
( S)
M9.7
( S)
Prof. Eduardo José Lima II 70 Prof. Eduardo José Lima II 71
Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br
1 N Recuar A A0 1 N Recuar A A0 1 N Recuar A A0

N Recuar B B0 N Recuar B B0 N Recuar B B0

1 A0× B0 1 A0 × B0
N Recuar C C0
Referências Bibliográficas
1 A0 × B0 × C0
2 2

2
2 ST 2 ST

2 ST
3 N Avançar A A1 3 N Avançar A A1

3 A1 3 A1
3 N Avançar A A1 [Gomes, 2004] Gomes, B. S., SENAI-RJ – Automação, Investimento que dá retorno
3 A1
4 N Avançar B B1 4 N Avançar B B1

4 N Avançar B B1
4 B1 4 B1

5 N Recuar B B0 5 N Recuar A A0
4 B1
[ISaGRAF, 2004] ISaGRAF Inc. ISaGRAF Version 3.5 User Manual, Canadá, 2004.
5 N Recuar A A0
5 B0 5 A0
N Recuar B B0

6 N Recuar A A0 6 N Avançar A A1
5 A0 × B0

6 A0 6 A1
6 N Avançar C C1
[Parker, 2001] Parker Hannifin Ind. Com. Ltda. Tecnologia Eletropneumática Industrial,
7 N Recuar A A0

7 A0
6 C1
Apostila de treinamento do fabricante, Jacareí-SP, 2001.
7 N Recuar C C0
8 N Recuar B B0
7 C0
8 B0

[PLCopen, 2005] PLCopen. IEC 61131: a norma para programação.


Exemplo 4.2 Exemplo 4.3 Exemplo 4.4
http://www.plcopen.org, acessado em 19/10/2006.

1 N Recuar A A0 1 N Recuar A A0

N Recuar B B0 N Recuar B B0

N Recuar C C0 N Recuar C C0

1 A0 × B0 × C0 1 A0 × B0 × C0

2 2

2 ST 2 ST

3 N Avançar A A1 3 N Avançar A A1

3 A1 3 A1× CH 6 A1× CH

4 N Avançar B B1 6 N Avançar C C1 4 N Avançar B B1 6 N Avançar C C1

4 B1 5 C1 4 B1 7 C1

5 N Recuar B B0 7 N Recuar C C0 5 N Recuar B B0 7 N Recuar C C0

5 B0 8 C0
6 B0 × C0

8 N Recuar A A0 8 N Recuar A A0

7 A0 9 A0

Exemplo 4.5 Exemplo 4.6

Prof. Eduardo José Lima II 72 Prof. Eduardo José Lima II 73


Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
eduardo@demec.ufmg.br eduardo@demec.ufmg.br

Você também pode gostar