Escolar Documentos
Profissional Documentos
Cultura Documentos
Programação de Um CLP
Programação de Um CLP
No seguimento do curso de Automao, neste artigo apresento como perceber os conceitos bsicos de
programao de um CLP. No decorrer das prximas edies apresentaremos a forma de programar um
controlador lgico programvel
As linguagens de programao so empregadas nos CLPs desde que estes surgiram em 1960. Estas permitem
ao usurio inserir programas de controle utilizando sintaxes pr-estabelecidas.
Previamente ao estudo dos trs tipos de linguagem mais utilizados na programao de CLPs, convm rever
alguns conceitos essenciais.
O programa que vai definir o automatismo constitudo por uma srie de instrues e funes onde so
operados os bits de memria. Estas instrues e funes, sero introduzidas na memria do CLP, atravs de
um perifrico destinado a esse fim e que poder ser uma console de programao ou software especfico para
PC.
Veja na figura 1 um exemplar de CLP programado por console.
Os CLPs tm, basicamente, dois modos de operao: o modo RUN e o modo PROGRAM ou STOP. Estes so
selecionados atravs de um comutador que se pode encontrar no frontal do CLP, na console de programao
ou atravs do software de programao.
Antes de se introduzir o programa atravs da console, deve converter-se o esquema de contatos numa lista de
instrues entendidas pelo CLP, ou fazer a programao direta em esquema de contatos utilizando o
computador com software que o permita.
O programa introduzido nos endereos de memria do CLP, contendo cada um uma instruo, os
parmetros de definio e todos os parmetros requeridos por essa instruo.
Os endereos de memria do programa (linhas do programa) comeam em zero (0) e esto limitados pela
capacidade da memria do CLP.
Cada fabricante possui modos diferentes de proceder programao de um CLP.
As reas de memria tm designaes diversas, as instrues e funes tm mnemnicas e cdigos diferentes
e a sequncia de teclas na console destinadas programao difere de marca para marca.
No entanto, conhecendo um modelo, facilmente nos integramos no modo de funcionamento de um outro,
pela simples consulta do respectivo manual, uma vez que a lgica de programao dos sistemas existentes no
mercado no difere no seu essencial.
Vejamos o que faz o CLP em cada modo de funcionamento:
O modo RUN o modo normal de funcionamento do CLP, porque neste modo, a CPU executa o programa
contido na memria;
Para se proceder introduo do pro- grama, necessrio que o CLP esteja no modo PROGRAM;
O processador inicia a resoluo do programa de controle aps ter lido o estado de todas as entradas e ter
guardado toda a informao em memria.
Com a importante resoluo do programa de controle (da primeira para a ltima rung), a continuidade lgica
de cada rung vai sendo averiguada e as sadas sero atualizadas no final do SCAN. Observe o exemplo da
figura 2.
importante assimilar deste exemplo que, para o mesmo ciclo de SCAN, uma sada s ter efeito noutra rung
se esta for colocada antes dessa rung.
Outro conceito importante o de entradas normalmente fechadas que, apesar de ser um conceito bastante
simples, costuma suscitar algumas dvidas.
Suponha que se desejasse implementar em programao o seguinte circuito (figura 4).
O normal seria copiar o esquema de contatos para Ladder, obtendo-se o resultado do circuito seguinte,
mostrado na figura 5. Tal situao no correta, uma vez que, quando o CLP l o estado da entrada BP1,
guardado no endereo de memria, associado a esta entrada, o valor lgico da entrada, ou seja, um (1).
Quando o CLP executa o ciclo de SCAN, examinada a continuidade lgica da rung mas, como o contato
associado ao endereo de memria est negado, a continuidade lgica no vai existir, porque o um (1) que
reflete o estado da entrada BP1 negado zero (0).
A soluo para o circuito a colocao no programa de um contato normalmente aberto, para no negar o
endereo de memria associado ao estado da entrada.
Seno vejamos, na figura 6.
Resumindo: Independentemente da forma como os circuitos esto ligados, na programao pode alterar-se o
seu estado, uma vez que o estado de uma entrada depende no s da forma como est ligada, mas tambm de
como programada.
Os trs tipos de linguagens mais utilizados nos dias de hoje so:
Ladder;
Lista de instrues;
GRAFCET.
As linguagens de programao em Ladder e em lista de instrues implementam as operaes de forma
quase similar, diferindo apenas na forma como so representadas e no modo como so inseridas no CLP.
O GRAFCET implementa as instrues de controle baseando-se em passos e aes representados de forma
grfica.
Ladder lgico
A linguagem de programao Ladder composta por uma srie de instrues simblicas usadas para
desenvolver programas de controle das mquinas e processos. Veja a figura 7.
A evoluo do Ladder original tornou esta linguagem mais capaz, pois novas funes foram adicionadas s
tradicionais operaes bsicas de rels de temporizao e de contagem.
Novas funes, denominadas de blocos de funo, aumentaram o poder da linguagem Ladder bsica.
O principal objetivo dos diagramas Ladder controlar sadas e executar operaes funcionais baseando-se
em condies de entrada. Os diagramas em Ladder usam rungs onde se representam as funes de controle.
Uma rung consiste numa srie de condies de entrada, representadas por contatos, e uma instruo de sada
Uma rung verdadeira quando existe continuidade lgica, ou seja, quando a energia flui, atravs da rung,
da esquerda para a direita (figura 8 e 9).
A matriz da rung representa as possveis localizaes para colocao dos contatos de entrada ou instrues.
Quando a continuidade lgica existe, a condio da rung verdadeira, havendo um controle da sada. Por
outro lado, se a continuidade lgica no se estabelece, a condio da rung falsa.
Quando um diagrama Ladder contm um bloco de funo, uma ou mais instrues podem ser utilizadas para
representar as condies de entrada que o habilitam. A matriz da rung em Ladder determina o nmero
mximo de contatos que podem ser empregados para ativar uma sada, divergindo o tamanho da matriz de
CLP para CLP. Na figura 10, a matriz citada.
Para blocos de funo a matriz utiliza, em regra, menos contatos, figura 11.
Existem algumas normas para a colocao dos contatos de entrada. Uma delas, que se verifica em quase
todos os CLPs, evita que a continuidade lgica que tem de haver numa rung flua ao contrrio (sneak paths).
Estes sneak paths ocorrem quando a continuidade lgica flui numa rung atravs de um contato que provoca,
s ele, a continuidade de uma rung.
Veja-se o exemplo dado na figura 12.
A sada Z dever estar ativa quando os contatos A, B e C ou A, D e E ou F e E estiverem ativos. No entanto, se
os contatos F, D, B e C estiverem ativos existe continuidade lgica e Z est ligado.
Esta situao dever ser evitada, uma vez que a sada fica activa com uma combinao de contactos que a no
deveriam activar (figura 13).
Em resumo:
As instrues em Ladder representam o estado On/Off de entradas e sadas de campo;
O Ladder usa dois tipos de smbolos: contatos e bobinas, em ingls coil;
Os contatos representam as condies de entrada e as bobinas representam a sada de uma rung;
Em um programa, cada contato ou bobina tem um endereo que permite identificar o que est a ser
avaliado e o que est a ser controlado;
O endereo est referenciado tabela de entradas, de sadas ou a um registro interno do CLP.
Circuitos lgicos
Para implementar circuitos lgicos, dispem-se ainda das seguintes instrues:
AND - realiza um E lgico com o bit especificado;
OR - realiza um OU lgico com o bit especificado;
NOT - nega o estado do bit ao qual est associado.
Analisemos cada uma das funes, no caso do nosso CLP em estudo neste curso, que o CJ1 da OMRON.
Antes de iniciarmos a programao propriamente dita, convm deixar algumas dicas de utilizao do
software Cx-Programmer da OMRON que permite a programao em LADDER neste CLP.
Sntese sobre a utilizao do software de programao (CX-Programmer)
Como em qualquer outra aplicao do Windows, para executar o CX-Programmer utilizado o menu Iniciar.
Para acessar a rea de trabalho necessrio criar um novo projeto ou abrir um j criado. Analisemos ento
cada uma das funes lgicas:
Funo AND
A funo AND, em Ladder lgico, implementada com dois ou mais contatos de entrada em srie. Veja-se o
exemplo: pretende-se implementar um circuito lgico que apenas ativa a sada 01.00 do CLP, se as entradas
0.00 e 0.01 e 0.02 estiverem ativas (On). Observe a figura 18.
Funo NOT
A funo NOT em Ladder lgico representa-se com um contato normalmente fechado (figura 19). Voltando
ao exemplo anterior: pretende-se que a sada 01.00 fique ativa, se as entradas 0.00 e 0.02 estiverem a Off e a
entrada 0.01 estiver a On (considera-se que uma entrada est a On quando o led, que a sinaliza, se encontra
ligado).
Funo OR
A funo OR, em Ladder lgico, implementada com dois ou mais contatos de entrada em paralelo (figura
20). Observe-se o seguinte exemplo: Pretende-se implementar um circuito lgico que active a sada 01.03,
quando a entrada 0.01 estiver a Off ou quando as entradas 0.02 ou 0.03 estiverem a On.
Instruo SET
A instruo SET permite que, quando a condio lgica, que antecede a instruo SET, v a On, o bit
associado funo comute para o seu estado lgico On, e assim permanea mesmo que a condio lgica, que
antecede a instruo de SET, comute para Off (figura 21).
Instruo RSET
Situao semelhante acontece com a instruo RSET, pois, quando a condio lgica que antecede esta
instruo vai a On, o bit manipulado , em simultneo, levado a Off permanecendo nesse estado (figura 22).
Nota: Caso haja simultaneidade da funo de SET e RSET, a condio de RESET a predominante.
Funo KEEP
A instruo KEEP permite definir um bit de memria como biestvel, ou seja, o estado do rel definido por
duas condies lgicas: SET ou RESET (figura 23).
Os conceitos bsicos da programao e suas funes j esto concludas. Para as prximas edies trataremos
a forma de programar um controlador lgico programvel. At a prxima!
Um Grafcet pode ter uma ou mais aes associadas a uma etapa e, a estas aes podem estar atribudas
condies, ou seja, a ao s ocorrer se uma determinada condio for satisfeita. A figura 3 d um exemplo
de mais de uma ao associada a uma etapa e a figura 4 ilustra uma condio associada a uma ao. Neste
exemplo, a vlvula s ser acionada se o motor 1 estiver ligado.
Ligaes Orientadas
A estrutura de evoluo de um Grafcet top-down, ou seja, de cima para baixo. Entretanto, ligaes
orientadas para cima (saltos) so possveis juntamente com ligaes em divergncia e convergncia. A figura
5 d um exemplo de salto de etapas para cima e para baixo. A figura 6 apresenta uma divergncia e uma
convergncia em OU, ou seja, na divergncia somente um ramo ser executado se a sua transio anterior
assim o permitir. A convergncia faz o contrrio.
Origem do Grafcet
Em 1975, um grupo de trabalho da AFCET (Association Franaise de Cyberntique Economique et
Technique), chamado Systme Logiques, composto por membros dos meios acadmico e industrial e
liderados por Michel Blanchard, sentiu a necessidade de formar um comit para a normalizao da
representao de sistemas lgicos automatizados. O desafio era definir um formalismo simples, aceito por
todos e bem adaptado para a representao de evolues seqenciais de um sistema. Esse formalismo
deveria ser compreendido tanto pelos projetistas quanto pelos usurios e deveria fornecer facilidades de
implementao por hardware e/ou software.
O comit tomou por ponto de partida ferramentas j consagradas como o fluxograma, as redes de Petri e
grficos de estados que, infelizmente, ainda no constituam o formalismo abrangente procurado. A anlise
de prs e contras destas ferramentas levou, em 1977, definio do Grafcet como uma nova ferramenta de
modelamento. Foi assim chamada para marcar tanto a sua origem (Grafo da AFCET) como a sua identidade
(GRAphe Fonctionnel de Commande Etapes-Transition Grafo de Comando Etapa-Transio).
Em 1982, o Grafcet se tornou uma norma da AFNOR ( Associao Francesa de Normalizao) sob a
referncia NF C03190.
Consideraes finais
De sua concepo no incio da dcada de 1970 at os dias de hoje, o Grafcet vem se firmando como uma das
mais eficientes ferramentas de descrio de sistemas automatizados, facilitando alm da descrio, a
estruturao para a programao do sistema de controle. Por isso, acabou por se tornar um dos pilares na
elaborao da norma IEC 61131-3 que normaliza as linguagens de programao de controladores
programveis, entre elas, a linguagem SFC. Apesar do escopo diferente, as normas IEC60848 e IEC 61131-3
so consideradas complementares.