Você está na página 1de 11

Imprimir

EDUCAÇÃO / Programação
16/03/2010 17:02:35

Programação de um CLP: Modos de programação


No seguimento do curso de Automação, neste artigo apresento como perceber os conceitos básicos
de programação de um CLP. No decorrer das próximas edições apresentaremos a forma de programar
um controlador lógico programável

Filipe PereiraEng. Elétrotécnico / Automação Klean Energie 4 Life, Ltda Energias Renováveis - Portugal

As linguagens de programação são empregadas nos CLPs desde que estes surgiram em 1960. Estas
permitem ao usuário inserir programas de controle utilizando sintaxes pré-estabelecidas.

Previamente ao estudo dos três tipos de linguagem mais utilizados na programação de CLPs, convém
rever alguns conceitos essenciais.

O programa que vai definir o automatismo é constituído por uma série de instruções e funções onde
são operados os bits de memória. Estas instruções e funções, serão introduzidas na memória do CLP,
através de um periférico destinado a esse fim e que poderá ser uma console de programação ou
software específico para PC.

Veja na figura 1 um exemplar de CLP programado por console.

Os CLPs têm, basicamente, dois modos de operação: o modo RUN e o modo PROGRAM ou STOP.
Estes são selecionados através de um comutador que se pode encontrar no frontal do CLP, na
console de programação ou através do software de programação.

Antes de se introduzir o programa através da console, deve converter-se o esquema de contatos numa
lista de instruções entendidas pelo CLP, ou fazer a programação direta em esquema de contatos
utilizando o computador com software que o permita.

O programa é introduzido nos endereços de memória do CLP, contendo cada um uma instrução, os
parâmetros de definição e todos os parâmetros requeridos por essa instrução.

Os endereços de memória do programa (linhas do programa) começam em zero (0) e estão limitados
pela capacidade da memória do CLP.

Cada fabricante possui modos diferentes de proceder à programação de um CLP.

As áreas de memória têm designações diversas, as instruções e funções têm mnemônicas e códigos
diferentes e a sequência de teclas na console destinadas à programação 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 lógica de programação dos
sistemas existentes no mercado não 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 memória;

• Para se proceder à introdução do pro- grama, é necessário que o CLP esteja no modo PROGRAM;

• O processador inicia a resolução do programa de controle após ter lido o estado de todas as entradas
e ter guardado toda a informação em memória.

Com a importante resolução do programa de controle (da primeira para a última rung), a continuidade
lógica de cada rung vai sendo averiguada e as saídas serão 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 saída se estiver no estado On, fazendo com
que a saída 001.00 também seja On, na rung a seguir, o contato associado à bobina de saída 001.00
ao passar a On ativa a saída 001.01, e assim sucessivamente;

• Apesar das saídas estarem em diferentes rungs e assumirem o estado durante o SCAN, todas elas
passarão ao seu estado On em simultâneo no módulo de saída, porque o CLP só atualiza o estado
das saídas no final de execução do programa;

• Se os contatos estivessem conforme indicado na figura 3, as saídas já não seriam acionadas todas
simultaneamente, ou seja, se a condição de saída de uma rung afetar a rung que a antecede, a CPU
não volta atrás para resolvê-la.

É importante assimilar deste exemplo que, para o mesmo ciclo de SCAN, uma saída 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 dúvidas.

Suponha que se desejasse implementar em programação 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 situação não é correta, uma vez que, quando o CLP lê o estado da
entrada BP1, é guardado no endereço de memória, associado a esta entrada, o valor lógico da
entrada, ou seja, um (1).

Quando o CLP executa o ciclo de SCAN, é examinada a continuidade lógica da rung mas, como o
contato associado ao endereço de memória está negado, a continuidade lógica não vai existir, porque
o um (1) que reflete o estado da entrada BP1 negado é zero (0).
A solução para o circuito é a colocação no programa de um contato normalmente aberto, para não
negar o endereço de memória associado ao estado da entrada.

Senão vejamos, na figura 6.

Resumindo: Independentemente da forma como os circuitos estão ligados, na programação pode


alterar-se o seu estado, uma vez que o estado de uma entrada depende não só da forma como está
ligada, mas também de como é programada.

Os três tipos de linguagens mais utilizados nos dias de hoje são:


• Ladder;
• Lista de instruções;
• GRAFCET.

As linguagens de programação em Ladder e em lista de instruções implementam as operações de


forma quase similar, diferindo apenas na forma como são representadas e no modo como são
inseridas no CLP.

O GRAFCET implementa as instruções de controle baseando-se em passos e ações representados de


forma gráfica.
Ladder lógico

A linguagem de programação Ladder é composta por uma série de instruções simbólicas usadas para
desenvolver programas de controle das máquinas e processos. Veja a figura 7.

A evolução do Ladder original tornou esta linguagem mais capaz, pois novas funções foram
adicionadas às tradicionais operações básicas de relés de temporização e de contagem.

Novas funções, denominadas de blocos de função, aumentaram o poder da linguagem Ladder básica.

O principal objetivo dos diagramas Ladder é controlar saídas e executar operações funcionais
baseando-se em condições de entrada. Os diagramas em Ladder usam rungs onde se representam as
funções de controle. Uma rung consiste numa série de condições de entrada, representadas por
contatos, e uma instrução de saída no final, representada por uma bobina.
Uma rung é “verdadeira” quando existe continuidade lógica, ou seja, quando a energia flui, através da
rung, da esquerda para a direita (figura 8 e 9).

A matriz da rung representa as possíveis localizações para colocação dos contatos de entrada ou
instruções.

Quando a continuidade lógica existe, a condição da rung é verdadeira, havendo um controle da saída.
Por outro lado, se a continuidade lógica não se estabelece, a condição da rung é falsa.

Quando um diagrama Ladder contém um bloco de função, uma ou mais instruções podem ser
utilizadas para representar as condições de entrada que o habilitam. A matriz da rung em Ladder
determina o número máximo de contatos que podem ser empregados para ativar uma saída,
divergindo o tamanho da matriz de CLP para CLP. Na figura 10, a matriz citada.

Para blocos de função a matriz utiliza, em regra, menos contatos, figura 11.

Existem algumas normas para a colocação dos contatos de entrada. Uma delas, que se verifica em
quase todos os CLPs, evita que a continuidade lógica que tem de haver numa rung flua ao contrário
(sneak paths).
Estes sneak paths ocorrem quando a continuidade lógica flui numa rung através de um contato que
provoca, só ele, a continuidade de uma rung.

Veja-se o exemplo dado na figura 12.

A saída 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 lógica e Z está ligado.

Esta situação deverá ser evitada, uma vez que a saída fica activa com uma combinação de contactos
que a não deveriam activar (figura 13).

Em resumo:

• As instruções em Ladder representam o estado On/Off de entradas e saídas de campo;


• O Ladder usa dois tipos de símbolos: contatos e bobinas, em inglês coil;
• Os contatos representam as condições de entrada e as bobinas representam a saída de uma rung;
• Em um programa, cada contato ou bobina tem um endereço que permite identificar o que está a ser
avaliado e o que está a ser controlado;
• O endereço está referenciado à tabela de entradas, de saídas ou a um registro interno do CLP.
Contato normalmente aberto (NA)

Este contato procura uma condição de ON em um determinado endereço. Durante a execução do


contato normalmente aberto (NO), o processador examina o endereço referenciado no contato por
uma condição de ON (figura 14).

Contato normalmente fechado (NF)

Este contato procura uma condição de OFF em um determinado endereço. Durante a execução do
contato normalmente fechado (NC), o processador examina o endereço referenciado no contato por
uma condição de OFF (figura 15).
Bobina normalmente aberta

Uma bobina de saída controla uma saída real ou um bit interno do CLP. Durante a sua execução, o
processador avalia todas as condições de entrada numa rung (figura 16).

Bobina normalmente fechada

Esta função funciona de forma oposta à anterior, ou seja, quando não existe continuidade lógica nos
contatos, a posição de memória afecta à saída vai ser zero (0) (figura 17).

Circuitos lógicos

Para implementar circuitos lógicos, dispõem-se ainda das seguintes instruções:


• AND - realiza um E lógico com o bit especificado;
• OR - realiza um OU lógico com o bit especificado;
• NOT - nega o estado do bit ao qual está associado.
Analisemos cada uma das funções, no caso do nosso CLP em estudo neste curso, que é o CJ1 da
OMRON.

Antes de iniciarmos a programação propriamente dita, convém deixar algumas dicas de utilização do
software Cx-Programmer da OMRON que permite a programação em LADDER neste CLP.

Síntese sobre a utilização do software de programação (CX-Programmer)

Como em qualquer outra aplicação do Windows, para executar o CX-Programmer é utilizado o menu
Iniciar.

Para acessar a área de trabalho é necessário criar um novo projeto ou abrir um já criado. Analisemos
então cada uma das funções lógicas:

Função AND

A função AND, em Ladder lógico, é implementada com dois ou mais contatos de entrada em série.
Veja-se o exemplo: pretende-se implementar um circuito lógico que apenas ativa a saída 01.00 do
CLP, se as entradas 0.00 e 0.01 e 0.02 estiverem ativas (On). Observe a figura 18.
Função NOT

A função NOT em Ladder lógico representa-se com um contato normalmente fechado (figura 19).
Voltando ao exemplo anterior: pretende-se que a saída 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).

Função OR

A função OR, em Ladder lógico, é implementada com dois ou mais contatos de entrada em paralelo
(figura 20). Observe-se o seguinte exemplo: Pretende-se implementar um circuito lógico que active a
saída 01.03, quando a entrada 0.01 estiver a Off ou quando as entradas 0.02 ou 0.03 estiverem a On.

Instrução SET

A instrução SET permite que, quando a condição lógica, que antecede a instrução SET, vá a On, o bit
associado à função comute para o seu estado lógico On, e assim permaneça mesmo que a condição
lógica, que antecede a instrução de SET, comute para Off (figura 21).
Instrução RSET

Situação semelhante acontece com a instrução RSET, pois, quando a condição lógica que antecede
esta instrução vai a On, o bit manipulado é, em simultâneo, levado a Off permanecendo nesse estado
(figura 22).

Nota: Caso haja simultaneidade da função de SET e RSET, é a condição de RESET a predominante.

Função KEEP

A instrução KEEP permite definir um bit de memória como biestável, ou seja, o estado do relé é
definido por duas condições lógicas: SET ou RESET (figura 23).

Os conceitos básicos da programação e suas funções já estão concluídas. Para as próximas edições
trataremos a forma de programar um controlador lógico programável. Até a próxima!

Extraído do Portal Mecatrônica Atual - Todos os direitos reservados - www.mecatronicaatual.com.br

Você também pode gostar