Você está na página 1de 13

Programao de um CLP: Modos de programao

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.

Analisemos o diagrama de estados anterior:


O contato normalmente aberto 000.00 ativa a primeira sada se estiver no estado On, fazendo com que a
sada 001.00 tambm seja On, na rung a seguir, o contato associado bobina de sada 001.00 ao passar a On
ativa a sada 001.01, e assim sucessivamente;
Apesar das sadas estarem em diferentes rungs e assumirem o estado durante o SCAN, todas elas passaro
ao seu estado On em simultneo no mdulo de sada, porque o CLP s atualiza o estado das sadas no final de
execuo do programa;
Se os contatos estivessem conforme indicado na figura 3, as sadas j no seriam acionadas todas
simultaneamente, ou seja, se a condio de sada de uma rung afetar a rung que a antecede, a CPU no volta
atrs para resolv-la.

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

no final, representada por uma bobina.

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.

Contato normalmente aberto (NA)


Este contato procura uma condio de ON em um determinado endereo. Durante a execuo do contato
normalmente aberto (NO), o processador examina o endereo referenciado no contato por uma condio de
ON (figura 14).
Contato normalmente fechado (NF)
Este contato procura uma condio de OFF em um determinado endereo. Durante a execuo do contato
normalmente fechado (NC), o processador examina o endereo referenciado no contato por uma condio de
OFF (figura 15).

Bobina normalmente aberta


Uma bobina de sada controla uma sada real ou um bit interno do CLP. Durante a sua execuo, o
processador avalia todas as condies de entrada numa rung (figura 16).

Bobina normalmente fechada


Esta funo funciona de forma oposta anterior, ou seja, quando no existe continuidade lgica nos
contatos, a posio de memria afecta sada vai ser zero (0) (figura 17).

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!

O diagrama SFC e o seu uso em sistemas automatizados


Do incio dos trabalhos na dcada de 1970 at os dias de hoje, o Grafcet ou SFC s tem se popularizado cada
vez mais nos ambientes acadmicos e industriais, facilitando a descrio de sistemas e a sua estruturao
para a programao.
Em 1988 o Grafcet se torna a norma internacional IEC 60848 sob o nome de Sequential Function Chart ou
Diagrama Funcional Seqencial (SFC), servindo de base para a linguagem SFC de controladores
programveis estabelecida pela norma IEC 61131. A sintaxe e a semntica denidas para cada uma das
normas so, em geral, distintas devido s diferenas de aplicao. Enquanto a norma IEC 60848 descreve
sistemas automatizados, a norma IEC 61131 normaliza as diferentes linguagens de programao de
controladores programveis.
Nveis
A implementao dos sistemas automatizados necessita, em particular, de uma descrio relacionando causa
e efeito. Para fazer isto, o aspecto lgico do comportamento desejado do sistema dever ser descrito. A parte
seqencial do sistema, que acessada via variveis de entrada e sadas booleanas, constitui o aspecto lgico
do sistema fsico.
O comportamento indica o modo como as variveis de sada dependem das variveis de entrada. O objetivo
do Grafcet especi car o comportamento da parte seqencial dos sistemas. Para isso, denem-se dois nveis
de Grafcet: nvel 1 e nvel 2.
O nvel 1 possui um enfoque funcional procurando de nir de modo claro e preciso as funes, informaes e
comandos necessrios para a automatizao, sem consideraes tecnolgicas. Deve descrever a parte
operativa.
J o nvel 2 possui um enfoque tecnolgico onde a descrio depender da tecnologia utilizada como, por
exemplo, sensores e atuadores que constituem a parte operativa.
Elementos
O funcionamento de um automatismo pode ser representado graficamente por um conjunto de etapas e
aes associadas a estas etapas e transies com receptividades associadas a estas transies. Complicado?
Ento vamos entender: Uma receptividade uma condio lgica associada a uma transio que permite a
evoluo de uma etapa anterior para a seguinte, desde que esta condio seja verdadeira.
As ligaes orientadas ligam as etapas s transies, e vice-versa. Uma etapa representa um estado parcial do
sistema no qual uma ao realizada. Uma transio conecta uma etapa precedente (uma ou vrias) etapa
seguinte (uma ou vrias) e indica que uma evoluo entre estas vrias etapas pode ocorrer. A figura
1 mostra os elementos bsicos de um Grafcet e a figura 2 uma aplicao.

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.

A figura 7 d um exemplo de uma divergncia e uma convergncia em E, ou seja, na divergncia os ramos


sero executados simultaneamente se a transio anterior assim o permitir. A convergncia faz o contrrio.

Etapa Inicial e Macro-etapa


Simboliza uma situao inicial e pode estar tanto no incio de um Grafcet como no meio indicando o incio de
um processo dentro de um processo maior. A figura 8 mostra a representao de uma etapa inicial. Uma
macro-etapa representa uma descrio nica de uma parte detalhada do Grafcet. Um exemplo dado
pela figura 9. A figura 10ilustra o exemplo de um Grafcet completo de um sistema de acionamento de
cilindros pneumticos. Com os cilindros 1 e 2 recuados, o acionamento do boto B avana os dois cilindros.
Acionando-se os sensores de final de curso dos cilindros 1 e 2, o cilindro 1 espera 3 segundos antes de recuar
e o cilindro 2 espera 5 segundos antes de recuar. Com os sensores de recuo acionados volta-se ao incio,
esperando um novo ciclo.

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.

Você também pode gostar