Você está na página 1de 80

2ª Edição – Maio 2018

Engº José Roberto Pereira


APRESENTAÇÃO

Este trabalho é o resultado de muitos dias (e noites) de pesquisa, estudo, planejamento,


organização, redação, desenho, compilação, cálculos, etc., e foi elaborado sem
finalidade comercial ou sequer para obtenção de qualquer espécie de remuneração ou
lucro financeiro.
Seu objetivo é, unicamente, divulgar e propagar o seu conteúdo entre o maior número
possível de pessoas, de modo a fomentar o saber e estimular o conhecimento. Espero
assim que, de alguma forma, ele seja uma forma de contribuição para o aprimoramento e
a elevação do espírito humano, e da evolução da nossa espécie.
Por esta razão, o seu conteúdo não está protegido por qualquer tipo de patente ou
“copyright”, sendo a sua cópia, distribuição e divulgação não apenas permitida, mas
também (e principalmente) estimulada, no todo ou em parte, em qualquer tipo de mídia,
seja ela física, eletrônica ou qualquer outra que, futuramente, possa surgir, desde que
não seja vendida ou comercializada de qualquer forma e que a fonte seja devidamente
citada.
Acredito que, com este pequeno legado, estarei contribuindo, mesmo que humildemente,
para fazer deste nosso mundo um lugar melhor para se viver.
Serão muito bem-vindas quaisquer colaborações apontando eventuais erros ou sugerindo
melhorias para este trabalho, que poderão ser enviadas para o e-mail do autor, indicado
no rodapé.

Rio de Janeiro, maio de 2018.

José Roberto Pereira

“A principal meta da educação é criar homens que sejam capazes de fazer coisas novas,
não simplesmente repetir o que outras gerações já fizeram. Homens que sejam
criadores, inventores, descobridores. A segunda meta da educação é formar mentes que
estejam em condições de criticar, verificar e não aceitar tudo que a elas se propõe.”
(Jean Piaget)

1 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 1


e_mail: jroberto_rio@yahoo.com.br
SUMÁRIO

CAPÍTULO 1 – Introdução 03

CAPÍTULO 2 – Controladores Lógicos Programáveis 19

CAPÍTULO 3 – O Módulo Didático Datapool 30

CAPÍTULO 4 – Programando o ZAP 500 Usando o Software SPDSW 33

CAPÍTULO 5 – Programando na Linguagem Ladder 38

ÍNDICE 73

BIBLIOGRAFIA 75

2 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 2


e_mail: jroberto_rio@yahoo.com.br
CAPÍTULO 1
INTRODUÇÃO

Desde os primórdios da sua existência, o Homem vem buscando meios de aumentar as suas
chances de sobrevivência, utilizando e aperfeiçoando métodos, ferramentas, instrumentos, armas e
tudo o mais que possa contribuir para o seu sucesso como espécie. A mecanização começou na pré-
história, quando os primeiros hominídeos passaram a usar algum tipo de objeto para aumentar a sua
força física, provavelmente utilizando-o como arma para melhorar a eficiência nas caçadas ou na
defesa do seu território.
Com o passar do tempo esses objetos foram sendo aperfeiçoados e se tornaram as máquinas
simples que conhecemos, como a roda, a alavanca, a roldana, a cunha, etc. A evolução continuou e
vieram os moinhos de vento, as rodas d’água, a tração animal e outros processos mecanizados.

1.1 – Evolução dos processos de produção:


- Busca pelo aumento da força / velocidade (Mecanização)
- Caça manual x caça com armas
- Agricultura manual x Arado
- Roda – 4.000 AC – Mesopotâmia
- Roda d’água e Moinhos de Vento – Séc. I AC
- Moinhos de vento – Pérsia – Moagem de cereais (farinha) e bombeamento de água
- Máquina a Vapor – 1698 – Thomas Savery – 1777 – James Watt
- Motor Elétrico – Werner von Siemens – 1886 (CC) – Galileu Ferraris – 1885 / Nikolas
Tesla – 1887 / Dobrowolsky (AEG) – 1889

Os processos foram evoluindo gradativamente e sendo cada vez mais mecanizados e automatizados.

Durante a Revolução Industrial, uma série de invenções elevaram o nível da Mecanização a um outro
patamar. Um marco dessa época foi o aperfeiçoamento da máquina a vapor, por James Watt, cujo
regulador de velocidade é considerado o primeiro dispositivo de automação.
Ele funciona baseado na força centrífuga de dois pesos que giram em uma velocidade proporcional à
da máquina e controlam a vazão do vapor que a aciona, estabilizando, assim, a sua velocidade.
Reguladores centrífugos são usados até os dias de hoje, em motores e turbinas a vapor e em
motores de combustão interna estacionários (Diesel, Gasolina, Gás...).
A figura a seguir ilustra, esquematicamente, o regulador centrífugo de James Watt.

Rotação Rotação
Normal Alta

Fluxo de Vapor Normal Fluxo de Vapor Restringido

3 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 3


e_mail: jroberto_rio@yahoo.com.br
1.2 – Definição de Automação:
A automação pode ser definida como um sistema composto por equipamentos eletrônicos e/ou
mecânicos auto-suficiente, ou seja, que são responsáveis pelo seu próprio funcionamento,
praticamente sem a intervenção humana, destinados a controlar um determinado processo. A maioria
dos sistemas modernos de automação são aplicados em indústrias químicas, automobilísticas,
empresas comerciais como supermercados, além da automação predial e doméstica, entre muitas
outras aplicações.
Esses sistemas requerem um complexo controle devido a cíclicas realimentações do sistema, o que
chamamos de automação em malha fechada.
A Mecanização, muitas vezes, é confundida com a Automação, que por sua vez é confundida com a
Robótica, mas a diferença entre elas é bastante simples.

Mecanização:
– Uso de máquinas para realizar um trabalho, substituindo o esforço físico humano.

Automação:
– Execução autônoma de tarefas sem a interferência humana.

Robótica:
– Vem da palavra Robota (Tcheco), que significa “Trabalho forçado, Servidão, Escravidão”.

Robôs são dispositivos mecatrônicos, ou seja, que utilizam e agregam sistemas mecânicos e
eletroeletrônicos trabalhando em conjunto, com a finalidade de executar um determinado tipo de
trabalho ou tarefa.
São dispositivos de automação programáveis (adaptabilidade ao produto), usados, em geral, como
manipuladores multifuncionais. São aplicados em:

- Movimentação de peças e materiais;


- Carregamento e descarregamento de máquinas e peças;
- Soldagem;
- Pintura;
- Outros.

Exemplos de sistemas de automação:

• Automação doméstica: Forno de microondas, lavadoras de roupa, etc.


• Automação predial: Portão automático, elevadores, etc.
• Automação comercial: Leitores ópticos em caixas de supermercado
• Automação bancária: Caixa eletrônico
• Automação industrial: Controle computadorizado da linha de montagem

Razões da Automação:
- Aumento da velocidade da produção
- Aumento da qualidade da produção (redução do desvio padrão)
- Aumento da complexidade / flexibilidade / confiabilidade
- Tarefas de risco
- Redução de custos

4 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 4


e_mail: jroberto_rio@yahoo.com.br
Evolução da Automação:
Ao longo do tempo, a partir do regulador centrífugo de James Watt, os sistemas de automação foram
evoluindo, acompanhando o desenvolvimento da tecnologia.
- Mecânica (regulador centrífugo) – Máquina a Vapor e Motores a Combustão
- Pneumática (ar comprimido)
- Hidráulica (óleo hidráulico)
- Lógica a relés (eletromecânico)
- Circuitos eletrônicos discretos (Circuitos Integrados das Famílias TTL e CMOS)
- Computadores, Microcomputadores e Microcontroladores (CLP / CP)
- Redes / Internet / Nuvem
- Indústria 4.0

1.3 – Automação e Controle de Processos:

Processo
Um processo é uma operação, ou série de operações, que produz um determinado resultado final.
Um processo pode envolver operações mecânicas, elétricas, reações químicas, ou ainda a
combinação destes eventos. Na maioria dos casos, o processo consiste na modificação ou
transformação de matérias primas, colocadas na sua entrada, em produtos finais obtidos em sua
saída. Isso ocorre nas chamadas “Indústrias de Transformação”.

Em um processo, basicamente dois tipos de sistemas podem ser utilizados:

Sistema de Comando (Malha aberta):


Neste tipo de sistemas, a saída não exerce qualquer ação no sinal de controle. Deste modo, a saída
do processo não é medida nem comparada com a saída de referência.

Referência Controlador Processo

Exemplo: Partida de motores

Sistema de Controle (Malha fechada):

Consiste num sistema de malha fechada, isto é, além do fluxo de informação no sentido direto
(da entrada para a saída), existe outro no sentido contrário (da saída para a entrada), chamada
realimentação ou Feedback.

5 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 5


e_mail: jroberto_rio@yahoo.com.br
Entrada Saída
(sensores) (atuadores)

Realimentação
(Feedback)

Exemplos: Regulador de velocidade, controlador de temperatura

Esses processos automatizados contêm cinco componentes básicos, sendo eles:

Sensoriamento: mede o desempenho do sistema de automação ou uma propriedade particular de


algum de seus componentes. Exemplos: termopares para medição de temperatura e encoders para
medição de velocidade;

Comparador ou elemento de decisão: compara os valores medidos com valores preestabelecidos e


toma a decisão de quando atuar no sistema. Como exemplos, podemos citar os termostatos e os
programas de computadores;

Controle: utiliza a informação dos sensores para regular o acionamento. Por exemplo, para manter o
nível de água num reservatório, usamos um controlador de fluxo que abre ou fecha uma válvula, de
acordo com o consumo. Mesmo um robô requer um controlador, para acionar o motor elétrico que o
movimenta;

Programa: contêm informações de processo e permitem controlar as interações entre os diversos


componentes;

Atuador: provê o sistema de energia para atingir determinado objetivo. São os casos dos motores
elétricos, pistões hidráulicos etc.

1.4 – Variáveis de Processo:


São as grandezas a serem detectadas e medidas pelos sensores e instrumentos de processo que,
por sua vez, geram informações a serem interpretadas pelo sistema de automação, que executará as
ações necessárias para o seu perfeito desenvolvimento.

As principais variáveis de processo são:

- Temperatura - Pressão
As 4 mais utilizadas
- Vazão - Nível
- Massa - Posição
- Velocidade - Aceleração
- Densidade - Radiação

6 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 6


e_mail: jroberto_rio@yahoo.com.br
A utilização de sensores e transdutores nos dias de hoje torna-se cada vez mais freqüente em
processos de automação sejam eles industriais, comerciais ou até mesmo residenciais. Com o
avanço da tecnologia em grande escala, novos equipamentos, novos métodos surgem num espaço
de tempo cada vez menor, fenômeno este que contribui para o aumento do número de tipos e
aplicações desses equipamentos.

Sensoriamento:
O Sensoriamento consiste em uma técnica para obter informações sobre as variáveis de processo
através de dados coletados por instrumentos que estejam ou não em contato físico com os objetos
investigados.
Sensoriamento Remoto pode ser definido como uma medida de troca de energia que resulta da
interação entre a energia contida na Radiação Eletromagnética, Térmica ou Luminosa de
determinado comprimento de onda e a contida nos átomos e moléculas do objeto de estudo.

Sensores (transdutores ou não)


São dispositivos sensíveis a um fenômeno físico, químico ou mecânico, transformando-o em um sinal
elétrico que, por sua vez, será enviado a uma entrada do sistema de controle / automação.

• Chave fim de curso / Microswitch • Sensor de umidade


• Termostatos - Sensor de temperatura • Sensor de luminosidade
• Pressostatos - Sensor de pressão • Sensor de proximidade
• Sensor de nível • Sensor ultrassônico

Transdutores: são dispositivos que convertem um tipo de energia em outra, não necessariamente
em um sinal elétrico. Muitas vezes um transdutor é composto de um sensor e uma outra parte que
converte a energia resultante em um sinal elétrico. Por exemplo, uma lâmpada é um transdutor, pois
converte energia elétrica em luminosa, mas não é um sensor.

Tipos de Entradas e Saídas:

1 – Monobit (Discretas ou Digitais) – ON/OFF (Contatos Secos / Open Colector P e N)


2 – Multibit (Encoders)
3 – Analógicas (4 – 20 mA)
4 – Conversores A/D x D/A

Sensores Discretos:
Esses sensores podem assumir apenas dois estados ou valores no seu sinal de saída ao longo do
tempo, que podem ser interpretados como zero ou um, aberto ou fechado, ligado ou desligado, etc.
Não existem naturalmente grandezas físicas que assumam esses valores, mas eles são assim
mostrados ao sistema de controle após serem convertidos pelo circuito eletrônico do transdutor, que
compara o valor da variável com um valor pré-estabelecido (set-point) e define o estado da saída de
acordo com o resultado da comparação entre os dois. A saída pode, então, assumir um dos dois
estados possíveis conforme o valor da variável seja maior ou menor que o do set-point.

7 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 7


e_mail: jroberto_rio@yahoo.com.br
Podem também ser chamados de sensores digitais ou binários. São utilizado, por exemplo, em:
- Termostatos; - Sensores Indutivos;
- Pressostatos; - Sensores Capacitivos;
- Microswitches; - Encoders;
- Botoeiras; - Outros.

A saída de um dispositivo discreto assume valores “0” ou “1” lógicos. Este tipo de sensor só é capaz
de indicar se uma grandeza física atingiu um valor pré-determinado. A Figura a seguir mostra uma
representação gráfica de um sensor binário quando atuado por uma determinada grandeza física.
Acionamento Desacionamento

Repare que, neste caso,


o nível de atuação é o mesmo, Nível de atuação
para o acionamento e para o
desacionamento.

Sensores Absolutos ou Analógicos:


Esses sensores podem assumir qualquer valor no seu sinal de saída ao longo do tempo, desde que
esteja dentro de sua faixa de operação, algumas grandezas físicas também podem apresentar um
comportamento analógico como:
Pressão; Carga;
Temperatura; Vazão;
Outros.

O sensor ou transdutor absoluto possui saída contínua. Nesse caso a saída destes é quase uma
réplica da grandeza física de entrada. Esses instrumentos também podem ser chamados de sensores
analógicos. Abaixo, a figura mostra uma representação gráfica de um sensor absoluto quando atuado
por uma determinada grandeza física.

8 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 8


e_mail: jroberto_rio@yahoo.com.br
Conceitos Fundamentais dos Instrumentos de Processo (Sensores):
Para estudarmos e compreendermos de uma maneira mais detalhada os tipos de sensores e
transdutores, faz-se necessário a definição de alguns conceitos fundamentais que serão necessários
para futuros estudos.

Sensibilidade: também podendo ser definido como ganho é a razão entre o sinal de saída e de
entrada para um dado transdutor. No caso de sensores analógicos, a sensibilidade está ligada à
relação entre uma variação na grandeza em questão e a variação na medida fornecida pelo
instrumento, ou seja, um sensor muito sensível é aquele que fornece uma variação na saída para
uma pequena variação da grandeza medida.

Exatidão: consiste no erro da medida realizada por um transdutor em relação a um medidor padrão.

Precisão: é a característica relativa ao grau de repetibilidade do valor por um transdutor. Apesar de


as definições serem atualmente padronizadas, existe e principalmente fabricantes que se referem a
essa característica como sendo o erro relativo máximo que o dispositivo pode apresentar.

Linearidade: Esse conceito se aplica a sensores analógicos. É a curva obtida plotando os valores
medidos por um transdutor sob teste contra valores de um padrão. Se o comportamento do transdutor
ou sensor for ideal, o gráfico obtido é uma reta. Os gráficos abaixo apresentados mostram um
comportamento linear para o da esquerda e não linear para o da direita.

Estabilidade: Está relacionada com a flutuação da saída do sensor. Se a flutuação for muito alta, ou
seja, se o sensor possuir uma baixa estabilidade, a atuação do controlador que utiliza esse sinal pode
ser prejudicada.

Alcance: Representa toda faixa de valores de entrada de um transdutor.

Resolução: Define-se como o menor incremento de entrada o qual gera uma saída perceptível e
repetitiva, quantificando-se como porcentagem do fundo de escala.

Velocidade de resposta: trata-se da velocidade com que a medida fornecida pelo sensor alcança o
valor real do processo. Em sistemas realimentados o ideal é que o sensor utilizado tenha uma
resposta instantânea, pois uma resposta lenta pode prejudicar muito a eficiência do sistema de
controle e até impedir que o sistema funcione a contento.

9 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 9


e_mail: jroberto_rio@yahoo.com.br
Histerese (ou Diferencial): Refere-se à zona morta obtida a partir da diferença entre as curvas de
resposta na subida e descida de escala. Neste caso, os níveis de acionamento e desacionamento
são diferentes.

Nível de Acionamento
Zona
Morta
Nível de Desacionamento

Outros: devem-se levar em consideração na especificação dos sensores as seguintes


características: facilidade de manutenção, custo, calibração, dimensões, faixa de trabalho, histerese,
vida útil, etc.

1.5 – Controladores:
Controladores são elementos, normalmente eletrônicos, ajustáveis ou programáveis, utilizados para
gerenciar o controle dos elementos da automação:

• Controle Discreto • Microcontrolador 8051


• Computador PC • Controlador Lógico Programável – CLP
• Microcontrolador PIC • Controlador Programável – CP

1.6 – Atuadores:
Os atuadores são dispositivos de acionamento usados para executarem uma determinada força de
deslocamento (movimento) ou outra ação física, como aquecimento, por exemplo.

• Motores • Contactores
• Aquecedores / Resistores • Solenóides
• Cilindros hidráulicos e pneumáticos • Eletroválvulas
• Relés • Bombas

10 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 10


e_mail: jroberto_rio@yahoo.com.br
1.7 – Tipos de Controladores Industriais:
Há, principalmente, 5 tipos básicos de controladores usados largamente na indústria. São eles:
• Controle ON-OFF;
• Controle Proporcional ou P;
• Controle Proporcional e Integral ou PI;
• Controle Proporcional e Derivativo ou PD;
• Controle Proporcional, Integral e Derivativo ou PID.

1.7.1 Controle ON-OFF ou LIGA-DESLIGA ou de Histerese:


É a forma de controlador mais simples que existe e consiste em um circuito comparador que compara
o sinal de entrada com dois sinais de referência, chamados de limite inferior e superior, como visto na
página 10.
Quando o sinal de entrada fica maior que o limite superior, a saída é ligada (ou desligada) e o atuador
acionado (ou desacionado).
Quando o sinal de entrada fica menor que o limite inferior, a saída do controlador é desligada (ou
ligada) e o atuador é desacionado (ou acionado).
A diferença entre o limite superior e o inferior é chamada de histerese. Normalmente, a histerese é
ajustável de forma tal que o set-point fique entre o limite inferior e o superior. Desta forma o sistema
controlado fica oscilando de um valor máximo à um mínimo e não atinge nenhum valor específico.
Não é um controlador do tipo que você específica por exemplo, 100ºC e ele estabiliza nisso. É um
controlador do tipo nível de água onde se tem um nível máximo e um nível mínimo. Quando o nível
está no mínimo aciona o atuador, que no caso seria a bomba d’água, e esta e vai enchendo a caixa
d’água. Quando o nível máximo é atingido, a saída será desligada e o atuador, no caso a bomba, é
desligada. Quando o consumo de água faz o nível baixar e este atinge o nível inferior, o ciclo se
repete.
A sua grande vantagem é o fato de ser um sistema muito barato e que, como o atuador somente liga
e desliga nos momentos em que os limites são atingidos, o controlador e o atuador sofrem pouco
desgaste.
A grande desvantagem é que a grandeza controlada (temperatura, pressão, etc.) não estabiliza em
nenhum ponto, mas oscila em torno do ponto desejado, indo do limite inferior ao superior.
Na figura abaixo vemos um controle simples de temperatura. O set-point foi ajustado para 100ºC, o
limite superior é 120ºC e o inferior de 80ºC. A histerese é, então, de 40ºC. Observe como a
temperatura oscila em torno do valor desejado, que é de 100ºC, porém variando entre 80ºC e 120ºC.

120°C

100°C

80°C

11 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 11


e_mail: jroberto_rio@yahoo.com.br
1.7.2 – Controle Proporcional ou P:
O controle proporcional já é mais sofisticado que o controlador ON-OFF, dado que a resposta do
controle é proporcional ao sinal na sua entrada. Se o sinal na sua entrada é pequeno, a reposta será
um valor pequeno também. Se a entrada for grande a saída será grande também. Em suma, um
controlador proporcional é na verdade um amplificador. Ele é representado na figura abaixo.

No caso, a saída é um sinal K vezes maior que a entrada. Entretanto o sinal de saída não pode
crescer indefinidamente, porque há limite tanto inferior quanto superior.
Quando estes limites são atingidos dizemos que o sistema saturou. Portanto, há uma região onde o
sinal responde proporcionalmente ao sinal de entrada, e outra região onde o sistema satura e não
adianta o sinal de entrada aumentar que o sistema não vai além daquele limite. Na figura abaixo,
percebemos que acima do limite superior, o atuador está com 100% de sua capacidade e abaixo do
limite inferior o atuador está com 0% de sua capacidade, ou seja, totalmente desligado. Na região
entre o limite inferior e superior o atuador está com uma saída proporcional à entrada, e esta região é
chamada de banda proporcional do sistema.

A banda proporcional de um sistema é dada de forma percentual e está relacionada com o ganho K
do controlador. Na verdade ele é determinado pela fórmula abaixo:

Banda proporcional = 100% / K ; onde K é o ganho do controlador.

Muitos controladores possuem o ajuste da banda proporcional disponível. A técnica mais


recomendada é deixar a banda proporcional no máximo possível e verificar a resposta do sistema. Se
não for satisfatória, deve-se ir reduzindo o valor do ajuste até que o desempenho fique adequado.
O grande problema do controlador Proporcional ou P é que ele permite erros em regime. Isto porque
em sistemas realimentados, a entrada do controlador P é o sinal de erro. Como o sinal de erro vai
ficando pequeno a medida que se aproxima do valor de set-point, a saída do controlador que é
proporcional a entrada vai ficando pequena também. Sempre haverá um ponto em que o erro será
tão pequeno que não produzirá uma saída capaz de ativar o atuador. Assim o sistema interrompe a
correção mesmo sem ter atingido plenamente o set-point, permanecendo um erro sempre constante.

12 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 12


e_mail: jroberto_rio@yahoo.com.br
Claro que, aumentando o ganho K do controlador, o erro será reduzido, mas sempre haverá um erro,
por menor que seja, porque há limites para aumentar o valor do ganho K, que se ultrapassados,
levam o sistema à instabilidade, podendo oscilar.
Na figura abaixo temos uma estufa com um set-point de 100ºC e um controlador tipo P com um
ganho K=10. Repare que o sistema estabiliza em 96ºC, permanecendo um erro de 4ºC. Se
aumentarmos o ganho, podemos diminuir o erro, mas sempre haverá um erro, por menor que seja.

1.7.3 – Controle Proporcional + Integral ou PI:


O controlador PI é uma combinação da ação proporcional com uma ação de integração. O integrador,
dentre suas propriedades, permite com que o erro em regime do caso anterior seja zerado. Isto
ocorre porque, embora o erro possa ser pequeno, o integrador vai somando ao longo do tempo e a
sua saída vai aumentando até que seja capaz de acionar o atuador. Assim sendo, quando o erro é
grande o Proporcional fornece uma grande e saída e predomina sobre o integrador. Mas à medida
que o sistema vai chegando perto do objetivo, o erro vai diminuindo e assim a resposta do
proporcional vai ficando cada vez mais fraca. A partir deste ponto o domínio passa a ser do
integrador.
Dessa forma o bloco integrador é usado freqüentemente quando precisamos de uma convergência
mais exata do valor, com erro muito pequeno. Da mesma forma que existe um ganho K para o
proporcional existe também um ganho KI para o integrador. Quanto maior o valor de KI, maior a
resposta de um elemento integrador.
Entretanto, o ajuste do ganho de KI não deve ser indiscriminado, pois ele pode levar o sistema a se
tornar muito lento ou até mesmo levar o sistema a instabilidade.
O melhor ajuste é uma combinação do ganho K e do ganho KI. É possível mediante simulações e
outras técnicas encontrar o melhor ajuste possível. Não há uma regra geral, cada caso poderá
requerer um ajuste diferente, dessa forma dificilmente você poderá utilizar um ajuste que fora bem
sucedido em outra empresa ou outro equipamento. Felizmente, muitos controladores mais modernos
possuem um sistema chamado “Auto-Tune”, ou “Auto-Sintonia”, que simula diversas situações e se
auto-ajusta para a melhor performance.

13 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 13


e_mail: jroberto_rio@yahoo.com.br
Na figura abaixo, voltamos a verificar o caso anterior da estufa que fora ajustada para uma
temperatura de 100ºC. Com o controlador somente proporcional, havia um erro de 4ºC, ou seja, a
temperatura ficava a 96ºC. Com o integrador há o zeramento do erro e a temperatura atinge
exatamente os 100ºC.

1.7.4 – Controle Proporcional + Derivativo ou PD:


Da mesma forma que o controle PI era uma combinação do controle Proporcional e o controle
Integral, controle PD é uma combinação do controle Proporcional e o controle Derivativo. O derivativo
é um bloco cuja saída é proporcional à velocidade de variação do erro, ou seja, se o erro estivar
variando muito rápido ele atua fortemente visando a minimizar ou eliminar esta variação.
Portanto, é um bloco adequado para sistemas que precisem de um ataque rápido as variações de
erro. Entretanto, se houver um erro de grande valor, mas variando lentamente, o sinal na saída do
derivativo será baixo. Por isso, o derivativo nunca é usado sozinho, pois ele só atua nos momentos
em que o erro varia rapidamente.
Além disso, o derivativo é sensível a ruídos que podem enganá-lo fazendo-o acreditar que há uma
transição brusca. Por isso o ganho do derivativo nunca é muito alto. Na verdade, evita-se ao máximo
o uso de derivativos. Somente quando o sistema não pode responder bem à variações bruscas de
sinal, então apela-se para o derivativo.
Ademais o bloco derivativo não tem nenhuma influência sobre o erro em regime. De modo geral, ele
deixa o sistema mais rápido e reduz a máxima sobrelevação.
Como o Integrador, que tinha um ganho KI o Derivativo também tem um ganho chamado KD.
Na figura abaixo, voltamos ao caso da estufa ajustada para 100ºC, só que retiramos o Integrador e
adicionamos um Derivativo. Perceba que como o derivativo não atua sobre o erro em regime. O erro
de 4ºC voltou e, portanto, o sistema agora converge à 96ºC como antes. Em compensação, na região
de 0 até 0.5 segundo, quando o erro varia muito rápido, o sistema atua muito mais rapidamente, pois
em 0.5 segundo a temperatura já é de 79ºC, e no caso do controlador P ou PI era de apenas 70ºC.
Mas é só até este ponto que o derivativo vai bem, pois de 0.5 segundos em diante, o erro já passa a
variar lentamente e a resposta do derivativo já não é mais adequada.

14 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 14


e_mail: jroberto_rio@yahoo.com.br
Nesta parte, onde a variação do erro é lenta, o Integrador responde melhor, além é claro do
integrador atuar sobre o erro em regime.

1.7.5 – Controle Proporcional + Integral + Derivativo ou PID:


Pelos exemplos acima, fica bastante claro que uma combinação dos três elementos, explorando as
propriedades de cada um, parece ser a opção mais adequada. Este é o chamado Controlador PID.
Na verdade, com um controlador PID, podemos obter os outros (P, PI ou PD), zerando-se aquele que
não interessa. Exemplo: se queremos um controlador PI, basta zerar o ganho do Derivativo, se
queremos um controlador P, basta zerar o ganho do Derivativo e do Integrador, e assim por diante.
O controlador PID, parece ser a opção ideal para se trabalhar, entretanto, esta é a opção mais cara e
a mais difícil de ajustar, pois agora temos três ganhos para ajustar (K, KI e KD). A combinação dos
ajustes pode determinar se o sistema será oscilatório ou não, se o sistema será rápido ou lento.
A determinação adequada do ajuste é feita por meio de modelagem e simulações, onde se leva em
conta os parâmetros de performance do sistema (máxima sobrelevação, tempo de acomodação, erro
em regime, etc.). Como dito anteriormente, muitos controladores mais modernos possuem um
sistema chamado “Auto-Tune”, ou “Auto-Sintonia”, que simula diversas situações e se auto-ajusta
para a melhor performance.
Na figura abaixo, voltamos ao exemplo da estufa com set-point de 100ºC. O controlador agora é um
bloco PID. Vemos que na região de 0 a 0.5 segundo o sistema é rápido por causa do derivativo. Em
0.5 segundo a temperatura já é de 74ºC, ao passo que no P e no PI era de apenas 70º, ou seja, 6%
mais rápido.
Verificamos que não há mais erro em regime, dado que a temperatura agora estabiliza em 100ºC,
que é o próprio set-point, por causa do Integrador.

15 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 15


e_mail: jroberto_rio@yahoo.com.br
Os chamados parâmetros de desempenho são fortemente dependentes dos ajustes dos ganhos dos
elementos que compõem o PID (K, KI e KD).
Na próxima figura, temos um caso em que o controlador foi ajustado de forma tal que o ganho do
Derivativo fosse baixo, menor que o do Integrador. O sistema utilizado ainda é a estufa, com set-point
de 100ºC. Percebemos, pelos ajustes, o comportamento em que o sistema converge à temperatura,
por causa do integrador.
Mas o tempo de convergência é diferente do caso anterior. E, além disso, agora a reposta é
oscilatória. No caso anterior, dizemos que a resposta é superamortecida e no caso com oscilações é
subamortecida. Quando o sistema passa exibir oscilações com amplitude decrescente e que
demoram a sumir estamos chegando perto do limite de estabilidade. Observe a sobrelevação ou
“overshoot” no gráfico, que é bem elevado. A temperatura está atingindo até 120ºC, ou seja, 20ºC a
mais que o desejado.

16 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 16


e_mail: jroberto_rio@yahoo.com.br
Aumentando-se agora o ganho do derivativo KD, reduzimos o overshoot de 120ºC para 110ºC, mas o
sistema ficou mais oscilatório. A combinação ideal depende de ajustes adequados dos ganhos, que
influenciam fortemente na resposta do sistema.
Não dá para simplesmente “chutar”.

Na figura abaixo, vemos a simulação para vários valores de ganho K. Vejam como a resposta a saída
muda significativamente. A ordem é de K crescente, mas com valores pequenos.

17 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 17


e_mail: jroberto_rio@yahoo.com.br
Agora, para K de valores mais elevados, veja como o sistema vai ficando mais oscilatório. Valores de
K altos levam o sistema a oscilar e tendem a torná-lo instável. Por isso, há limites para aumentar o
ganho.

18 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 18


e_mail: jroberto_rio@yahoo.com.br
CAPÍTULO 2
CONTROLADORES LÓGICOS PROGRAMÁVEIS

2.1 – Histórico:
Os Controladores Lógicos Programáveis foram desenvolvidos no final dos anos 60, com a finalidade
de substituir painéis de relés em controles baseados em lógicas combinacional / seqüencial, em
linhas de montagem nas indústrias de manufatura, principalmente automobilística, sendo
progressivamente adotados pelas indústrias de processos.
O critério do projeto para o primeiro controlador foi especificado em 1968 por uma divisão da General
Motors Corporation. O objetivo inicial era eliminar o alto custo associado com os sistemas controlados
a relés. As especificações iniciais requeriam um sistema de estado sólido com a flexibilidade do
computador, capaz de suportar o ambiente industrial, ser facilmente programado e reprogramado,
manutenção fácil e por último facilmente expansível e utilizável.
Já os painéis de controle a relés necessitavam modificações na fiação, o que muitas vezes era
inviável, tornando-se mais barato simplesmente substituir todo painel por um novo. Portanto, os
CLP’s permitiram transferir as modificações de hardware para modificações no software.
Pelo fato de substituírem os painéis de relés no controle discreto, foram chamados de Controladores
Lógicos Programáveis – CLP (Programmable Logic Controllers – PLC).
Com o sucesso de uso de CLP’s na indústria, a demanda por novas funções e maior capacidade
aumentou consideravelmente. Os equipamentos cresceram em poder de processamento, número de
entradas e saídas (I/O), e novas funções. Entretanto, estes controladores ainda usavam lógica
discreta e só eram utilizadas na indústria, pois seus custos tornaram inviáveis em outras aplicações
(automação predial, por exemplo).
A partir de 1970, com o advento da tecnologia de microprocessadores, os controladores passaram ter
uma grande capacidade de processamento e alta flexibilidade de programação e expansão. Entre
outras características citamos: realizar operações aritméticas com ponto decimal flutuante, manusear
dados e se comunicar com computadores. Desta forma, os controladores atuais podem atuar tanto
em controle discreto como em automação de manufatura, onde as máquinas apresentam ações
automáticas e podem atuar em controle contínuo, como: processos químicos e siderúrgicos, com
características primordialmente analógicas.
Portanto, atualmente, os controladores são bem mais complexos e não executam somente lógica do
tipo E e OU, motivo pelo qual passaram a ser chamados apenas de Controladores Programáveis –
CP’s.

2.2 – Conceitos e Aplicações:


Controladores programáveis são equipamentos eletrônicos normalmente baseados em
microprocessadores, que usam uma memória programável para armazenamento de instruções com
funções de: lógica, sequenciamento, temporização, contagem, controle PID, intertravamentos,
operações aritméticas, etc., destinados a comandar e monitorar máquinas ou processos industriais
através de módulos de entradas/saídas analógicos ou digitais.
Um controlador programável difere de equipamentos convencionais para controles industriais pela
programabilidade e pelo modo seqüencial de execução das instruções. O software desenvolvido pelo
fabricante também caracteriza uma diferença fundamental. Esse software realiza funções de acesso
ao hardware, diagnósticos, comunicações, históricos e determina o funcionamento do controlador em
um modo de operação dedicado (ciclo de varredura) e totalmente transparente para o usuário.

19 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 19


e_mail: jroberto_rio@yahoo.com.br
A segunda distinção é que os CP’s foram especificamente projetados para operar em ambientes
industriais. Um CP pode operar em áreas com quantidades substanciais de ruídos elétricos,
interferências eletromagnéticas, vibrações mecânicas, temperaturas elevadas e condições de
umidade adversas, conforme especificação de cada fabricante.
A figura abaixo mostra um processo controlado por um CLP/CP.

2.3 – Arquitetura Básica:


O controlador programável tem sua estrutura baseada no hardware de um computador, tendo
portanto uma unidade central de processamento (UCP), interfaces de entrada e saída e memórias.
As principais diferenças em relação a um computador comum estão relacionadas a qualidade da
fonte de alimentação, que possui características ótimas de filtragem e estabilização, interfaces de E/S
imune a ruídos e um invólucro específico para aplicações industriais.
Temos também um terminal usado para programação do CLP.
O diagrama de blocos a seguir, ilustra a estrutura básica de um controlador programável:

20 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 20


e_mail: jroberto_rio@yahoo.com.br
2.3.1 – Unidade Central de Processamento:
A Unidade Central de Processamento (UCP) é responsável pelo processamento do programa, isto é,
coleta os dados dos cartões de entrada, efetua o processamento segundo o programa do usuário,
armazenado na memória, e envia o sinal para os cartões de saída como resposta ao processamento.
Geralmente, cada CLP tem uma UCP, que pode controlar vários pontos de E/S (entradas e saídas),
que, por sua vez, costumam ser agrupados em módulos.
Dependendo do tipo de montagem e arranjo entre UCP e Unidades de E/S, os CPs podem ser
classificados em dois tipos:

a – Compactos
Neste tipo, a UCP está montada no mesmo invólucro ou gabinete dos módulos de E/S, formando um
conjunto único. Este arranjo é utilizado, de uma maneira geral, nos controladores de pequeno porte e
de baixo custo.
b – Modulares
Nos controladores modulares, os cartões ou módulos de E/S ficam separados da UCP, em geral ao
seu lado, e podem ser facilmente inseridos, retirados ou substituídos, facilitando a sua expansão e/ou
alteração da sua configuração.

21 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 21


e_mail: jroberto_rio@yahoo.com.br
O processamento poderá ter estruturas diferentes para a execução de um programa, tais como:
- Processamento cíclico;
- Processamento por interrupção;
- Processamento comandado por tempo;
- Processamento por evento.

Processamento Cíclico
É a forma mais comum de execução que predomina em todas as UCPs conhecidas, e de onde vem o
conceito de varredura, ou seja, as instruções de programa contidas na memória, são lidas uma após
a outra seqüencialmente do início ao fim, daí retornando ao início ciclicamente.

Um dado importante de uma UCP é o seu tempo de ciclo, ou seja, o tempo gasto para a execução de
uma varredura. Este tempo está relacionado com o tamanho do programa do usuário (em média 10
ms a cada 1.000 instruções).

Processamento por interrupção


Certas ocorrências no processo controlado não podem, algumas vezes, aguardar o ciclo completo de
execução do programa. Neste caso, ao reconhecer uma ocorrência deste tipo, a UCP interrompe o
ciclo normal de programa e executa um outro programa chamado de rotina de interrupção.
Esta interrupção pode ocorrer a qualquer instante da execução do ciclo de programa. Ao finalizar esta
situação o programa voltará a ser executado do ponto onde ocorreu a interrupção.
Uma interrupção pode ser necessária, por exemplo, numa situação de emergência onde
procedimentos referentes a esta situação devem ser adotados.

Processamento comandado por tempo


Da mesma forma que determinadas execuções não podem ser dependentes do ciclo normal de
programa, algumas devem ser executados a certos intervalos de tempo, às vezes muito curto, na
ordem de 10 ms.
Este tipo de processamento também pode ser encarado como um tipo de interrupção, porém ocorre a
intervalos regulares de tempo dentro do ciclo normal de programa.

22 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 22


e_mail: jroberto_rio@yahoo.com.br
Processamento por evento
Este é processado em eventos específicos, tais como no retorno de energia, falha na bateria e
estouro do tempo de supervisão do ciclo da UCP.
Neste último, temos o chamado Watch Dog Timer (WD), que normalmente ocorre como procedimento
ao se detectar uma condição de estouro de tempo de ciclo da UCP, parando o processamento numa
condição de falha e indicando ao operador através de sinal visual e, às vezes, sonoro.
Este circuito consiste de um temporizador com uma base de tempo fornecida pelo microprocessador,
cujo propósito é monitorar o tempo de execução da varredura. Caso exceda este tempo, o "Watch
Dog Timer" irá detectar esta condição, providenciando então o desligamento das saídas do sistema
para evitar operações indesejadas e a reinicialização CPU.

2.3.2 – Memória:
A arquitetura de memória de um controlador programável pode ser constituída por diferentes tipos de
memória.
Memória Básica ou Firmware: A memória básica contém um conjunto de programas armazenados
permanentemente, com o objetivo de controlar e supervisionar as atividades do sistema. Tais como:
comunicação com os dispositivos externos, execução do ciclo de varredura, diagnósticos e outras
atividades. Esta memória é usualmente chamada de firmware, para expressar o conjunto de software
e hardware necessário para o funcionamento do Controlador Programável.
Esta memória é programada pelo fabricante, ou seja, é uma memória que não pode ser alterada pelo
usuário. As memórias básicas são memórias não voláteis do tipo ROM, EPROM ou FLASH-EPROM.
Memória de Dados: Nesta memória são armazenados todos os dados de controle do sistema, tais
como: estados das entradas e saídas, valores de preset de contadores e temporizadores, etc.
É uma tabela de valores manipuláveis. As memórias de dados podem ser memórias voláteis ou não
voláteis, sendo respectivamente do tipo, RAM ou NVRAM.
Memória de Usuário: É a memória destinada ao armazenamento das instruções de programação, ou
seja, o programa de usuário.
As memórias de usuário podem ser memórias voláteis ou não voláteis, sendo respectivamente do
tipo, RAM; NVRAM ou FLASH-EPROM.

2.3.3 – Interface de Programação:


Esta interface permite a programação da memória de usuário através do uso de software específico
para desenvolvimento do programa de usuário, sendo, em geral, executado em um microcomputador
compatível com o padrão IBM-PC (na versão desktop ou laptop, para programação em campo),
permitindo a edição, monitoração e documentação dos programas. Além disso, o terminal de
programação permite, muitas vezes, monitorar o programa aplicativo, ou seja, visualizar em tempo
real o programa sendo executado.

2.3.4 – Fonte de Alimentação:


Este módulo tem a função de transformar a tensão CA da Rede Elétrica (127V ou 220V) nas diversas
tensões CC reguladas e estabilizadas, necessárias ao perfeito funcionamento da UCP, das
Memórias e dos diversos Módulos de Entrada e Saída. Em geral, apresentam os valores de +24V,
+12V, -12V, +5V e -5V. Ela incorpora também circuitos de filtragem, para evitar que distúrbios na rede
elétrica interfiram no correto funcionamento do CP, tornando-o praticamente imune aos ruídos e
interferências eletromagnéticas, tão comuns nos ambientes industriais.

23 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 23


e_mail: jroberto_rio@yahoo.com.br
2.3.5 – Interface Homem-Máquina (IHM):
Esta interface permite a interação do usuário com a máquina ou processo, possibilitando a
visualização e/ou alteração das variáveis desses sistemas.
As formas mais usuais de encontrarmos esses dispositivos são:
- Teclado
- Display Alfanumérico
- Sistema Supervisório (Microcomputador IBM-PC compatível)

2.3.6 – Módulos (Interfaces) de Entrada:


Os módulos de entrada fornecem as conexões entre os dispositivos de campo e a Unidade Central de
Processamento. Estas interfaces podem ter um ou mais canais de aquisição de dados que codificam
sinais analógicos ou digitais de entrada de diversos níveis de tensão (alternada ou contínua),
provenientes de sensores analógicos, push-buttons, e de outros tipos de sensores e transdutores,
cujos sinais sejam tensões ou correntes.
Existem dois tipos de interfaces de entrada, de acordo com o tipo de variável, como vimos no
Capítulo 1.

Entrada Digital ou Discreta: trabalha com dois níveis definidos.


Entrada Analógica: trabalha dentro de uma faixa contínua de valores.

As entradas digitais recebem informação de sensores discretos, e são capazes de distinguir apenas
dois níveis. Podem receber tensões contínuas ou alternadas, dependendo do seu circuito.
A figura abaixo exemplifica algumas dessas conexões.

Cada tipo de entrada digital possui um circuito de interface específico, que converte o nível do sinal
de entrada para outro compatível com a UCP. Além disso, também executa a isolação galvânica
entre os terminais de entrada do CLP e a UCP, por questões de proteção e imunidade ao ruído e
interferências.
A seguir, exemplificaremos alguns tipos de entradas digitais. Reparem que, em todas, existe um
acoplador óptico, responsável pela isolação galvânica.:

24 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 24


e_mail: jroberto_rio@yahoo.com.br
A figura abaixo exemplifica o circuito de uma entrada digital de 24VCC.

Abaixo, a figura mostra uma entrada digital de Corrente Alternada.

As entradas analógicas recebem informações provenientes de sensores e transdutores analógicos


como termômetros, manômetros, medidores de pH, tacogeradores, termopares, termo resistências e
outros. Um dos padrões mais utilizados para entradas analógicas é o chamado “Loop de Corrente de
4 a 20 mA”.
Caracterizam-se, principalmente, por possuirem um Conversor Analógico/Digital (A/D) no seu circuito,
que realiza a transformação dos diversos níveis de tensão ou corrente em um padrão de bits que
pode ser lido, interpretado e processado pela UCP.
A figura abaixo exemplifica uma interface de entrada analógica. Após o conversor Analógico / Digital,
encontram-se os acopladores ópticos.

25 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 25


e_mail: jroberto_rio@yahoo.com.br
2.3.7 – Módulos (Interfaces) de Saída:
As unidades de saída fornecem as conexões entre a Unidade Central de Processamento e os
dispositivos de campo. Estas interfaces podem ter um ou mais canais, fornecendo sinais digitais ou
analógicos devidamente amplificados para energizar os elementos de operação e sinalização de
atuadores diversos, que se caracterizam pelo tipo (CA ou CC, N ou P) e pelos diversos níveis de
tensão e potência.
Da mesma forma que as unidades de entrada, podem ser digitais (discretas) ou analógicas.

As saídas discretas mais utilizadas são:


- Contato de relé (contato seco) – Usado em CA ou CC
- Coletor aberto tipo N (Sink) – Usado apenas em CC
- Coletor aberto tipo P (Source) – Usado apenas em CC
- TRIAC – Usado apenas em CA

A figura abaixo mostra uma interface de saída digital a relé (“contato seco”). Esta saída pode ser
utilizada para acionar cargas de CA ou CC. A isolação galvânica é fornecida pelo relé.

Abaixo, mostramos uma saída digital a transistor, do tipo NPN, na configuração “Coletor Aberto” ou
“Open Colector” (sink). Esta saída fornece o “terra” à carga, que deve receber uma alimentação
externa (tensão contínua positiva). Uma vantagem da configuração Coletor Aberto é que ela pode
acionar cargas de diferentes tensões de alimentação, desde que não excedam os limites de tensão e
corrente do transistor de saída.

RL
+
V

CLP

Uma variação desta saída utiliza transistor PNP na saída (source), também na configuração “Open
Colector”. Neste caso, ela envia, na maioria dos casos, uma tensão de 24VCC para acionar a carga,
cujo outro polo deve estar conectado ao terra de saída do CLP.

26 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 26


e_mail: jroberto_rio@yahoo.com.br
A figura abaixo exemplifica uma saída digital a TRIAC, usada para acionamento de cargas de CA. A
vantagem dessa saída sobre o relé é o fato de não possuir partes mecânicas móveis e contatos, que
oxidam e carbonizam. Os limites de tensão e corrente do TRIAC de saída devem ser respeitados.

Saídas analógicas fornecem um sinal proporcional à grandeza desejada. Ela converte um valor
numérico em um sinal de saída correspondente, na forma de tensão ou corrente. Existem diversos
padrões de saída digital: 0 a 5VCC, 0 a 10VCC, 0 a 20mA e 4 a 20mA. Este último é o mais utilizado.
A figura abaixo mostra uma saída analógica, que utiliza um conversor Digital/Analógico de 8 bits, com
saída de 4 a 20mA.

1 a 5 VCC

Além desses, existem diversos outros módulos de saída especiais. Alguns exemplos são:

- Módulos P.W.M. para controle de motores CC;


- Módulos para controle de servomotores;
- Módulos para controles de motores de passo (step motor)
- Módulos para I.H.M. (Interface Homem Máquina)
- Etc.

2.4 – Funcionamento do CLP:


Quando energizamos o controlador programável, as seguintes operações são executadas:
• Teste de escrita/leitura da memória RAM;
• Limpeza das memórias imagem de entrada e saída;
• Teste de executabilidade do programa de usuário;
• Execução de rotinas de inicialização (limpeza de registros auxiliares de trabalho, limpeza de display,
preparação de teclado).

27 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 27


e_mail: jroberto_rio@yahoo.com.br
Após estas "Condições de Inicialização" a UCP passa a fazer uma varredura constante, ou seja,
rotinas repetitivas em um "loop" fechado. Essa seqüência de atividades definidas e controladas pelo
programa ocorre em um ciclo, chamado de Varredura ou Scan, conforme descrito abaixo.
A primeira etapa da varredura é verificar os dados das entradas, transferindo-os para uma memória
imagem.
Memória imagem é um espelho do estado das entradas e saídas. Esta memória será consultada pelo
CLP no decorrer do processamento do programa de usuário. Ela recebe, em cada endereço
correspondente a uma entrada, o seu estado ligado/desligado, no caso de entradas digitais, ou um
valor numérico, no caso de entradas analógicas.
Uma vez gravados os dados das entradas na respectiva
memória imagem, inicia-se a execução do programa de
acordo com as instruções definidas pelo usuário.
Durante o processamento do programa, o CLP
armazena os dados na memória imagem das saídas.
Por fim o CLP transfere esses dados para as saídas
físicas, desta forma o ciclo termina e a varredura é
reiniciada.

A figura ao lado ilustra o processamento cíclico:

O tempo necessário para executar uma varredura varia de controlador para controlador e depende de
muitos fatores como: velocidade do processador, tamanho do programa, instruções programadas,
etc. O tempo de varredura é uma consideração importante na seleção do controlador. Este indica a
rapidez com que o controlador pode reagir às entradas de campo e resolver a lógica de controle. Este
ciclo que tem seu período variável é mostrado na figura abaixo:

2.5 – Linguagens de Programação:


As linguagens de programação constituem-se em um conjunto de símbolos, comandos, blocos, etc,
com regras de sintaxe específicas.
O IEC (International Electrotechinal Commitee) é responsável pela padronização das linguagens de
programação. Existem quatro tipos básicos de linguagem que normalmente são encontradas em
controladores programáveis e são padronizadas pela norma “IEC 61131-3”. Apesar dessa
padronização, existem pequenas diferenças entre a sintaxe/linguagem dos diversos fabricantes.

28 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 28


e_mail: jroberto_rio@yahoo.com.br
As linguagens de programação dos CLPs dividem-se em dois tipos principais, cada uma delas com
duas sub-divisões, a seguir:

Linguagens Textuais
• Lista de Instruções (Instruction List – IL)
• Texto Estruturado (Strutured Text – ST)

Linguagens Gráficas
• Diagrama de Portas Lógicas ou Blocos Funcionais (Function Block Diagram – FBD)
• Diagrama Ladder (LD)

Para exemplificá-las, vamos supor que desejamos programar um CLP para executar a partida direta
de um motor, com um comando do tipo “start-stop”, conforme o diagrama elétrico abaixo:

A entrada digital “100” do CLP está conectada a uma botoeira com um


contato do tipo NF, que executará a função “Stop”.
A entrada digital “101” está conectada a uma botoeira com um contato
NA, que executará a função “Start”.
A saída a relé “300” aciona o motor.
O contato NA do relé “300” executa a função “Selo”.

As quatro formas de programar o CLP, para executar a mesma função desse circuito, de acordo com
o tipo de linguagem a ser utilizada, estão demonstradas abaixo:

Linguagens Textuais:

300 = 100 AND (101 OR 300)

Ou

300 = 100 . (101 + 300)

Lista de Instruções Texto Estruturado

Linguagens Gráficas:

Blocos Funcionais Diagrama Ladder

29 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 29


e_mail: jroberto_rio@yahoo.com.br
CAPÍTULO 3
O MÓDULO DIDÁTICO DATAPOOL

Existem diversos fabricantes de Controladores Programáveis, variando em velocidade, capacidade,


modularidade, conectividade, etc. Seria impossível abordarmos todos neste trabalho. Desta forma,
pelo seu nível básico, escolhemos o modelo “ZAP 500”, da HI Tecnologia, montado no módulo
didático CLP 2301 da Datapool.
Este módulo é embutido em um Rack de 19 polegadas com botoeiras, chaves, bornes, relés e
potenciômetros, para simulações e interfaces com processos externos.
A sua aparência física, em uma de suas configurações, pode ser vista na figura abaixo:

3.1 – Módulo do Controlador Lógico Programável e Interface Homem-Máquina:


Neste módulo está instalado o CLP ZAP 500, o qual possui um painel de comunicação com o
operador composto de um teclado com 15 teclas, incluindo 10 teclas de funções programáveis e 10
LEDs também programáveis. Um display de Cristal Líquido com “Back-Light” disponibiliza duas linhas
com 16 caracteres cada para apresentação de mensagens e valores do processo a ser controlado.
Possui também um interruptor de alavanca para ligar e desligar o equipamento, um fusível de
proteção, um conector para alimentação de energia, um conector do tipo “DB-9”, que é uma interface
serial do tipo RS-232C para comunicação com o computador de programação, e ums saída de
24VCC para alimentação de algum circuito externo, caso necessário.
O módulo, com a disposição dos seus componentes, é mostrado na figura abaixo.

30 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 30


e_mail: jroberto_rio@yahoo.com.br
3.2 – Módulo de Entradas Digitais:
Este módulo é dividido em 3 blocos. O bloco A possui chaves retentivas do tipo alavanca (I0 a I3), o
bloco B possui duas chaves não-retentivas do tipo “push-button” de contato momentâneo (I8 e I9) e o
bloco C possui dois bornes para conexão externa de entradas digitais (I10 e I11) e seus respectivos
bornes “DGND” (Digital Ground – Terra Digital).
Sua aparência é ilustrada na figura abaixo.

3.3 – Módulo de Saídas Digitais:


Este módulo possui dois blocos. No primeiro existem 4 lâmpadas (O10 a O13) de 24V. O bloco B
possui dois bornes para conexão externa das suas duas saídas digitais (O16 e O19) e seus
respectivos Terras Digitais (DGND). Este módulo é mostrado na figura abaixo.

31 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 31


e_mail: jroberto_rio@yahoo.com.br
3.4 – Módulo de Entradas / Saídas Analógicas:
Este módulo também é dividido em blocos. No bloco A existem dois potenciômetros (E0 e E1) para
ajuste de tensão entre 0 e 5V, com pontos para medição externa da tensão aplicada. O bloco B
possui 6 bornes para conexão externa de entradas analógicas (E2, E3, E4, E5, E6 e E7). O bloco C
possui dois bornes para conexão externa das saídas analógicas (S0 e S1) e o bloco D possui três
bornes para conexão do Terra Analógico. A figura abaixo ilustra este módulo.

3.5 – Módulo de Relés:


Este módulo possui dois relés, com todos os seus contatos disponíveis em bornes para conexão
externa. Cada relé possui 2 contatos NA e dois contatos NF. Suas bobinas estão conectadas às
saídas digitais O17 e O18. A figura abaixo ilustra este módulo.

32 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 32


e_mail: jroberto_rio@yahoo.com.br
CAPÍTULO 4
PROGRAMANDO O ZAP 500 USANDO O SOFTWARE SPDSW

O SPDSW-DP é um software de programação em ambiente Windows para o CLP Datapool 2301.


Nele é possível desenvolver programas em linguagem Ladder para esse CLP.
Observação: a partir deste ponto, todos os exemplos se referem ao módulo didático “CLP 2301” da
Datapool, equipado com o CLP “Zap-500” da Hi Tecnologia com a configuração de interfaces listada
no capítulo 3.

4.1 – Inicialização do Programa SPDSW:


Com o CLP ligado e conectado ao PC através da interface serial RS-232C e o
software devidamente instalado, dar um duplo click do mouse no ícone do
programa, mostrado ao lado. Spdsw.lnk

Aparecerá, então, no monitor do computador, a tela de abertura do programa, mostrada abaixo.

4.2 – Abrindo um Projeto Existente:


Clicar em “Projeto / Abrir”, no canto superior esquerdo da tela, como mostra a figura abaixo.

33 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 33


e_mail: jroberto_rio@yahoo.com.br
4.3 – Iniciando um Novo Projeto:
Clicar em “Projeto / Novo”, no canto superior esquerdo da tela, como mostra a figura abaixo.

Será, então, aberta a tela de “Setup” do novo projeto. Preencher os campos “Nome do Prog:” e
“Descrição:” de acordo com o projeto a ser executado, e confirmando, como mostra a figura abaixo.

34 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 34


e_mail: jroberto_rio@yahoo.com.br
Após a confirmação, devemos especificar o modelo do CLP a ser utilizado. Fazemos isso clicando em
“Programa / Controlador Programável”, conforme a figura abaixo.

Selecionar o modelo “300.105.000.000 – Controlador Industrial ZAP 500” e confirmar, como


exemplificado na figura abaixo.

Após a confirmação, será mostrada a tela para selecionar os módulos de interface de entrada e saída
conectados ao controlador. Clicar na opção “SLOT LIVRE”, como mostrado na figura abaixo.

35 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 35


e_mail: jroberto_rio@yahoo.com.br
Selecionar, então, o módulo ZEM400 e confirmar, conforme a figura abaixo.

Definir a Interface Homem-Máquina utilizada, clicando em “Programa / Interface Homem-Máquina”,


como mostrado na figura abaixo.

36 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 36


e_mail: jroberto_rio@yahoo.com.br
Selecionar “IHM Local ZAP 500”, como na figura abaixo.

Programar o “Intervalo de Atualização” para 300 ms e confirmar, como na figura abaixo.

37 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 37


e_mail: jroberto_rio@yahoo.com.br
CAPÍTULO 5
PROGRAMANDO NA LINGUAGEM LADDER

A linguagem Ladder foi a primeira que surgiu na programação dos Controladores Lógicos
Programáveis (CLPs), pois sua funcionalidade procurava imitar os antigos diagramas elétricos,
utilizados pelos Técnicos e Engenheiros da época. O objetivo era o de evitar uma quebra de
paradigmas muito grande, permitindo assim a melhor aceitação do produto no mercado. Como a
linguagem foi desenvolvida nos Estados Unidos da América do Norte, o seu desenho se assemelha
em muito com os diagramas de comandos elétricos desenhados segundo as normas americanas
IEEE Std 315-1975 ou ANSI Y32.2-1975.
O diagrama de contatos na linguagem Ladder consiste em um desenho formado por duas linhas
verticais, que representam os pólos positivo e negativo de uma bateria, ou fonte de alimentação
genérica. Entre as duas linhas verticais são desenhados ramais horizontais que possuem chaves
e/ou contatos de relés, que podem ser normalmente abertas ou fechadas e representam os estados
das entradas do CLP.
A última coluna à direita é reservada para o dispositivo de saída, geralmente representado pela
bobina de um relé, que é acionado segundo a combinação lógica dos contatos à sua esquerda.
Dessa forma fica muito fácil passar um diagrama elétrico para linguagem Ladder.
Como a diagramação das duas colunas de alimentação verticais associadas aos vários ramais de
contatos desenhados na posição horizontal, um abaixo do outro, se assemelha a uma escada
(Ladder, em inglês), foi esse o nome escolhido para a linguagem.
Abaixo representamos um diagrama de comando de uma partida simples de motor. À esquerda, o
diagrama no padrão americano IEEE / ANSI e, à direita, o padrão internacional IEC 60617, que se
assemelha ao padrão alemão DIN. Mais abaixo, a sua representação na linguagem Ladder.

S0 S1 K1

K1

Padrão IEEE / ANSI Padrão IEC / DIN

Diagrama Ladder no SPDSW

38 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 38


e_mail: jroberto_rio@yahoo.com.br
5.1 – Funções Lógicas em Ladder:
As Funções Lógicas podem ser perfeitamente implementadas utilizando-se os elementos de
programação Ladder. A combinação entre os contatos NA e NF servem de importante orientação
para o projetista e programador de circuitos lógicos.

A) Função “E” (AND):

Tabela Verdade
I0 I1 O10
0 0 0
0 1 0
1 0 0
1 1 1

B) Função “OU” (OR):


Tabela Verdade
I0 I1 O10
0 0 0
0 1 1
1 0 1
1 1 1

C) Função “NÃO E” (NAND):


Segundo a álgebra de Boole: A . B = B + A . Assim a função NAND consiste em dois
contatos NF em paralelo.
Tabela Verdade
I0 I1 O10
0 0 1
0 1 1
1 0 1
1 1 0

39 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 39


e_mail: jroberto_rio@yahoo.com.br
D) Função “NÃO OU” (NOR):
Segundo a álgebra de Boole: A + B = A . B . Assim a função NAND consiste em dois
contatos NF em série. Tabela Verdade

I0 I1 O10
0 0 1
0 1 0
1 0 0
1 1 0

E) Função “OU EXCLUSIVO” (XOR):


Segundo a álgebra de Boole: S = A ⊕ B = A . B + A . B
Tabela Verdade
I0 I1 O10
0 0 0
0 1 1
1 0 1
1 1 0

5.2 – Abrindo o Editor Ladder:


Para abrir a tela do editor Ladder e iniciarmos o projeto, clicar no botão “Editor Ladder”, como
mostrado na figura abaixo.

40 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 40


e_mail: jroberto_rio@yahoo.com.br
Nesse momento, a tela de edição do diagrama Ladder será aberta, como mostrado na figura abaixo.

A parte superior da tela mostra a barra de ferramentas do programa de edição e, à esquerda, são
exibidos os grupos de elementos de programação, conforme a figura abaixo.

Na tela de edição existem 10 colunas disponíveis para se posicionar os elementos de comando,


sendo que as 9 primeiras são reservadas aos contatos dos relés internos e chaves de entrada e a
última reservada ao elemento de saída (bobina do relé).

41 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 41


e_mail: jroberto_rio@yahoo.com.br
Para inserir um elemento de comando, basta posicionar o cursor no local onde se deseja inserir o
elemento e clicar no seu símbolo, representado na coluna à esquerda da tela. Por exemplo, contatos,
bobinas, conexões e alguns outros elementos básicos, estão incluídos no grupo de elementos
chamado “Básico”, como mostra a figura abaixo.

Uma observação importante é que, na linguagem Ladder, todo diagrama / programa deve ter, na sua
última linha, o elemento de “Fim de Programa”, que pode ser obtido no grupo “Fluxo”. Esse elemento
é o que está posicionado mais abaixo, à direita, como mostra a figura abaixo.

42 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 42


e_mail: jroberto_rio@yahoo.com.br
5.3 – Funções da Barra de Ferramentas:
A barra de ferramentas do Editor Ladder é mostrada na figura abaixo e, a seguir, passamos a
descrever a função de cada botão.

Procura / Substitui Operando [F3]:


Este comando permite localizar uma ou mais ocorrências de um operando qualquer dentro do
programa Ladder corrente e substituí-las se necessário.
Quando pressionado este comando, se o cursor do editor ou depurador estiver posicionado sobre um
operando, o mesmo será apresentado no campo "Procurar por:" na seguinte tela:

Caso o operando a ser localizado seja diferente do especificado, digite-o no campo "Procurar por:" e
em seguida pressione o botão "Procura". A primeira ocorrência do operando no programa Ladder
corrente será apresentada, e o cursor será posicionado sobre a mesma. Para obter a próxima
ocorrência do operando, pressione [Ctrl-P].

Para substituir todas as ocorrências de um determinado operando do programa Ladder, por outro
operando, execute a seqüência descrita a seguir:
A) Ative o comando e no campo "Procurar por:" especifique o operando a ser substituído no
programa Ladder;
B) No campo "Substituir por:" especifique o novo operando que irá substituir o operando
especificando no campo "Procurar por:"
C) Especifique no campo "Quantidade", o número de operandos seqüenciais (ele próprio e os
subseqüentes) a serem substituídos e pressione o botão "Substitui". Neste caso, o operando
determinado no campo "Procurar por:" será o operando inicial, e o campo quantidade determinará a
quantidade de operandos que serão movidos a partir do operando no campo "Procurar por:".
Para transferir apenas um operando, o campo quantidade deve possuir o valor 1.
Por exemplo, considere o seguinte cenário:
campo "Procurar por:" = M10
campo "Substituir por:" = M70
campo "Quantidade:" = 3
Quando pressionado o botão "Substituir", todas as ocorrências da memória M10 serão substituídas
por M70, todas as ocorrências da memória M11 serão substituídas por M71, e todas as ocorrências
da memória M12 serão substituídas por M72.

43 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 43


e_mail: jroberto_rio@yahoo.com.br
Procura o Próximo Operando [Ctrl-P]:
Este comando opera em conjunto com o comando de Procura / Substitui Operando. Uma vez
especificado o operando a ser localizado no programa de edição Ladder, utilize este comando ou o
atalho [Ctrl-P] para localizar, a partir da posição corrente do cursor do editor ou depurador Ladder, a
próxima ocorrência do operando especificado.
Caso exista, o cursor será movido para a próxima ocorrência. Caso não exista, será apresentado uma
mensagem ao usuário informando que não existem mais ocorrências do operando no programa
Ladder.

Lista Identificadores [F7]:


Em um programa escrito através de um diagrama de contatos existem vários blocos representando
grandezas físicas que fazem parte do processo que se deseja controlar, como por exemplo um
contato normalmente aberto pode representar um fim de curso de uma máquina ou a chave de
acionamento de um motor. Para que o programa criado possa ser lido e entendido com mais
facilidade pelo usuário, pode-se associar para cada operando utilizado um texto descritor da
funcionalidade executada pelo operando no programa.
Este descritor deve descrever a funcionalidade do operando dentro do programa Ladder associado,
de forma a facilitar a compreensão do programa por um usuário qualquer. Uma vez definido o
descritor, sempre que o cursor do editor ou depurador selecionar o operando, o descritor do mesmo
será apresentado na Barra de status do editor. Quando ativado este comando, será apresentada a
tela a seguir:

44 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 44


e_mail: jroberto_rio@yahoo.com.br
Edita Operando Selecionado [F6] ou duplo click:
Sempre que um elemento qualquer é inserido no programa Ladder, o usuário necessita especificar os
operandos associados ao elemento. Posteriormente, pode ser necessário alterar um deste
operandos. Para tal, posicione o cursor no operando a ser modificado e pressione a tecla F6. Este
comando ativa o modo de edição de operandos. Neste modo, o operando selecionado e apresentado
com um cursor de forma que um novo valor para o mesmo pode ser digitado pelo usuário, conforme
indicado na figura a seguir:

Esta função também pode ser ativada clicando-se


duas vezes o botão esquerdo do mouse sobre o bloco.

Copia Bloco [Ctrl-C]:


Este comando permite ao usuário, copiar um trecho do programa corrente para uma área de
transferência que, posteriormente poderá ser transferida para outro local do programa ou até mesmo
outro programa Ladder. Para se marcar um bloco de programa é necessário indicar as posições
inicial e final. A posição inicial é marcada colocando-se o cursor na linha inicial do bloco a ser copiado
e pressionando-se o botão direito do mouse.
No menu apresentado, selecione a opção "Início de Bloco". Pode-se utilizar também a tecla de atalho
[Ctrl-I] para esta funcionalidade.

Em seguida, posicione o cursor na última linha do bloco desejado e pressione o botão direito do
mouse. No menu apresentado selecione a opção "Fim de Bloco". Pode-se utilizar também a tecla de
atalho [Ctrl-F] para esta funcionalidade. Terminado este processo, o bloco especificado será indicado
no editor com cores diferentes.

45 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 45


e_mail: jroberto_rio@yahoo.com.br
Para copiar um bloco de programa para área de transferência deve-se selecionar a opção “Copiar” do
menu ou a tecla de atalho [Ctrl-C].

Para desmarcar um bloco de programa, pressiona-se o botão direito do mouse e seleciona-se a


opção “Desmarca Bloco” ou utilize a tecla de atalho [Ctrl-R].

Corta Bloco [Ctrl-X]:


Este é um recurso que pode ser utilizado quando o programador quiser eliminar várias lógicas
simultaneamente. Para utilizar este comando devemos selecionar o trecho (bloco) a ser cortado, da
mesma forma descrita no comando “Copia Bloco”, e selecionar o comando “Cortar”. O trecho cortado
será transferido para a área de transferência.

Cola Bloco [Ctrl-V]:


Este comando é usado para inserir no programa atual, a partir da linha corrente do cursor, um trecho
de programa previamente armazenado na área de transferência. Para transferir o conteúdo da área
de transferência para o programa corrente, a partir da linha indicada pelo cursor, deve-se clicar o
botão direito do mouse. No menu que aparecerá, deve-se selecionar a opção “Colar” ou utilizar a
tecla de atalho [Ctrl-V].

Insere Linha [Ctrl-Insert] ou [Shift-Insert]:


Este comando é utilizado para inserir linhas vazias entre duas lógicas consecutivas no programa.
Este comando permite ao usuário abrir espaço entre as lógicas, para inserção de novos elementos,
inserindo uma linha em branco (sem blocos) na posição do cursor. Neste caso, se houver alguma
lógica abaixo da posição do cursor, ela será deslocada para baixo, abrindo um espaço entre a linha
corrente (do cursor) e a próxima linha. Existem dois comandos disponíveis para inserir uma linha no
programa Ladder:

46 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 46


e_mail: jroberto_rio@yahoo.com.br
ou [Ctrl-Insert] Quando utilizado este comando, a linha onde estiver posicionado o cursor será
deslocada para baixo, sem deslocar a documentação imediatamente superior,
caso exista.
[Shift-Insert] Quando utilizado este comando, a linha onde estiver posicionado o cursor será
deslocada para baixo, deslocando também a documentação imediatamente
superior, caso exista.

Elimina Linha [Ctrl-Del] ou [Shift-Del]:


Este comando é utilizado para eliminar uma linha ou uma lógica do programa Ladder corrente.
Existem dois comandos disponíveis para eliminar uma linha do programa Ladder:

ou [Ctrl-Del] Quando utilizado este comando, a linha onde estiver posicionado o cursor será
eliminada, mantendo-se a documentação imediatamente superior, caso exista.
Nesta situação, se existir uma documentação na linha abaixo da linha a ser
eliminada, esta documentação será adicionada à documentação da linha
corrente.
[Shift-Del] Quando utilizado este comando, a linha onde estiver posicionado o cursor será
eliminada juntamente com a documentação imediatamente superior, caso exista.

Procura Operando Disponível [Ctrl-D]:


Durante a edição de um programa, às vezes, se faz necessário saber qual o próximo operador
disponível para utilização. Ao clicar neste botão ou apertando as teclas [Ctrl-D], será apresentada
uma janela com o seguinte aspecto:

47 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 47


e_mail: jroberto_rio@yahoo.com.br
A primeira coluna especifica o tipo de operando avaliado. Note que os operandos R, M e D podem
possuir valores alocados na memória volátil (RAM) ou na memória não volátil (NVRAM).
A segunda coluna (Valor Inicial) especifica a partir de qual valor a pesquisa pelo próximo operando
disponível deve ser realizada. Por exemplo, se o valor inicial da memória Inteira RAM for 5, o
ambiente irá pesquisar, a partir da memória M0005 qual a próxima memória que está disponível para
utilização, ou seja, que não foi ainda utilizada pelo programa Ladder corrente. Como boa prática de
programação, recomendamos iniciar todos os operandos com o valor “0000”; Assim, esta coluna
deverá ser toda preenchida com o valor “0”.
A terceira coluna (Próximo Disponível) irá apresentar o resultado da pesquisa para cada tipo de
operando. Quando não houver operando disponível será apresentada a mensagem "não dispon.".

Ambiente de Programação da IHM [Ctrl-Y]:


Quando o ambiente de programação é instalado no controlador, dois pacotes independentes são
instalados: um ambiente de programação dos controladores e um ambiente de programação das
interfaces Homem-Máquina. Este comando, quando acionado, ativa o ambiente de programação da
Interface Homem-Máquina associada ao controlador.
Se o controlador configurado no projeto corrente possuir Teclado/Display incorporado, o ambiente de
programação irá abrir o ambiente da IHM associado ao programa corrente. Se o projeto for novo, será
solicitado ao operador que especifique o tipo de IHM a ser utilizado. Esta opção permanecerá
desabilitada enquanto não houver projeto carregado e com nome válido.
Posteriormente abordaremos a programação da IHM com mais detalhes, em um tópico específico.

Alterna Contatos [Ctrl-N]:


Este comando serve para inverter o tipo do contato selecionado pelo cursor do editor Ladder, isto é,
se o contato for do tipo normal fechado, ele será trocado por um do tipo normal aberto, e vice-versa.
Isso permite que o programador altere facilmente o tipo de contato, sem ter que apagar o existente e
inserir um do outro tipo em seu lugar.
Para utilizar o comando “Alterna Contatos”, posicione o cursor sobre o contato e pressione as teclas
[Ctrl-N], ou clique no botão específico, disponível na parte superior do editor.

Compila/Carrega/Depura [Ctrl-Z]:
Este comando serve como um atalho para a seqüência de comandos necessária para transferir o
programa Ladder corrente para o CLP conectado. Sempre que um programa for alterado no editor
Ladder o programador deverá:
A) Compilar o programa corrente e gerar o arquivo de código;
B) Transferir o código gerado para o controlador conectado; e
C) Ativar o depurador para teste.
Este comando executa, automática e seqüencialmente, todas esta ações.

48 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 48


e_mail: jroberto_rio@yahoo.com.br
Auxílio do Elemento (Help) [Ctrl-H]:
Este comando apresenta para o usuário a tela de ajuda referente ao elemento sobre o qual o cursor
está posicionado.

Auxílio do Editor (Help) [F1]:


A qualquer instante, durante a edição de programas, é possível ao usuário ativar o sistema de ajuda
sobre o editor Ladder. Ao pressionar a tecla [F1] ou o botão respectivo, abre-se a tela de auxílio inicial
para o editor Ladder. A partir desta tela o usuário poderá consultar todas as outras as telas de auxilio
de comandos, elementos do programa etc.

Abandona Alterações do Editor:


Caso o usuário deseje cancelar as alterações efetuadas durante a edição do programa Ladder, basta
clicar neste botão e o programa solicitará uma confirmação para abandonar as alterações efetuadas.
Após a confirmação, o editor Ladder será fechado e todas as alterações efetuadas serão perdidas.

Salva Programa Corrente em Disco [Ctrl-S]:


Durante a edição de um programa Ladder, caso o usuário deseje salvar as alterações já realizadas
no programa sem sair do editor, basta clicar neste botão e o programa solicitará uma confirmação
para salvar as alterações efetuadas.
Após a confirmação, todas alterações efetuadas no programa serão salvas no arquivo de projeto
associado.

Ativa o Depurador [Ctrl-X]:


Este comando permite ao usuário abrir o depurador, posicionando o cursor no mesmo local onde o
mesmo estava no editor Ladder. Este comando só estará habilitado caso exista um controlador
conectado com um programa carregado igual ao programa corrente.

5.4 – Inserção de Documentação:


Um bom programa, escrito de acordo com as boas práticas de programação, deve ser bem
documentado, com comentários descrevendo o seu esenvolvimento, assim como as diversas funções
por ele atribuídas, de modo a facilitar a sua compreensão, depuração e manutenção, além de
também permitir que ele seja compreendido por outros programadores.

49 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 49


e_mail: jroberto_rio@yahoo.com.br
Para inserir um texto de documentação, clica-se o botão direito do mouse na posição do diagrama
Ladder onde se deseja escrevê-la e, ao ser aberta a tela abaixo, clica-se em “Insere Documentação”
ou pressiona-se a tecla [F5].

Digita-se, então, o texto desejado e clica-se uma vez o botão esquerdo do mouse para encerrar a
edição, que pode ser retomada a qualquer tempo, clicando-se este mesmo botão sobre o texto a ser
editado. Um exemplo de comentário é mostrado na figura abaixo.

5.5 – Elementos de programação (blocos) do Grupo Básico – Variáveis Discretas:

- Conexão Horizontal
Este elemento representa uma conexão horizontal no diagrama Ladder, sendo um elemento
fundamental na interligação dos elementos em uma lógica, completando o circuito elétrico da lógica.
Ele serve como um fio de ligação entre os relés e os blocos funcionais.

50 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 50


e_mail: jroberto_rio@yahoo.com.br
- Conexão Vertical
Idem à horizontal, porém na direção vertical. O elemento será inserido na posição abaixo e à direita
do cursor. Para apagá-lo, posicionar o cursor acima e à esquerda do elemento e clicar sobre o ícone.

- Contato NA
Este elemento pode ser inserido em qualquer posição dentro de uma lógica, exceto na décima coluna
da janela de edição, que é reservada para as bobinas dos relés. Ele representa um contato
normalmente aberto de um relé. Os operadores que ele aceita são: Entrada Digital (I), Contato
Auxiliar (R) e Saída Digital (O). Se um contato NA estiver associado a um operador I, ele estará
representando o estado de uma entrada digital. Se estiver associado a um operador R, ele estará
representando o estado do contato de um relé auxiliar e se estiver associado a um operador O, ele
estará representando o estado de uma saída digital do CLP.

- Contato NF
Idem ao contato NA.

- Relé
Este elemento representa uma bobina de relé e só pode ser inserido na última coluna da janela de
edição. Como não existe uma bobina real ou física no CLP, mas apenas uma função de software que
a simula, esse relé é, também, chamado de “soft relé”. Os operadores que ele aceita são O e R. Se
uma bobina estiver associada a um operador O, o relé estará representando o estado de uma saída
digital do CLP. Caso esteja associada a um operador R, ele estará representando a bobina de um
relé auxiliar.
Ele tem por objetivo funcionar como a bobina de um relé. Quando energizado, todos os seus contatos
NA fecharão e todos os seus contatos NF abrirão. Se estiver desenergizado, todos os seus contatos
NA estarão abertos e todos os contatos NF fechados.
Um detalhe muito importante em relação ao “soft relé” é que, enquanto um relé verdadeiro possui um
número limitado de contatos, não existe um limite de contatos que podem ser atribuídos a um “soft
relé”. No entanto, para cada relé só pode existir uma única bobina.

Exemplo 1: Partida simples de um motor com selo. No exemplo abaixo, a bobina do relé O0010
(lâmpada O10) será energizada quando a chave I0008 for acionada. Um contato de O0010 em paralelo
com I0008 faz a retenção (selo). A chave I0009 desenergiza todo o circuito, apagando a lâmpada O10.

51 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 51


e_mail: jroberto_rio@yahoo.com.br
- Instruções de SET e RESET (Flip-Flop Set e Reset): e
A instrução de “SET” liga uma saída e a mantém ligada mesmo que a alimentação da entrada seja
retirada. Para se desligar a saída utiliza a instrução “RESET”. A figura abaixo mostra um exemplo da
utilização destas instruções na partida direta de um motor.
Este programa é equivalente ao mostrado na figura da página 51.
Exemplo 2: Partida simples de um motor usando instruções de Set e Reset.

- Flip-Flop Oscilador (Toggle):


Este elemento inverte o seu estado todas as vezes que receber, em sua entrada, uma transição de
desenergizado para energizado. Pode ser um relé (R) ou uma saída digital (O).

Exemplo 3: A lâmpada O10 mudará de estado cada vez que o botão I8 for pressionado.

- Flip-Flop de Pulso:
Seu objetivo é ativar a bobina de um relé por um único ciclo de varredura do programa. Esta ativação
se dá através de uma transição de subida do sinal aplicado à sua entrada. A entrada E1 é a entrada
de ativação do bloco monoestável, sempre que houver uma transição de subida nesta entrada (de
desenergizada para energizada, ou de 0 para 1).

Este relé pode ser um relé auxiliar (R) ou uma saída digital (O).

52 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 52


e_mail: jroberto_rio@yahoo.com.br
- Temporizador
Este elemento é representado por um bloco funcional com duas entradas, uma saída e dois
operadores, e sua base de tempo é de 0,01s. O operador P1 deve ser uma memória (M), usada para
fazer a contagem regressiva do tempo quando o temporizador está acionado e o operador P2 poderá
ser uma memória (M) ou uma constante (K), cujo valor deve ser de 100 vezes o tempo desejado para
ativar a saída S1.
A entrada E1 inicia e interrompe a contagem de tempo e a entrada E2 zera a sua contagem. Toda
vez que esta entrada transitar de desenergizada para energizada (0 para 1) o temporizador será
reiniciado.
Quando a contagem de tempo chegar ao seu final, a saída S1 será energizada.

Exemplo:
Se P2 = 250
então
t = 2,5s

Ao inserirmos, no diagrama Ladder, um temporizador ou qualquer outro elemento ao qual esteja


associada uma memória ou uma constante, é necessário atribuir um valor a cada uma delas. No caso
do temporizador, ao ser inserido na tela de edição, ele aparece como a figura (A) abaixo.
Ao atribuirmos uma memória (M0000) ao parâmetro P1 sua aparência ficará como a figura (B).
Definimos, então, a constante (K0000) ao parâmetro P2, ficando o temporizador como na figura (C).

(A) (B) (C)

Nesse momento, abrir-se-á uma tela para a inserção do valor da constante K0000, mostrada abaixo.

53 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 53


e_mail: jroberto_rio@yahoo.com.br
Seleciona-se a aba “Constante inteira (16 bits) e digita-se o valor desejado na coluna “VALOR”, na
linha correspondente à constante K0000 e tecla-se [Enter] ou clica-se no botão .
A qualquer momento pode-se alterar o seu valor, para isso bastando dar apenas um click sobre o
temporizador, para selecioná-lo e, então, clicar no botão (Lista identificadores) na barra de
ferramentas, ou teclar [F7].

Exemplo 4: Neste exemplo, um temporizador é usado para controlar o tempo durante o qual a bobina
O0010 ficará energizada (lâmpara O10 acesa). A constante K0000 será igual a 1000 (10 segundos).
Quando a chave I0000 for acionada, a bobina O0010 será energizada. Neste momento, o seu contato
iniciará o temporizador. Quando este atingir o tempo de 10 segundos, a bobina R0000 será energizada e
o seu contato NF abrirá, interrompebdo a alimentação de O0010 e apagando a lâmpada. A chave I0001
interrompe e reinicializa a contagem sem zerá-la. O circuito somente será reiniciado se houver uma
nova habilitação da chave I0000.

Exercício 1 : Modificar o exemplo 4 utilizando Flip-Flops do tipo Set e Reset.

54 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 54


e_mail: jroberto_rio@yahoo.com.br
Exercício 2: Fazer um pisca-pisca (multivibrador astável) que acenda alternadamente as lâmpadas O10
e O11 a cada 1 segundo, utilizando bloco(s) temporizador(es) e relé(s) comuns e que seja ligado e
desligado através da chave I0001.

Exercício 3: Idem, utilizando bloco(s) temporizador(es) e relé(s) do tipo SET e RESET.

Exercício 4: Fazer um “seqüencial”, onde as lâmpadas O10 a O13 acendam em seqüência, uma de
cada vez, em um regime cíclico (após O13, retorna-se a O10 e assim sucessivamente).

Exercício 5: Fazer um comando de partida direta de motor com reversão e intertravamento, onde:
I8 – Start (sentido horário)
I9 – Start (sentido anti-horário)
I1 – Stop
O10 – Contactor sentido horário
O11 – Contactor sentido anti-horário

Exercício 6: Fazer um comando de partida Estrela/Triângulo de motor com reversão e intertravamento,


onde:
I8 – Start
I9 – Stop
I1 – Sentido de rotação
O10 – Contactor sentido horário
O11 – Contactor sentido anti-horário
O12 – Contactor Estrela
O13 – Contactor Triângulo

55 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 55


e_mail: jroberto_rio@yahoo.com.br
- Flip-Flop Set Borda e Reset Borda: e
Estes elementos são acionados somente no momento da transição na sua entrada, e não mais após
a manutenção do sinal ativo. Podem ser associados a um relé auxiliar (R) ou uma saída digital (O).

- Contador UP:
Este elemento é representado por um bloco funcional com duas entradas, uma saída e dois
operadores, como mostra a figura (A) abaixo. O parâmetro P1 deve ser, obrigatoriamente, uma
memória (M), e é o que guarda o valor corrente da contagem. P2 contém o valor final da contagem e
pode ser uma memória (M) ou uma constante (K). A figura (B) mostra sua aparência na tela.
A entrada E2 habilita a contagem e reseta o contador, zerando o seu conteúdo. A entrada E1
incrementa a contagem em uma unidade sempre que receber uma transição de desenergizada para
energizada (0 para 1). A saída S1 será energizada ao final da contagem.
Os conteúdos dos parâmetros, memória ou constante, devem ser preenchidos de forma semelhante à
utilizada no bloco temporizador.

(A) (B)

Exemplo 4: Neste exemplo, todas as vezes que o botão I8 for pressionado, o contador irá incrementar
uma unidade. Ao final de 10 pulsos, a lâmpada O10 acenderá. A chave I0 habilita e zera a contagem e a
constante K0 deverá ter o valor de 10.

56 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 56


e_mail: jroberto_rio@yahoo.com.br
- Contador UP/DOWN:
Este elemento é representado por um bloco funcional com três entradas, uma saída e dois
oparadores, como mostrado na figura abaixo, e tem por objetivo contar as transações ocorridas na
entrada E1 até o limite da contagem, definida pelo usuário no parâmetro P2, que pode ser uma
memória ou uma constante. P1 guarda o valor corrente do contador e deve ser, obrigatoriamente,
uma memória. A saída S1 é energizada quando a contagem atinge o valor programado em P2.
A entrada E2 define o sentido da contagem. Se for igual a 1, a contagem é incrementada. Caso seja
0, será decrementada. A entrada E3 habilita o contador e o reseta todas as vezes que receber uma
transição de 0 para 1.

Exemplo 6: Ao se acionar a chave I0, habilita-se o contador, zerando a sua contagem, e a lâmpada O10
acende. A constante K deve ser igual a 8. Acionando-se I8, o contador incrementa ou decrementa a sua
contagem, de acordo com a posição de I2. Caso o contador atinja a contagem de 8, o relé R0000 opera
e a lâmpada O10 apagará.

Exercício 7: Fazer um controle de estacionamento com 10 vagas, onde existe, na entrada, um semáforo
indicando se há vagas. Na entrada e na saída do estacionamento existem sensores que emitem um pulso
na passagem de cada carro. Utilizar o contador Up-Down.
I8 – Sensor da Entrada O10 – Lâmpada vermelha
I9 – Sensor da Saída O11 – Lâmpada verde

57 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 57


e_mail: jroberto_rio@yahoo.com.br
5.5.1 – Grupo “Matemáticas” – Operações Aritméticas:
O CLP também é capaz de executar diversos cálculos e operações matemáticas, que se encontram
no grupo “Matemáticas”. Neste trabalho abordaremos apenas as quatro operações aritméticas
fundamantais: Adição, Subtração, Multiplicação e Divisão.
Os botões correspondentes a essas quatro funções são mostrados na figura abaixo:

Cada um desses elementos é representado por um bloco funcional com uma entrada, uma saída e
três operadores. Seu objetivo é realizar as quatro operações aritméticas principais, citadas acima.
Os dois operadores que aparecem na parte superior do bçoco (P1 e P2) guardam os valores que
servirão como operandos e podem ser uma memória (M ou D) ou uma constante (K ou Q), enquanto
que o terceiro operador (P3) deve ser, obrigatoriamente, uma memória (M ou D), que irá armazenar o
resultado da operação. A entrada E1 habilita a operação e a saída S1 indica se a operação foi
executada com sucesso.
Para essas as quatro operações vale a seguinte regra: o tipo de operação dependerá sempre do
primeiro operador (P1). Se ele for inteiro, a operação realizada será inteira. Se for real, a operação
será real. O resultado da operação depende do operador P3. Se este estiver definido por uma
memória real, o resultado será convertido para real, independentemente do tipo de operação
realizada. Caso o mesmo seja definido por uma memória inteira, o resultado será convertido para
inteiro, independentemente do tipo de operação realizada.

A figura abaixo mostra os quatro blocos funcionais correspontentes a essas operações.

58 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 58


e_mail: jroberto_rio@yahoo.com.br
Exemplo 11: Este exemplo realiza operações aritméticas. O primeiro bloco soma o valor de K0000
com o de K0001 e guarda o resultado na memória M0. Deste resultado é subtraído o valor de K0001,
no segundo bloco, e o seu resultado guardado em M0001. Os dois resultados obtidos nos dois blocos
anteriores são multiplicados e o resultado guardado em M0002. Por fim, Q0000 é dividido pelo valor
guardado em M0002 e o resultado dessa operação é guardado na memória real D0000. Os valores
iniciais das constantes utilizadas neste programa são:
K0000 = 5
K0001 = 2
Q0000 = 105

59 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 59


e_mail: jroberto_rio@yahoo.com.br
5.5.2 – Grupo “Comparação”:
Através dos blocos de comparações, é possível obter-se as seguintes operações:
- Igual a...
- Diferente de...
- Maior que...
- Maior ou Igual que...
- Menor que...
- Menor ou Igual que...
- Teste Lógico

Para inserir um desses elementos, clica-se no seu ícone correspondente, dentro do grupo
“Comparação”. Os diversos ícones são mostrados abaixo:

Cada um desses elementos de comparação é representado por um bloco funcional com uma entrada,
uma saída e dois operadores. O operador P1 tem que ser obrigatoriamente uma memória (M ou D) e
o operador P2 pode ser uma memória (M ou D) ou uma constante (K ou Q).
A entrada E1 habilita as operações quando for energizada. A saída S1 reflete o resultado da
comparação, ou seja, energizada se a comparação for verdadeira e desenergizada se a comparação
for falsa. A figura abaixo mostra os seis primeiros blocos de comparação.

60 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 60


e_mail: jroberto_rio@yahoo.com.br
Exemplo 12: Este exemplo utiliza um dos blocos de comparação para ativar ou desativar a bobina
O0010. Enquanto o valor de M0000 for menor que o valor armazenado em K0000, a saída O0010 será
ativada, acendendo a lâmpada O10. K0000 é uma constante de valor igual a 2000 e E0000 é a entrada
analógica, cujo valor pode variar de 0 a 4095, dependendo da posição do seu potenciômetro. Este valor
é movido para a memória M0000.

Exercício 8: Fazer um controle de estacionamento com 10 vagas, onde existe, na entrada, um semáforo
indicando se há vagas. Na entrada e na saída do estacionamento existem sensores que emitem um pulso
na passagem de cada carro. Utilizar blocos de operações aritméticas e comparadores.
I8 – Sensor da Entrada O10 – Lâmpada vermelha
I9 – Sensor da Saída O11 – Lâmpada verde

5.6 – Mensagem para a IHM:


O objetivo deste elemento é sinalizar, com um texto, através da interface homem/máquina do
controlador, a ocorrência de algum evento. Para inseri-lo no programa deve-se posicionar o cursor na
posição desejada, selecionar no menu à esquerda o grupo "Especiais" e clicar no botão
correspondente.
Este elemento é representado por um bloco de uma entrada e possui um operador. O operador (P1)
é um elemento do tipo texto (T) e especifica o número da mensagem de sinalização de eventos que
aparecerá no display da interface homem/máquina do PLC. Se a sua entrada (A1) estiver energizada,
a mensagem de sinalização de evento especificada pelo usuário será mostrada no display.

A1

Esta mensagem permanecerá no display enquanto a entrada do bloco estiver energizada. Uma outra
mensagem, de maior prioridade, pode ser colocada no display no lugar da mensagem corrente. Caso
dois blocos de mensagem à IHM estejam acionados ao mesmo tempo, somente o de maior prioridade

61 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 61


e_mail: jroberto_rio@yahoo.com.br
será exibido. Quanto menor o número, maior a prioridade. Assim, a mensagem T0000 tem prioridade
sobre T0001 e assim sucessivamente.
Para se definir/editar o texto a ser exibido, coloca-se o cursor sobre o elemento e tecla-se [Ctrl-T].
Abrir-se-á, então, a tela para a introdução do texto, que deve obedecer a limitação do display, de 16
colunas e duas linhas. Uma vez intoduzido o texto, fecha-se a janela clicando no “X” no canto
superior direito.
Um exemplo desta edição é mostrada na figura abaixo. Todas as vezes que a tecla I0 for acionada, a
lâmpada O10 acenderá e o display da IHM exibirá o texto armazenado em T0000.

Exemplo 7: Texto enviado à IHM.

Exercício 9: Elaborar um programa em Ladder para controlar automaticamente os semáforos em um


cruzamento de duas ruas. Cada semáforo possui três lâmpadas: vermelha, amarela e verde, que serão
indicadas como abaixo:

Rua 1 Rua 2
Vermelha O10 O0
Amarela O11 O1
Verde O12 O2

Observações:
1 – As lâmpadas verdes acenderão por 5 segundos, as amarelas por 1 segundo e as vermelhas por 6
segundos.
2 – Todas as vezes que a luz vermelha da Rua 1 acender, a IHM deverá exibir a palavra “PARE”.

62 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 62


e_mail: jroberto_rio@yahoo.com.br
5.7 – Variáveis Analógicas:
Até agora, manipulamos apenas variáveis discretas, ou digitais, ou seja, que somente possuem dois
estados: ligado e desligado. Isso se aplicou também aos dispositivos de entrada e saída.
A partir deste ponto, passaremos a introduzir e manipular variáveis analógicas, cujo valor varia
continuamente, valor esse que é proporcional à grandeza a qual se referem. As variáveis analógicas
são mais utilizadas em controles de processos químicos. Exemplos clássicos são as caldeiras de
vapor, as usinas de açúcar, es indústrias de papel e celulose onde estão envolvidas variáveis tais
como pressão, temperatura e vazão. Os dados fornecidos pelos sensores podem ser utilizados de
forma simples, para interromper o funcionamento de uma caldeira por exemplo, ou de forma
complexa, em controles Proporcionais-Integrais-Derivativos, onde se busca atingir um valor-alvo, ou
“set-point”.
Nos CLPs em geral, existem entradas analógicas com resolução de diversos bits, e são configuráveis
para sinais de correntes de 0 a 20 ma, 4 a 20 ma, ou tensão de 0 a 5 VDC, 1 a 5 VDC ou 0 a 10 VDC.
A configuração dependerá do sensor que está sendo ligado a referida entrada. As saídas analógicas
também tem resoluções de diversos bits, com os mesmos padrões da entrada.
As entradas analógicas do módulo de treinamento CLP 2301 estão localizadas no cartão descrito no
item 3.4 (pág. 24) e são identificadas pela letra “E”, num total de 8 entradas: E0000 e E0001 estão
conectadas a potenciômetros que fornecem uma tensão de 0 a 5VDC. E0002 a E0007 estão
configuradas para receberem uma tensão de entrada externa variável de 0 a 5 VDC.
As duas saídas analógicas estão no mesmo cartão e fornecem uma tensão de saída de 0 a 5 VDC,
sendo identificadas como S0000 e S0001.
Todas essas entradas e saídas possuem uma resolução de 12 bits e, por isso, estão associadas a
um valor que varia entre 0 e 4095. A leitura e a escrita de dos valores analógicos é feita através da
função MOV. As funções que podem manipular variáveis analógicas são encontradas nos grupos
“Movimento”, “Matemáticas” e “Comparação”, como veremos a seguir.

5.7.1 – Grupo “Movimento”:

- Movimentação de Variáveis:
Este elemento possibilita a inicialização de valores de memórias, a transferência de dados entre
memórias, textos, entradas e saídas do CLP e a conversão de tipos de dados entre vários formatos.
Este único bloco implementa funcionalidade normalmente encontrada em vários blocos de outros
CLPs do mercado. Para inseri-lo no programa deve-se posicionar o cursor na posição desejada,
selecionar no menu à esquerda o grupo "Movimento" e clicar no botão correspondente.
Essencialmente o bloco de movimentação é mostrado como na figura abaixo.

63 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 63


e_mail: jroberto_rio@yahoo.com.br
Ele é representado por um bloco funcional com uma entrada, uma saída e dois operadores. Seu
objetivo é transferir dados do operador P1, que pode ser uma constante inteira (K), real (Q), uma
memória inteira de 16 bits (M), ou real (D), uma entrada analógica (E) ou digital (I), para o operador
P2, que por sua vez pode ser uma memória inteira (M) ou real (D) ou ainda uma saída analógica (S)
ou digital (O).
A entrada E1 habilita a operação e a saída S1 indica se a transferência foi efetivada. Se estiver
desenergizada é porque ocorreu algum erro de transferência.

Exemplo 8: O valor fornecido à entrada analógica E0000 é movido para a memória M0000 que, por
sua vez, é movida para a saída analógica S0000.

- Movimentação Indexada:
Este elemento é representado por um bloco funcional com uma entrada, uma saída e três
operadores. Seu objetivo é transferir dados entre várias memórias inteiras (M), ou um bloco de
memórias, iniciadas pelo índice especificado pelo operador P1, para outro bloco de memórias, do
mesmo tamanho, cujo índice inicial é especificado pelo operador P2. O operador P3 especifica o
tamanho do bloco, ou a quantidade de memórias que será transferida.
A entrada E1 habilita a operação e a saída S1 indica se a transferência foi efetivada. Se estiver
desenergizada é porque ocorreu algum erro de transferência.
A figura abaixo ilustra o formato genérico deste bloco.

64 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 64


e_mail: jroberto_rio@yahoo.com.br
Exemplo 9: A memória M0000 é a memória inicial, de um bloco de 3 memórias, que será transferida.
A memória M0005 é a memória inicial para onde os dados serão transferidos. A transferência se dá
com o acionamento da chave I0 e a lâmpada O10 indica que a transferência foi executada. O valor de
K0000 deve ser igual a 3.

- Inicialização de Dados:
Este elemento possibilita inicializar um bloco de memórias M, D ou contatos (R) com um valor
predefinido. Para inseri-lo no programa deve-se posicionar o cursor na posição desejada, selecionar
no menu à esquerda o grupo "Movimento" e clicar no botão correspondente. O parâmetro P1
especifica uma memória M ou K cujo conteúdo identifica a memória inicial do bloco a ser inicializado.
O parâmetro P2 especifica qual tipo de variável e o valor a ser utilizado na inicialização do bloco. O
parâmetro P3 especifica o tamanho do bloco a ser inicializado a partir da variável definida em P1.
A figura abaixo ilustra o formato do bloco.

Exemplo 10: O conteúdo de K0002 deve ser igual a 3. Este valor será movido para M0005, que indica
que a memória inicial do bloco é M0003. O valor de K0000 deve ser igual a 1. Isso significa que P2 é
uma variável do tipo constante inteira (K), cujo valor inicial é 1. K0001 é igual a 2, o que indica que
duas memórias (M0003 e M0004) serão inicializadas com o valor 1, armazenado em K0000.

65 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 65


e_mail: jroberto_rio@yahoo.com.br
- Troca de Dados:
Este elemento efetua a troca dos valores entre os dois operadores especificados. Para inseri-lo no
programa deve-se posicionar o cursor na posição desejada, selecionar no menu à esquerda o grupo
"Movimento" e clicar no botão correspondente. Os parâmetros P1 e P2 podem ser do tipo M ou D.
A figura abaixo mostra o formato do bloco.

Exercício 10: Elaborar um programa Ladder para controlar a temperatura de um forno, através de uma
resistência.
A temperatura deverá ser fixada em 2000°C e a entrada analógica E1 fará o papel do sensor de
temperatura. Quando esta estiver abaixo de 2000°C a resistência deverá ser ligada (indicação através de
O10) e, quando estiver acima, será desligada.

Exercício 11: O mesmo controle acima, porém deverá ser implementada uma histerese de 200°C, ou
seja: Temperatura abaixo de 1900°C liga a resistência e temperatura acima de 2100°C a desliga.

Exercício 12: O mesmo controle acima, porém ao invés do set-point da temperatura ser fixo em
2000°C, ele poderá ser ajustado entre 1000°C e 3000°C através de E0. A histerese de 200°C deverá ser
mantida.

Exercício 13: Elaborar dois indicadores de nível do tipo “Bargraph” (gráfico de barras), utilizando os
LEDs O0 a O4 para um bargraph do tipo “cheio”, onde os LEDs vão acendendo em seqüência até ficar
a barra toda acesa.
Utilizar os LEDs O5 a O9 para fazer um que acenda apenas um LED de cada vez, ou seja, quando O6
acender, apaga O5 e assim sucessivamente.
O sensor de nível será simulado por E0 e os níveis de comutação são: 500,1000, 1500, 2000 e 2500.

Exercício 14: Elaborar um sistema de revista aleatória, semelhante ao do aeroporto, onde cada
passageiro pressiona um botão (I8). Ao ser pressionado esse botão, existe 90% de probabilidade de
acender a luz verde (O11) e 10% de probabilidade de acender a luz vermelha (O10).
Ao ser acesa qualquer uma das duas lâmpadas, ela deve permanecer nesse estado por 1 segundo.

66 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 66


e_mail: jroberto_rio@yahoo.com.br
5.7.2 – Grupo “Matemáticas” – Operações Lógicas:
O CLP também é capaz de executar operações lógicas booleanas, que são representadas por blocos
funcionais com uma entrada, uma saída e três operadores.

- Operações Lógicas AND, OR e XOR: , e


Para as operações AND, OR e XOR, o operador P1 deve ser uma memória inteira (M). O operador
P2 pode ser uma memória inteira (M), uma constante inteira (K) ou uma constante hexadecimal (H).
O resultado das operações entre P1 e P2 são armazenados na memória representada pelo operador
P3. A entrada E1 habilita a operação e a saída S1 é uma cópia da entrada.
Os blocos funcionais que representam, respectivamente, essas operações, são mostrados na figura
abaixo.

67 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 67


e_mail: jroberto_rio@yahoo.com.br
Exemplo 12: Neste exemplo, os valores das constantes K0000 e K0001 são movidos para as memórias
M0000 e M0001, respectivamente. Em seguida é realizada a operação lógica AND entre esses valores e
o resultado é guardado na memória M0002. Os valores das constantes são:
K0000 = 2
K0001 = 4

Obs.: O mesmo exemplo pode ser executado para os operadores OR e XOR, bastando para isso
substituir o bloco funcional pelo da função correspondente.

- Deslocador – Direita e Esquerda:


O objetivo destes elementos é realizar o deslocamento dos bits de um operador para a direita ou para
a esquerda um determinado número de vezes. O operador P1 deve ser uma memória inteira (M). O
operador P2 P2 pode ser uma memória inteira (M) ou uma constante inteira (K). O operador P3
armazena o resultado da operação e deve ser uma memória inteira (M). A entrada E1 habilita a
operação e a saída S1 é uma cópia da entrada.
O operador P1 é deslocado para a diretia ou esquerda o número de bits especificado pelo conteúdo
do operador P2 e o resultado é colocado na memória indicada pelo operador P3.
Os blocos funcionais referentes a essas duas operações são mostrados na figura abaixo:

68 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 68


e_mail: jroberto_rio@yahoo.com.br
Exemplo 13: Neste exemplo o primeiro bloco move o valor de K0000 para M0000. O segundo bloco
desloca 2 bits para a esquerda o conteúdo de M0000 e guarda o resultado em M0001, cujo conteúdo
será, por sua vez, será deslocado de dois bits para a direita no terceiro bloco, com o resultado
armazenado em M0002.
K0000 = 85
K0001 = 2

- Teste Lógico:
Este elemento é representado por um bloco funcional com uma entrada, uma saída e dois
operadores. Sua função é a de realizar uma operação lógica “AND” bit a bit entre os dois operadores.
Esta operação é efetuada bit a bit entre os conteúdos de P1 e P2 ou seja, os Bits 0 de P1 e P2 são
operados e o mesmo procedimento se repete para todos os 16 bits dos operandos inteiros.
O resultado desta operação é refletido na saída S1. Esta será energizada caso o resultado seja
diferente de zero, ou seja, pelo menos um bit do resultado da operação seja igual a 1. Se a saída
estiver desenergizada, o resultado do teste lógico foi igual a zero.
O operador P1 deve ser uma memória inteira (M) e o operador P2 pode ser uma memória inteira (M)
ou uma constante inteira (K). A entrada E1 habilita a operação, quando energizada. Este bloco é
ilustrado na figura abaixo.

69 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 69


e_mail: jroberto_rio@yahoo.com.br
Exemplo 13: Neste exemplo, o saída O0010 indica se o resultado do teste lógico é igual ou diferente
de zero. Para valores das constantes K0000 igual a 4 e K0001 igual a 5, a lâmpada O10 acenderá. Caso
K0000 seja igual a 4 e K0001 igual a 2, O10 apagará.

5.7.3 – Operações de Fluxo:

- Início de Relé Mestre:

- Fim de Relé Mestre:

O objetivo destes elementos é delimitar uma área do programa que será executada sempre que o
bloco Relé Mestre estiver ativado. Para inseri-los no programa deve-se posicionar o cursor na
posição desejada, selecionar no menu à esquerda o grupo "Fluxo" e clicar no botão correspondente.
O elemento “Início de Relé Mestre” é representado por um bloco de uma entrada e funciona como
uma bobina de relé, ou seja, quando a sua entrada E1 estiver energizada, a área do programa
delimitada entre ele e o “Fim de Relé Mestre”, será executada, caso contrário essa área do programa
não será executada. Esse elemento deve ocupar a última coluna da janela de edição.
O elemento “Fim de Relé Mestre” é representado por um bloco sem entrada. Ele funciona apenas
como um delimitador da área do programa, ou seja, ele marca o ponto final da área delimitada pelo
Relé Mestre anterior a ele.
Caso na área delimitada pelos dois relés (Início e Fim) existirem bobinas e o Relé Mestre estiver
desenergizado, então todas essas bobinas estarão igualmente desenergizadas, independentemente
do estado da lógica a elas associada.
A figura abaixo mostra os blocos funcionais desses elementos.

E1

Início de Relé Mestre Fim de Relé Mestre

70 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 70


e_mail: jroberto_rio@yahoo.com.br
Exemplo 14: A área do programa delimitada pelas bobinas MRL e EMR só será executada quando a
bobina MRL estiver energizada. No caso, quando a chave I0000 for acionada. Apesar da bobina O0010
estar ligada diretamente, isto é, sempre ativada, ela não será ativada enquanto a chave I0010 não for
acionada.

- Início de Bloco de Lógica:

- Fim de Bloco de Lógica:

Estes elementos são representador por um bloco sem entrada e funcionam apenas como
delimitadores de uma área do programa, de modo análogo ao Relé Mestre, não possuindo nenhuma
outra funcionalidade. Eles devem, obrigatoriamente, ocupar a última coluna da janela de edição, e
devem ser posicionados sempre após o delimitador de fim de programa .

O objetivo desses elementos é delimitar uma área do programa que será executada sempre que o
Bloco de Lógica estiver ativado e devem, sempre, ser utilizados em conjunto.
A área delimitada pelos dois blocos será executada quando o Bloco de Lógica correspondente estiver
energizado. Podem existir vários blocos de lógica em um programa.
Fazendo uma analogia com outros tipos de programas, o Bloco de Lógica seria a chamada de uma
sub-rotina, com os blocos “Início” e “Fim” delimitando-a.
A figura abaixo mostra os blocos funcionais desses elementos.

Início de Bloco de Lógica Fim de Bloco de Lógica

O operador P1 deve ser uma constante (T) e identifica o bloco de lógica delimitado e o seu valor tem
que ser igual ou maior que zero. Quando o seu valor é zero, o bloco de lógica será executado
automaticamente todas as vezes que o CLP for ligado, servindo como uma rotina de inicialização do
programa. Quando o seu valor for diferente de zero, a sub-rotina delimitada será executada apenas
quando o Bloco de Lógica correspondente estiver energizado.

71 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 71


e_mail: jroberto_rio@yahoo.com.br
- Bloco de Lógica:
Este elemento é representado por um bloco funcional com uma entrada, uma saída e um parâmetro.
O operador P1 é uma constante (T) e identifica o bloco de lógica que será executado quando a sua
entrada E1 estiver energizada. O seu valor tem que ser igual ou maior que zero. Quando for zero, a
sub-rotina por ele definida (também zero) será executada automaticamente todas as vezes que o
CLP for ligado, servindo como uma rotina de inicialização do programa. Quando o seu valor for
diferente de zero, a sub-rotina definida pelo seu parâmetro P1 se rá executada apenas quando a sua
entrada estiver energizada. A saída S1 acompanha o estado de energização da linha em que se
encontra o bloco “Fim de Bloco de Lógica” correspondente.
Em um programa podem existir diversos Blocos de Lógica.
A figura ao lado ilustra o Bloco de Lógica.

Exemplo 15: Neste exemplo, o bloco de lógica delimitado pelas bobinas BBK e EBK será executado
automaticamente, independentemente do estado da chave I0000, uma vez que o parâmetro do Bloco de
Lógica BLQ é igual a zero (T0000). Caso a constante seja diferente de zero, por exemplo, T0001, o
bloco de lógica só será executado quando a chave I0000 for ligada.

(T0001)

(T0001)

72 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 72


e_mail: jroberto_rio@yahoo.com.br
5.7.4 – Bloco de Controle PID:

Este elemento é representado por um bloco funcional de duas entradas, uma saída e um operador. O
operador P1 deve ser uma constante (T) e especifica o número do bloco de controle PID, de 0 a 3. A
entrada E1 habilita o bloco. O estado dessa entrada será replicado na saída S1 sem qualquer
alteração. A entrada E2 determina o modo de operação – manual ou automático. Se estiver
energizada a malha de controle irá operar no modo automático e se estiver desenergizada o seu
modo de operação será manual.
No modo automático, o bloco de controle estará atuando diretamente na variável de saída da malha
PID, enquanto que, no modo manual, o último valor de saída será mantido constante.
O bloco funcional do controle PID é mostrado na figura abaixo:

Para inseri-lo no programa, deve-se posicionar o cursor no local desejado e clicar no ícone
correspondente, no grupo “Especiais”.

Para se utilizar este bloco é necessário fornecer alguns parâmetros, presentes na janela de
configuração dos blocos de controle PID. Para se ter acesso a essa janela basta posicionar o cursor
do editor sobre o bloco PID desejado e teclar [Ctrl-T]. Todos os blocos inseridos no programa devem
ter os seus parâmetros especificados, sendo permitidos, no máximo, quatro blocos PID em cada
programa.
A figura abaixo mostra a tela de configuração dos blocos de controle PID.

73 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 73


e_mail: jroberto_rio@yahoo.com.br
Na faixa azul superior encontra-se o número do bloco ao qual se refere a janela de configuração.

Parâmetros:
- PV (M) / SP (M) / OV (M) : Especificação das memórias em que serão obtidos o valor da variável
de processo (VP), valor desejado (SP – Set-Point) e o valor da variável de saída (OV). Esses três
parâmetros devem ser o índice de uma memória inteira (M) e o seu conteúdo deve estar,
obrigatoriamente, na faixa do conversor A/D, ou seja, 0 a 4095. As variáveis PV e SP são de entrada
e a variável OV de saída.

Ganhos:
- GP (D), TI (D) e TD (D) especificam, respectivamente, as memórias em que serão obtidos os
valores dos ganhos do controlador PID, ou seja, Ganho Proporcional (GP), Tempo Integral (TI) e
Tempo Derivativo (TD). Esses três parâmetros devem ser o índice de uma memória real (D). Eles
podem ser alterados através da Interface Homem/Máquina do CLP ou através dos painéis de controle
de processo (operação), no ambiente de produção. O Ganho Proporcional (GP) pode assumir valores
de 0 a 1.000, enquanto que o Tempo Integral (TI) deve estar na faixa entre 0,001 a 5.000 repetições
por minuto e o Tempo Derivativo (TD) deve estar entre 0 e 1.000.

- Limites:
Nesta janela podem ser especificados, em valor percentual, os limites inferior e superior da variável
de saída (OV Min. e OV Max.), além do seu valor inicial (OV Ini).

- Tipo de Controle:
Direto: Indica que o controle será direto, ou seja, em uma situação de estabilidade do processo uma
variação positiva da variável de processo (PV > SP) induzirá uma variação negativa na variável de
saída, diminuindo-a.
Invertido: Indica que o controle será invertido, ou seja, em uma situação de estabilidade do
processo, uma variação positiva da variável de processo (PV > SP) induzirá uma variação positiva na
variável de saída, aumentando-a.

- Tipo de Saída:
Direta: Indica, quando selecionado, que o valor da saída do bloco de controle corresponderá ao
máximo quando a saída OV estiver saturada no máximo.
Complementar: Indica, quando selecionado, que o valor da saída do bloco de controle
corresponderá ao mínimo quando a saída OV estiver saturada no máximo.

Exemplo 16: Neste exemplo é realizado um controle PID. Na janela de configuração do bloco PID
foram definidas as memórias onde serão guardados os valores das constantes. O valor de PV está
definido em K0000 e está armazenado em M0000. SP está definido pela constante K0001, que está
armazenado na memória M0001. As constantes reais Q0000, Q0001 e Q0002 representam os
valores de GP, TI e TD, respectivamente, e estão guardados nas memórias reais D0000, D0001 e
D0002. A saída do processo é guardada na memória M0002. Os valores das constantes usadas
neste programa são:

74 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 74


e_mail: jroberto_rio@yahoo.com.br
K0000 => M0000 = 1000 (PV)

K0001 => M0001 = 500 (SP)

Q0000 => D0000 = 2 (GP)


Q0001 => D0001 = 1 (TI)
Q0002 => D0002 = 0 (TD)

A figura ao lado mostra a


sua janela de configuração.

As janelas de programação das constantes encontram-se abaixo:

75 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 75


e_mail: jroberto_rio@yahoo.com.br
76 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 76
e_mail: jroberto_rio@yahoo.com.br
ÍNDICE

CAPÍTULO 1 – INTRODUÇÃO 03
1.1 – Evolução dos Processos de Produção 03
1.2 – Definição de Automação 04
1.3 – Automação e Controle de Processos 05
1.4 – Variáveis de Processo 06
1.5 – Controladores 10
1.6 – Atuadores 10
1.7 – Tipos de Controladores Industriais 11
1.7.1 – Controle ON-OFF ou de Histerese 11
1.7.2 – Controle Proporcional ou P 12
1.7.3 – Controle Proporcional + Integral ou PI 13
1.7.4 – Controle Proporcional + Derivativo ou PD 14
1.7.5 – Controle Proporcional + Integral + Derivativo ou PID 15

CAPÍTULO 2 – CONTROLADORES LÓGICOS PROGRAMÁVEIS 19


2.1 – Histórico 19
2.2 – Conceitos e Aplicações 19
2.3 – Arquitetura Básica 20
2.3.1 – Unidade Central de Processamento 21
2.3.2 – Memória 23
2.3.3 – Interface de Programação 23
2.3.4 – Fonte de Alimentação 23
2.3.5 – Interface Homem-Máquina (IHM) 24
2.3.6 – Módulos (Interfaces) de Entrada 24
2.3.7 – Módulos (Interfaces) de Saída 26
2.4 – Funcionamento do CLP 27
2.5 – Linguagens de Programação 28

77 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 77


e_mail: jroberto_rio@yahoo.com.br
CAPÍTULO 3 – O MÓDULO DIDÁTICO DATAPOOL 30
3.1 – Módulo do Controlador Lógico Programável e IHM 30
3.2 – Módulo de Entradas Digitais 31
3.3 – Módulo de Saídas Digitais 31
3.4 – Módulo de Entradas / Saídas Analógicas 32
3.5 – Módulo de Relés 32

CAPÍTULO 4 – PROGRAMANDO O ZAP 500 USANDO O SPDSW 33


4.1 – Inicialização do Programa SPDSW 33
4.2 – Abrindo um Projeto Existente 33
4.3 – Iniciando um Novo Projeto 34

CAPÍTULO 5 – PROGRAMANDO NA LINGUAGEM LADDER 38


5.1 – Funções Lógicas em Ladder 39
5.2 – Abrindo o Editor Ladder 40
5.3 – Funções da Barra de Ferramentas 43
5.4 – Inserção de Documentação 49
5.5 – Elementos (blocos) do Grupo Básico – Variáveis Discretas 50
5.5.1 – Grupo “Matemáticas” – Operações Aritméticas 58
5.5.2 – Grupo “Comparação” 60
5.6 – Mensagem para a IHM 61
5.7 – Variáveis Analógicas 63
5.7.1 – Grupo “Movimento” 63
5.7.2 – Grupo “Matemáticas” – Operações Lógicas 67
5.7.3 – Operações de Fluxo 70
5.7.4 – Bloco de Controle PID 73

ÍNDICE 77

BIBLIOGRAFIA 79

78 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 78


e_mail: jroberto_rio@yahoo.com.br
Bibliografia:

- SENSORES INDUSTRIAIS – Daniel Thomazini e Pedro Urbano Braga de Albuquerque


- SENSORES INDUSTRIAIS – Alexandre Capelli
- SENSORS AND ACTUATORS IN MECHATRONICS – Andrzej M. Pawlak
- INSTRUMENTAÇÃO INDUSTRIAL – Reverson Reis
- INSTRUMENTAÇÃO BÁSICA I E II – Senai / Cia. Siderúrgica Tubarão
- AUTOMAÇÃO – Giovani Batista de Souza
- MANUAL DATAPOOL CLP 2301 – Teoria e Instruções
- MANUAL DATAPOOL CLP 2301 – Operação e Experiências
- AUTOMAÇÃO E CONTROLE DISCRETO – Prof. Carlos Alexandre P. Pizzino – FUNCEFET-RJ
- CONTROLADORES LÓGICOS PROGRAMÁVEIS – CP 2301 – e-book
- MANUAL DO USUÁRIO – Ambiente de Programação SPDSW – HI Tecnologia
- CONTROLADORES LÓGICOS PROGRAMÁVEIS – Sistemas Discretos – Claiton M. Franchi e
Valter Luis Camargo – Ed. Érica
- AUTOMAÇÃO E CONTROLE DISCRETO – Paulo Rogério da Silveira e Winderson E. dos Santos –
Ed. Érica

79 Automação II - CLP Engº. José Roberto Pereira – 2ª Edição – Maio 2018 79


e_mail: jroberto_rio@yahoo.com.br

Você também pode gostar