Professional Documents
Culture Documents
Carlos Leal
2008
Copyright 2008 por SENAI-DR BA. Todos os direitos reservados.
Normalização: XOXOXOXOX
_________________________________________________
CDD 005.3
_________________________________________________
II
ÍNDICE
1Histórico dos CLPs 6
2Estrutura Básica de um CLP 10
2.1Entradas 11
2.2Saída 15
2.3Unidade Central de Processamento (Central Processing Unit – CPU) 18
2.4O que caracteriza o tamanho do CLP? 19
2.5Método de Processamento 20
2.6Tipos de Memória de Aplicação 22
2.6.1Dados, Memória e Endereçamento 23
2.6.2Partes de um endereço 24
2.7Fornecimento de alimentação 26
2.8Dispositivos de Programação 27
2.9Linguagens de Programação 28
2.9.1Linguagens de programação de CLP’s 30
2.9.1.1Diagrama de Blocos Lógicos 31
2.9.1.2Lista de Instrução 31
2.9.1.3Diagrama de Contatos 32
3Modos de operação 33
3.1Modo Stop 33
3.2Modo RUN 34
4Modelos de Arquitetura de CLP’s 34
5Programação do CLP em Ladder 37
5.1Instruções de Bit 37
5.2Instruções de Temporização 45
5.3Instruções de Contagem. 51
5.3.1Contagem Crescente e Decrescente para CLP Schneider 51
5.4Bloco Comparador 53
5.5Instrução Operate 55
5.5.1Instruções matemáticas 55
5.5.1.1 Adição 55
5.5.1.2Subtração 55
5.5.1.3Multiplicação 56
5.5.1.4Divisão 56
III
5.5.2Movimentação de dados 56
5.5.3 Incremento e Decremento 57
5.5.4Conversão de dados 58
5.5.5 Indexação 58
IV
Apresentação
Com o objetivo de apoiar e proporcionar a melhoria contínua do padrão de qualidade
e produtividade da indústria, o SENAI-BA desenvolve programas de educação profissional e
superior, além de prestar serviços técnicos e tecnológicos. Essas atividades, com conteúdos
tecnológicos são direcionadas para indústrias nos diversos segmentos, através de
programas de educação profissional, consultorias e informação tecnológica, para
profissionais da área industrial ou para pessoas que desejam profissionalizar-se visando
inserir-se no mercado de trabalho.
Este material didático foi preparado para funcionar como instrumento de consulta.
Possui informações que são aplicáveis de forma prática no dia-a-dia do profissional, e
apresenta uma linguagem simples e de fácil assimilação. É um meio que possibilita, de
forma eficiente, o aperfeiçoamento do aluno através do estudo do conteúdo apresentado no
módulo.
V
1 Histórico dos CLPs
Segundo a NEMA (National Eletrical Manufactures Association), o Controlador
Lógico programável (CLP) é definido como aparelho eletrônico digital que utiliza uma
memória programável para o armazenamento interno de instruções específicas, tais
como; lógica, sequenciamento, temporização, contagem e aritmética, para controlar,
através de módulos de entradas e saídas, vários tipos de máquinas e processos.
Figura 1
6
robustez de seus componentes de estado sólido quando comparados às peças móveis
dos relés eletromecânicos. Os CLPs permitiram reduzir os custos de materiais, mão-
de-obra, instalação e localização de falhas ao reduzir a necessidade de fiação e os
erros associados. Os CLPs ocupavam menos espaço do que os contadores,
temporizadores e outros componentes de controle anteriormente utilizados.
Talvez, a razão principal da aceitação dos CLPs pela indústria, foi que a
linguagem inicial de programação era baseada nos diagramas de contato (ladder) e
símbolos elétricos usados normalmente pelos eletricistas. A maior parte do pessoal de
fábrica já estava treinada em lógica ladder, adaptando-a rapidamente nos CLPs.
7
• Flexibilidade. As modificações no programa podem ser feitas com
pouca digitação. Os OEMs (fabricantes do equipamento original) podem
realizar facilmente as atualizações no sistema, bastando enviar um
novo programa em vez de um técnico. Os usuários finais podem
modificar o programa em campo ou, por outro lado, os OEMs podem
evitar que os usuários finais alterem o programa (o que é uma
importante característica de segurança).
Outras Características
8
• Sinalizadores de estado e módulos tipo plug-in-play de fácil
manutenção e substituição.
Aplicações Tradicionais
9
2 Estrutura Básica de um CLP
A Estrutura básica de um controlador programável adveio do hardware básico
de um computador. Podemos afirmar que um CLP é um computador para aplicações
específicas.
1. Entradas
2. Saídas
5. Fornecimento de alimentação
6. Dispositivo de programação
Figura 2
10
2.1 Entradas
11
Figura 3
12
Na tabela 1 podemos ver a função de cada bloco:
Parte Função
Tabela 1
13
Dependendo da natureza do sinal de entrada, podemos dispor dos seguintes
tipos de módulos de entrada descritos na tabela 2:
TIPO CARACTERÍSTICAS
48 Vdc source;
48 Vdc sinking
Tabela 2
14
2.2 Saída
Figura 4
15
Tabela 3 onde podemos ver a função de cada bloco:
Parte Função
Tabela 3
TIPO CARACTERÍSTICAS
16
24Vdc com suprimento; 12 a 24Vdc com dreno; 48Vdc com
suprimento; 48Vdc com dreno.
Tabela 4
17
Os módulos de saída podem acionar os seguintes tipos de dispositivos de
saída:
Discretos:
Analógicos:
Figura 5
18
entrada e saída, valores predefinidos e acumulados de contadores/temporizadores e
outras constantes e variáveis. Juntas, estas duas áreas são chamadas de memória de
aplicação ou memória do usuário. Veja a figura 5:
Na figura 6 vários critérios são utilizados para classificar um CLP como micro,
pequeno, médio ou grande, entre eles: funcionalidade, número de entradas e saídas,
custo e dimensões físicas.
Figura 6
19
• Estrutura Modular. É aquele que tem componentes separados, porém
interligados e podem ser expandidos com o acréscimo de mais módulos
de E/S no chassi.
• Processamento cíclico
20
O termo varredura ou scan, é usado para dar um nome a um ciclo completo de
operação (loop). O tempo gasto para a execução do ciclo completo é chamado
Tempo de Varredura, e depende do tamanho do programa do usuário e a quantidade
de pontos de entrada e saída.
Ciclo de Operação
Figura 8
21
uma saída será ou não energizada. O estado resultante das saídas é
armazenado em uma região da memória denominada “tabela imagem
de saída”.
22
A memória não volátil retém seu conteúdo programado, sem usar bateria ou
capacitor, mesmo se houver interrupção do fornecimento de alimentação. A memória
EEPROM (Electrically Erasable Programmable Read Only Memory – Memória de
Leitura Eletricamente Apagável e Programável) é uma memória não volátil com a
mesma flexibilidade da memória RAM, sendo programada por meio de um software de
aplicação que roda em um computador pessoal ou por meio de um Terminal de
Programação (Hand-Held).
23
endereço está relacionado ao terminal onde os dispositivos de entrada e saída estão
conectados.
Exemplos
24
Número zero do arquivo de Temporizador. Quando se quiser trabalhar com acumulado
do contador é só colocar seu endereço ponto a palavra correspondente ao acumulado,
Ex: %C0.V
Apesar dos CLPs operarem de forma binária (1 e 0), eles também usam o
binário para converter, aceitar e manipular dados de outros sistemas de numeração.
Estes sistemas incluem o decimal, o hexadecimal, o decimal codificado em binário
(BCD) e o octal. Ver tabela 5.
0 0 0000 0000 0
1 1 0001 0001 1
2 2 0010 0010 2
3 3 0011 0011 3
4 4 0100 0100 4
5 5 0101 0101 5
6 6 0110 0110 6
7 7 0111 0111 7
25
8 8 1000 1000 10
9 9 1001 1001 11
10 A 1010 12
11 B 1011 13
12 C 1100 14
13 D 1101 15
14 E 1110 16
15 F 1111 17
Tabela 5
26
problema. Neste caso, o CLP deve ser isolado por meio da instalação de um
transformador de isolação.
Figura 9
27
Figura 10
Classificação
28
Linguagem de baixo nível
PROGRAMA PROGRAMA
PROGRAMA MICRO
MONTADOR OBJETO
FONTE (USUÁRIO) PROCESSADOR
(COMPILADOR) LNG.MÁQUINA
Figura 11
Uma linguagem de programação passa a ser de alto nível à medida que esta
se aproxima da linguagem corrente utilizada na comunicação entre pessoas.
29
• O número de instruções do programa objeto só será conhecido após a
compilação do programa fonte.
NOME DA USO
LINGUAGEM
FORTRAN Aplicações técnico-científicas
Tabela 6
30
• Diagrama de blocos lógicos;
• Lista de instruções
• Diagrama de contatos;
31
E2 Figura 13
2.9.1.3 Diagrama de Contatos
Figura 14
32
Figura 15
3 Modos de operação
Normalmente o usuário, poderá dispor dos seguintes modos de operação:
33
CLP. O led indicador ‘RUN’ no software estará na cor laranja e no CLP estará
piscando. Ver figura 16.
Figura 16
Figura 17
• Configuração local
• Configuração remota
34
• Configuração em rede
CP
I/O LOCAL
U
Figura 18
35
Figura 19
36
Figura 20
Simbologia
37
• Reset (Set Coil to 0)
- Instruções de “Contato”
0 Falsa
1 Verdadeira
Tabela 7
38
- Contato Normalmente fechado (CNC)
0 Verdadeira
1 Falsa
Tabela 8
39
Tabela 9
40
O estado de um terminal de saída é indicado através de um bit específico do
arquivo de saída. Ao ser estabelecida uma lógica verdadeira na linha de programa que
contém a instrução Coil, o controlador energiza o respectivo bit (1), fazendo com que o
terminal de saída seja energizado e o dispositivo de saída conectado a este terminal
seja acionado. Caso essa lógica verdadeira não seja estabelecida, o controlador
desenergiza o bit (0), a instrução Coil é desabilitada e o dispositivo de saída associado
é desenergizado.
Deve-se observar que uma instrução Coil habilitada em uma área de sub-rotina
permanecerá habilitada até que haja uma nova varredura na área de sub-rotina.
41
Figura 24 Formato da Instrução Inverse Coil
Essas são instruções de saída retentiva e, geralmente, são utilizadas aos pares
para qualquer bit da tabela de dados controlado pelas mesmas. Também podem ser
empregadas para inicializar valores de dados em nível de bit.
42
Uma instrução RESET com o mesmo endereço da instrução SET rearma
(desabilita ou desenergiza) o bit na memória. Quando uma lógica verdadeira é
estabelecida, a instrução RESET desenergiza seu bit correspondente na memória.
Essa instrução torna a linha verdadeira durante uma varredura com uma
transição de falsa para verdadeira da condição anterior à atual da linha.
Figura 27
43
Importante: Recomenda-se não utilizar um endereço de saída juntamente com
a instrução REC, devido à pequena duração do tempo de uma varredura.
Essa instrução torna a linha verdadeira durante uma varredura com uma
transição de verdadeira para falsa da condição anterior à atual da linha.
44
Figura 29
Gráfico 2
Generalidades
45
• Temporizador na Energização (TON)
- Descrição
46
Obs.: Alguns CLPs não aceitam números negativos nos seus predefinidos e
acumulados.
Figura 30
47
Quando o controlador retorna ao modo Operação ou execução, pode acontecer
o seguinte:
Gráfico 3
48
Figura 31
Gráfico 4
49
- Temporizador de Pulso - TP
Formato da Instrução TP
Figura 32
50
Gráfico 5
S - Entrada Set, para setar o valor do preset, ou seja, saltar de onde ele estiver
para o valor de preset;
F – Saída Full, é a saída que será acionada quando o bloco estiver estourado,
passado de 9999 para 0;
D – Saída Done, é a saída que será acionada quando o bloco chegar no valor
presetado;
%Ci.P - Variável onde fica armazenado o valor de preset (Valor a ser contado);
51
%Ci.D - Endereço para deslocamento da saída D do bloco;
Quando o valor de contagem ultrapassar 9999, este volta para zero e aciona a
saída F (Full), quando o valor de contagem estiver em zero e sofrer um decremento,
este passa para 9999 acionando a saída E (Empty).
Figura 33
Fast Counter
52
habilitarmos a mesmo, esta é que fará a contagem. Esta entrada dedicada já vem
declarada ao inserirmos o contador rápido, portanto não precisamos endereçar a
mesma, mas precisaremos verificar a entrada declarada para o bloco que irei utilizar,
para que possamos fazer a conexão física do dispositivo de campo. Para que o
contador inicie a contagem, necessitamos habilitá-lo através da entrada IN, e para
ressetar temos que habilitar a entrada R (RESET).
Figura 34
53
Figura 35
Exemplos:
Figura 36
Figura 37
Figura 38
54
5.5 Instrução Operate
Exemplos:
5.5.1.1 Adição
Figura 39
5.5.1.2 Subtração
No exemplo da figura 40, o valor lido de uma entrada analógica é subtraído por
uma constante e o resultado é guardado em uma memória do tamanho de uma
palavra.
55
Figura 40
5.5.1.3 Multiplicação
Figura 41
5.5.1.4 Divisão
Figura 42
56
Figura 43
Figura 44
Figura 45
Figura 46
Figura 47
57
As instruções INC (Incremento) e DEC (decremento) executam as suas
funções de acordo com o tempo de scan, portanto se utilizarmos à função INC em
nosso programa como está no exemplo acima, o incremento ocorrerá muito rápido,
isto devido à função INC realizar um incremento a cada ciclo de scan, ou seja, de
poucos em poucos ms (tempo de duração de um scan).
Podemos usar o Operate pra efetuar conversões de valores. (Ex: Inteiro para
Real, etc.) Ver as figuras 48 e 49.
Figura 48
Figura 49
Para realizar as conversões, deve-se ficar atento quanto aos tipos de variáveis
que estão sendo convertidas e os elementos de memória onde serão guardadas as
conversões.
5.5.5 Indexação
58
Figura 50
59
ANEXOS
60
EXERCÍCIOS PRÁTICOS
01 – Desenvolva um programa para ligar e desligar uma lâmpada utilizando um
botão liga NA e um botão desliga NF. Use instruções de bit: CNC e COIL.
61
07 - Desenvolva um programa para ligar um motor quando o botão liga NA for
acionado, sendo que o mesmo desligará automaticamente após 10s ou quando o
botão desliga NF for acionado. Uma lâmpada verde deverá estar acesa sinalizando o
motor desligado e uma vermelha o motor ligado. Use instruções CNC, CNO, COIL,
Memória binária e de temporização TON.
62
12 - Desenvolva um programa para ligar um motor quando o botão liga NA for
acionado. Após 10 voltas o motor deverá desligar automaticamente ou quando o botão
desliga NF for acionado. Uma lâmpada verde deverá estar acesa sinalizando o motor
desligado e uma vermelha o motor ligado Use instruções CNC, CNO, COIL, Memória
binária e de contagem crescente (UP).
63
16 - Desenvolva um programa para ligar um motor quando o botão liga NA for
acionado. O motor funcionará obedecendo ao seguinte ciclo ininterrupto de operação:
10 voltas no sentido horário e 5s desligado / 10 voltas no sentido anti-horário e 5s
desligado. O ciclo de operação será interrompido quando o botão desliga NF for
acionado. Uma lâmpada verde deverá estar acesa sinalizando o motor desligado e
uma vermelha o motor ligado. Use instruções CNC, CNO, COIL, Memória binária, de
temporização 1TON ou 1TOF, de contagem 1UP ou 1Down e de comparação a
escolher.
64
se o botão de reconhecimento de alarme for acionado. Quando o botão desliga NF for
acionado o ciclo será interrompido. Use instruções CNC, CNO, COIL, SET, RESET,
Memória binária, de temporização 1TON ou 1TOF e de contagem 1UP ou 1Down.
65
Lâmpada amarela deverá piscar em intervalos de 3s. Use instruções CNC, CNO,
COIL, Memória binária, de temporização 1TON ou 1TOF e de comparação a escolher.
REFERÊNCIAS
66
ALLEN-BRADLEY. Manual do curso dos CLP’s.
67