Вы находитесь на странице: 1из 71

Universidade Federal

do Rio de Janeiro

COPPE - UFRJ

Fernando Agustn Pazos


Laboratrio de Controle - PEE

Curso de Controladores Lgicos Programveis

ndice
1) Introduo
1.1) Automao de processos
2) Controle de processos
2.1) Sistemas fsicos
2.2) Controle de sistemas
2.3) Sinais digitais e sinais analgicos
2.4) Sensores e atuadores
2.5) Estratgias de controle
2.5.1) Controle ON-OFF
2.5.2) Controle proporcional (tipo P)
2.5.3) Controle proporcional integral derivativo (controle PID)
3) Lgica binria
3.1) Funes lgicas
3.1.1) Funo NOT
3.1.2) Funo AND
3.1.3) Funo OR
3.1.4) Funo NAND
3.1.5) Funo NOR
3.2) Teoremas
3.3) Expresses lgicas
4) Controladores lgicos programveis
4.1) Histrico
4.2) Vantagens dos CLP
4.3) Princpio de funcionamento
4.4) Descrio da CPU
4.5) Descrio das interfaces de entrada e sada
4.6) Linguagens de programao
4.7) A linguagemladder
4.7.1) Implementao da funo NOT
4.7.2) Implementao da funo AND
4.7.3) Implementao da funo OR
4.7.4) Implementao da funo NAND
4.7.5) Implementao da funo NOR
4.7.6) Elaborao de circuitos
4.7.7) Circuitos de intertravamento
4.7.8) Sentenas SET e RESET
4.7.9) Circuitos de deteco de borda
4.7.10) Temporizadores
4.7.11) Contadores
5) Acessrios e novas tecnologias
6) Exerccios
2

Curso de Controladores Lgicos Programveis


7) Bibliografia
Anexo1) O CLP VersaMax Micro IC200UAL006
A1.1) Introduo
A1.2) Descrio das entradas e sadas
A1.3) Mapeamento da memria
Anexo 2) O programa VersaPro 2.00
A2.1) Introduo
A2.2) Introduo ao ambiente de trabalho
A2.3) Descrio das barras de tarefas
A2.3.1) Barra de ferramentas standard
A2.3.2) Barra de ferramentas da linguagem ladder
A2.3.3) Barra de ferramentas de visualizao
A2.3.4) Barra de ferramentas da pasta
A2.3.5) Barra de ferramentas do CLP
A2.3.6) Barra de ferramentas de funes
A2.4) Como criar um programa aplicativo
A2.5) Armazenamento e execuo do programa aplicativo
A2.6) Instrues de programao

Curso de Controladores Lgicos Programveis

1) Introduo
Os controladores lgicos programveis, ou CLPs, so equipamentos eletrnicos
utilizados para controlar sistemas de automao flexveis. So ferramentas de trabalho
muito teis e versteis para aplicaes em sistemas de acionamento e controle, e por
isso so utilizados em grande escala no mercado industrial. Os CLP possuem diversos
tipos de sadas, as quais so conectadas aos atuadores encarregados de fornecer energia
para o funcionamento do sistema fsico a ser controlado; tambm possuem diversos
tipos de entrada, onde so conectados sensores encarregados de medir as variveis
fsicas prprias do sistema. Os CLP permitem desenvolver e alterar facilmente a lgica
para o acionamento das suas sadas em funo das entradas, mudando assim a estratgia
de controle de um determinado sistema. Desta forma, podemos associar diversos sinais
de entrada para controlar diversos atuadores ligados nos pontos de sada.
1.1) Automao de processos
Em princpio, qualquer grandeza fsica pode ser controlada, isto , pode ter seu
valor intencionalmente alterado. Obviamente, h limitaes prticas; uma das
inevitveis a restrio de energia de que dispomos para afetar os fenmenos: por
exemplo, a maioria das variveis climatolgicas pode ser medida mas no controlada,
por causa da ordem de grandeza da energia envolvida.
O controle manual implica em se ter um operador presente no processo criador de
uma varivel fsica e que, de acordo com alguma regra do seu conhecimento, opera um
aparelho qualquer (vlvula, alavanca, chave, etc.), que por sua vez produz alteraes
naquela varivel.
No incio da industrializao, os processos industriais utilizavam o mximo da
fora da mo-de-obra. A produo era composta por etapas ou estgios, nos quais as
pessoas desenvolviam sempre as mesmas funes, especializando-se em certa tarefa ou
etapa da produo. Assim temos o princpio da produo seriada.
O mesmo ocorria com as mquinas de produo, que eram especficas para uma
aplicao, o que impedia seu uso em outras etapas da produo, mesmo que tivesse
caractersticas muito parecidas.
Com o passar do tempo e a valorizao do trabalhador, foi preciso fazer algumas
alteraes nas mquinas e equipamentos, de forma de resguardar a mo-de-obra de
algumas funes inadequadas estrutura fsica do homem. A mquina passou fazer o
trabalho mais pesado e o homem, a supervision-la.
O controle se diz automtico quando uma parte, ou a totalidade, das funes do
operador realizada por um equipamento, freqente mas no necessariamente
eletrnico.
Automatizar um sistema, tornou-se muito mais vivel na medida em que a
eletrnica avanou e passou dispor de circuitos capazes de realizar funes lgicas e
aritmticas com os sinais de entrada e gerar respectivos sinais de sada. Com este
avano, o controlador, os sensores e os atuadores passaram a funcionar em conjunto,
transformando o processo em um sistema automatizado, onde o prprio controlador
toma decises em funo da situao dos sensores e aciona os atuadores.
Existem trs amplas classes de automao industrial: fixa, programvel e flexvel.
A automao fixa usada quando o volume de produo muito elevado, sendo,
portanto, adequado projetar equipamento especializado para processar o produto (ou
componente de um produto) de modo muito eficiente e a elevadas taxas de produo.
Um bom exemplo de automao fixa pode ser encontrado na indstria automotiva, em
4

Curso de Controladores Lgicos Programveis


que so usadas linhas transfer altamente integradas, consistindo em um nmero de
estaes de trabalho para realizar operaes de usinagem em componentes de motores e
transmisso. Os primeiros sistemas de automao industrial eram fixos, e operavam por
meio de sistemas eletromecnicos, com rels e contatores. Neste caso, os sinais
acoplados mquina ou equipamento a ser automatizado acionam circuitos lgicos a
rels que disparam as cargas e atuadores.
A automao programvel usada quando o volume de produo relativamente
baixo e h uma variedade de produtos a serem fabricados. Neste caso, o equipamento de
produo projetado para ser adaptvel a variaes na configurao do produto. Esta
caracterstica de adaptabilidade alcanada operando-se o equipamento sob controle de
um programa de instrues preparado especialmente para o produto em questo. Em
termos de economia, o custo do equipamento programvel pode ser diludo num grande
nmero de produtos, ainda que sejam diferentes. Devido caracterstica de programao
e adaptabilidade resultante do equipamento, muitos produtos diferentes e singulares
podem ser fabricados de modo econmico em pequenos lotes.
Existe uma terceira categoria entre a automao fixa e a programvel, que
chamada de automao flexvel. A experincia at o momento com este tipo de
automao sugere que ele mais adequado para a gama de produo de mdio volume.
Os sistemas flexveis possuem algumas das caractersticas tanto da automao fixa
como da programvel. Ele deve ser programado para diferentes configuraes de
produto, mas a variedade de configuraes normalmente mais limitada do que para a
automao programvel, permitindo ocorrer um certo grau de integrao no sistema.
As mquinas de tear so um bom exemplo de transio de um sistema de
automao fixa para um sistema de automao flexvel. As primeiras mquinas de tear
eram acionadas manualmente, depois passaram a ser acionadas por comandos
automticos, entretanto, esses comandos s produziam um modelo de tecido, de
padronagem, de desenho ou estampa. A introduo de um sistema automtico flexvel
no mecanismo de uma mquina de tear tornou possvel introduzir diversos padres de
tecido em um mesmo equipamento.
A evoluo da eletrnica levou fabricao de controladores programveis
compactos, com alta capacidade de controle, que permitem acionar diversas sadas em
funo de vrios sinais de entrada combinados logicamente.
Uma outra etapa importante da evoluo que toda a lgica de acionamento pode
ser desenvolvida atravs de um programa de software, que determina ao controlador a
seqncia de acionamento a ser desenvolvida. Este tipo de alterao da lgica de
controle o que caracteriza um sistema flexvel. Os CLPs so equipamentos
eletrnicos de controle que atuam a partir desta filosofia.

Curso de Controladores Lgicos Programveis

2) Controle de processos
2.1) Sistemas fsicos
Denominaremos um sistema fsico com o nome genrico de planta. Toda planta
tem um determinado comportamento, isto , faz uma determinada ao. Veja bem que
no necessariamente essa ao representa um movimento, muito bem o sistema fsico
pode ser esttico, sem qualquer elemento mvel, como seria o caso de um sistema
trmico, por exemplo. A esse comportamento denominaremos resposta do sistema. Essa
resposta vai ser em geral uma grandeza fsica que pode ser medida (temperatura, ngulo
de giro, distncia de deslocamento, velocidade linear ou angular, luminosidade, presso,
entre outras), ou ainda uma combinao delas. A resposta do sistema ser portanto uma
grandeza fsica mensurvel, em cujo caso se trata de uma resposta escalar, ou um
conjunto de grandezas fsicas mensurveis, em cujo caso a resposta ser vetorial, isto ,
ser denominada com um vetor de grandezas escalares.
Sem perda de generalidade, podemos afirmar que essa resposta mudar com o
tempo, isto , ser funo do tempo. Mesmo que permanea constante, no se deve
esquecer que uma constante tambm uma funo temporal.
Tratando-se de respostas escalares, a denominao genrica ser y(t), explicitando a
dependncia da varivel temporal; e se tratando de respostas vetoriais, ser y(t). A
negrita explicita a caracterstica vetorial de uma varivel.
Tambm denominaremos a resposta de um sistema com o nome de sinal de sada
desse sistema.
Muitas plantas, para funcionar, isto , para gerar uma determinada resposta,
precisam de uma ao concreta aplicada nelas. Essa ao pode ser uma fora, uma
energia eltrica, calor, etc. Em geral, essa ao tambm ser uma grandeza fsica
mensurvel, ou um conjunto delas. A essa ao aplicada ao sistema necessria para seu
funcionamento denominaremos excitao do sistema. A excitao tambm ser,
genericamente, uma varivel temporal, essa grandeza mudar com o tempo. Tambm
pode se tratar de uma grandeza s, em cujo caso falamos de uma excitao escalar, ou
um conjunto de aes, em cujo caso se trata de uma excitao vetorial. No primeiro caso
denominaremos a excitao escalar genericamente, u(t), e a excitao vetorial, u(t),
onde fica tambm aqui explicitado sua dependncia da varivel temporal.
Tambm denominaremos a excitao do sistema com o nome de sinal de entrada
do sistema.
Genericamente, representaremos a planta, sua resposta e excitao com o seguinte
diagrama de blocos:

u(t)

y(t)

Figura 2.1: Excitao e resposta de uma planta

Curso de Controladores Lgicos Programveis


Uma planta pode ser um sistema muito simples ou altamente complexo. Mas
sempre deve cumprir a condio que a resposta ou sada y(t) funo da excitao ou
entrada u(t), seja qual for a relao de dependncia entre uma e outra.
Pensemos no exemplo de um sistema trmico. Um determinado volume de um
lquido est contido num recipiente. Quando colocamos uma fonte de energia trmica
nele, uma fonte de calor que pode ser gerada com fogo, com uma resistncia eltrica,
etc., o lquido esquenta, comea aumentar sua temperatura. Se trata de um sistema
esttico, no h qualquer movimento nele. A resposta dele seria a temperatura do
lquido, que vai aumentando exponencialmente com o tempo, uma resposta escalar que
pode ser medida em C. A excitao seria a energia trmica aplicada ao sistema,
tambm escalar, que pode ser medida em calorias. Obviamente, h uma relao entre a
sada e a entrada do sistema. Imaginemos agora que o lquido est contido em um
recipiente isolado termicamente em forma ideal. Nesse situao, a temperatura dele
independe da energia trmica aplicada, se manteria constante seja qual for a variao da
energia trmica aplicada. Nesse caso no se trataria de um sistema.
Um sistema fsico pode ser tambm uma simples alavanca, onde h uma relao
entre o torque de sada e o torque de entrada dependendo da colocao do ponto de
apoio. Essa relao constante, e as grandezas fsicas so as mesmas, torque [N.m].
Uma polia, um alicate, um circuito eltrico, ou um complexo rob controlado por
computador so exemplos de sistemas tambm.
Muitas vezes a relao entre a sada e a entrada de um sistema pode ser ilustrada
mediante um grfico em coordenadas cartesianas, com a grandeza de entrada como
varivel independente e a de sada como varivel dependente; ou tambm se grafica
ambos como variveis dependentes em funo do tempo. No caso do sistema trmico, se
aplicamos uma energia trmica constante a temperatura aumenta exponencialmente. O
grfico que representa esse comportamento seria:

Figura 2.2: Comportamento de um sistema trmico


Tenha-se em conta que as grandezas fsicas das variveis dependentes so
diferentes.
As vezes possvel expressar a relao entre a resposta e a excitao em forma
matemtica. Isto , possvel achar uma funo matemtica, escalar ou vetorial segundo
seja o caso, que relacione a varivel y(t) com a varivel u(t). As vezes essa funo um
sistema de equaes; as vezes uma equao (ou um sistema de equaes) diferenciais.
Isso depende do sistema. importante destacar que nem sempre isso possvel.
Encontrar essa relao matemtica entre a sada e a entrada chama-se modelar o
sistema, a relao matemtica o modelo que descreve o comportamento do sistema.

Curso de Controladores Lgicos Programveis


Podemos expressar essa relao matemtica genericamente como y(t)=h[u(t)], onde
fica evidente que a sada funo da entrada, independentemente da forma de essa
funo h.
2.2) Controle de sistemas
Controle uma rea da engenharia que vai ganhando espaos em forma
assombrosamente acelerada nos ltimos anos. A teoria de controle aplicada em muitas
especialidades diversas, desde eletrnica, robtica, mecatrnica, mecnica, at biologia,
qumica e matemtica. Em todas essas disciplinas a teoria do controle utilizada com
sucesso. Mas, que o que controlar um sistema?. Controlar um sistema fsico
qualquer , simplesmente, conseguir que ele tenha a resposta desejada. Isso que parece
to simples, pode ser muito complexo, dependendo da complexidade do modelo
matemtico do sistema a controlar. Um sistema no linear de muitas entradas e muitas
sadas (MIMO), como o caso dos braos mecnicos com vrias juntas, por exemplo,
tem em geral um controle bem mais complexo que aquele de um sistema linear. Um
pndulo, que configura um sistema no linear, extremadamente difcil control-lo para
que se mantenha na posio vertical apontando para acima, principalmente ante a
presena de distrbios e foras que pretendam derrub-lo.
Veremos alguns conceitos sobre controle, em geral em forma qualitativa.
Entende-se por controlador o dispositivo, que pode ser eletrnico, mecnico, ou
combinao de ambos, que tem por objetivo controlar um sistema. Em geral, ele
conectado na entrada da planta, e ele responsvel por gerar o sinal de excitao u(t)
(seja qual for a grandeza fsica desse sinal) que vai produzir a resposta y(t) desejada
pelas especificaes tcnicas. Geralmente ele tem uma entrada chamada de sinal de
referncia r(t). Essa referncia, que uma funo do tempo e que tambm pode ser
qualquer grandeza fsica, tem por objetivo indicar ao controlador como a resposta y(t)
desejada da planta. Assim, o objetivo do controlador, idealmente, gerar uma excitao
u(t) tal que a resposta da planta y(t) seja igual a essa referncia r(t).

r(t)

Controlador

u(t)

Planta

y(t)

Figura 2.3: Sistema planta - controlador


O sinal de referncia r(t) pode ser uma constante, em cujo caso falamos de controle
ponto a ponto, ou pode ser uma funo do tempo, em cujo caso falamos em controle
de trajetria. Seria o caso de um brao mecnico, ao qual se quer levar at uma
determinada posio fixa, e deixar ele estacionado ali com velocidade nula, ou se quer
que descreva uma determinada trajetria contnua no espao de trabalho, descrita como
uma funo contnua no tempo para cada junta.
O diagrama de blocos visto anteriormente controlador planta, tem algumas
desvantagens. Por exemplo, que aconteceria se durante o processo de controle, um
distrbio externo muda artificialmente o valor da sada y(t)?. Este distrbio pode ser
gerado por aes fsicas do meio ambiente, externas planta (vento, calor, presso, etc.,
no caso de sistemas fsicos, ou rudo, no caso de sistemas eltricos). O controlador
8

Curso de Controladores Lgicos Programveis


continuaria gerando um sinal u(t) achando que a resposta da planta y(t) continua sendo a
desejada, quando na verdade se afastou bem do estabelecido.
Nos sistemas a malha fechada o controlador recebe dois sinais, a referncia r(t) e a
resposta y(t). Dessa maneira, ele pode ir comparando se a resposta est de acordo com o
que o sinal de referncia quer ou no. Caso acontecer um distrbio que afaste a resposta
da referncia desejada, ele pode gerar um sinal de excitao planta u(t) no sentido
contrrio desse distrbio, de maneira de corrigir a ao da planta at retornar ao
comportamento desejado. Esse segundo sinal que recebe o controlador chama-se sinal
de realimentao ou feedback e um conceito extremadamente importante na teoria de
controle de sistemas. Quase todos os sistemas controlados possuem esse lao de
realimentao, e esses sistemas chamam-se sistemas a malha fechada.

r(t)

u(t)
controlador

y(t)

planta

Realimentao ou feedback
Figura 2.4: Sistema a malha fechada
Uma outra alternativa ao diagrama visto anteriormente dos sistemas a malha
fechada, que o controlador no receba dois sinais, mas apenas um: a diferena entre a
referncia e a resposta. Esse sinal de diferena chama-se sinal de erro e(t). Perceba-se
que com ele suficiente para controlar o sistema eficientemente; se o objetivo que a
resposta acompanhe referncia, isto , y(t) = r(t), o mesmo que dizer que o objetivo
que e(t)=0, e portanto se o controlador recebe um erro positivo (referncia maior do que
a resposta), gera uma excitao de maneira tal de aumentar o valor da resposta at
atingir o valor da referncia novamente (e(t)=0); se recebe um valor de erro negativo
(resposta maior do que a referncia), faz o contrrio, gera uma excitao u(t) de maneira
tal de diminuir a resposta y(t) at igualar a referncia.

r(t)

e(t)

controlador

u(t)

planta

y(t)

Realimentao ou feedback
Figura 2.5: Sistema com realimentao de erro

Curso de Controladores Lgicos Programveis


Em muitos sistemas automatizados se utilizam como controladores circuitos
eletrnicos analgicos, ativos ou passivos. Mas o mais comum, pelo menos em sistemas
de alguma complexidade, utilizar algum tipo de controlador digital. Eles podem ser
microprocessadores, microcontroladores, computadores ou controladores industriais
mais especficos como o caso dos controladores lgicos programveis ou CLP.
Em geral, nos controladores digitais, a entrada de referncia no um sinal externo,
mas uma referncia gerada por software. A grandeza dela, assim como a variao dessa
funo com o tempo podem estar determinadas pelo programa de controle, ou bem
introduzidas pelo usurio atravs de algum dispositivo de entrada de informao
(mouse, teclado, joystick). No caso da entrada ser o sinal de erro, introduzida no
controlador a sada realimentada e a referncia (caso ela deva ser introduzida
externamente), que o processador calcula por software o valor do erro, e processa
tambm por software esse sinal para calcular o valor do sinal de excitao que dever
entregar para ser aplicado planta.

Teclado

Mouse

Joystick

r(t)

y(t)

Controlador

u(t)

e(t) = r(t) y(t)


u(t) = f [ e(t) ]

Planta

Figura 2.6: Sistema controlado digitalmente

2.3) Sinais digitais e sinais analgicos


Por sinais analgicos, entenderemos um sinal de qualquer grandeza fsica que se
comporta como uma funo contnua no tempo. Exemplos de grandezas fsicas
analgicas so: temperatura, presso, umidade, fora, distncia, ngulo, torque, vazo,
luminosidade, etc. Os grficos mostrados at agora neste captulo correspondem todos a
sinais dessa categoria.
Sinais digitais so grandezas fsicas que, ao longo do tempo, s podem adquirir dois
valores arbitrrios. Chamaremos a esses valores, genericamente, de 0 e 1. Um exemplo
dessa grandeza fsica digital a presena de um objeto: ele est ou no, s tem dois

10

Curso de Controladores Lgicos Programveis


estados possveis. Um outro exemplo o estado de um pulsador, ou ele est pressionado
(e portanto fechando o contato), ou no (em cujo caso o contato est aberto).
O controlador digital pode, sem problema nenhum, trabalhar com sinais digitais, em
definitiva, ele trabalha com 0 e 1. Eles podem ser introduzidos atravs de uma entrada
externa do processador e podem ser entregues atravs de uma sada externa. Mas, como
trabalha um processador digital com sinais analgicos?
Para poder faze-lo, devemos aplicar um processo chamado de discretizao do
sinal. Um sinal discreto um sinal que no tem um valor definido em todo instante de
tempo, mas apenas em valores discretos de tempo, em geral a intervalos regulares. A
cada um desses intervalos fixos se toma uma amostra do sinal analgico, esse intervalo
chama-se perodo de amostragem.

Figura 2.7: Amostragem de um sinal analgico


O tratamento algbrico das funes discretas totalmente diferente daquele das
funes contnuas, por exemplo, a condio para que uma planta discreta, ou
discretizada seja estvel diferente da condio de estabilidade para a mesma planta
contnua. O projetista do controle deve estar familiarizado com as ferramentas
matemticas utilizadas para o processamento de sinais discretos.
Mas ainda um sinal discreto no um sinal digital. Isto mais fcil de solucionar.
Cada um dessas amostras tem um valor de amplitude (representado pela altura de cada
uma no grfico anterior). s entregar ao processador digital esse valor de amplitude
escrito em forma de nmeros binrios. Assim, digitalizei um sinal analgico que o
processador digital pode processar adequadamente. Este procedimento realizado por
dispositivos chamados conversores analgico digitais (conversores A / D).
O processo inverso, quer dizer, quando o controlador digital deve entregar um sinal
analgico, similar. Um chip eletrnico reconstitui as amostras a partir de um nmero
binrio entregue pelo processador que representa a altura delas. Esse dispositivo
chamado de conversor digital analgico (conversor D / A).

11

Curso de Controladores Lgicos Programveis

y[n]

Controlador
digital

u[n]

Conversor
D/A

Conversor
A/D
y(t)

Planta

u(t)

Figura 2.8: Planta analgica e controlador digital


Aqui vemos o diagrama de blocos do sistema controlador digital planta analgica,
onde os sinais u[n] e y[n] se especificam dessa maneira para explicitar que so sinais
discretos e no contnuos; a varivel n um nmero inteiro (que denota o nmero de
amostra) e no uma varivel contnua como o caso do tempo.
2.4) Sensores e atuadores
Uma pergunta obvia que o leitor deve ter feito nessa altura do captulo : os
diferentes tipos de controladores (analgicos ou digitais, isto , que mexem com sinais
contnuos ou sinais discretos), em geral trabalham com sinais de resposta e excitao
eltricos, mas a planta nem sempre um sistema eltrico e sim um sistema que trabalha
com outro tipo de grandezas fsicas (trmicas, mecnicas, etc.); como que se traduz
um sinal eltrico num sinal trmico, por exemplo?
A resposta a essa pergunta dada pelo conceito de atuadores e sensores, que
definiremos a continuao.
Um atuador um dispositivo que traduz uma energia eltrica em algum outro tipo
de energia. So exemplos de atuadores: motores (que entregam energia mecnica),
resistores (trmica), lmpadas (energia luminosa), pistes (mecnica), eletrom
(mecnica), etc. Os atuadores geralmente ficam dentro da estrutura da planta, e do
tanto movimento, calor ou outro tipo de energia a ela, possibilitando seu funcionamento.
Alguns atuadores precisam um sinal eltrico analgico para funcionar, o caso dos
resistores, cujo calor dissipado proporcional tenso eltrica entregue. Mas outros
podem funcionar com sinais digitais, como o caso dos eletroms, aos quais se entrega
um sinal de 0V para desativar, e, geralmente, 5V ou 12V para ativar. Nesses casos no
necessrio um conversor D/A na sada do processador digital.
O conceito de sensores o oposto. Sensor um dispositivo que entrega um sinal
eltrico proporcional a uma grandeza fsica mensurada. Existem sensores de posio,
temperatura, umidade, presso, vazo, presena, fora, torque, corrente, cor, altura,
velocidade, proximidade, luminosidade, campo magntico, sistemas de viso, e at
sensores de cheiro. Observe-se que a maioria dessas grandezas fsicas so analgicas, e
portanto se o controlador for digital precisaremos de um conversor A/D na entrada dele.
Mas existem sensores de grandezas fsicas analgicas que entregam sinais digitais na
sua sada, como o caso dos encoders ticos, utilizados na medio de ngulo de
rotao. Nesses casos no necessria a converso analgico digital do sinal.

12

Curso de Controladores Lgicos Programveis


Observe-se que quase todo sistema a malha fechada (com realimentao), precisa
algum tipo de sensor, a no ser que o controlador e a planta mexam com o mesmo tipo
de grandeza fsica.
2.5) Estratgias de controle
Veremos neste ponto, algumas das estratgias mais comuns de controle de sistemas.
Entendemos por estratgia o algoritmo de controle a ser implementado pelo controlador
num sistema a malha fechada, e faremos isso em forma mais qualitativa que
quantitativa.
2.5.1) Controle ON OFF: Esta estratgia de controle caracteriza-se por funcionar
em forma inteiramente digital, quer dizer, a sada do controlador ser sempre um sinal
digital. A estratgia consiste simplesmente em, segundo o estado dos sensores, ativar ou
no os atuadores.
Um exemplo tpico uma esteira transportadora movimentada por um motor D.C
de torque e velocidade adequadas, com um sensor de fim de curso inicial e um sensor de
fim de curso final, que podem ser sensores ticos digitais, por exemplo. O controlador
deveria monitorar periodicamente o estado dos sensores, lidos atravs da interface de
entrada digital. Quando se ativa o sensor de fim de curso inicial (indicando que foi
depositada uma pea no incio da esteira), o controlador ativa a sada digital da interface
de sada onde est ligado o motor; quando se ativa o sensor de fim de curso final
(indicando que a pea chegou ao final da esteira), o controlador desativa a sada digital
onde est ligado o motor, detendo assim o movimento da esteira.
Este tipo de controle pode ser implementado tanto por processadores digitais
integrados ( Processadores, Controladores, computadores, etc.) quanto por sistemas
eletrnicos simples. Por exemplo, o controle da esteira transportadora pode ser
implementado por processadores digitais integrados, como por sistemas digitais
conformados por portas lgicas, flip flops e um driver transistorizado para ativar o
motor, ou inclusive por um sistema de relays.
2.5.2) Controle proporcional (tipo P): Esta estratgia de controle consiste
simplesmente em entregar na sada do controlador um sinal de excitao proporcional
ao sinal do erro (referncia menos resposta). Dessa maneira, o controlador em sim
mesmo um sistema de ordem 0, cuja transferncia uma constante. Este tipo de
controle pode ser implementado tanto por processadores digitais integrados quanto por
amplificadores eletrnicos simples.
r(t)

e(t)

K=cte

u(t)

y(t)
Tp

y(t)

Figura 2.9: Controlador de ordem 0


Podemos aplicar este tipo de controle num controlador de temperatura com
aquecedores analgicos, por exemplo resistores de potncia, onde a potncia dissipada
ser proporcional ao quadrado da tenso aplicada na entrada. No caso do controlador ser
analgico, poderia ser implementado com um simples amplificador diferencial que
13

Curso de Controladores Lgicos Programveis


recebe numa das entradas o sinal da temperatura de referncia, e na outra o sinal de
resposta vindo do sensor de temperatura. Quanto maior for essa diferencia, que
quando o sistema est frio, maior ser a excitao entregue pelo controlador e portanto
mais rapidamente aquecer o sistema. Na medida que o erro vai diminuindo, tambm
vai diminuindo a excitao entregue pelo controlador, e portanto a potncia dissipada
pelos resistores, at a temperatura do sistema alcanar de referncia, em cujo caso a
excitao nula e portanto o sistema pra de aquecer.
Tambm comum aplicar esta estratgia de controle no controle de posio de uma
articulao mecnica, por exemplo na junta de um brao mecnico. Este tipo de
sistemas podem ser implementados utilizando como atuador um motor D.C. de
velocidade e torque adequados, e como sensor um potencimetro resistivo linear, cujo
cursor est solidrio com o eixo do motor. Dessa maneira, o sinal entregue pelo
potencimetro proporcional posio o eixo do motor. Estes sistemas chamam-se
servo motores. Se o controlador utilizado for analgico, este pode estar constitudo por
um amplificador diferencial, que recebe numa das suas entradas o sinal da posio de
referncia e na outra a resposta da posio entregue pelo potencimetro. O ganho do
amplificador deve ser proporcional transferncia desejada para o controlador. Assim,
quando a referncia estiver por cima da posio do motor, o amplificador entregar um
sinal positivo na sada que far o motor girar no sentido adequado at alcanar a
referncia. Quando a posio do motor estiver por cima da referncia, o amplificador
entregar uma excitao para o motor negativa, de maneira tal que o motor girar em
sentido contrrio, diminuindo a resposta entregue pelo potencimetro at alcanar a
referncia. Este tipo de configuraes para servo motores comum encontrar j pronta
numa caixa fechada, com apenas uma entrada para o sinal de referncia, alm da
alimentao.
R

VCC

R
-

r(t)

u(t) = y(t) r(t)

A
+
R
y(t)

VCC

VCC

Figura 2.10: Esquema de um servo motor analgico


2.5.3) Controle proporcional integral derivativo (controle PID): Neste tipo
de controle a estratgia consiste em aplicar planta um sinal de excitao igual ao erro,
mais a funo derivada dele, mais a funo integral dele. Dessa maneira, a equao de
controle fica:

14

Curso de Controladores Lgicos Programveis

u (t )

K p e(t )

Kp

e(t ) t

K pTd

Kp

u(t)

Ti
onde Kp, Ti, e Td so constantes de proporcionalidade.
O diagrama de blocos do sistema total realimentado :

r(t
)

e(t
)
-

(1/Ti)

+
+

Td / t

e(t )
t

y(t)

Planta

Figura 2.11: Sistema controlado por um PID


O controle P I D o tipo de controle mais genrico e provavelmente mais
comumente usado. Fornece resposta rpida, bom controle de estabilidade do sistema e
baixo erro de regime permanente. Isso porque permite adaptar o sistema realimentado
geral (sistema planta controlador), quase que idealmente seja qual for o modelo da
planta, sendo portanto adequado para satisfazer especificaes tcnicas exigentes.
Tambm este tipo de controle pode ser implementado em forma analgica, atravs
de amplificadores operacionais que forneam respostas proporcional, integral e
derivativa, ou pode ser implementado atravs de processadores digitais integrados.

15

Curso de Controladores Lgicos Programveis

3) Lgica binria
Em meados do sculo passado, G. Boole desenvolveu um sistema matemtico de
anlise lgica. Esse sistema conhecido como lgebra de Boole, o qual est baseado em
um conjunto de operaes entre variveis binrias.
O sistema binrio um sistema de numerao que consta de dois algarismos, aos
quais denominaremos arbitrariamente de 0 e 1. Cada dgito de um nmero representado
no sistema binrio recebe o nome de bit, de maneira tal que cada bit pode tomar o valor
0 ou 1.
Entende-se por varivel binria, ou booleana, uma varivel cujo valor
representado atravs de um nmero binrio. Logo, se uma varivel A tem apenas um bit,
ela tem apenas dois valores possveis, 0 e 1; se ela tiver dois bits, ter 4 valores
possveis, (00, 01, 10 ou 11). Genericamente, ento, uma varivel binria de n bits pode
ter 2 n valores possveis.
Sem perda de generalidade, concentraremos nossa ateno nas variveis binrias de
1 bit.
3.1) Funes lgicas
So as funes prprias da lgebra de Boole, e portanto operaes aplicadas a
variveis binrias. O valor, ou estado, de uma funo lgica tambm pode ser apenas 0
ou 1.
3.1.1) Funo NOT: uma funo aplicada apenas a uma varivel binria, e
consiste em inverter o estado dessa varivel, isto , se ela estiver em 0, aplicada a
operao vai para 1, e vice-versa.
representada da seguinte forma: a funo NOT aplicada varivel A representase como A
onde se l: A barra ou no A.
Chamamos tabela de verdade a um mapa onde se colocam todas as possveis
situaes das variveis envolvidas com os respectivos resultados da expresso lgica
para cada uma das diferentes situaes possveis. No caso da tabela da funo NOT,
seria:
A
0

A
1

Figura 3.1: Tabela de verdade da funo NOT


A porta NOT um circuito eltrico que executa a funo NOT. Sua representao
grfica :
A

Figura 3.2: Porta lgica da funo NOT


Para entender melhor a funo NOT podemos representar seu funcionamento
atravs de um circuito eltrico, onde a chave normalmente fechada:
16

Curso de Controladores Lgicos Programveis

Figura 3.3: Circuito eltrico ilustrativo da funo NOT


onde os estados das variveis devem se entender como:
Chave no pressionada A = 0 =>
Lmpada acessa A = 1
Chave pressionada A = 1 =>
Lmpada apagada A = 0

3.1.2) Funo AND: uma funo aplicada a duas ou mais variveis binrias. A
sua lgica a seguinte: apenas quando todas as variveis estiverem em 1, a funo
adotar o valor 1, caso contrrio (tendo uma ou mais variveis em estado 0), a funo
valer 0.
Sua expresso, no caso da funo aplicada a duas variveis binrias A e B,
S = A B , e se l A and B.
Sua tabela de verdade , seguindo a lgica descrita:
A
0
0
1
1

B
0
1
0
1

A B
0
0
0
1

Figura 3.4: Tabela de verdade da funo AND


A porta AND um circuito eltrico que executa a funo AND, e cuja
representao :
A
B

S=A B

Figura 3.5: Porta lgica da funo AND


Para entender melhor a funo AND, podemos representar seu funcionamento
atravs de um circuito eltrico:

17

Curso de Controladores Lgicos Programveis

Figura 3.6: Circuito eltrico representativo da funo AND


Onde os estados das variveis tm a mesma lgica que no exemplo anterior, isto ,
se as chaves A ou B estiverem pressionadas, seu estado lgico 1, caso contrrio 0; o
estado da lmpada (L = A B) 1 se estiver acessa, e 0 se estiver apagada.
O caso da funo estar aplicada a mais de duas variveis inteiramente similar,
daremos um exemplo com 4 variveis, s que chamaremos de A, B, C e D.
Ento, a expresso da funo S = A B C D , sua tabela de verdade e a
representao da sua porta lgica so:

A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

S
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1

A
B
C
D

S=A B C D

Figura 3.7: Tabela de verdade e porta lgica da funo AND de 4 variveis


A funo AND possui as seguintes propriedades:
Propriedade comutativa: A B = B A
Propriedade associativa: (A B) C = A (B C) = A B C
Existncia de elemento neutro: A 1 = A
Existncia de complemento: A A = 0
importante destacar que para que duas expresses lgicas sejam iguais condio
necessria e suficiente que as suas tabelas de verdade sejam iguais.
3.1.3) Funo OR: uma funo aplicada a duas ou mais variveis binrias. A sua
lgica a seguinte: apenas quando todas as variveis estiverem em 0, a funo adotar o
valor 0, caso contrrio (tendo uma ou mais variveis em estado 1), a funo valer 1.
18

Curso de Controladores Lgicos Programveis


Sua expresso, no caso de ter a funo aplicada a duas variveis binrias A e B a
seguinte: S = A+B onde se l A or B (no confundir com a adio aritmtica de
nmeros binrios).
Sua tabela de verdade , seguindo a lgica descrita:
A
0
0
1
1

B
0
1
0
1

A+B
0
1
1
1

Figura 3.8: Tabela de verdade da funo OR


A porta lgica OR um circuito eletrnico que executa a funo OR, e a
representao da porta OR para duas variveis a seguinte:
A
S=A+B
B

Figura 3.9: Porta lgica da funo OR


Para entender melhor a funo OR, podemos representar seu funcionamento atravs
de um circuito eltrico:

Figura 3.10: Circuito eltrico representativo da funo OR


Aqui tambm, os estados das variveis tem a mesma lgica que no exemplo da
seo anterior.
O caso da funo estar aplicada a mais de duas variveis inteiramente similar,
daremos um exemplo com 4 variveis, as que chamaremos de A, B, C e D.
Ento, a expresso da funo S = A + B + C + D , sua tabela de verdade e a
representao da sua porta lgica so:

19

Curso de Controladores Lgicos Programveis


A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

S
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

A
B
C
D

S=A+B+C+D

Figura 3.11: Tabela de verdade e porta lgica da funo OR de 4 variveis


A funo OR possui as seguintes propriedades:
Propriedade comutativa: A + B = B A
Propriedade associativa: (A + B) + C = A + (B + C) = A + B + C
Existncia de elemento neutro: A + 0 = A
Existncia de complemento: A + A = 1
3.1.4) Funo NAND: A funo NAND a juno da operao AND seguida da
operao NOT aplicada sobre a varivel de sada. Tambm pode se aplicar sobre duas
ou mais variveis binrias. Sua representao algbrica, para a funo aplicada a duas
variveis binrias A e B, A B
, onde a barra indica a inverso da operao AND
sobre as variveis A e B, e se l A nand B.
Sua tabela de verdade a tabela da operao AND invertida:

A
0
0
1
1

B
0
1
0
1

A B
1
1
1
0

Figura 3.12: Tabela de verdade da funo NAND


E sua porta lgica representa-se como:

20

Curso de Controladores Lgicos Programveis


A

S=A B

Figura 3.13: Porta lgica da funo NAND


Tambm podemos entender a lgica da funo NAND representada em um circuito
eltrico:

Figura 3.14: Circuito eltrico representativo da funo NAND


onde os estados das variveis tm a mesma lgica dos exemplos anteriores.
A funo NAND, tambm pode se aplicar a mais de duas variveis, seguindo a
mesma lgica de aplicar a funo AND sobre todas as variveis, e depois inverter o
resultado. Observe-se que a funo NAND possui a propriedade comutativa mas no a
associativa. Efetivamente, podemos comprovar atravs de tabelas de verdade que:
A B=B A
(A B) C

A (B C)

3.1.5) Funo NOR: A funo NOR a juno da operao OR seguida da


operao NOT aplicada sobre a varivel de sada. Tambm pode se aplicar sobre duas
ou mais variveis binrias. Sua representao algbrica, para a funo aplicada a duas
variveis binrias A e B, A + B
, onde a barra indica a inverso da operao OR
sobre as variveis A e B, e se l A nor B.
Sua tabela de verdade a tabela da operao OR invertida:
A
0
0
1
1

B
0
1
0
1

A+B
1
0
0
0

Figura 3.15: Tabela de verdade da funo NOR


e sua porta lgica representa-se como:

21

Curso de Controladores Lgicos Programveis

A
S=A+B
B
Figura 3.16: Porta lgica da funo NOR
Tambm possvel representar o funcionamento da funo NOR atravs de um
circuito eltrico para entender melhor a sua lgica:

Figura 3.17: Circuito eltrico representativo da funo NOR


onde os estados das variveis so os mesmos que nos exemplos anteriores.
A funo NOR, tambm pode se aplicar a mais de duas variveis, seguindo a
mesma lgica de aplicar a funo OR sobre todas as variveis, e depois inverter o
resultado. Observe-se que a funo NOR possui a propriedade comutativa mas no a
associativa. Efetivamente, podemos comprovar atravs de tabelas de verdade que:
A+B=B+A
(A + B) +C

A + (B + C)

3.2) Teoremas
Para demonstrar os seguintes teoremas, basta realizar a tabela de verdade para
ambos membros de cada igualdade e conferir que, para todos os estados possveis das
variveis de entrada, a expresso em cada membro adquire os mesmos valores; essas
expresses tm, portanto, as mesmas tabelas de verdade. Deixaremos como exerccio a
demonstrao deles.
1) Teorema da dualidade das funes AND e OR:
A A=A
A+A=A
2) Teorema do complemento do complemento
A=A
3) Teoremas de De Morgan:
A + B + C + ...

= A B C ...

A B C ...

= A + B + C + ...

22

Curso de Controladores Lgicos Programveis


3.3) Expresses lgicas
As funes lgicas podem se combinar para dar lugar a expresses algbricas mais
complexas. A modo de exemplo ilustrativo, apresentaremos a seguinte expresso
booleana de trs variveis:
S=A B+C+B

A+B

O circuito eltrico que executa tal expresso pode se representar atravs da seguinte
combinao de portas lgicas:
A

A B

A B+C+B

C +B
C

A+B

Figura 3.18: Circuito lgico


E sua tabela de verdade :
A

A B

C+B

A B+C+B

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
0
0
0
0
0
1
1

1
0
0
0
1
0
0
0

0
1
1
1
0
1
0
0

A+B
1
1
0
0
0
0
0
0

S
0
1
0
0
0
0
0
0

Figura 3.19: Tabela de verdade da expresso lgica


Aplicando as propriedades distributivas e as leis de De Morgan, podemos observar
que essa expresso igual a:
S=A+B+C
Para provar isto, basta fazer a tabela de verdade e conferir que igual apresentada
anteriormente.

23

Curso de Controladores Lgicos Programveis

4) Controladores lgicos programveis


4.1) Histrico
Durante a dcada de 50, os dispositivos eletromecnicos foram os recursos mais
utilizados para efetuar controles lgicos e de intertravamentos nas linhas de produo e
em mquinas isoladas. Tais dispositivos estavam baseados principalmente em rels, e a
complexidade dos processos produtivos exigia, no raro, instalaes em painis e
cabines de controle com centenas de rels e, conseqentemente, um nmero ainda maior
de interconexes entre eles.
Os problemas de ordem prtica, tal como o espao ocupado pelo equipamento de
controle, espao que devia ser protegido contra umidade, calor, poeira, etc., assim como
o nmero de falhas e a dificuldade e demora em achar e consertar a falha, eram
freqentes.
Outro fator ainda comprometedor das instalaes a rels era o fato de que como a
programao lgica do processo era realizada por conexes eltricas com lgica fixa,
eventuais alteraes na mesma exigiam interrupes do processo produtivo a fim de se
reconectarem os elementos.
Com o advento da tecnologia de estado slido, alguns dispositivos transistorizados
foram utilizados no final da dcada de 50 e incio dos anos 60, reduzindo em muito os
alguns dos problemas existentes. Porm, foi com o surgimento dos componentes
eletrnicos integrados em larga escala (LSI), que novas fronteiras se abriram para o
mundo dos computadores digitais e para a automao industrial.
A primeira experincia de lgica que permitisse a programao por recursos de
software foi realizada em 1968, na General Motors Corporation. Aliado ao uso de
dispositivos perifricos, como sensores e atuadores, um microcomputador pode obter
vantagens tcnicas de controle que superavam o custo que tal implementao
representou na poca. Era a primeira gerao de Controladores Lgicos Programveis.
Essa primeira gerao recebeu sensveis melhorias com o advento dos
microprocessadores ocorrido durante os anos 70. Foram adicionados recursos
importantes tais como interfaces de operao e programao facilitadas ao usurio,
instrues de aritmtica e de manipulao de dados poderosas, recursos de comunicao
por meio de redes de CLP, possibilidades de configurao especfica a cada finalidade
por meio de mdulos intercambiveis, canais nicos de transferncia de dados onde so
conectados uma quantidade considervel de sensores e atuadores, entre outros recursos.
4.2) Vantagens dos CLP
a) Permitir fcil diagnstico de funcionamento ainda na fase de projeto do sistema
e/ou de reparos em falhas que venham a ocorrer durante a sua operao.
b) Ser instalado em cabines reduzidas devido ao pequeno espao fsico exigido.
c) Operar com reduzido grau de proteo, pelo fato de no serem gerados
faiscamentos.
d) Ser facilmente reprogramado sem necessidade de interromper o processo
produtivo (programao on-line).
e) Possibilitar a criao de um banco de armazenamento de programas que podem
ser reutilizados a qualquer momento.
f) Manter uma documentao sempre atualizada com o processo em execuo.
g) Apresentar baixo consumo de energia.
h) Manter o funcionamento da planta de produo com uma reduzida equipe de
manuteno.
24

Curso de Controladores Lgicos Programveis


i) Garantir maior confiabilidade pela menor incidncia de defeitos.
j) Emitir menores nveis de rudos eletrostticos.
k) Ter a flexibilidade de expanso do nmero de entradas e sadas a serem
controladas.
l) Ter a capacidade de se comunicar com diversos outros equipamentos.
4.3) Princpio de funcionamento
Para maior compreenso do que seja um CLP sero apresentados a continuao
alguns conceitos associados.
Variveis de entrada: So sinais externos recebidos pelo CLP, os quais podem ser
oriundos de fontes pertencentes ao processo controlado ou de comandos gerados pelo
operador. Tais sinais so gerados por dispositivos tais como sensores diversos,
analgicos ou digitais, chaves ou botoeiras, dentre outros.
Variveis de sada: so os dispositivos controlados por cada ponto de sada do
CLP. Tais pontos podem servir para interveno direta no processo controlado por
acionamento prprio, atravs de dispositivos atuadores, ou tambm podero servir para
sinalizao de estado em painel sintico.
Programa: seqncia especfica de instrues selecionadas de um conjunto de
opes oferecidas pelo CLP em uso e que iro efetuar as aes de controle desejadas,
ativando ou no a memria interna e os pontos de sada do CLP a partir da monitorao
do estado da mesma memria interna ou dos pontos de entrada do CLP.
Um CLP est composto basicamente por dois elementos principais: uma CPU
(Unidade Central de Processamento) e interfaces para os sinais de entrada e sada. O
seguinte desenho mostra um diagrama de blocos genrico.

Figura 4.1: Diagrama de blocos de um CLP


A CPU segue padres similares s arquiteturas dos computadores digitais, os quais
so compostos basicamente por um processador, um banco de memria (tanto para
dados como para programas) e um barramento para interligao (controle, endereo e
dados) entre os elementos do sistema.
O princpio fundamental de funcionamento do CLP a execuo por parte da CPU
de um programa, conhecido como executivo e de responsabilidade do fabricante, que
realiza ciclicamente as aes de leitura das entradas, execuo do programa de controle
do usurio e atualizao dos estados das sadas. O seguinte diagrama de fluxo ilustra a
seqncia lgica do programa executivo.

25

Curso de Controladores Lgicos Programveis

incio

Leitura das
entradas

Execuo do
programa

Atualizao das
sadas

Figura 4.2: Ciclo de varredura


O tempo total para a execuo dessas tarefas chamado de ciclo de varredura ou
scanning e depende, entre outros fatores, da velocidade e caractersticas do processador
utilizado, do tamanho do programa de controle do usurio, alm da quantidade e tipo de
pontos de entrada e sada.
4.4) Descrio da CPU
A unidade central de processamento pode ser encarada como o crebro que
executa todas as aes do CLP. Est constituda pelo microprocessador, a memria, e os
barramentos de interligao.
A principal funo do processador o gerenciamento de todo o sistema composto
pelo CLP. Tal funo efetuada pelo programa executivo, similar a um sistema
operativo dos computadores convencionais, responsvel pela execuo do ciclo de
varredura descrito na seo anterior. Os processadores utilizados nos CLP podem
transferir dados de 8 bits, 16 bits ou ainda 32 bits. A velocidade dele depende da
freqncia do clock da mquina, e, embora nos computadores convencionais pode ser de
vrias centenas de megahertz, nos CLP em geral no so necessrias velocidades to
altas.
A memria da CPU est mapeada de forma tal de dividir todos os endereos para
armazenar o programa executivo, uma rea de dados para o executivo, uma tabela de
estados das entradas e sadas, uma rea de dados para a aplicao, e o programa escrito
pelo usurio. A forma como organizado o mapa de memria do CLP varia segundo o
fabricante.
O programa executivo em geral est armazenado em uma memria no voltil do
tipo EEPROM. As restantes posies correspondem a memria RAM, e portanto so
apagadas ao desligar a fonte de energia da CPU. A rea referente a dados para o
executivo serve para armazenar dados do sistema, os quais so constantemente
atualizados, tais como data e hora e estado do equipamento. Em geral esses dados esto
acessveis para o usurio apenas para leitura. Na rea de armazenamento do programa
do usurio e dados para a aplicao, so armazenadas as instrues em cdigo objeto do
programa escrito pelo usurio, assim como as variveis que o programa precisa para
armazenamento interno de dados. Finalmente, na rea dedicada s entradas e sadas do
26

Curso de Controladores Lgicos Programveis


CLP que se encontram as informaes referentes ao estado de cada um dos dispositivos
ligados nele. Em geral, o estado de uma entrada digital ser armazenado em um bit de
uma posio determinada dessa rea, o mesmo ocorre com o estado de cada sada
digital. Os estados das entradas e sadas analgicas, pelo contrrio, ocupam vrios bits
de memria nessa rea, dependendo da resoluo dos conversores A/D e D/A.
Na seguinte figura ilustra-se um exemplo de mapa de memria de um CLP.

Programa executivo
rea de dados para o executivo
Tabela de entradas/sadas
rea de dados para o aplicativo
Programa aplicativo
(escrito pelo usurio)
Figura 4.3: Mapa de memria genrico de um CLP
4.5) Descrio das interfaces de entrada e sada
Os sistemas de entrada/sada que iro realizar a conexo fsica entre a CPU e o
mundo externo por meio de vrios tipos de circuitos de interfaceamento. Tais circuitos
possuem padres semelhantes nos diversos equipamentos. Podemos dividir as interfaces
em digitais e analgicas, segundo sejam para conexo de sensores e atuadores dessas
caractersticas.
As interfaces digitais so interfaces paralelo, de tantos bits como entradas e sadas
possua o CLP. Nas interfaces digitais cada informao consiste em um nico bit, cujo
estado pode ser ligado ou desligado. Caso se trate de uma interface de entrada, o estado
desse bit depender do sensor digital ligado na entrada correspondente, e que o
programa executivo ler para transferir esse dado no bit correspondente da tabela de
estados das entradas e sadas, na memria principal da CPU. Caso se trate de uma
interface de sada, o programa executivo transfere o estado do bit correspondente na
tabela de estados das entradas e sadas para a interface, a qual aciona ou no o atuador
correspondente ligado nessa sada.
Cada um dos sensores e atuadores alimentado por fontes de alimentao
diferentes e que normalmente no so da mesma magnitude ou natureza. Por esta razo,
as interfaces com dispositivos de entrada e sada digitais esto disponveis em vrios
nveis de tenso CA ou CC, conforme os seguintes padres comerciais:
12 VCC, 24 VCC, 110 VCA, 220 VCA
As interfaces de sada podem ser transistorizadas, onde um transistor trabalha em
corte ou saturao dependendo do estado dessa sada. Conseqentemente, o atuador
deve se conectar entre a sada, geralmente o coletor do transistor, e a alimentao, de
maneira tal de se ativar ou desativar segundo o estado do transistor.
As interfaces de sada tambm podem ser de rel, em cujo caso esto disponveis
dois contatos que se abriro ou fecharo segundo o estado dessa sada. Nesse caso o
atuador deve se conectar entre um contato e alimentao (ou terra), e o outro contato em
terra (ou alimentao), de maneira tal do rel fechar ou abrir o circuito segundo seu
estado lgico.
A continuao mostraremos alguns exemplos de interfaces de entrada e sada sem
entrar em detalhes de funcionamento delas.

27

Curso de Controladores Lgicos Programveis

Figura 4.4: Interface de entrada CA

Figura 4.5: Interface de sada CA com TRIAC

Figura 4.6: Interface de sada com rel


As interfaces analgicas de entrada so circuitos conversores analgico/digital
(A/D). Nela so ligados sensores analgicos que entregam uma tenso entre um valor
mnimo e um valor mximo. A cada ciclo de varredura, o circuito conversor realiza a
converso e entrega um nmero binrio de n bits dependendo da resoluo do
conversor. O programa executivo l o estado desses bits da interface e transfere a leitura
para os bits correspondentes na tabela de dados de entrada e sada, na memria principal
da CPU.
Similarmente, as interfaces analgicas de sada consistem em circuitos conversores
digital/analgico (D/A). O programa executivo transfere os bits correspondentes da
tabela de dados de entrada/sada para o conversor, ele realiza a converso e entrega na
sua sada um nvel de tenso proporcional ao nmero binrio escrito nele.
4.6) Linguagens de programao
Como em qualquer computador, o processador opera com uma srie de instrues e
dados codificados em forma de nmeros binrios, que ele pode entender; esse cdigo
conhecido como cdigo objeto. Porm, tal cdigo inadequado para o programador,
devido dificuldade de lembrar a instruo que cada nmero representa, alm da
enorme possibilidade de errar ao digitar um programa constitudo por uma srie de
nmeros e da dificuldade de encontrar os erros caso o programa no execute as aes
desejadas.

28

Curso de Controladores Lgicos Programveis


por isso que nasceram as linguagens de programao, que permitem ao
programador editar o programa utilizando sentenas e estruturas escritas em forma bem
mais prxima da sua linguagem quotidiana e que representam melhor a ao a ser
executada. Nos computadores tradicionais, algumas linguagens so j muito conhecidas
e de domnio de uma grande quantidade de programadores, tais como C ou Pascal. O
texto do programa escrito nessas linguagens conhecido como programa fonte, e deve
passar por um processo chamado compilao, que consiste em traduzir as sentenas
escritas nessas linguagens ao cdigo objeto que o processador possa entender, para
poder ser executado.
No caso dos CLP, eles foram criados a partir da necessidade de substituir os painis
de controle a rels. Naquele contexto, uma linguagem de programao que fosse
familiar experincia dos tcnicos e engenheiros, j acostumados com a lgica de rels,
seria a escolha mais adequada ao desenvolvimento de programas para CLPs. Assim,
desde ento, essa linguagem, conhecida como linguagem ladder ou diagrama de
contatos, tem sido a forma mais comumente encontrada nos equipamentos,
independente de seu porte.
Os editores de programas na linguagem ladder, normalmente so para
microcomputadores e possuem um ambiente grfico, onde o programador vai
desenhando o diagrama de contatos seguindo a lgica do programa a ser implementado.
Feito isso, os editores tm uma opo de compilao, que traduz o diagrama desenhado
em um programa em cdigo objeto, gerando um arquivo executvel pelo processador do
CLP. O programa executvel deve ser transferido do computador ao CLP (operao
conhecida como download), o que geralmente feito por meio de um cabo de conexo
entre portas seriais em ambos equipamentos. Transferido o aplicativo, o programa
executor do CLP pode execut-lo sem mais necessidade do computador, o qual pode ser
desconectado. Alguns modelos de CLP possuem uma bateria para manter armazenado o
aplicativo na memria RAM sem perde-lo ao desligar o equipamento.
Entretanto, alguns modelos de CLP possuem um keypad com teclas com os
contatos, entre outras opes, de maneira tal que o programador pode ir introduzindo o
programa diretamente no CLP, sem necessidade de desenhar o diagrama previamente no
computador. Esses CLP possuem na sua memria um programa monitor, que vai lendo
o teclado e gerando o cdigo objeto correspondente na rea de memria destinada ao
aplicativo.
Com as sofisticaes oferecidas pelos processadores e seus novos algoritmos, a
representao simblica dos programas tornou-se, em alguns casos, impossvel de ser
implementada por meio de um diagrama de contatos. o caso, por exemplo, de
sentenas que indicam chamadas a sub-rotinas, saltos de instrues, chamadas a
procedimentos e funes, e algumas sentenas de processamento aritmtico. por essa
razo que alguns programas de editorao de aplicativos para CLP possuem outras
linguagens alternativas de programao, que contemplam essas outras opes. A mais
utilizada dessas outras linguagens a de mnemnicos booleanos, que consiste em um
conjunto de instrues representadas por pequenas palavras, chamadas de mnemnicos,
seguidas de dados sobre os quais a instruo opera como podem ser os nmeros de
entradas e sadas. Essa linguagem, muito prxima da linguagem Assembly para
microprocessadores, embora seja mais difcil de implementar, mais condizente com a
forma como os processadores operam e, portanto, a maneira mais racional de programar
um CLP.
No presente curso, centralizaremos a nossa ateno na realizao de programas na
linguagem ladder, por ser a mais genericamente utilizada na programao de CLP,
mas sem deixar de observar que, por nos encontrar em um mundo tecnologicamente
29

Curso de Controladores Lgicos Programveis


bastante dinmico, essas linguagens mencionadas podem ser suplantadas de uma hora
para outra por outras mais avanadas.
Finalmente, cabe observar que essas linguagens no so nicas para todos os tipos
de CLP, mas que cada modelo possui um conjunto de instrues especficas, e por tal
motivo, recomenda-se que ao se implementarem programas reais, realize-se
primeiramente um estudo detalhado do manual que o fabricante fornecer.
4.7) A linguagem ladder
O diagrama de contatos de um programa realizado na linguagem ladder, consiste
em um desenho formado por duas linhas verticais, que representam os plos positivo e
negativo de uma bateria ou fonte de alimentao genrica. Entre essas duas linhas
verticais so desenhados ramais horizontais que possuem chaves, que podem ser de
lgica normalmente aberta ou fechada, e que representam os estados das entradas do
CLP. Nesses ramais horizontais so representados, em geral com um crculo, as sadas
do CLP, de maneira tal que o estado delas depende do estado das entradas desse mesmo
ramal.
Por exemplo, um programa bsico de uma entrada (sensor) controlando uma sada
(atuador), ter o seguinte aspecto:
I0

Q0

Figura 4.7: Diagrama ladder bsico


onde I0 a entrada digital nmero 0 do CLP e Q0 a sada digital nmero 0 do
CLP. Desta maneira, fica claro nesse diagrama de contatos que o estado da sada Q0
depender do estado da entrada I0: quando esta for ativada, fechando a chave I0, se
fechar o circuito eltrico entre os plos virtuais da fonte de alimentao, representados
pelas duas linhas verticais, e se ativar, portanto, a sada Q0. Se, por exemplo,
conectarmos um pulsador entrada digital I0 do CLP, e uma lmpada sada digital Q0
do CLP (a forma de conexo depende da interface de entrada/sada, como foi
especificado em 4.5), o que ocorrer ao executar esse programa que a CPU ir
continuamente (conforme o ciclo de varredura visto anteriormente) efetuar a leitura da
entrada I0, e atribuir sada Q0 o valor lido. Em outras palavras, se o pulsador for
fechado, isto far com que a entrada I0 passe a nvel lgico 1, o que implicar que a
sada, segundo o programa, passe tambm a nvel lgico 1, acendendo a lmpada
conectada em Q0.
4.7.1) Implementao da funo NOT: Se o projetista desejar utilizar lgica
negativa, isto , que o estado da sada seja o inverso do estado da entrada, dever
programar a entrada I0 como uma chave normalmente fechada, de maneira tal que
quando essa entrada se ativar, se abra o circuito entre os plos virtuais da bateria,
desativando a sada Q0. O diagrama ladder correspondente ter o seguinte aspecto:

30

Curso de Controladores Lgicos Programveis

I0

Q0

Figura 4.8: Diagrama ladder da funo NOT


Observe-se que isto no implica que o pulsador, ou genericamente, o sensor
conectado entrada I0 deva ser normalmente fechado, mas que a lgica que o programa
aplicativo implementa a lgica negativa, ao contrrio do exemplo anterior. Isto
significa que se a CPU ler na entrada I0 o valor 0 (pulsador desativado), colocar na
sada Q0 o valor 1, acendendo a lmpada, ou ativando o atuador conectado nela. Se o
programa executivo, ao efetuar a varredura, ler na entrada I0 o valor 1 (pulsador
ativado), escrever na sada Q0 o valor 0, apagando a lmpada.
4.7.2) Implementao da funo AND: Quando se deseja que uma sada se ative
apenas quando dois sensores estiverem ativados vez, deve-se implementar a funo
AND no diagrama ladder, o qual ter o seguinte aspecto:

I0 I1

Q0

Figura 4.9: Diagrama ladder da funo AND


Assim, seguindo a lgica descrita na tabela de verdade da funo AND, a sada Q0
s estar ativada quando as duas entradas, I0 e I1, estiverem ativadas. Caso alguma
delas estiver em estado lgico 0 (entrada desativada), a sada Q0 estar desativada. Na
lgica do diagrama de contatos, apenas quando as duas chaves estiverem fechadas que
o circuito virtual estar fechado e, portanto, ser ativada a sada Q0, ativando o atuador
ligado nela.
Obviamente, assim como na funo AND, o estado da sada pode depender de mais
de duas entradas. Nesse caso suficiente com desenhar no ramal correspondente todas
as chaves que representam as entradas em srie.
Observe-se o caso em que uma dessas chaves normalmente fechada:
I0 I1

Q0

Figura 4.10: Diagrama ladder da funo AND com um contato NF


Isto implica que a sada Q0 s estar ativada quando a entrada I0 estiver ativada,
em estado lgico 1 (fechando a primeira chave), e a entrada I1 estiver desativada, em
31

Curso de Controladores Lgicos Programveis


estado lgico 0 (mantendo a segunda chave fechada). Em outras palavras, a lgica do
programa se corresponde com a seguinte tabela de verdade:
I0
0
0
1
1

I1
0
1
0
1

Q0
0
0
1
0

Figura 4.11: tabela de verdade do diagrama da figura 4.10


onde deve se entender o estado 0 como entrada ou sada desativada e estado 1 como
entrada ou sada ativada.
4.7.3) Implementao da funo OR: Quando se deseja que uma sada se ative
diante da ativao de qualquer uma de duas entradas, deve-se implementar uma funo
OR no diagrama ladder, o qual ter o seguinte aspecto:
I0

Q0

I1

Figura 4.12: Diagrama ladder da funo OR


Assim, seguindo a lgica descrita na funo OR, a sada Q0 s estar desativada
quando estiverem desativadas as duas entradas I0 e I1. Se alguma delas, ou as duas,
estiverem ativadas, em estado lgico 1, o programa executor ativar a sada, ativando-se
o atuador ligado nela. Na lgica do diagrama de contatos, o circuito virtual estar
fechado quando qualquer uma, ou as duas chaves estiverem fechadas, ativando assim a
sada Q0.
Aqui tambm, como na descrio da funo OR, pode acontecer que o estado da
sada dependa de mais de duas entradas. Nesse caso basta desenhar no ramal
correspondente todas as chaves correspondentes a todas as entradas das quais depende a
sada em paralelo.
Observe-se o caso em que uma dessas chaves normalmente fechada:
I0

Q0

I1

Figura 4.13: Diagrama ladder da funo OR com um contato NF

32

Curso de Controladores Lgicos Programveis


Nesse caso, a sada Q0 estar ativada quando se ativar a entrada I0, quando se
desativar a entrada I1, ou quando se cumprem ambas as condies; pode ser visto
inversa: a sada Q0 s estar desativada quando a entrada I0 estiver desativada e a
entrada I1 estiver ativada, nico caso em que o caminho entre os plos virtuais da
bateria do diagrama fica aberto. Em outras palavras, esse diagrama responde seguinte
tabela de verdade:
I0
0
0
1
1

I1
0
1
0
1

Q0
1
0
1
1

Figura 4.14: tabela de verdade do diagrama da figura 4.13


onde a lgica dos estados a mesma utilizada no exemplo anterior.
4.7.4) Implementao da funo NAND: Quando se deseja que uma sada esteja
desativada apenas quando duas entradas estiverem ativadas deve-se implementar no
diagrama ladder uma funo NAND. Para implementar tal funo temos duas
possibilidades.
A primeira aplicar a lei de De Morgan observando que: A B = A + B . O aspecto
do diagrama de contatos o seguinte:
I0

Q0

I1

Figura 4.15: Diagrama ladder da funo NAND


Observe-se que a tabela de verdade que representa a lgica desse diagrama, com I0
e I1 como variveis de entrada e Q0 como varivel de sada, responde quela da funo
NAND.
A segunda possibilidade implementar uma funo AND seguida de uma funo
NOT. Para isso seria necessria a utilizao de uma varivel intermdia, que represente
o resultado da funo AND e sobre a qual aplicaramos a funo NOT. Efetivamente, na
maioria dos CLP esto disponveis para o programador uma srie de bits em posies de
memria na rea da tabela de entrada/sada, posies que no se correspondem com
entradas e sadas reais, mas esto para o programador utilizar como variveis. Assim
sendo, o diagrama de contatos poderia ter o seguinte aspecto:

33

Curso de Controladores Lgicos Programveis

I0 I1

M0

M0

Q0

Figura 4.16: Diagrama ladder alternativo da funo NAND


Observe-se que a sada virtual M0 estar ativada quando as duas entradas, I0 e I1,
estiverem ativadas, respondendo lgica da funo AND. Isto significa que quando o
programa executor realizar a varredura, colocar nessa posio de memria chamada de
M0 o bit correspondente lgica descrita. Seguidamente, colocar no bit
correspondente sada real Q0, o estado contrrio, isto , o programa implementar uma
funo NOT com esse bit M0 como entrada e Q0 como sada.
Tambm aqui, obviamente, podemos implementar a funo NAND para mais de
duas entradas, com qualquer uma das duas possibilidades descritas.
4.7.5) Implementao da funo NOR: Quando se deseja que uma sada esteja
ativada apenas quando duas entradas estiverem desativadas, deveremos implementar no
diagrama de contatos uma funo NOR. Aqui tambm contamos com as duas
possibilidades descritas na seo anterior.
A primeira aplicar a lei de De Morgan, lembrando que A + B = A B
O aspecto do diagrama de contatos, nesse caso seria:
Q0

I0 I1

Figura 4.17: Diagrama ladder da funo NOR


Observe-se que a tabela de verdade que representa a lgica desse diagrama, com I0
e I1 como variveis de entrada e Q0 como varivel de sada, responde quela da funo
NOR.
A segunda possibilidade, similarmente ao descrito na seo anterior, consiste em
aplicar a funo OR representando-a em uma varivel intermdia, para aplicar a funo
NOT nessa varivel. Assim, o aspecto do diagrama de contatos seria:
I0

M0

I1
M0

Q0

Figura 4.18: Diagrama ladder alternativo da funo NOR

34

Curso de Controladores Lgicos Programveis


Observe-se que a sada virtual M0 estar desativada quando as duas entradas, I0 e
I1, estiverem desativadas, respondendo lgica da funo OR. Isto significa que quando
o programa executor realizar a varredura, colocar nessa posio de memria chamada
de M0 o bit correspondente lgica descrita. Seguidamente, colocar no bit
correspondente sada real Q0, o estado contrrio, isto , o programa implementar uma
funo NOT com esse bit M0 como entrada e Q0 como sada.
Tambm aqui, obviamente, podemos implementar a funo NOR para mais de duas
entradas, com qualquer uma das duas possibilidades descritas.
4.7.6) Elaborao de circuitos: Evidentemente, em muitas situaes deveremos
implementar lgicas correspondentes a expresses algbricas mais complexas, devido a
que o estado do atuador pode depender de combinaes complexas de estados de vrios
sensores. Isso sempre ser possvel implementar utilizando variveis intermdias.
Por exemplo, se quisermos implementar em um diagrama de contatos a lgica do
exemplo mostrado na seo 3.3, onde o estado da funo (sada) depende dos estados de
trs variveis binrias (entradas), lgica que pode ser representada pela seguinte
expresso algbrica:
S=A B+C+B A+B
claro que podemos (e sempre ser conveniente) simplificar primeiro essa
expresso antes de implementar o diagrama de contatos. Vimos que isso possvel
aplicando as leis de De Morgan e as propriedades mencionadas no captulo 3. Mas a
modo de ilustrao implementaremos um diagrama de contatos seguindo a lgica dessa
expresso sem simplificao alguma. Tal diagrama poder ter o seguinte aspecto:

35

Curso de Controladores Lgicos Programveis

I0 I1

M0

I2

M1

I1
M1

M2

M0

M3

M2

M3

M4

I0

M5

I1

M5

M6

M4 M6

Q0

Figura 4.19: Diagrama ladder da expresso lgica


Observe-se que, assim como na expresso lgica aparece mais de uma vez a mesma
varivel, aqui tambm utilizamos a mesma entrada em mais de um ramal. Isso no
representa inconveniente algum. Quando o programa executor efetuar o ciclo de
varredura, ler os estados das trs entradas I0, I1, e I2, e escrever nas posies de
memria correspondentes, M0 a M6, os estados correspondentes lgica descrita pelo
programa, para finalmente estabelecer o estado da sada Q0 segundo esta lgica.
4.7.7) Circuitos de intertravamento: At agora, todos os exemplos mostrados
respondem lgica combinacional, isto , uma lgica onde o estado das variveis de
sada depende exclusivamente dos estados das variveis de entrada nesse momento. Mas
observe-se o que acontece com a lgica do seguinte diagrama de contatos:

36

Curso de Controladores Lgicos Programveis

I0

I1 M0

M0

M0

Q0

Figura 4.20: Diagrama ladder do circuito de intertravamento


Qual ser o estado da sada Q0 quando as entradas I0 e I1 estiverem desativadas?
Tudo depende do estado anterior dessas entradas; isto quer dizer que a sada j no mais
depende exclusivamente do estado das entradas nesse momento, mas de um histrico
desses estados. A lgica desse diagrama no mais combinacional, mas seqencial.
Se inicialmente a entrada I0 estiver desativada, seja qual for o estado da entrada I1,
a sada virtual M0 estar desativada e, portanto, a sada real Q0 tambm. Ao se ativar a
entrada I0, mantendo I1 desativada, se fechar o caminho entre os plos virtuais da
bateria, ativando a sada M0 e Q0. Mas ao ativar a sada M0, se fechar o circuito pelo
outro ramal, devido a que tambm est se fechando a chave M0, chave e sada tem seu
estado armazenado no mesmo bit da memria. Assim sendo, se posteriormente se
desativa a chave I0, a sada M0 permanecer ativada, devido a que o circuito permanece
fechado pelo ramal inferior. Mudou o estado da sada mesmo tendo novamente as duas
entradas desativadas. Essa situao persiste at ativar a entrada I1, abrindo o circuito e
desativando a sada M0, e portanto tambm a chave M0. Se posteriormente se desativa
I1, o circuito permanece aberto e portanto a sada M0 desativada.
Em sntese, I0 chamado de pulsador de start, devido a que ao ser pressionado
ativa a sada, a qual permanece ativada mesmo depois de soltar o pulsador, e I1
chamado pulsador de stop, devido a que ao ser pressionado desativa a sada, a qual
permanece nesse estado mesmo depois de desativar I1.
Este circuito de intertravamento, tambm conhecido como circuito de rel, devido a
que sua lgica tambm pode ser implementada com um rel convencional, a base de
todo circuito de lgica seqencial, os quais podem ser muito mais complexos e com
sadas dependendo de diversas combinaes e seqncias de estados nas entradas.
Finalmente, cabe destacar que alguns modelos de CLP permitem utilizar uma sada
real tambm como entrada virtual. Nesse caso se faz desnecessria a utilizao da
varivel M0, devido a que tanto sada como chave podem se chamar de Q0.
4.7.8) Sentenas SET e RESET: Uma outra maneira de conseguir um
intertravamento atravs do uso da sentena SET, a qual permite ativar uma sada ante
uma condio de entrada e permanecer ativada mesmo mudando o estado da entrada.
Para desativar a sada, deve se utilizar a instruo RESET, a qual desativa a sada ante
uma condio da entrada e permanecer desativada mesmo mudando essa condio de
entrada.
Os diferentes modelos de CLP diferem na forma de implementar esse par de
instrues, daremos aqui um exemplo genrico:

37

Curso de Controladores Lgicos Programveis

I0

Q0
S

I1

Q0
R

Figura 4.21: Circuito de SET e RESET


Aqui, diante da ativao da entrada I0, se estabelecer (SET) na sada Q0 o estado
lgico 1, o qual permanecer nesse estado indefinidamente, mesmo mudando o estado
da entrada. Diante da ativao da entrada I1, se desativar a sada Q0, permanecendo
nesse estado mesmo desativando-se a entrada I1.
4.7.9) Circuitos de deteco de borda: Existem algumas situaes que
necessrio registrar no o estado de uma entrada, mas o instante em que essa entrada
comuta. Isso realizado por meio de circuitos de deteco de borda, que podem detectar
tanto o flanco ascendente (instante de ativao da entrada), como o flanco descendente
(instante de desativao da entrada). Esses circuitos se aproveitam da caracterstica
discreta do CLP e do tempo de varredura em que a CPU demora em ler os estados das
entradas. Observe-se o seguinte exemplo:
I0

M1 M0

I0

M1

Figura 4.22: Circuito de deteco de borda


Inicialmente, quando a entrada I0 est desativada, as variveis M0 e M1 esto em
estado lgico 0. Quando o programa executor ler um estado lgico 1 na entrada I0, e
estado lgico 0 na varivel M1, colocar um 1 nas variveis M0 e M1. Mas no seguinte
ciclo de varredura, ao ter lido um 1 na varivel M1, colocar um 0 na varivel M0. Isto
implica que a varivel M0 permanecer em estado lgico 1 apenas durante um ciclo de
varredura, o que normalmente dura uns poucos micro segundos. O estado dessa varivel
ser um impulso de curta durao que aparece no instante de ativao da entrada I0.
O diagrama de tempos que representa essa situao o seguinte:

38

Curso de Controladores Lgicos Programveis

ciclos de
varredura
I0

M0
M1

Figura 4.23: Diagrama de tempos do circuito de deteco de borda


Observe-se que, na realidade, M0 no mudar de estado no exato instante de
comutao de I0, que o instante de ativao do sensor conectado nessa entrada, mas a
partir do seguinte ciclo de varredura, permanecendo em estado lgico 1 apenas durante
um ciclo.
Um exemplo de aplicao prtica desse circuito quando se deseja ativar e
desativar uma sada com um nico pulsador. Quando este pressionado, se ativar a
sada, quando for pressionado pela segunda vez, se desativar, e assim por diante. O
circuito completo para essa implementao pode ter o seguinte aspecto:

I0

M1 M0

I0

M1

M0

M0

M2

M2

M2

M2

Q0

Figura 4.24: Exemplo de aplicao de um circuito de deteco de borda


Os dois primeiros ramais so iguais aos do diagrama anterior, a varivel M0 s se
ativar quando se ativar o pulsador conectado entrada I0 e permanecer ativado
durante um impulso. Ao se ativar M0 se ativar M2, devido a que a linha superior do
terceiro ramal estar fechada, e portanto se ativar a sada Q0. Um ciclo de varredura
depois, ao se desativar M0, o terceiro ramal ainda permanecer fechado, devido a que a
linha inferior se fechar agora, mantendo M2 ativado e portanto a sada Q0 tambm. Ao
se ativar pela segunda vez I0, se ativar a varivel M0, abrindo a linha inferior do
39

Curso de Controladores Lgicos Programveis


terceiro ramal e portanto desativando M2 e conseqentemente a sada Q0. No seguinte
ciclo de varredura, ao se desativar a varivel M0, a varivel M2 ainda permanecer
desativada, por estar o terceiro ramal aberto, permanecendo a sada Q0 desativada.
4.7.10) Temporizadores: A maioria dos CLP atuais possuem um recurso de
retardo de tempo, ou temporizador. A maneira como ele inserido do diagrama de
contatos, assim como algumas particularidades sobre seu uso so prprias de cada
modelo de CLP. Daremos aqui uma definio genrica, a qual deve ser adaptada
segundo o manual fornecido por cada fabricante na hora de ser implementado um
circuito com temporizador.
O diagrama de contatos bsico similar ao seguinte:
I0

T0
IN
TC

300
T0

Q0

Figura 4.25: Diagrama ladder de um temporizador


onde IN a entrada que controla a ativao da base de tempo e TC a entrada onde
se especifica o tempo de retardo (especificado em alguma unidade de tempo ou em um
mltiplo de uma base de tempo determinada). Vamos supor aqui que esse 300 especifica
um retardo de 300mseg. Nesse circuito, ento, ao se ativar a entrada I0, se ativar a base
de tempo T0, a qual esperar um tempo de 300 mseg. Passado esse tempo, se ativar a
chave T0 e portanto a sada Q0, a qual permanecer ativada at a entrada I0 se desativar.
Se, no entanto, a entrada I0 permanecer ativada um tempo menor de 300 mseg., a sada
Q0 no se ativar em momento algum. O seguinte diagrama de tempos ilustra essa
situao:
< 300ms

> 300ms

I0
300ms

T0
Q0

Figura 4.26: Diagrama de tempos de um circuito temporizador


Alm desse diagrama bsico, possvel implementar outros diagramas de contatos
que utilizam temporizadores e apresentam outros efeitos. Mostraremos, a modo de
ilustrao, apenas um par de exemplos. O primeiro exemplo consiste em ativar uma
sada quando se ativa uma entrada e mante-la ativada at 300 mseg. depois da entrada se
desativar (efeito de retardo no desligamento). O diagrama de contatos que produz tal
efeito o seguinte:
40

Curso de Controladores Lgicos Programveis

M0

I0

S
M0

I0

T0
IN
TC

300
M0

T0

R
M0

Q0

Figura 4.27: Diagrama ladder de um temporizador com retardo no desligamento


O funcionamento desse diagrama de contatos pode ser entendido mais claramente
mediante um diagrama de tempos.
I0
M0
300ms

T0
Q0

Figura 4.28: Diagrama de tempos do diagrama de contatos anterior


Observe-se que agora a desativao de I0, juntamente com a manuteno da
varivel M0 em estado lgico 1, a condio que inicializa o temporizador. Mas quando
a chave T0 for fechada (300mseg. depois), que a varivel M0 ser resetada. Durante a
ativao dessa varivel que a sada real Q0 ativada.
O segundo exemplo que ser apresentado o clssico oscilador astvel, realizado
com dois temporizadores.

41

Curso de Controladores Lgicos Programveis

I0 T1

T0
IN
TC

t0
T1

T0

IN
TC

t1
T0

Q0

Figura 4.29: Diagrama de contatos de um oscilador astvel


O diagrama de tempos que ilustra o funcionamento do oscilador o seguinte:

I0
t0

T0
t1

T1
Figura 4.30: Diagrama de tempos do oscilador astvel
Obviamente, a sada real Q0 acompanha o estado da chave T0. Observe-se que,
diante da ativao da chave principal, I0, se ativar o temporizador T0, fechando a
chave correspondente t0 segundos depois. Isso ativa o temporizador T1, e a chave
correspondente se ativar t1 segundos depois. Mas ao se ativar essa chave se desativa o
temporizador T0 e portanto tambm o temporizador T1, que dessa maneira s se
manteve ativado durante um ciclo de varredura. Assim, volta-se condio inicial,
recomeando o ciclo novamente. Isto dura por enquanto I0 permanecer ativada.
4.7.11) Contadores: Um outro recurso muito til que possuem a maioria dos CLP
so os contadores, que permitem quantificar a ocorrncia de eventos e executar uma
determinada ao depois de um determinado nmero de ocorrncias. A maneira de
implementar um contador em um diagrama ladder tambm varia grandemente de um
modelo de CLP para outro, sendo recomendvel, portanto, procurar o manual do usurio
para se informar sobre a forma de implementao especfica do programa utilizado.
Tambm existem diferentes tipos de contadores. Em alguns casos os CLP tm
contadores apenas crescentes, em outros existem contadores com uma entrada de
contagem crescente e outra decrescente. Daremos aqui um exemplo genrico com um
contador com ambas as entradas de contagem.
42

Curso de Controladores Lgicos Programveis


C0
I0
CU

I1
CD

I2

30
C0

PV

Q0

Figura 4.31: Diagrama de contatos de um circuito contador


Neste exemplo, o contador C0 possui 4 entradas, a entrada de contagem ascendente
CU, controlada pela entrada I0, a entrada de contagem descendente CD, controlada pela
entrada I1, a entrada de RESET, para apagar a contagem que controlada pela entrada
I2, e finalmente a entrada PV, para especificar depois de quantas ocorrncias se ativar
o contador. Assim, o contador C0, e conseqentemente a sada Q0, se ativaro depois de
que o nmero de ativaes da entrada I0 menos o nmero de ativaes da entrada I1
chegue a 30, e se manter nesse estado at se ativar a entrada I2.

43

Curso de Controladores Lgicos Programveis

5) Acessrios e novas tecnologias


O mercado de novos acessrios para CLP vem crescendo ano a ano em forma
surpreendente. Muitos destes acessrios tm como finalidade aumentar a potencialidade
dos CLP j existentes.
Muitos dos CLP encontrados no mercado possuem diferentes mdulos unitrios, de
maneira tal que o usurio possa selecionar aqueles segundo as suas necessidades.
Assim, o CLP no uma caixa fechada, mas um conjunto de mdulos operadores com
diferentes funes, que o usurio arma para formar seu CLP. Dentre esses mdulos
podemos mencionar a CPU, a fonte de alimentao, mdulos de comunicao com
outros CLP ou com computadores, e mdulos de interfaces de entrada ou de sada.
Alguma das novas tecnologias procuram aumentar a capacidade desses mdulos,
visando a possibilidade de armar um CLP mais poderoso e eficiente. o caso de
mdulos de contatos de entrada e sada com um maior nmero de pontos, mdulos de
interfaces analgico digital e digital analgico com maior resoluo, mais rpidas, e
com maior nmero de entradas e sadas, e de diferentes mdulos de comunicao em
rede. Atualmente existem mdulos de comunicao para redes seriais de padro RS-232
e RS-485, e at mdulos de comunicao para rede LAN.
Um outro acessrio que vem sendo aperfeioado a interface homem mquina.
Atualmente os painis de controle so substitudos por monitores de computador, os
quais esto ligados em rede aos CLP, e que mostram em um ambiente grfico os
detalhes do processo produtivo, o que torna a interface com o operador muito mais
amigvel e segura. Dentre os software mais conhecidos no mercado encontra-se o FIX e
o LookOut.
Conforme a tecnologia avana novos equipamentos e estruturas vo sendo
inventados. Uma nova estrutura que est sendo cada vez mais difundida e implantada
a FieldBus, ou barramento de campo. Nesta nova estrutura os sensores e atuadores so
interligados por um nico par tranado de fios, o que torna a instalao muito mais
barata e segura. Para adicionar novos sensores e atuadores basta plug-los neste novo
barramento e reconfigurar o sistema, sem ter que gastar tempo e dinheiro em passar
novos fios at a sala de controle, o que muito complicado em instalaes industriais
onde os dispositivos ficam distantes do controlador e onde existem uma grande
quantidade de dispositivos a serem controlados. Essa estrutura est sendo regulamentada
e padronizada por associaes internacionais como a FieldBus Fundation.

Figura 5.1: Logomarca da FieldBus Fundation


Uma estrutura similar FieldBus, mas de interconexo de mdulos de CLP e no
de interconexo de sensores e atuadores, a FieldPoint. Esse sistema possui um
computador central e um barramento que interconecta os mdulos espalhados pelo cho
da fbrica; esses mdulos podem ser diversos tipos de interfaces de entrada ou sada,
44

Curso de Controladores Lgicos Programveis


segundo os sensores e atuadores que estiverem instalados nesse local da fbrica. O
sistema FieldPoint possui vantagens similares ao FieldBus, tais como a fcil instalao
dos mdulos auxiliares e fcil modificao da estrutura de controle. Tudo controlado
via software no computador central.

Figura 5.2: Estrutura bsica de um sistema FieldPoint


Finalmente, cabe destacar como uma outra rea de avano constante de
instrumentao virtual. Ali, os sensores e atuadores so conectados a um computador e
um software processa as informaes, enviando posteriormente as respostas. As grandes
vantagens desses softwares so: linguagem de programao grfica, ferramenta de
simulao interativa, aquisio de dados e controle, monitoramento e processamento de
imagens. Dentre os software mais utilizados podemos mencionar o LabView e o
BridgeView.

Figura 5.3: Interface BridgeView

45

Curso de Controladores Lgicos Programveis

6) Exerccios
1) Dada a seguinte expresso booleana: A + B ( C + A) . Realizar a tabela de
verdade dessa expresso, desenhar o circuito lgico, e desenhar o diagrama
ladder que implementa a lgica da expresso no CLP.
2) Dado o seguinte circuito lgico, obter a expresso booleana, realizar a tabela de
verdade da expresso, e desenhar o diagrama ladder que implementa essa
lgica no CLP.

3) Dada a seguinte tabela de verdade, sintetizar a partir dela a expresso booleana


correspondente, desenhar o circuito lgico, e desenhar o diagrama ladder que
implementa essa lgica no CLP.
A
0
0
0
0
1
1
1
1

B
0
0
1
1
0
0
1
1

C
0
1
0
1
0
1
0
1

S
0
0
1
0
0
1
1
0

4) Desenvolver um diagrama de contatos para controlar a seguinte instalao:

46

Curso de Controladores Lgicos Programveis


Atravs do programa o usurio deve ser capaz de selecionar o modo de
funcionamento: automtico ou manual.
Em manual, a bomba poder ser ligada pressionando-se o boto LIGA e
desligada pressionando-se o boto DESLIGA. Neste modo, as bias de nvel no
tem nenhuma ao.
Em automtico, a bomba ser ligada 10 seg. aps a deteco de NVEL BAIXO
e desligada 10 seg. aps a deteco de NVEL ALTO.
5) Elaborar um diagrama de contatos para o controle do seguinte processo
industrial. Uma esteira transportadora acionada por um motor D.C. carrega
garrafas de trs tamanhos (pequenas, mdias e grandes). Trs sensores ticos A,
B, C detectam a presena desses trs tipos diferentes de garrafa segundo a
altura, tal como mostrado no desenho. O processo tem incio quando o boto
D acionado, e pra quando pressionado o boto D. A seleo do tipo de
garrafa feita a partir de uma chave seletora com trs posies (P, M, e G).
Assim, caso, por exemplo, sejam selecionadas garrafas grandes, a esteira deve
parar e o alarme soar caso uma garrafa pequena ou mdia seja detectada. Aps a
retirada manual da garrafa indesejada, o operador deve ligar novamente o
sistema em L.

6) Projete um controle capaz de inverter o sentido de rotao de um motor


trifsico. Para isso, basta observar que para inverter o sentido de giro
necessrio mudar duas das trs fases, tal como mostrado no seguinte desenho.

47

Curso de Controladores Lgicos Programveis

Assuma que existe um switch para ligar e desligar, um boto para acionamento
frente, um boto para acionamento r, e trs sadas: um rel para o acionamento
geral, um para o acionamento frente, e outro para o acionamento r.
7) Uma mquina de bobinagem de carretis, semelhante apresentada no seguinte
desenho, acionada por um motor D.C. A cada volta acionado o boto a, e
um boto B d partida ao processo de bobinagem. O funcionamento deve ser
o seguinte: ao se acionar o boto B, o carretel deve girar 150 voltas, aps o qual
deve parar para dar tempo ao operador de tirar o carretel e trocar a bobina. O
processo deve se reiniciar quando pressionado o boto B novamente.

8) A figura abaixo mostra um misturador para fazer cores personalizadas de tinta.


Possuem dois encanamentos entrando no topo do tanque, fornecendo dois
ingredientes diferentes, e um nico encanamento no fundo do tanque para
transportar a tinta misturada finalizada. Nessa aplicao voc vai controlar a
operao de preenchimento, monitorar o nvel do tanque, e controlar o
misturador e o perodo de aquecimento. O funcionamento deve ser o seguinte:
Quando o usurio pressiona o boto de start 1 aciona-se a bomba 1 at o usurio
pressionar o boto stop 1. O mesmo acontece com a segunda bomba. Se durante
o funcionamento de alguma, ou as duas, bombas detectado o enchimento do
tanque (high level), as bombas ativadas devem desativar-se, mesmo que o
usurio no tenha pressionado nenhum dos dois botes de stop. Desativadas as
duas bombas deve se ativar o misturador e a entrada de aquecimento a vapor.
Este processo deve durar 30 segundos. Feito isso, deve se abrir a vlvula de
drenagem juntamente com a bomba de drenagem para esvaziar o tanque, at ser
ativado o low level.
48

Curso de Controladores Lgicos Programveis


Realizar o diagrama ladder para o controle desse sistema.

9) Um elevador de 4 andares possui 8 pulsadores: 4 para detectar a presena da


caixa em cada andar e 4 pulsadores de chamada. A movimentao da caixa
produzida por um motor D.C. Realizar o diagrama ladder para que, ao se
produzir uma chamada, a caixa se movimente at o andar chamado.

7) Bibliografia
Idoeta, I. e Capuano, F.: Elementos de eletrnica digital. Editora rica. 22
edio. So Paulo, 1984.
da Silveira, P. e Santos, W.: Automao e controle discreto. Editora rica. 1
edio. So Paulo, 1998.
Severo, B.: Curso de Controladores Lgicos Programveis. Apostila do LEE,
Faculdade de Engenharia, UERJ. 2 edio. Rio de Janeiro, 2000.
Critchlow, A.: Introduction to robotics. Macmillan publishing company. New
York, 1985.
Kuo, B.: Automatic Control System. Prentice Hall, englewood Cliff. 4 Edio.
New Jersey, 1983.
Nof, S.: Handbook of industrial robotics. John Wiley & Sons. USA, 1985.
Pazos, F.: Automao de sistemas e robtica. Apostila do laboratrio de Robtica,
Instituto de Tecnologia ORT. Rio de Janeiro, 2000.

49

Curso de Controladores Lgicos Programveis

Anexo1) O CLP VersaMax Micro IC200UAL006 1


A1.1) Introduo
O CLP utilizado neste curso ser o VersaMax Micro, modelo IC200UAL006, da
GE Fanuc. O CLP possui treze entradas digitais de 24 VDC, uma sada digital
transistorizada, nove sadas de relay, duas entradas analgicas e uma sada analgica. O
microprocessador um H8/3003 com uma freqncia de clock de 9.84 MHz, tem uma
memria FLASH de 256K x 16 bits, e uma memria RAM de 64Kbyte alimentada por
uma bateria interna. A velocidade de varredura tpica de 1.0 ms/K. Possui tambm
uma porta serial norma RS-232 e uma porta serial norma RS-485, para comunicao
com o dispositivo programador (programador manual ou computador) e com outros
CLP. Na figura A1.1 apresenta-se um desenho do CLP e na figura A1.2, um diagrama
de blocos do circuito interno.

Figura A1.1: O CLP IC200UAL006

Figura A1.2: Diagrama de blocos do CLP


1

As figuras do presente anexo, assim como a informao apresentada, foram extradas do manual de
usurio do CLP VersaMax Micro, da GE Fanuc.

50

Curso de Controladores Lgicos Programveis

A1.2) Descrio das entradas e sadas


Este CLP possui diversos conectores de entrada / sada. No caso das entradas e
sadas digitais, o estado delas so indicados com leds no painel. Seguidamente so
especificadas as caractersticas delas.
-

13 entradas digitais
Podem ser conectados transdutores digitais de 24 VDC com lgica positiva ou
negativa. As entradas esto mapeadas na memria nos endereos denominados
%I1 a %I13. Na figura seguinte observa-se o circuito de entrada.

Figura A1.3: Circuito de entrada digital

9 sadas de relay.
Com contatos normalmente abertos, alguns deles so comuns a vrias sadas. As
sadas de relay esto mapeadas na memria do CLP nos endereos %Q2 a
%Q10.

Figura A1.4: Circuito de sada de relay

1 sada digital transistorizada.

51

Curso de Controladores Lgicos Programveis


Pode ser polarizada com alimentao de 24 VDC, 12 VDC, ou 5 VDC. O estado
da sada armazenado no endereo de memria %Q1. O circuito esquemtico
o seguinte:

Figura A1.5: Circuito de sada transistorizada


-

2 entradas analgicas.
Essas entradas podem ser configuradas nos seguintes modos:

modo
Modo tenso 0 10V
Modo corrente 0 20 mA
Modo corrente 4 20 mA

Resoluo
12 bits (1 LSB = 2.5 mV)
12 bits ( 1 LSB = 5 A)
11+ bits (1 LSB = 5 A)

Frmula
Valor registro = 3.2 x mV
Valor registro = 1.6 x A
Valor registro = 2 x A - 8000

Em todos os casos o valor do registro est entre 0 e 32767, e a linearidade de


3 LSB. As entradas analgicas esto mapeadas na memria nos endereos
%AI18 e %AI19. Na coluna frmula se especifica a relao entre o valor do
registro na memria e a amplitude do sinal de entrada. O circuito esquemtico :

Figura A1.6: Circuito de entrada analgica


-

1 sada analgica.
Tambm pode ser configurada em diversos modos. Est mapeada na memria no
endereo %AQ12.

modo
Modo tenso 0 10V
Modo corrente 0 20 mA
Modo corrente 4 20 mA

Resoluo
12 bits (1 LSB = 2.5 mV)
12 bits ( 1 LSB = 5 A)
11+ bits (1 LSB = 5 A)

Frmula
Valor registro = 3.2 x mV
Valor registro = 1.6 x A
Valor registro = 2 x A - 8000
52

Curso de Controladores Lgicos Programveis


Na coluna frmula especifica-se a relao entre o valor do registro onde
armazenado o dado e a amplitude do sinal de sada. O circuito esquemtico da sada
analgica o seguinte:

Figura A1.7: Circuito de sada analgica


-

2 potencimetros sobre o painel.


Possuem uma resoluo de 10 bits e uma faixa de operao de 0 1023 per
volta. Os valores dos potencimetros so armazenados nos endereos de
memria denominados %AI16 e %AI17.

Figura A1.8: Localizao dos


potencimetros sobre o painel
Algumas das entradas e sadas podem ser configuradas para usos especficos. Entre
eles cabe destacar:
-

4 contadores de alta velocidade.


As 8 primeiras entradas digitais, I1 a I8, podem ser configuradas para serem
utilizadas como contadores de pulsos que admitem velocidades at 10KHz.
Podem ser configuradas como 4 contadores do tipo A, ou um do tipo A e um do
tipo B. Os contadores do tipo A so independentes, e podem ser programados
para contagem crescente ou decrescente, e para contagem com o flanco
ascendente ou descendente do trem de pulsos de entrada. O contador do tipo B
exige a utilizao de duas entradas, e a contagem ser crescente ou decrescente
dependendo da fase relativa entre os trens de pulsos das entradas. Este tipo de
contador utilizado para determinar a posio de um encoder incremental.

53

Curso de Controladores Lgicos Programveis

1 sada PWM
A sada Q1 pode ser configurada como um sinal modulado por largo de pulso,
com freqncia entre 15Hz e 5KHz. Sua freqncia e duty cicle so
programveis.

1 sada de trem de pulsos


A sada Q1 tambm pode ser programada como um gerador astvel, com
freqncia de 15Hz a 5KHz programvel assim como tambm a quantidade de
pulsos a ser gerada.

Para mais detalhes sobre a configurao das entradas e sadas para esses usos
especficos, ver o manual de usurio do CLP.
Alm desses recursos, o CLP IC200UAL006 possui os seguintes conectores:
-

1 conector RJ-45 e um DB-15 para comunicao serial, normas RS-232 e RS485, respectivamente.
Um deles utilizado para a ligao do dispositivo programador e o outro para
comunicao em geral, que pode ser com outros CLP.

Um conector de 40 pinos para unidade de expanso, o que permite aumentar o


nmero de entradas e sadas do CLP.

Uma sada de alimentao de 24 VDC. Destinada alimentao dos


dispositivos a serem conectados no CLP, pode entregar at 200 mA.

Uma entrada de alimentao de 100 / 240 VAC.

Na seguinte figura apresenta-se um diagrama de conexes das diferentes entradas e


sadas do CLP.

54

Curso de Controladores Lgicos Programveis

Figura A1.9: Diagrama de conexes das entradas e


sadas do CLP IC200UAL006

Observe-se que algumas entradas digitais esto conectadas com lgica positiva e
outras com lgica negativa.
A.1.3) Mapeamento da memria
Existem diversas posies de memria destinadas s diferentes aplicaes.
Algumas delas esto disponveis para o usurio para uso geral, outras esto destinadas
para fins especficos e outras so de uso reservado do sistema. Seguidamente ser
apresentada uma descrio do mapa de memria do CLP IC200UAL006.
Tipos de memria:
- Registradores: acessveis desde o programa com a referncia %R, so variveis
do tipo word (2 bytes) disponveis para o usurio armazenar dados de mais de 1
bit. Utilizados para contadores, temporizadores, armazenamento de dados de
entrada e sada analgica, entre outros.
- Entradas analgicas: acessveis com a referncia %AI, so variveis do tipo
word e destinam-se ao armazenamento da leitura das entradas analgicas, dos
potencimetros, dos contadores de alta velocidade, entre outras funes.
- Sadas analgicas: acessveis com a referncia %AQ, so do tipo word e
destinam-se ao armazenamento do dado de sada analgica, ao armazenamento
dos parmetros da sada PWM, e dos parmetros da sada de trem de pulsos.
- Entradas discretas: referenciam-se com %I, so dados do tipo bit, armazenam-se
neles os estados das entradas digitais.
- Sadas discretas: com a referncia %Q, so variveis do tipo bit e servem para
armazenar os estados das sadas digitais, e comandos de controle da sada PWM
e da sada de trem de pulsos.
55

Curso de Controladores Lgicos Programveis


-

Posies discretas globais: acessveis desde o programa com a referncia %G,


so variveis do tipo bit utilizadas para comunicao externa entre CLP.
Posies do usurio internas discretas: referenciam-se com %M, so variveis
do tipo bit utilizadas pelo programa para armazenar dados temporariamente
para serem utilizados posteriormente pelo programa.
Posies discretas temporrias: tambm variveis do tipo bit, so acessadas com
a referncia %T, similar a %M exceto que uma varivel no retentiva, quer
dizer que trata-se de um tipo de memria voltil. As posies %M e %Q so
posies de memria no volteis a no ser que sejam utilizadas com sada
normal ( )- (ver no anexo 2 as diferenas entre os tipos de sada).
Posies do sistema discretas: referenciadas com %S, so do tipo bit e
acessveis ao usurio apenas para leitura, pois so utilizadas pelo sistema para
armazenamento de dados internos.

Tipo de memria

referncia

Faixa de utilizao

Quantidade de
memria

Programa aplicativo
registradores
Entradas analgicas
Sadas analgicas
Entradas discretas
Sadas discretas
Pos. discretas globais
Pos. usurio internas
Pos. temporrias discretas
Posies do sistema

%R
%AI
%AQ
%I
%Q
%G
%M
%T
%S

%R1 - %R256
%AI1- %AI128
%AQ1 - %AQ128
%I1 - %I512
%Q1 - %Q512
%G1 - %G1280
%M1 - %M1024
%T1 - %T256
Diversas

9 Kwords
2Kwords
128 words
128 words
512 bits
512 bits
1280 bits
1024 bits
256 bits
128 bits

Ver captulo 13 do manual de usurio as utilizaes especficas de diferentes


posies de memria.

Figura A1.10: Estrutura da seqncia de entrada / sada de dados


executada pelo programa

56

Curso de Controladores Lgicos Programveis

Anexo 2) O programa VersaPro 2.00 2


A2.1) Introduo
Os CLP da GE Fanuc podem ser programados de diversas maneiras. Eles possuem
duas portas seriais (a primeira norma RS-232 e a segunda norma RS-485), em qualquer
uma delas pode ser ligado o dispositivo programador. Esse dispositivo pode ser um
programador manual (Hand Held Programmer), ou um micro computador ligado via
porta serial. Neste curso ser utilizado um micro computador da linha IBM PC.
Existem tambm diversos programas para PC destinados criao do diagrama
ladder, configurao das entradas e sadas do CLP, estabelecimento dos protocolos de
comunicao, configurao das caractersticas de hardware do CLP, estabelecimento do
modo de execuo, download e upload de programas ao CLP entre outras muitas
funes. Neste curso ser utilizado o programa VersaPro para Windows, da GE Fanuc.
A2.2) Introduo ao ambiente de trabalho
O programa VersaPro um programa para Windows que permite realizar
programas aplicativos para qualquer CLP da linha GE Fanuc. Sua utilizao simples e
intuitiva, e possui um grande nmero de opes para realizar diversas tarefas.
Apresentaremos aqui apenas as opes mnimas necessrias para os objetivos deste
curso.
Clicado o cone na tela do ambiente Windows, o programa executado entrando no
seguinte ambiente de trabalho.

Figura A2.1: Ambiente de trabalho do VersaPro


2

As figuras do presente anexo, assim como a informao apresentada, foram extradas do programa
VersaPro 2.00, da GE Fanuc.

57

Curso de Controladores Lgicos Programveis


Cada programa aplicativo realizado pelo usurio deve ficar em uma pasta diferente.
Em cada uma dessas pastas, alm do arquivo que contm o diagrama ladder do
aplicativo (ou o arquivo com a lista de instrues), existir um arquivo contendo a
descrio do hardware do CLP, entre outros necessrios para a execuo do aplicativo.
O programa VersaPro permite abrir pastas j existentes, criar novas, realizar diagramas
ladder, salvar os arquivos de diagramas na pasta correspondente, configurar as
caractersticas de hardware, salvar o arquivo de configurao na pasta correspondente,
configurar os protocolos de comunicao, fazer download e upload de aplicativos de e
para o CLP, executar e deter a execuo de aplicativos no ambiente e monitorar a
execuo no ambiente.
A2.3) Descrio das barras de tarefas
As barras de tarefas, assim como em muitos programas para Windows, podem ser
configuradas pelo usurio. Seguidamente sero explicados os principais botes que
aparecem nas diferentes barras padres do programa.
A2.3.1) Barra de ferramentas standard: Contm as ferramentas de criao,
edio e impresso de arquivos e ajuda.
Cria uma nova pasta
Cria um novo arquivo
Abre uma pasta j existente
Salva o bloco corrente ou selecionado
Salva a pasta inteira
Retira um tem selecionado e o coloca no Clipboard
Copia um tem selecionado no Clipboard
Copia o contedo do Clipboard na rea selecionada
Reverte a ao prvia

Refaz a ao prvia
Apaga o tem selecionado
Envia o tem selecionado impressora
Apresenta o menu de ajuda
Aborta a comunicao

58

Curso de Controladores Lgicos Programveis


A2.3.2) Barra de ferramentas da linguagem ladder: Esta barra apresenta as
ferramentas para realizar um diagrama ladder.
Seleciona ponteiro normal
Permite colocar contato normalmente aberto
Permite colocar contato normalmente fechado
Permite colocar sada normalmente aberta
Permite colocar sada normalmente fechada
Permite colocar sada ativada com uma transio positiva durante um ciclo de varredura
Permite colocar sada ativada com uma transio negativa durante um ciclo de varredura
Permite colocar sada SET
Permite colocar sada RESET
Permite colocar conexo horizontal o vertical
Permite colocar uma chamada a uma subrotina
Permite inserir uma linha de comentrio

A2.3.3) Barra de ferramentas de visualizao: Esta barra permite mostrar, apagar


ou dimensionar o contedo das diferentes janelas, assim como selecionar um modo de
monitoramento de execuo do programa.

Mostra / apaga o explorador de pastas e arquivos


Mostra / apaga a tabela de declarao de variveis
Mostra / apaga a janela de informao
Abre o menu de configurao de hardware
Abre o bloco principal onde desenhado o diagrama ladder
Seleciona o monitoramento de todas as janelas durante a execuo do aplicativo
Seleciona o monitoramento apenas da janela ativa durante a execuo do aplicativo
Apaga o modo de monitoramento durante a execuo do aplicativo
Aumenta o contedo da janela ativa (Zoom in)
Diminui o contedo da janela ativa (Zoom out)

59

Curso de Controladores Lgicos Programveis


A2.3.4) Barra de ferramentas da pasta: Esta barra contm ferramentas para
conferir a sintaxe dos blocos ou janelas selecionadas.

Confere a sintaxe de todos os blocos, colocando o resultado na janela de informao


Confere a sintaxe dos blocos selecionados, colocando o resultado na janela de informao

A2.3.5) Barra de ferramentas do CLP: Esta barra contm ferramentas para fazer
a conexo com o CLP, armazenar e carregar aplicativos para e do CLP, executar e parar
a execuo de aplicativos, e mudar o estado de variveis.
Conecta o CLP
Desconecta o CLP
Armazena a pasta corrente no CLP
Carrega um aplicativo do CLP para a pasta corrente
Confere se o aplicativo corrente coincide com o carregado no CLP
Executa um aplicativo armazenado no CLP (RUN)
Para a execuo de um aplicativo armazenado no CLP (STOP)
Muda o estado de uma referncia ou varivel selecionada de 1 bit
Ativa uma referncia ou varivel selecionada de 1 bit
Escreve um dado em uma referncia ou varivel selecionada de mais de 1 bit
Mostra o estado do CLP

A2.3.6) Barra de ferramentas de funes: Seleciona alguma funo que pode ser
inserida no diagrama ladder, por exemplo, funes lgicas, matemticas, relacionais,
trigonomtricas, entre outras.

Permite selecionar um grupo de funes


Seleciona uma funo dentro do grupo selecionado
Seleciona o modo de edio da funo (DROP MODE)

60

Curso de Controladores Lgicos Programveis


A2.4) Como criar um programa aplicativo
O primeiro que deve ser feito criar uma nova pasta, onde estaro armazenados os
arquivos do aplicativo. Para isso clique-se o boto correspondente e aparecer a seguinte
janela:

Figura A2.2: Janela de nova pasta


Ali deve ser escrito o nome da pasta e selecionada sua localizao. Seguidamente,
clique-se o boto Next> e aparecer a seguinte janela:

Figura A2.3: Janela de seleo de pasta


O caso mais comum selecionar Empty Folder (Default). Ao clicar o boto Finish,
o sistema voltar ao ambiente principal, deixando a pasta criada como pasta corrente.
Essa pasta pode ser re-aberta sempre que desejado. O ambiente ficar da seguinte
maneira:

61

Curso de Controladores Lgicos Programveis

editor de
rvore
de
arquivos
da pasta
corrente

editor de diagrama
ladder

Janela de informao

tabela de declarao de
variveis

Figura A2.4: Ambiente com pasta aberta

A janela de informao, a tabela de declarao de variveis, e o editor de arquivos


podem ser apagados clicando nos botes correspondentes.
O passo seguinte selecionar o hardware a ser utilizado. Como foi mencionado no
anexo anterior, neste curso ser utilizado o CLP VersaMax Micro IC200UAL006. Para
selecionar esse CLP, deve ser selecionada no menu de opes Tools e seguidamente a
opo Options. A seguinte janela ser apresentada:

Figura A2.5: Janela de opes

62

Curso de Controladores Lgicos Programveis


Na barra de rolagem de Default Hardware Configuration, deve se selecionar a
opo VersaMax Nano/Micro; seguidamente clicar o boto OK.
Seguidamente deve ser criado o arquivo de configura o de hardware. Clicando no
boto correspondente, a seguinte janela apresentada:
salvar arquivo de
configurao

troca de CPU

Figura A2.6: Janela de configurao do hardware

Primeiro deve ser selecionada a opo File, seguida da opo Convert To, e
finalmente a opo VersaMax Nano/Micro. Seguidamente, clicando no boto de troca
de CPU, pode ser selecionado o modelo utilizado:

Figura A2.7: Janela de seleo de CPU


63

Curso de Controladores Lgicos Programveis


Como foi dito, para este curso deve ser selecionado o modelo IC200UAL006, para
confirmar, clicar OK. Finalmente, pode ser salvado o arquivo de configurao de
hardware.
J pode ser criado o diagrama ladder do aplicativo. Para isso clique-se no boto do
dispositivo que se deseja inserir no diagrama ladder, e coloque-se ele na janela do editor
de diagrama, por exemplo:

Figura A2.8: Janela de diagrama ladder com contato N.A. inserido


No incio do diagrama, assim como entre as diferentes linhas, podem ser inseridos
comentrios clicando no boto correspondente.
O diagrama ladder completo pode ter a seguinte forma:

Figura A2.9: Diagrama ladder completo com comentrio

Uma vez inserido o diagrama ladder completo, devem ser endereadas as entradas,
sadas, registros e todos os dispositivos utilizados. Para isso clique-se duas vezes sobre
cada dispositivo, e se abrir uma pequena janela com uma barra de rolagem:

64

Curso de Controladores Lgicos Programveis

Figura A.2.10: Barra de rolagem para endereamento de dispositivo

Existem duas possibilidades de endereamento. A primeira escrever diretamente o


endereo do dispositivo, por exemplo se esse relay se referir entrada I1, digitar %I1
seguido de Enter, essa possibilidade inclui clicar na barra de rolagem, onde aparecer
um menu de opes pre-determinadas pelo programa. A segunda assinar esse
dispositivo a uma varivel, para depois colocar na janela com a tabela de declarao de
variveis o endereo correspondente a cada uma na coluna Address. A forma do
diagrama ladder e da tabela de declarao de variveis poderia ser, por exemplo:

Figura A2.11: Diagrama ladder com variveis declaradas

Observe-se que em alguns dispositivos foram colocados diretamente os endereos


( o caso de %M1), em outros os dispositivos foram nominados com variveis (start,
stop e sada). Na tabela de declarao de variveis foram colocados os endereos
correspondentes a esses dispositivos (respectivamente %I1, %I2, e %Q2), e o editor
colocou esses endereos embaixo dos dispositivos.
Finalmente, pode se conferir a sintaxe da janela ativa ou de todo o aplicativo
clicando nos botes correspondentes. Na janela de informao aparecer o resultado do
teste.
65

Curso de Controladores Lgicos Programveis


Antes de executar o programa, caso no haja erro de sintaxe, podem ser salvos o
diagrama ladder ou todos os arquivos da pasta, clicando-se nos botes correspondentes.
A2.5) Armazenamento e execuo do programa aplicativo
O primeiro que deve ser feito conectar o CLP, clicando no boto de conexo. O
CLP deve ter seu switch na posio RUN. Aparecer a seguinte janela de seleo da
porta de comunicao:

Figura A2.12: Janela de comunicao com o CLP


Neste curso ser utilizada a porta COM2. Clicando no boto Connect realizada a
conexo; o resultado dela aparecer na parte inferior da tela.
Seguidamente deve ser carregado o aplicativo no CLP (operao chamada de
download). Para isso clique-se o boto correspondente, cuidando que o boto de Stop
esteja pressionado. A seguinte janela ser apresentada:

Figura A2.13: Janela de armazenamento de aplicativo no CLP

Selecione-se a opo Store logic to PLC, seguida de OK. O resultado do


armazenamento aparecer na janela de informao.
Finalmente, para executar o programa basta clicar no boto correspondente.
Clicando no boto de monitoramento possvel observar na tela do editor do diagrama
ladder o estado das entradas e sadas do CLP em forma on-line, sendo que as entradas e
sadas ativadas sero representadas em vermelho (na opo por defeito do programa).

66

Curso de Controladores Lgicos Programveis


A2.6) Instrues de programao
No editor de diagrama ladder, pode se confeccionar um diagrama utilizando uma
ampla variedade de instrues. Seguidamente sero apresentadas apenas as principais
delas.
Contatos, conexes e sadas:
-| |contato normalmente aberto
-|/|contato normalmente fechado
-( )sada normalmente aberta
-( / )sada normalmente fechada
-(S)sada com sentena SET
-(R)sada com sentena RESET
-( )sada ativada com transio positiva, permanece ativada durante um ciclo
de varredura
-( )sada ativada com transio negativa, permanece ativada durante um
ciclo de varredura
_____
conexo horizontal
|
conexo vertical

Oscilador astvel:
Qualque contato normalmente aberto pode ser configurado para estar
permanentemente ativado (ALW_ON), permanentemente desativado (ALW_OFF), se
abrir no primeiro ciclo de varredura (FST_SCN), entre outras muitas opes, todas
apresentadas na barra de rolagem de endereamento do dispositivo. Algumas dessas
opes so de ativao e desativao da entrada a cada perodo de tempo, isto o que
caracteriza essa entrada como oscilador astvel. Assim, uma entrada pode ser
endereada com as seguintes caractersticas:
T_100MS
: perodo de 100 mseg.
T_10MS
: perodo de 10 mseg.
T_MIN
: perodo de 1 minuto
T_SEC
: perodo de 1 segundo
Por exemplo, a seguinte linha ativar e desativar a sada com um perodo de 1
segundo:
T_SEC
%Q0003
|---| |-------------------------------------------------( )-----|

Temporizadores e contadores:
Os temporizadores e contadores so instrues que ocupam trs words na memria.
O primeiro serve para armazenar o valor da contagem (de tempo ou eventos), o segundo
para armazenamento do valor limite (Preset Value), e o terceiro tem objetivos de
controle. Devem ser armazenados em trs endereos de %R, mas apenas especificado
o primeiro no diagrama ladder.
Contador crescente (upctr): Funo que conta em forma crescente o nmero de
ativaes da entrada de controle. Possui uma entrada de controle, uma entrada de
comparao (PV, onde pode ser colocada uma constante), uma entrada de Reset de
67

Curso de Controladores Lgicos Programveis


contagem, e uma sada, a qual se ativar se a contagem do nmero de ativaes da
entrada de controle iguala ou ultrapassa a entrada de comparao. O valor da contagem
deve ser guardado em um registro.
Exemplo:
%Q1
%I1
UPCTR
%I2

R
PV

%R0001

Neste exemplo, a sada %Q1 se ativar a partir da quinta ativao da entrada %I1.
O valor da contagem guardado no registro %R1 (embora o contador utiliza at a
posio %R3), e zerada diante da ativao da entrada %I2.
Contador decrescente (dnctr): Idem anterior, s que a contagem do nmero de
ativaes da entrada de controle ser decrescente a partir do valor estabelecido em PV.
A sada se ativar quando a contagem chegar a zero ou diminuir por baixo de zero. A
ativao da entrada de Reset levar a contagem ao valor presetado.
Timer (tmr): O temporizador uma funo que possui uma entrada de acionamento,
uma entrada de preset (PV) onde deve ser especificado o nmero de unidades de tempo
limite, e uma sada. A ativao da entrada de controle inicializa a contagem de tempo, a
qual deve ser armazenada em uma varivel do tipo registrador (%R). Quando o tempo
ultrapassa o valor de unidades de tempo presetado vezes a base de tempo, se ativa a
sada. A desativao da entrada de controle reseta a contagem de tempo. A base de
tempo pode ser escolhida entre 0.1 seg., 0.01 seg., e 0.001 seg.
Exemplo:
%I1

%Q2
TMR
0.10s

50

PV
%R0001

68

Curso de Controladores Lgicos Programveis

%I1

%Q2
contagem
50
<5s

5s

On-delay timer (ondtmr): O temporizador on-delay acumula tempo enquanto recebe


energia da entrada de controle. A desativao da entrada de controle detm a contagem
de tempo mas o contador no zerado, o que acontece apenas diante da ativao de uma
entrada de Reset. O temporizador passa energia na sada quando o tempo excede o valor
presetado vezes a unidade de tempo. A contagem de tempo deve ser armazenada em
uma posio de memria do tipo registrador.
Exemplo:

%Q2
%I1
ONDTMR
0.10s
%I2

R
50

PV
%R0005

%I1
%I2
%Q2

contagem
50

69

Curso de Controladores Lgicos Programveis


Neste exemplo, diante da ativao da entrada de controle %I1 inicia-se a contagem
de tempo, a qual ser armazenada no registro %R5 (embora o temporizador utiliza at a
posio %R8). A desativao de %I1 pra a contagem de tempo. Passados 5 segundos
(50 vezes 0.1 seg.) de tempo total da entrada de controle ativada, se ativar a sada, a
qual permanecer ativada at se ativar a entrada de Reset %I2.
Off-delay timer (ofdt): No temporizador off-delay, a contagem de tempo permanece
zerada por enquanto a entrada de controle estiver ativada. Diante da desativao da
entrada de controle inicia-se a contagem de tempo, a qual se detm quando chega ao
valor presetado vezes a base de tempo. A sada permanece ativada sempre que a
contagem de tempo for menor que o valor presetado vezes a base de tempo, o que inclui
o tempo que a entrada de controle permanecer ativada (devido a que durante esse tempo
a contagem igual a zero).
Exemplo:
%I1

%Q2
OFDT
0.10s

50

PV
%R0001

%I1

%Q2
contagem
50

5 s.

Outras instrues:
Alm dessas instrues, encontramos disponveis instrues de operaes
matemticas e lgicas, de comparao de dados (menor que, igual que, etc.) e de
manipulao de dados (funes lgicas, deslocamentos de bytes e words, registros de
deslocamento, converso entre dados BCD e inteiro, pulos e subrotinas).
Aqui apresentamos um exemplo onde, a partir da quinta ativao da entrada %I1, a
sada %Q2 se ativar nas ativaes impares de %I1 e se desativar nas ativaes pares
de %I1. A entrada %I2 serve para resetar o registro %R1.

70

Curso de Controladores Lgicos Programveis

Ver sobre essas sentenas o manual de usurio do programa VersaPro .

71

Вам также может понравиться