Escolar Documentos
Profissional Documentos
Cultura Documentos
“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)
CAPÍTULO 1 – Introdução 03
ÍNDICE 73
BIBLIOGRAFIA 75
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.
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
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:
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
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”.
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.
Realimentação
(Feedback)
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;
Atuador: provê o sistema de energia para atingir determinado objetivo. São os casos dos motores
elétricos, pistões hidráulicos etc.
- Temperatura - Pressão
As 4 mais utilizadas
- Vazão - Nível
- Massa - Posição
- Velocidade - Aceleração
- Densidade - Radiação
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.
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.
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.
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
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.
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.
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.
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.
Nível de Acionamento
Zona
Morta
Nível de Desacionamento
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:
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
120°C
100°C
80°C
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:
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.
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.
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.
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).
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.
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.:
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.
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:
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:
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:
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:
Ou
Linguagens Gráficas:
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.
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.
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
Tabela Verdade
I0 I1 O10
0 0 0
0 1 0
1 0 0
1 1 1
I0 I1 O10
0 0 1
0 1 0
1 0 0
1 1 0
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.
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.
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.
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.
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.
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.
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.
- 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.
- 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.
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).
Exemplo:
Se P2 = 250
então
t = 2,5s
Nesse momento, abrir-se-á uma tela para a inserção do valor da constante K0000, mostrada abaixo.
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 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
- 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.
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
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.
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.
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
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
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”.
- 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.
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.
- 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.
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.
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.
- 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.
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
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.
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.
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)
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.
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:
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
ÍNDICE 77
BIBLIOGRAFIA 79