Você está na página 1de 45

Pgina 1

CAPTULO IV. Programao de CLPs. 4.1 Introduo programao. Lgica matemtica e binria. A lgica matemtica ou simblica visa superar as dificuldades e ambigidades de qualquer lngua, devido a sua natureza vaga e equvoca das palavras usadas e do estilo metafrico e, portanto, confuso que poderia atrapalhar o rigor lgico do raciocnio. Para evitar essas dificuldades, criou-se uma linguagem lgica artificial. A lgica binria possui apenas dois valores que so representados por : 0 e 1. A partir desses dois smbolos construmos ento uma base numrica binria. A partir desses conceitos foram criadas as portas lgicas, que so circuitos utilizados para combinar nveis lgicos digitais de formas especficas. Neste curso aprenderemos apenas as portas lgicas bsicas: AND, OR e NOT.

Os CLPs vieram a substituir elementos e componentes eletro-eletrnicos de acionamento e a linguagem utilizada na sua programao similar linguagem de diagramas lgicos de acionamento desenvolvidos por eletrotcnicos e profissionais da rea de controle, esta linguagem denominada linguagem de contatos ou simplesmente LADDER. A linguagem Ladder permite que se desenvolvam lgicas combinacionais, seqenciais e circuitos que envolvam ambas, utilizando como operadores para estas lgicas: entradas, sadas, estados auxiliares e registros numricos. A Tabela 1 nos mostra os 3 principais smbolos de programao.

Pgina 2

Para entendermos a estrutura da linguagem vamos adotar um exemplo bem simples: o acionamento de uma lmpada L a partir de um boto liga/desliga Na figura 3 temos o esquema eltrico tradicional, o programa e as ligaes no CLP. Para entendermos o circuito com o CLP, vamos observar o programa desenvolvido para acender a lmpada L quando acionamos o boto B1.

O boto B1, normalmente aberto, est ligado a entrada I0.0 e a lmpada est ligada sada Q0.0. Ao acionarmos B1, I0.0 acionado e a sada Q0.0 energizada. Caso quisssemos que a lmpada apagasse quando acionssemos B1 bastaria trocar o contato normal aberto por um contato normal fechado, o que representa a funo NOT. Podemos desenvolver programas para CLPs que correspondam a operaes lgicas combinacionais bsicas da lgebra de Boole, como a operao AND. Na rea eltrica a operao AND corresponde a associao em srie de contatos, como indicado na figura 4.

Pgina 3

Outra operao lgica bsica a funo OR, que corresponde a associao em paralelo de contatos, como indicado na figura 5.

Assim podemos afirmar que todas as funes lgicas combinacionais podem ser desenvolvidas em programao e executadas por CLPs, uma vez que todas derivam dos bsicos: NOT, AND e OR. A flexibilidade dos CLPs percebida neste momento pois as alteraes lgicas podem ocorrer com grande facilidade, sem que sejam necessrias alteraes do hardware ou incluso de componentes eletrnicos ou eltricos. Esta a principal caracterstica dos sistemas de automao flexveis e o que faz dos CLPs ferramentas de grande aplicao nas estruturas de automao.

Pgina 4

Alm da linguagem de contatos, existem outras formas de programao caractersticas de cada fabricante. Conclumos ento que os projetos de automao e controle envolvendo CLPs reduzem o trabalho de desenvolvimento de hardware dos circuitos lgicos do acionamento, bem como os dispositivos e potncia para acionamento de cargas e dos atuadores, uma vez que podemos escolher mdulos de sada j prontos, adequados ao tipo de carga que desejamos acionar. A utilizao desses controladores contemplam, por conseguinte alguns passos genricos: - definio da funo lgica a ser programada. - transformao desta funo em programa assimilvel pelo CLP. implementao fsica do controlador e de suas interfaces com o processo.

Pgina 5

4.2 Programando em LADDER. 4.2.1 Instrues Diagrama de Contados ladder. Os CLPs possuem uma grande variedade de instrues que podem ser escritos atravs de uma linguagem padro chamada Diagrama de Contados ou Ladder Diagram, baseada nos famosos diagramas de comandos eltricos, porem com uma gama de instrues bem mais abrangente e diversificada permitem uma ampla utilizao na rea industrial. As instrues mais importantes para controle de processos industriais so listadas a seguir. y y y y y y y y y y y Instrues do tipo rel; Instrues do tipo temporizador e contador; Instrues de comparao; Instrues operaes matemticas; Instrues de salto; Instrues de linguagem estruturada sub-rotinas; Instrues de registradores de dados e deslocamento; Instrues de converso; Instrues de comunicao; Instrues de controle (PID) Instrues especiais (dependendo do fabricante)

As simbologias utilizadas e os parmetros dos dispositivos a seguir relacionados, referem-se famlia de CLPs TSX Micro da Telemecanique (normalizada atravs da IEC 3111). No entanto, outros CLPs podem utilizar simbologias e formatos de representao diferentes. Para um melhor aprendizado, a cada conceituao de instruo ser vista sua utilizao na teoria e na prtica. Para tanto, faz-se necessrio conhecer os comandos e os passos bsicos para o uso do software onde ser feito o programa em LADDER.

Pgina 6

4.2.2 Instrues do Tipo Rele ou Booleanas Contato normalmente aberto Contato normalmente fechado Contato deteco borda de subida Contato deteco borda de descida Bobina normalmente desenergizad a Bobina normalmente energizada Bobina retentiva (Set) Bobina no retentiva (Reset) Conduz quando o bit do objeto que o controla 1, ou seja, quando ativado. Conduz quando o bit do objeto que o controla 0, ou seja, quando no est ativado. Conduz quando o bit do objeto que o controla muda de 0 para 1, ou seja, na borda de subida. Conduz quando o bit do objeto que o controla muda de 1 para 0, ou seja, na borda de descida.

( )

Mantm a sada associada ao valor resultante da zona de teste. Enquanto o resultado for 1, a bobina mantm-se energizada. Mantm a sada associada ao valor inverso resultante da zona de teste. Enquanto o resultado for 0, a bobina mantm-se energizada. Torna a sada energizada quando o valor resultante da zona de teste for 1. Torna a sada desenergizada quando o valor resultante da zona de teste for 1.

(/) (s) (R)

Alm destes, existe uma outra gama de recursos que varia de fabricante para fabricante, mas a idia permanece, qual seja, de se atuar no sistema a fim de proporcionar resposta a algum tipo de estmulo. Exemplo: Uma das aplicaes que se pode imaginar para essas ramificaes a de selo, que consiste em se usar um feedback da sada para manter a ela prpria energizada. Como exemplo pode-se citar a ilustrao seguinte, onde se percebe que a sada %Q2.0 energizada pela entrada %I1.0 (botoeira), e em seguida, como o selo est em paralelo com %I1.0, no h mais necessidade de ele estar ativo para manter %Q2.0 energizada. A sada %Q2.0 s sair deste estado se %I1.1 for ativada, quando ento ser aberta.

Pgina 7

%I1.0

%I1.1

%Q2.0 ( )

%Q2.0

Para utilizar as instrues citadas neste tpico: 1. Clique com o mouse o cone do elemento grfico desejado na barra de cones, na parte inferior do vdeo. 2. Clique na grade, na posio requerida para o elemento. 3. Entre com a varivel correspondente e confirme pressionando ENTER. Faa o mesmo procedimento para outros elementos at concluir a linha. 4. Confirme a linha pressionando ENTER, usando o comando Edit/Confirm, ou clicando no cone correspondente. 5. Para concluir a linha, poder ser necessrio o uso de elementos de conexo. So eles: Linhas horizontais e linhas verticais, tambm visveis na barra de cones.

Barra de cone

Para executar um programa no CLP: 1. Selecione o comando PLC/Transfer ou clique no respectivo cone 2. Selecione a direo da transferncia, se do CLP p/ Terminal ou Terminal p/ CLP. No caso, vamos escolher Terminal p/ PLC. 3. Clique OK.

Pgina 8

4. O programa sempre criado ou modificado no modo Offline. Para executar o programa no CLP, selecione o comando PLC/Connect, ou clique no respectivo cone. 5. A mensagem Online ir aparecer no rodap da tela. 6. O CLP pode estar no estado Stop ou Run. Selecione o comando PLC/Run ou clique no respectivo cone, para inicializar a varredura do programa no CLP. 7. A mensagem Run ir aparecer no rodap da tela.

Exerccios: 1) Desenvolva e execute um programa em Ladder diagram que faa o controle de acionamento de um motor DC. Seu programa deve forar o motor a rodar quando uma chave pushbutton start for acionada. O motor deve continua rodando mesmo no desacionamento desta, e s ir parar quando uma chave pushbutton stop for acionada. Se uma chave pushbutton jog fechada, quando o motor estiver parado ou funcionando, o motor ser acionado enquanto esta chave permanecer ativa e desligado no desacionamento da chave.

Referncias: %I1.0 - Contato entrada, normalmente aberto, START, pushbutton %I1.1 - Contato entrada, normalmente aberto/fechado, STOP, pushbutton %I1.2 - Contato entrada, normalmente aberto, JOG, pushbutton %Q2.0- Sada, MOTOR, bobina 2) Usando o programa anterior, inclua um intertravamento para prevenir o motor de partir se alguma condio de alarme existir. Projete o seu programa para que o operador deva resetar o alarme antes que o motor possa partir de novo.

Referncias: %I1.0 - Contato entrada, normalmente aberto, START, pushbutton %I1.1- Contato entrada, normalmente aberta/fechado, STOP, pushbutton %I1.2 - Contato entrada, normalmente aberto, JOG, pushbutton %Q2.0- Sada, MOTOR, bobina %I1.3 - Contato entrada condio de alarme %I1.4 - Contato entrada, RESET, pushbutton %Q2.1- Sada, ALARME

Pgina 9

4.2.3 Instrues de Comparao Trata-se de instrues que permitem comparar valores numricos ou dados em endereos diferentes, possibilitando a execuo de tarefas sob certas condies, esse elementos classificam-se entre os elementos de teste. Geralmente esta instruo composta por uma linha de habilitao, por duas entradas de dados, a serem comparadas, e por uma sada que indica se a condio verdadeira ou falsa. No caso do CLP 3710 da Telemacanique, os dados a serem comparados so inseridos no bloco comparador. Ao ser habilitado, o comparador aciona a sada condizente com o resultado da comparao, conforme abaixo:

Quando habilitado faz a comparao

Compare
Habilitado quando OP1 maior que OP2

Operando nmero 1

EN OP1 OP2

> = < <>

Habilitado quando OP1 igual ao OP2

Habilitado quando OP1 menor que OP2

Operando nmero 2

Habilitado quando OP1 diferente do OP2

Comparador vertical

A comparao pode ainda ser feita utilizando-se um bloco de comparao horizontal, que compara dois operandos. A sada possui nvel lgico 1 (chave fechada) quando o resultado da comparao satisfeito (=, >, <, <>).

Comparador horizontal

Como podemos observar acima, esse bloco bastante interessante quando desejamos obter um valor booleano, por exemplo, para isso seria habilitado uma sada ou um bloco de operao contendo uma expresso que estaria dependendo do valor da comparao de duas words. Para utilizar as instrues citadas neste tpico, siga os passos da instruo rele, e entre com operando 1 e operando 2.

Pgina 10

Instrues matemticas So funes presentes em CLP que executam operaes matemticas do tipo adio, subtrao, diviso, multiplicao, resto de diviso, deslocamento e raiz quadrada dentre outras. Em alguns CLPs, cada funo executada por um bloco separadamente, possuindo entradas (variveis ou constantes) para os operandos e uma sada (varivel) onde armazenado o resultado da operao daquele bloco. No CLP 3710 da Telemecanique, como em outros CLPs mais modernos, todas as operaes so executadas por um nico bloco, sendo escritas neste atravs de um texto de linguagem estruturada. Esse elemento de programao integra a zona de ao, j que o mesmo executa uma ao e no um teste.

Instruo matemtica

Estes blocos se localizam na zona de testes, se utilizados para comparao, e na zona de ao, se usados como operadores. Podem conter: y y Uma expresso simples: OP3:=OP1+OP2

Uma expresso complexa: OP5:=(OP1+OP2)*OP3-OP4

As instrues usadas para as operaes aritmticas entre dois operandos ou apenas um operando so: + * / : Adio : Subtrao : Multiplicao : Diviso SQRT : Raiz quadrada INC : Incremento DEC : Decremento ABS : Valor absoluto REM : Resto da diviso

Pgina 11

Exemplo:

Linguagem Ladder

Lista de Instruo

Sintaxe: +,-,*,/,REM SQRT, ABS INC, DEC OP1:=OP2 Operao OP3 P1:=Operao(OP2) Operao OP1

Para utilizar as instrues citadas neste tpico: 1. Selecione o comando SHIFT+F3 ou clique com o mouse o cone do elemento grfico desejado na barra de cones, na parte inferior do vdeo. 2. Clique na grade, na posio requerida para o elemento. 3. Entre com a operao desejada utilizando a sintaxe correspondente e confirme pressionando ENTER. Faa o mesmo procedimento para outros elementos at concluir a linha. 4. Confirme a linha pressionando ENTER, usando o comando Edit/Confirm, ou clicando no cone correspondente.

Exerccios: 1. Faa e execute um programa para contar a quantidade de peas altas e baixas que passam em uma esteira transportadora. Considere %I1.0 o boto (push-buton) para iniciar e parar a esteira transportadora; %I1.1 o sensor de pea alta; %I1.2 o sensor de pea baixa e %Q2.0 e %Q2.1 as sada que aciona a esteira transportadora. Considere que as peas altas so grandes o suficiente para acionar os dois sensores (S1 e S2) imultaneamente em um determinado instante.

Pgina 12

Siga o esquema do processo que mostrado na fig. 28.


Chave Liga/Desliga
Pea alta

Sensores S1 e S2
M O D S A I D A M O D E N T R A

S1 S2
Peas baixas

C P U

E L M

B A T E R I A

E 0 0 1

L 0 1 0

ESTADO PARADO GIRA DIREITA GIRA ESQUERDA

Desenho representativo da esteira transportadora

2. Implemente o exerccio acima, fazendo com que seja acionado um alarme (%Q2.1) e desligue a esteira transportadora por 2s (dois segundos) toda vez que a quantidade de peas altas ou baixas atingir um valor mximo definido (10 peas), em seguida volte a acionar a esteira.

4.2.5 Instrues do tipo TIMER/CONTADOR Estas instrues executam muitas das tarefas para as quais se utilizam rels de tempo ou dispositivos de temporizao e de contagem de estado slido.
+Vcc

T1

S1

S1 Diagrama de reles de um temporizador

As instrues de Temporizador (timer) e Contador (counter) so instrues de sadas que podem ser condicionadas por instrues de entradas. Os temporizadores contam intervalos, e os contadores eventos, conforme determinado pela lgica do programa de aplicao.

0V

Pgina 13

O temporizador conta os intervalos de tempo transcorridos em relao ao tempo pr-fixado. Quando a temporizao estiver completa esta instruo energiza um bit de tempo transcorrido (bit de controle). Esse bit pode ser utilizada para energizar ou desenergizar um dispositivo quando tiver transcorrido um intervalo de tempo pr-fixado na instruo. Utilizando a sintaxe do TSX3710, quando o valor temporizado (valor atual %TMi.V) se iguala ao valor pr-fixado (presset %TMi.P), o temporizador energiza o bit de tempo transcorrido (%TMi.Q), o qual pode ser utilizado para energizar ou desenergizar uma instruo de sada. Essas trs variveis mostradas so comuns a qualquer CLP. Dependendo do tipo de CLP, ns possumos algumas variaes de temporizadores. No caso do TSX 3710 da Telemecanique, que comum grande maioria, existem 3 modos de operao. Selecionando a opo TM o bloco temporizador ser inserido na aplicao como demostrado abaixo;
Gera um pulso quando finalizada a contagem Inicializa a contagem

Modo em que o temporizador estar trabalhando

%TMI.V Valor corrente (atual) %TMI.P - Valor de preset (pr-definido) TB Base de tempo MODIFY Y/N Possibilita (Y) ou no (N) a modificao do valor de preset Q Acionado de acordo com o modo pr-definido IN Aciona o temporizador

Quanto a configurao dos temporizadores, estas podem ser feitas de trs modos de operao.

Pgina 14

Temporizador de Retardo na Ligao (TON ) Conhecido tambm com delay, neste temporizador, a sada vai para nvel lgico 1, quando a entrada se encontra em nvel lgico 1 a um tempo igual ou superior ao tempo de presset do temporizador. Quando a entrada encontra-se em nvel lgico 0, o temporizador reseta o valor da contagem ou simplesmente no a inicializa, ficando a sada em nvel lgico 0.

Simbologia e forma de onda de entrada e sada

Pgina 15

Temporizador com Retardo no Desligamento (TOF) A sada do temporizador vai para nvel lgico 1, juntamente com a entrada, e permanece neste estado at que transcorra o tempo de presset que se inicia no momento da borda de descida do pulso de entrada, indo para o nvel lgico 0 aps decorrido esse tempo. O valor de temporizao permanece no valor de pressete at que a entrada seja novamente setada.

Representaes de um temporizador com retardo no desligamento

Temporizador de pulso definido no ligamento (TP) Nesse tipo de temporizador o tempo em que a sada permanece em nvel lgico 1 s depende do pulso de transio positiva da entrada.

Temporizador de pulso definido no ligamento

Pgina 16

Monoestvel (MN) O monoestvel uma funo usada para criar um pulso com um tempo de durao exato a partir da borda de subida do acionamento da entrada. Se a entrada for acionada enquanto a temporizao estiver sendo realizada, esta ser reinicializada. No acionamento da entrada o valor atual de temporizao (%MNi.V) vai para o valor de presset (%MNi.P) e decresce para 0 em cada pulso da base de tempo, quando a temporizao atinge o valor 0 a sada acionada.

Figura 32

Para utilizar as instrues citadas neste tpico: 1) Pressione SHIFT+F7 ou clique com o mouse o cone deste elemento grfico, na barra de cones na parte inferior do vdeo. 2) Selecione o bloco de funo requerida e pressione ENTER para confirmar. Neste caso, escolheremos a funo Timer. 3) Clique na grade, na posio requerida para o elemento. 4) Entre com a varivel correspondente e confirme pressionando ENTER. Faa o mesmo procedimento para outros elementos at concluir a linha. 5) Confirme a linha pressionando ENTER, usando o comando Edit/Confirm, ou clicando no cone correspondente. 6) Defina os dados da funo na tela VARIABLES, selecionando o comando Application/Variables ou clicando no respectivo cone. 7) Nesta tela, nos campos no topo da tela, selecione as opes Parameters, PREDEFINED FB e TM. 8) No campo Preset ser colocado o valor de tempo pressetado. No campo Mode ser escolhido o tipo de temporizador (TON, TP ou TOF). E no campo TB ser escolhida a unidade de tempo.

Pgina 17

Exerccios: 1) Fazer um programa em Ladder em que possa ser testada a utilizao dos contadores tipos TON, TOF e TP. Execute o programa no CLP e levante o grfico de entrada x sada dos temporizadores. 2) Faa um programa para a ligao do motor abaixo, fazendo com que o mesmo inicie em ligao estrela (acionar C1 e C2) e comute para ligao tringulo (acionar C1 e C3) aps decorridos 10 s. Execute o programa no CLP.

Acionamento de motor estrela-tringulo

3) Uma empresa precisa resolver um problema de pico de demanda de energia eltrica, para isso precisa controlar o acionamento de 8 motores. Cada motor deve partir ordenadamente 3 segundos aps o outro comeando do motor 1. O motor 1 ser controlado por %Q2.1. A entrada %I1.0 iniciar a sequncia, enquanto que a entrada %I1.1 tornar todos os motores OFF. Providencie, tambm um ligamento manual individual para cada motor.

Pgina 18

Contadores As instrues do contador crescente e decrescente contam as transies de falso para verdadeiro, as quais podem ser causadas por eventos que ocorrem no programa, tais como peas que passam por um sensor tico. A funo de contador crescente usada para contar at um valor desejado. A faixa de contagem, em geral, vai de 0 a 32767. Cada vez que a entrada de habilitao transita de off para on (borda de transio positiva), o valor corrente de contagem incrementado de 1. O valor corrente pode ser incrementado at o valor pressetado. A sada ir para on sempre que o valor corrente for igual ou maior que o valor pressetado. A funo de contador decrescente usada para contar para baixo a partir de um valor pressetado. Quando a entrada de habilitao transita de off para on, o valor corrente decrementado de 1. No caso do CLP 3710 da Telemecanique, um nico bloco contador possui as funes de crescente e decrescente, conforme abaixo:

Contador crescente/decrescente

R - Reseta a sada do contador sempre que estiver em nvel lgico 1 S - Seta a sada do contador sempre que estiver em nvel lgico 1 CU - Entrada de contagem no sentido crescente CD - Entrada de contagem no sentido decrescente E - Sada acionada quando da transio da contagem de 0 p/ -1 D - Sada acionada quando contagem = valor pressetado, ou quando acionado S F - Sada acionada quando houver overflow de contagem (acima do mximo)

Para utilizar as instrues citadas neste tpico, siga os passos da instruo temporizador

Pgina 19

Exerccios: 3. Escreva um programa para gerenciamento de um estacionamento utilizando contador C0 do PL7 micro. Uma entrada conta os carros que entram, a outra conta os carros que saem. Um indicador livre intermitente indica que o estacionamento est livre. Um indicador ocupado indica que o estacionamento est cheio (10 carros). Um terceiro indicador avisa quando o estacionamento est vazio. Sempre que um carro atingir o sensor de incio de entrada S1 ou de incio sada S3 , o motor que movimente a barreira correspondente acionado e a barreira sobe. Sempre que o carro sair do sensor de entrada completada S2 ou sada completada S4, o motor da barreira correspondente acionado no sentido de rotao inverso e a barreira desce. Quando a quantidade de carros no estacionamento for =10 a barreira de entrada no poder mais ser acionada. Deve haver sensores fim-de-curso inferior e superior para ambas as cancelas, S5 e S6 (cancela 1), S7 e S8 (cansela 2). O incremento na contagem s ser realizado na borda de descida do sensor S2. 4. Uma empresa de filmes do grupo KODAK precisa de um sistema para contar a quantidade de filmes produzidos na sua linha a cada 20s e armazenar em um vetor de memria %MW10[%MW9] a fim de demonstrar atravs de um sistema supervisrio o grfico da evoluo da produo diria. O valor da produo acumulado ser armazenado na varivel %MW8. No final de um dia de produo dever ser mostradas a melhor e a pior mdia de produo verificada para cada um dos perodos de 20s. Considere que um dia de produo demora 3 minutos.

Pgina 20

4.2.6 Instrues de Registradores de Dados Um registrador um bloco de memria que usado para armazenar at 255 palavras de 16 bits no caso do TSX3722 de duas diferentes maneiras: em fila, conhecido como FIFO (First In, First Out); e em pilha, conhecido como LIFO (Last In, First Out).

Estrutura de armazenamento e retirada de dados em FIFO

Estrutura de armazenamento e retirada de dados em LIFO

O bloco registrador pode ser obtido atravs do bloco de funes (onde se encontram os temporizadores) e possui as seguintes caractersticas: MODE Pode ser FIFO ou LIFO LEN : De lenght, a faixa do nmero de palavras a serem armazenadas (1 a 255) %Ri Registro de entrada e sada da palavra worde de acesso de entrada/sada de registro I De in. Quando ativada, armazena o contedo da palavra %Ri.I no registrador O De Out. Quando ativada, carrega o contedo do registrador em %Ri.O R De Reset. No estado 1 inicializa o registradorE : De Empty, indica que o registrador est vazio F De Full, indica que o registrador est cheio.

Pgina 21

Exemplo:
Linguagem Ladder Lista de Instruo

Registrado fila

Para utilizar as instrues citadas neste tpico, siga os passos da instruo temporizador

4.2.7 Instrues de Converso. So funes que fazem a converso de um nmero em cdigo binrio para decimal, e de decimal para cdigo binrio. Existem seis tipos de instrues de converso: BCD_TO_INT INT_TO_BCD DBCD_TO_DINT DINT_TO_DBCD DBCD_TO_INT INT_TO_DBCD : 16 bits BCD para 16 bits Inteiros : 16 bits Inteiros para 16 bits BCD : 32 bits BCD para 32 bits Inteiros : 32 bits Inteiros para 32 bits BCD : 32 bits BCD para 16 bits Inteiros : 16 bits inteiros para 32 bits BCD

O cdigo BCD representa um nmero decimal (0 a 9) por um cdigo de 4 bits. Uma palavra de 16 bits pode expressar um nmero de at 4 dgitos (0 a 9999). A estrutura desta instruo como se fosse um bloco de operao, utilizando a seguinte sintaxe: OP1:=Operao(OP2).

Pgina 22

Exemplo:
Linguagem Ladder Lista de Instruo

Representao em Ladder e Lista de Instruo

Para utilizar as instrues citadas neste tpico, siga os passos da instruo operao matemtica.

4.2.8. Instrues de controle de fluxo. Estas instrues podem ser utilizadas para limitar a execuo do programa e alterar o caminho pelo qual a CPU executa o programa de aplicao. Dentre as principais se destacam: y y y CALL Chamada de subrotina. Causa o desvio do programa principal para uma subrotina. RETURN Retorno de sub-rotina. END Fornece um fim lgico temporrio. O programa executado do primeiro degrau at o ltimo degrau ou, seno, quando encontra a instruo END. JUMP Provoca um salto no programa para uma determinada posio no mesmo. LABEL Especifica uma posio alvo de uma instruo JUMP. COMMENT Coloca um comentrio num degrau do programa.

y y y

Veremos agora algumas destas instrues utilizadas no CLP 3710 da Telemecanique:

Pgina 23

4.2.8.1

Chamada de Subrotina

CALL SR - Esta instruo utilizada para chamar uma subrotina em um mesmo programa. A subrotina s poder ser chamada se ela j existir, portanto necessrio primeiro criar a subrotina. Sri representa o nmero da rotina (SR0, SR1, SR2, etc).
Linguagem Ladder Lista de Instruo

Figura 29

Para utilizar a instruo citada neste tpico: 1) Selecione o comando SHIFT+F6 ou clique com o mouse o cone do elemento grfico desejado na barra de cones, na parte inferior do vdeo.

2) Escolha e clique a funo desejada. 3) Clique na grade, na posio requerida para o elemento. 4) Entre com a varivel desejada e confirme pressionando ENTER. Faa o mesmo procedimento para outros elementos at concluir a linha. 5) Confirme a linha pressionando ENTER, usando o comando Edit/Confirm, ou clicando no cone correspondente. RETURN SR Esta instruo utilizada para retornar a rotina chamada, se o resultado da chave de teste precedente for 1. O comando return pressupe que esteja no fim da subrotina, mas pode ser usado para retornar a subrotina chamada antes do seu final.
Linguagem Ladder Lista de Instruo

Pgina 24

RTCN Retorna se o resultado do teste for 0 (zero) RET Retorna incondicionalmente

Para utilizar as instrues citadas neste tpico, siga os passos da instruo CALL. 4.2.8.2 Instruo de Salto

JUMP Esta instruo proporciona um salto na varredura do programa para uma nova linha indicada por um Label. %Li representa o Label (rtulo) da linha para o qual a conexo feita. Nesse salto ao programa deixa de executar as linhas saltadas.
Linguagem Ladder Lista de Instruo

JUMPC O jumper condicional proporciona um salto na varredura do programa para uma nova linha indicada por um Label %Li, desde que a condio de teste precedente seja obedecida.
Linguagem Ladder Lista de Instruo

Pgina 25

Para utilizar as instrues citadas neste tpico, siga os passos da instruo RELS. HALT A execuo desta instruo idntico instruo END e o programa pode ser interrompido usando a instruo HALT. Para todas as tarefas e congela as variveis deste programa.

Linguagem Ladder

Lista de Instruo

Para utilizar as instrues citadas neste tpico, siga os passos da instruo CALL.

4.2.9 INSTRUES PARA CONTROLE ANALGICO. 4.2.9.1 Classificao dos sistemas de controles

Os sistemas de controle so classificados em duas categorias gerais, ou seja: y y Sistemas de Malha Aberta. Sistemas de Malha Fechada ou Realimentados.

Um sistema a malha aberta caracterizado pelo fato que a ao de controle independente da sada. Nos sistemas a malha fechada, no entanto, a ao de controle depende de algum modo da sada. De fato a diferena entre o valor da grandeza controlada e o valor da grandeza de referncia que d origem a uma ao que tem como ltimo objetivo a eliminao da diferena entre os dois. O controle por realimentao a tcnica utilizada na grande maioria das aplicaes industriais no primeiro nvel de controle Podemos dizer que os sistemas com realimentao obedecem as seguintes etapas: y y A varivel a ser controlada medida (ou calculada a partir das medies); A medio comparada com um Set Point (SP). A diferena entre a medio e o Set Point (SP) e a varivel a ser controlada (PV), o sinal de erro;

Pgina 26

Uma varivel de processo ajustada ou manipulada para diminuir ou zerar o sinal de erro.

Diagrama em bloco de realimentao O diagrama em bloco de um sistema genrico de controle com realimentao negativa mostrado na seguinte figura

Figura 32 Temporizador de pulso definido no ligamento

Controlador: constitudo pelo conjunto dos dispositivos necessrios para gerar o sinal que proporcione o efeito de controle para aplicar ao amplificador (interface de potncia) e, portanto, ao processo. Transdutor e Condicionador de Sinal: So os dispositivos que convertem a grandeza fsica da sada controlada em uma grandeza homognea (de mesmo tipo) ao Set-Point com um valor dentro da faixa desejada. Sinal de Erro: o sinal obtido pela diferena entre o sinal de Set-Point e o sinal de realimentao fornecido pelo Condicionador de Sinal. Perturbao (rudo): um sinal de entrada indesejado, geralmente influenciado pelo meio ambiente que modifica o valor da sada. As vantagens fundamentais do sistema de controle a malha fechada com relao malha aberta que justifica o emprego de recurso para controle podem assim ser sintetizados: y Menor sensibilidade s variaes paramtricas.

Pgina 27

y y y y

Menores efeitos das grandezas perturbadoras. Controle da velocidade de resposta. Reduo do erro no estado permanente. Impedir situao instabilidade.

A importncia destas vantagens ser posteriormente esclarecida, mas desde j podemos adiantar o fato que variaes paramtricas e perturbaes so geralmente de carter aleatrio, isto imprevisvel a no ser nas suas caractersticas estatsticas e geralmente esto relacionadas com a interferncia do meio ambiente o com o desgaste natural dos componentes. Controle on-off tambm conhecido como o controle de duas posies, ou controle ligadesliga. O sinal de sada tem apenas duas posies que vo de um extremo a outro, podendo ser: vlvula aberta ou vlvula fechada, resistncia ligada ou resistncia desligada, compressor ligado ou compressor desligado. Analisemos pela figura a seguir um controlador on-off. Neste exemplo temos um ambiente com temperatura controlada: o valor desejado de temperatura dado pelo (SP), o valor atual de temperatura (PV) medida por um sensor de temperatura (por exemplo, um termopar), a funo do controlador a de chavear a resistncia, tendo como parmetro o valor de temperatura fornecido pelo sensor de modo que mantenha a temperatura determinada pelo SP dentro do ambiente.

Instrues de Controle O CLP Telemecanique TSX 3710 possui um bloco de funes avanadas que pode ser utilizada para aplicaes que exijam controle preciso e confivel. Atravs deste bloco possvel se construir aplicaes que envolvam sistemas de controle em malha fechada utilizando controle PID. Para acessar este bloco de funo, estando na pgina de edio, clique no cone correspondente a este bloco.

Pgina 28

Na tabela superior esquerda temos as famlia de funes. Na tabela superior direita o nome da funo e na tabela abaixo temos a rea para insero dos parmetros. Para o nosso estudo escolheremos a famlia Processe control. Em seguida escolha a funo PID.
Nome da funo relative famlia

Parmetros do PID que devem ser configurados

Parmetros gerais para utilizao da funo PID. Tag Este parmentro determina o nome do controle para efeito de identificao. O nome atribudo a esta varivel dever sempre vir entre apstrofes (Processo1, por exemplo) e deve possuir no mximo 8 caractres; Unit Determinar a unidade da varivel a ser controlada e tambm deve ser declarada entre apstrofes. Seu tamanho mximo de 6 caracteres;

Pgina 29

PV Valor real de entrada do processo (valor do processo). Este deve ser preenchido com uma word (%MW100, por exemplo), ou seja, estar sendo envido para esta word o valor real do processo para que o controle ocorra corretamente; OUT - Valor de sada do processo que pode ser atravs de uma posio de um registrador interno (%MW) ou uma sada analgica. AUTO Esta opo nos permite selecinar atravs de um bit se estaremos realizando um controle automtico ou manual. Se optarmos pela opo da utilizao de um controle manual, o ajuste do set point tambm estar sendo feito pelo operador, mas o controle estar sendo efeturado a partir de comportamentos experimentais obtidos pelo operador. Se o estado deste bit for alterado, o operador ir apenas determinar um set point e o prprio CLP estar realizado todo o controle utilizando a funo PID para que o processo apresente o valor desejado na sada. PARA Atravs desta funo possvel se determinar o endereo inicial da word onde sero parametrizados todos os detalhes referentes ao controle PID. Ao total, so 43 words que gerenciam todo o sistema de controle, porm, ns s teremos que configurar 13 delas, pois o restante utilizada pelo prprio sistema (para leitura e escrita de parmetros recebidos e calculados pelo sistema de controle). Diagrama esquemtico:

4.5

Parmatros avanados para configurao do controle PID

SP Valor de Set Pont; OOT MAN Endereo da word que estar responsvel em transmitir o valor manual de set point, isto quando selecionado o controle manual (bit AUTO Cofigurao como parmetros gerais); KP Esta funo nos permite ajustar o ganho proporcional de acordo com a configurao desejada; TI Tempo atribudo a ao integral;

Pgina 30

TS Freqncia determinada para que o controle obtenha uma amostra do sinal de entrada; OUT_MAX Valor mximo do limite de sada; OUT_MIM Valor mnimo; PV_DEV Seleciona a opo da utilizao ou no da ao da ao derivativa sendo proporcional ao valor de processo diretamente. DEVAL_MMI PV_SUP Limite mxiomo que pode ser adquirido atravs do valor real; PV_INF Limite mnimo que pode ser adquirido atravs do valor real; PV_MMI Determina o endereo para onde ser mandado o valor real que ser mostrado na IHM; SP_MMI Determina o endereo para onde ser mandado o valor do set point que ser mostrado a IHM. Aps concluir a parametrizao, o programa j pode ser descarregado para o CLP e j poder ser utilizado de acordo com a aplicao.

Pgina 31

4.3 Linguagem IL: Uma linha de programa esta formada por: Operador modificadores opcionais operandos [; ou retorno]

Operadores de IL: Operador Modificadores Operando LD N BOOL ou WORD ST N BOOL ou WORD S BOOL R BOOL AND N,( BOOL & N,( BOOL OR N,( BOOL XOR N,( BOOL ADD ( WORD SUB ( WORD MUL ( WORD DIV ( WORD GT ( WORD GE ( WORD EQ ( WORD NE ( WORD LE ( WORD LT ( WORD JMP C, N LABEL CAL C, N NAME RET C, N ) Exemplo: Sada com autoreteno. LD OR AND N ST START MOTOR STOP MOTOR Semntica Pr o resultado atual igual ao operando (ou inverso com N) Armazenar o resultado atual na memria PLC do operando Pr o operando binrio em 1 Pr o operando binrio em 0 AND Binrio AND Binrio OR Binrio OR exclusivo Binrio Soma Subtrao Multiplicao Diviso Comparao > Comparao >= Comparao = Comparao <> Comparao <= Comparao < Saltar para etiqueta Chamar bloco funcional Voltar da funo ou BF que foi chamado Avaliar a operao posposta

Pgina 32

4.4 Linguagem FBD.

A linguagem FBD muito simples porque todos seus elementos so representados por meio de caixas o quadrados. Os elementos que realizam as operaes so os blocos funcionais, muitos dos quais tambm so utilizados nas outras linguagens IEC1131, por exemplo, na LD e IL.

Variveis de entrada

Blocos Funcionais Variveis de sada

Os blocos funcionais so as estruturas mais importantes dentro da programao IEC1131, a seguir apresentamos alguns deles, os demais devem ser estudados no manual e a ajuda do software de programao.

Exemplos de blocos funcionais no ISaGRAF (IEC1131 compatveis)

Pgina 33

4.5 Linguagem ST: Expresses: Uma expresso uma construo sinttica que ao ser avaliada entrega um valor correspondente a um dos tipos de dados definidos na norma (BOOL, INT, REAL, TIME, BYTE, WORD, STRING). Operadores do linguagem ST Operao Entre parntese Avaliao da funo Smbolo Expresso Identificador (lista de argumentos) Exemplos LN(A), MAX(X,Y), etc. Elevao a expoentes ** Negao Complemento NOT Multiplicar * Dividir / Mdulo MOD Somar, Subtrair +, Comparao <, >, <=, >= Igualdade, Desigualdade =, <> AND Binrio &, AND OR exclusivo Binrio XOR OR Binrio OR Sentencias da linguagem ST: Tipo de sentencia/referencia Exemplos Atribuio Chamada de FB e uso da sada do FB Volta de um FB A:=B; CV := CV+ 1; CMD_TMR(IN := %IX5, PT:=T#300ms) A := CMD_TMR.Q; RETURN; Prioridade Mximo

Mnimo

IF <expresso binria> THEN D:= B*B - 4*A*C; <instruo>; IF D < 0.0 THEN NROOTS := 0; <instruo>; ELSIF D = 0.0 THEN ... NROOTS := 1 ; ELSIF <expresso bin.> THEN X1 := -B/ (2.0*A) <instruo>; ELSE ... NROOTS := 2 ; ELSE X1 := (-B+SQRT(D))/(2.0*A) <instruo>; X2 := (-B-SQRT(D))/(2.0*A) END_IF; END_IF ;

Pgina 34

CASE <expresso inteira> OF TW := BCD_TO_INT (THUMBWHEEL) ; <valor>: <instruo>; TW_ERROR := 0 ; <valor>, <valor>: <instruo>; CASE TW OF ... 1,5 : DISPLAY := OVEN_TEMP ; ELSE 2: DISPLAY := MOTOR_SPEED ; <instruo>; 3: DISPLAY := GROSS_TARE ; END_CASE; 4,6..10: DISPLAY := STATUS (TW-4) ; ELSE DISPLAY := 0 ; TW_ERROR := 1 ; END_CASE ; QW100 := INT_TO_BCD (DISPLAY) ; FOR<ndice>:=<mnimo>TO<mximo> J := 101 ; BY <passo> DO FOR I := 1 TO 100 BY 2 DO <instruo>; IF WORDS[I] = KEY THEN <instruo>; J := I ; END_FOR; EXIT ; END_IF ; END_FOR ; WHILE <expresso bin.> DO J := 1 ; <instruo>; WHILE J <= 100 & WORDS [J] <>KEY DO <instruo>; J := J+2 ; END_WHILE; END_WHILE ; REPEAT <instruo>; <instruo>; UNTIL <expresso binria> END_REPEAT; EXIT Sentencia vazia J := -1 ; REPEAT J := J+2 ; UNTIL J = 101 OR WORDS[J] = KEY END_REPEAT ; EXIT ; ;

Exemplo: Sada com autoreteno. MOTOR := (START OR MOTOR) AND N STOP;

Pgina 35

Exemplo de aplicao em FBD e ST:

Aplicaes industriais da linguagem ST: Uma das aplicaes de muito uso da linguagem ST no controle de processos industriais com CLPs na programao de HMI.

SISTEMAS SUPERVISORIOS E INTERFACES HOMEM-MQUINA (IHM): Os sistemas automatizados complexos tem grande necessidade de se criar uma interface de maneira a facilitar o trabalho da equipe encarregada da operao do sistema. Esta inte4rfase deve ser amigvel (eficiente e econmica). Isto chamado de Sistema Supervisorio ou Interface Homem-Mquina. Seu objetivo permitir a superviso (e muitas vezes o comando) de determinados pontos da planta automatizada As IHM podem ser: 1.- Normal: y Traduz os sinais do CLP para sinais grficos de fcil entendimento. y Traduz os comandos do operador para enviar ao CLP 2.- Inteligente: y Realiza as funes de uma IHM normal y Executa funes de assessor e/ou controle do processo. No tipo inteligente destacasse os sistemas SCADA (Supervisory Control and Data Acquisition), como Wizcom (Emation), Intouch (Wonderware), Cimplicity (GE Fanuc), entre outras.

Pgina 36

Modos de operao do sistema supervisrio: Modo desenvolvimento: ambiente onde se criam as telas grficas (desenho a ser animado no outro modo operacional). Exemplo ControlView da Rockwell Automation, Protool da Siemens Automation. Modo RunTime: Ambiente onde se mostra a janela animada criada no modo desenvolvimento. Operao integrada com o CLP durante a automao de planta em tempo real. Tipos de operao da planta: Operao normal: Atividade de vigilncia para detectar defeitos ou falhas possveis antes que possam causar conseqncias graves. Operadores realizam observao sistemtica dos indicadores essncias por meio de uma tela de visualizao sinttica sobre o estado geral do processo ou de uma parte dele. Operao sob contingncia: Atividade realizada pelo operador na frente de simultaneidade de vrios eventos simples causadores de perturbaes no processo, tendo que optar por gerenciar vrias atividades simultaneamente. Classificao dos parmetros segundo o uso na operao do processo: 1. Parmetros para indicao binria do estado do processo. 2. Parmetros contnuos que indicam tendncias na operao do processo. 3. Parmetros de alarmes: sobrepasso de limites permissveis, no permissveis ou de alta perigosidade. 4. Parmetros para comandos ou aes dos operadores: comandos binrios ou analgicos. 5. Parmetros para definir o nvel de segurana de acesso ao processo. Etapas de planejamento de sistemas supervisrios: 1. Entendimento do processo a ser automatizado. 2. Tomada de dados (variveis). 3. Planejamento do banco de dados 4. Planejamento de alarmes. 5. Planejamento da hierarquia de navegao entre telas. 6. Desenho de telas. 7. Grficos de tendncias. 8. Planejamento do sistema de segurana. 9. Uso de um padro industrial de desenvolvimento

Pgina 37

4.6 Linguagem SFC. A linguagem SFC usado para descrever operaes de processos seqenciais. Utiliza uma simples representao grfica de diferentes passos do processo, e das condiciones que habilita a mudana (transio) dos passos ativos. Seus principais elementos so:

Passo inicial Passo Transio Salto para um passo Macro passo Inicio do macro passo Fim do macro passo

As representaes dos passos tem dois nveis

Pgina 38

Divergencias e convergencias simples y duplas no SFC:

Pgina 39

Aes associadas aos passos: Aes Binrias: Direta (N), Inversa (/), Seteo (S), Reseteo (R)

Para associar funes analgicas o de qualquer outro tipo a um passo pode agrupar-se no programa ST que unido ao passo por meio das aes P (Pulso) o N (Direta).

So utilizadas aes binrias N, S y R para ativar programas SFC derivados.

Pgina 40

As transies podem associar-se operaes em linguagem LD:

IL:

ST:

Pgina 41

4.7 Algoritmos de controle descontnuos. So implementados os Controladores Descontnuos com 2 ou 3 posies, histereses e zona morta no PLCs por meio de blocos de comparao de instrues de entradas analgicas e os limites mximo e mnimo so fixados pelo operador da varivel regulada. Se tem resultado "Verdadeiro" ou "Falso", so elaboradas as aes de controle em vlvulas de duas posies por meio de ativao (seteo) ou desativao (reseteo) de sadas binrias do PLC. De acordo com este tipo de aes o controlador pode ser ON-OFF, de duas posies, de duas posies com histereses, de duas posies e zona morta (trs posies), e de trs posies com histereses. Puro ON/OFF o mais simples controlador descontnuo. Conecta ou desconecta a ao de regulador no processo. o mais instvel e tem comutaes constantes ao redor do ponto meio que pode afetar o sistema.

Duas posies sem histereses: melhora o comportamento prvio para somar uma ao inversa quando o erro negativo, mas mantm o problema da comutao constante ao redor da rea central.

Duas posies com histereses: possvel separar os pontos de comutao positiva e negativa, enquanto melhora a estabilidade, mas mantm a mudana abrupta de uma ao para outra.

Pgina 42

Trs posies: este algoritmo evita as mudanas no mesmo ponto das aes direita e seu inverso, somando uma zona morta na rea central. Isto garante durabilidade maior do sistema.

Trs posies com histereses: realiza mudana escalonada de um extremo para o outro passando por uma zona sem aes de valores diferentes quando est em direes diferentes.

Trs posies com histereses e zona morta: o mais complexo mais tambm o mais eficiente dos algoritmos descontnuos.

Pgina 43

4.8 Exerccios de aplicaes industriais. Exemplos de aplicaes binrias de automaes com CLPs. 1.- Desenvolver um programa de CLP para o controle de uma lmpada de sinalizao por meio de uma chave ou interruptor (switch) como se apresenta na seguinte figura:

a)- Utilizando um s boto (switch) sem autoreteno. Soluo:

b)- Utilizando dois botes (Start-Stop), nos dois variantes (com interconexes eltricas ou com funes SET-RESET) c)- Realizar o retardo na conexo da lmpada depois de 5 seg. de ativado o boto (switch) de Start. d)- Realizar o retardo na desconexo da lmpada depois de 3 seg. de desativado o boto (switch) de Stop. Desenvolver o exerccio anterior nos linguagens LD e IL IEC1131 compatveis.

Pgina 44

2.- Fazer o programa de automao de um conjunto de lmpadas de propaganda de uma loja (anuncio na porta de entrada) que deve cumprir a seguinte seqncia de iluminao.

Entrada de inicio I 0.3

30s

Sinal Piscante 30s

30s

Luz 1 O 1.0 7s 7s

7s

Luz 2 O 1.2

7s

Luz 3 O 1.4 7s 7s

Luz 4 O 1.6 7s 7s

Diagrama de tempo da seqncia de luzes.

Pgina 45

3.- Para automao de um sistema industrial precisa-se de controlar o acionamento de uma esteira transportadora de caixas de produtos controlada por meio de um motor eltrico com um rele de fora (Motor Starter). O acionamento e controlado pelo operador com um boto de conexo com auto-reteno (Start/Stop Pushbutton) conectado por meio de um CLP. Por medidas de segurana o acionamento deve ser retardado 5 segundos para ativar alarma sonora.

Controle de um motor com CLP 4.- Desenvolver um programa no CLP para um sistema de segurana de porta/cinto de um carro. Quando aporta do carro aberta, ou o cinto de segurana no esteja colocado, a buzina do carro deve ser ligada por 5 segundos si a chave do carro esta ligada. As luzes da cabina se ligaram quando a porta aberta e permanece ligada 10 segundos depois da porta ser fechada, mesmo sem estar o carro ligado. 5. Criar um programa de controle de semforo para cruze de ruas que dispe de uma seqncia fixa de 16 segundos para as luzes verdes e 4 segundos para as luzes amarelas. 6.- Desenvolver um programa de controle no CLP para coordenar o trabalho de duas prensas em uma linha de produo. As duas prensas devem trabalhar ao mesmo tempo. Cada uma tem um boto de inicio de ciclo de trabalho. O ciclo se inicia com um movimento descendente at chegar a uma chave limite que para o avance, neste momento comea o movimento ascendente ate chegar a chave limite superior.

Você também pode gostar