Escolar Documentos
Profissional Documentos
Cultura Documentos
EDUCAÇÃO / Programação
16/03/2010 17:02:35
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.
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.
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.
• 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.
• 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.
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.
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.
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:
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).
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
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.
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!