You are on page 1of 93

Controladores Lgicos Programveis

Luiz Edival de Souza edival@iee.efei.br Fone: (0xx35) 3629 1181 Av. BPS, 1303 Itajub MG

FUPAI 2001 Rua Xavier Lisboa, 27 Centro Itajub-MG-CEP 37501-042 Fone: (0xx35) 3622-3477 Fax: (0xx35) 3622-1477 fupai@fupai.com.br - www.fupai.com.br v4

SUMRIO
1 REVISO DE CONCEITOS LGICOS............................................................................................................................1 1.1 TEOREMAS DA LGEBRA DE BOOLE..........................................................................................................................2 1.2 CIRCUITOS A CONTATOS .............................................................................................................................................2 1.2.1 Exemplos de Circuitos a contatos........................................................................................................................4 1.2.2 Exerccios propostos...............................................................................................................................................5 2 3 4 5 6 INTRODUO AO CONTROLADOR PROGRAMVEL............................................................................................9 COMPONENTES BSICOS ............................................................................................................................................ 11 CONTROLADOR PROGRAMVEL VERSUS PAINEL DE RELS....................................................................... 13 COMPUTADOR INDUSTRIAL VERSUS CONTROLADOR PROGRAMVEL .................................................. 16 CPU E CICLO DE VARREDURA..................................................................................................................................... 17 6.1 PRINCPIO DE FUNCIONAMENTO.............................................................................................................................21 6.2 ORGANIZAO DA MEMRIA ...................................................................................................................................23 6.2.1 Estrutura da memria.......................................................................................................................................... 23 6.2.2 Organizao da memria.................................................................................................................................... 24 6.2.3 Tabela de dados.................................................................................................................................................... 25 6.2.4 Memria da aplicao ........................................................................................................................................ 28 7 SISTEMA DE ENTRADAS E SADAS............................................................................................................................ 29 7.1 ENTRADAS E SADAS DISCRETAS..............................................................................................................................29 7.1.1 Lgica positiva e Lgica negativa.................................................................................................................... 34 7.2 ENTRADAS E SADAS DE DADOS NUMRICOS.........................................................................................................40 7.3 M DULOS ESPECIAIS..................................................................................................................................................44 7.3.1 Mdulo para termopar........................................................................................................................................ 45 7.3.2 Mdulo PID ........................................................................................................................................................... 45 7.3.3 Mdulos de entradas/sadas remotos............................................................................................................... 46 8 LINGUAGEM DE PROGRAMAO BSICA ............................................................................................................. 48 8.1 ENDEREAMENTO......................................................................................................................................................49 8.2 CONTINUIDADE LGICA............................................................................................................................................50 8.3 M ODELO VIRTUAL DO CLP .......................................................................................................................................51 8.4 INSTRUO CONTATO NORMALMENTE A BERTO - NA......................................................................................52 8.5 INSTRUO CONTATO NORMALMENTE FECHADO - NF.....................................................................................53 8.6 INSTRUO DE ENERGIZAR BOBINA........................................................................................................................54 8.6.1 Exemplo de programao: Partida de um motor........................................................................................... 54 8.6.2 Alterao do exemplo anterior.......................................................................................................................... 55 8.6.3 Proposta de Exerccio ......................................................................................................................................... 57 8.6.4 Exemplo de programao: Lmpadas Seqenciais....................................................................................... 58 8.6.5 Implementao prtica........................................................................................................................................ 59 8.7 INSTRUO DE ENERGIZAR BOBINA COM RETENO .........................................................................................59 8.8 INSTRUO DE DESENERGIZAR BOBINA COM RETENO...................................................................................59 8.9 OUTROS TIPOS DE BOBINAS......................................................................................................................................60 8.10 CONEXO DE CHAVE NA E NF AO CLP..................................................................................................................60 8.11 INSTRUO TEMPORIZADOR...................................................................................................................................61 8.11.1 Exemplo de temporizador baseado em contatos de rels ........................................................................ 62 8.11.2 Bloco temporizador do controlador programvel GE-FANUC 9030................................................... 63 8.11.3 Exemplo de temporizador baseado em bloco funcional (IEC61131-3)................................................ 65 8.11.4 Implementao de um desligamento temporizado no exemplo do motor............................................. 66 8.11.5 Partida estrela-triangulo de motor.............................................................................................................. 67 8.12 INSTRUO CONTADOR.............................................................................................................................................67 8.12.1 Exemplo de instruo contador baseada em contatos de rels.............................................................. 68

8.12.2 Exemplo de instruo contador baseada em bloco funcional................................................................ 69 8.12.3 Bloco contador do controlador programvel GE FANUC 9030 ........................................................... 70 8.12.4 Proposta de Exerccio prtico...................................................................................................................... 71 8.13 OUTRAS INSTRUES.................................................................................................................................................72 8.13.1 Instrues aritmticas..................................................................................................................................... 72 8.13.2 Instrues de comparao............................................................................................................................. 73 8.13.3 Partida de motor com rampa de acelerao.............................................................................................. 74 9 PRTICA COM O ISAGRAF........................................................................................................................................... 77

Controlador Lgico Programvel


1

1 REVISO DE CONCEITOS LGICOS


Uma reviso da formulao apresentada pela lgebra de Boole importante para os usurios de circuitos rels e controladores programveis. O objetivo deste captulo revisar os conceitos bsicos da lgica booleana visando a sua utilizao em projetos de circuitos baseados em rels ou de programao do controlador programvel.

POSTULADOS DA LGEBRA DE BOOLE


1. X = 0 e X = 1 Qualquer varivel e qualquer funo, pode assumir somente dois valores representados por 0 e 1. Estes dois valores podem corresponder a duas situaes ou grandezas fsicas que se excluem mutuamente mas, necessariamente uma delas deve estar presente em qualquer instante. 01= 10= 0 11=1 00=0

2. 3. 4.

Onde o ponto ( ) representa o operador lgico E ou "AND" do ingls. Pode-se em termos de contatos de rels associar o E a conexo em srie de contatos;

5. 6. 7.

1+0=0+1=1 0+0=0 1+1=1

Onde ( + ) representa o operador lgico OU ou "OR" do ingls. Pode-se em termos de contatos de rels associar o operador a conexo em paralelo de contatos;

8. 9.

1 =0 0=1

Onde o sinal () sobre a varivel significa negao.

VARIVEL E EXPRESSO BOOLEANA


Varivel booleana um literal que representa o estado de alguma coisa que possui somente dois estados: falso ou verdadeiro, aberto ou fechado, est presente ou no est presente, etc. Por exemplo, se um rel est energizado ento podemos representar o estado do rel (energizado ou desenergizado) por uma varivel X cujos valores podem ser somente 1 ou 0. Expresso booleana uma expresso que relaciona uma ou mais variveis booleanas atravs dos operadores booleanos ( E, OU e negao). Por exemplo, o motor deve ligar se a chave CH1 for

Controlador Lgico Programvel


2

acionada e se a temperatura estiver acima de 40 C. Neste caso atribumos a uma varivel M a representao do estado do Motor e escrevemos a seguinte expresso booleana: M = CH1 . T onde: CH1 = 0 para chave aberta e CH1 = 1 para chave fechada; T = 1 se temperatura acima de 40 C e T=0 se menor 40 C M = 1 motor ligado e M = 0 motor desligado.

1.1

TEOREMAS DA LGEBRA DE BOOLE

A seguir so apresentados alguns dos teoremas usuais da lgebra de Boole que quando convenientemente utilizados facilitam a simplificao de uma expresso complicada.
Num 1 0X = 0 2 1 X = X 3 4 5 6 7 8 9 10 11 12 13 14 15 Teorema

X X = X XX=0 X Y = Y X X Y Z = (X Y ) Z = X (Y Z )
Teorema de De Morgan X Y Z = X + Y + Z f (X, Y,..., Z,,+ ) = f (X, Y,...., Z,+, )

XY + XZ = X(Y + Z) XY + XY = X X + XY = X

Obs: XY = XY

X + XY = X + Y ZX + ZXY = ZX + ZY XY + XZ = XY + XZ + YZ XY + XZ = (X + Z)(X + Y )

1.2

CIRCUITOS A CONTATOS

Examinaremos agora o relacionamento das expresses booleanas com circuitos a contatos. A partir das expresses booleanas podemos, atravs dos teoremas, simplificar os circuitos atravs da eliminao de redundncias. Isto representa em termos de implementao menor custo, menos componentes, etc.

Controlador Lgico Programvel


3

O contato aqui referenciado representa o estado de qualquer dispositivo do tipo liga/desliga utilizado em circuitos a rels. Um painel de rel, utilizado para controlar uma mquina ou um processo, pode ser visto como um conjunto de rels e um conjunto de dispositivos de entrada e sada, tais como, chaves, interruptores, vlvulas, lmpadas, contatores, etc. Por exemplo, para verificar se uma chave est ligada ou no, preciso obter a informao de um contato do rel, ou para verificar se o motor est ligado preciso, verificar se um contato auxiliar do contator do fechado (caso se use um contato NA - Normal Aberto). Nos circuitos eletrnicos digitais, as entradas e sadas s podem estar em dois nveis de tenso, por exemplo, 0 V e 5 V. Nos circuitos a contatos, utilizamos dois estados - aberto e fechado, para representar o estado do contato. O estado da bobina do rel ou do circuito a contato denominado energizado ou desenergizado. Assim sendo, podemos relacionar uma expresso booleana (valor 0 e 1) ao circuito a contatos (lgica por fios) e a varivel booleana ao contato ou estado de chaves, botoeiras, etc. Portanto teremos: Expresso Booleana 1 0 Varivel Booleana 1 0 Circuito a contatos energizado desenergizado Contato do rel fechado aberto

Rels

Contatores

Controlador Lgico Programvel


4

NF NA

NF NA

Rel X - desenergizado

Rel X - energizado

De acordo com a nossa conveno podemos escrever a seguinte tabela: Rel X


Desenergizado - 0 Energizado - 1

Contato NA
Aberto 0 1 Fechado -

Contato NF
Fechado Aberto 1 0

Onde observamos que :

NA = X NF = X

1.2.1 Exemplos de Circuitos a contatos 1) A sada de um circuito deve ser energizada se o rel X est operado e deve-se usar contato NA.
Soluo:

A expresso booleana que expressa a soluo deste exemplo simplesmente : L = X, e o circuito a contatos pode ser desenhado como a seguinte figura. X L L=X

2) A sada de um circuito deve ser energizada se o rel X est inoperado e deve-se usar contato NF.
Soluo:

O circuito abaixo atende esta exigncia .

Controlador Lgico Programvel


5

L L=X

3) A sada de um circuito deve ser energizada se o rel X est operado e o rel Y est inoperado.
Soluo:

Observe que agora temos uma funo E devido ao conectivo "e" na sentena de proposio do exemplo. A funo E em circuitos a contatos pode ser obtida pela associao em srie de contatos, como ilustrado abaixo. X Y L L=X .Y
Circuito a contatos

4) A sada de um circuito deve ser energizada se uma chave A for ligada e se o rel X ou o rel Y estiverem energizados.
Soluo:

Y X

L L = A . ( X + Y)

Circuito a contatos

1.2.2 Exerccios propostos 1) Desenhar os circuitos a contatos para realizar a lgica das seguintes expresses booleanas: a) L = A B + A C D + D F + A DF

Controlador Lgico Programvel


6

b) L = (A + B) C + (C + D + F) (A + F)

2) Simplificar os seguintes circuitos a contatos: a) A B C

D B

Controlador Lgico Programvel


7

b) A A A B B

B D D

c) A B A C C D B D

Controlador Lgico Programvel


8

3) Determinar a equao booleana, simplificada, para executar a seguinte lgica para ligar o motor de um ventilador : 1. Forno ligado e motor da esteira ligado, ou 2. Forno desligado e temperatura acima de 50 C, ou 3. Forno desligado, rel X operado e motor da esteira ligado, ou 4. Motor da esteira ligado e temperatura acima de 50 C, ou 5. Motor da esteira ligado, forno desligado e rel X inoperado, ou 6. Forno ligado, rel X inoperado e trem estacionado no local.

Controlador Lgico Programvel


9

2 INTRODUO AO CONTROLADOR PROGRAMVEL


O critrio de projeto para o primeiro controlador programvel foi especificado em 1968 por uma diviso da GENERAL MOTORS CORPORATION. O objetivo inicial era eliminar o alto custo associado com os sistemas controlados a rels. As especificaes iniciais requeriam um sistema de estado slido com a flexibilidade do computador, capaz de suportar o ambiente industrial, ser facilmente programado e reprogramado, manuteno fcil e por ltimo facilmente expansvel e utilizvel. Devido ao intuito inicial de substiturem os painis de rels no controle discreto, foram chamados de Controladores Lgicos Programveis - CLP (Programmable Logic Controllers - PLC). Porm, atualmente, os controladores so bem mais complexos e no executam somente lgica do tipo E e OU, motivo pelo qual passaram a ser chamados apenas de Controladores Programveis - CP. Os primeiros controladores tinham pouca capacidade de processamento e suas aplicaes se limitavam mquinas e pequenos processos que necessitavam de operaes repetitivas. A partir de 1970, com o advento da tecnologia de microprocessadores, os controladores passaram ter uma grande capacidade de processamento e alta flexibilidade de programao e expanso. Entre outras caractersticas citamos: a capacidade de operar com nmeros, realizar operaes aritmticas com ponto decimal flutuante, manusear dados e se comunicar com computadores. Desta forma, os CPs atuais podem atuar tanto em controle discreto, tais como, automao da manufatura, onde as mquinas apresentam aes automticas e discretizada no tempo, como em controle contnuo, tais como, processos qumicos e siderrgicos, com caractersticas primordialmente analgicas. O sistema utilizado para programar o controlador era um dispositivo dedicado e acondicionado em um maleta porttil, chamada de maleta de programao, de forma que podia ser levada para "campo" afim de alterar dados e realizar pequenas modificaes no programa. O sistema de memria do controlador no permitia facilidades de programao por utilizar memrias do tipo EPROM. Inovaes no hardware e software entre 1975 e 1979 proporcionaram ao controlador maior flexibilidade e capacidade de processamento, isto significou aumento na capacidade de memria e de entradas/sadas, permitiu entradas/sadas remotas, controle analgico, controle de posicionamento, comunicaes, etc. A expanso de memria permitiu um programa de aplicao maior e uma maior quantidade de dados de forma que os programas de controle no ficassem restritos lgica e seqenciamento, mas tambm realizassem aquisio e manipulao de dados. Com o desenvolvimento

Controlador Lgico Programvel


10

do controle analgico, o controlador programvel preencheu o "gap" entre controle discreto e controle contnuo. Os custos com fiao foram reduzidos significativamente com a capacidade do controlador de comunicar-se com subsistemas de entrada/sada localizados em pontos remotos, distante da unidade central de processamento e perto do equipamento a ser controlado. Ao invs de trazer centenas de fios para o armrio do CP, os sinais dos subsistemas podem ser multiplexados e transmitidos por um nico par de fios tranados. Esta tcnica permitiu a decomposio de grandes sistemas em pequenos subsistemas melhorando a confiabilidade, manuteno e partida gradual dos subsistemas principais. Em 1979 foi desenvolvida a rede de comunicao de alta velocidade (Data Highways - no jargo dos fabricantes da poca) permitindo um controle sincronizado entre vrios controladores, comunicao com microcomputadores e outros sistemas situados em um nvel funcional superior. Com isto foi possvel combinar o desempenho do controlador programvel com a capacidade de controle distribudo de alta velocidade e interface com computadores resultando em uma grande potencialidade de controle e superviso. Atualmente, existem vrios tipos de controladores, desde pequena capacidade at os mais sofisticados realizando operaes que antes eram consideradas especficas para computadores. A evoluo do hardware, conduziu a melhoras significativas nas caractersticas do controlador, entre outras citamos: Reduo no tempo de varredura; Interfaces de E/S microprocessadas. Ex.: mdulo PID, mdulo ASCII, mdulo de posicionamento; Uma Interface Homem Mquina (IHM) mais poderosa e amigvel. No software tambm surgiram novas caractersticas, tais como: Linguagem em blocos funcionais e estruturao de programa; Linguagens de programao de alto nvel, baseadas em BASIC; Diagnsticos e deteco de falhas; Operaes matemticas em ponto flutuante atravs de coprocessadores matemticos, etc.

Controlador Lgico Programvel


11

3 COMPONENTES BSICOS
O Controlador Programvel um dispositivo de estado slido usado para controlar mquinas ou processos por meio de um programa armazenado e realimentado por dispositivos de entrada e sada. A NEMA - National Electrical Manufacturers Association definiu, em 1978, um padro para controladores programveis como sendo "um aparelho eletrnico digital que usa uma memria programvel para armazenamento interno de instrues para implementar funes especficas tais como lgica, seqenciamento, temporizao, contagem e operaes aritmticas, para controlar mquinas ou processos atravs de mdulos de entradas/sadas analgicos ou digitais". A Figura 1 ilustra o diagrama em blocos do controlador.
Digital vlvula UNIDADE Analgico ENTRADA Pulsos CENTRAL DE PROCESSAMENTO SADA Analgico

Motor

teclado

Lmpadas

PROCESSADOR

MEMRIA

Fonte de Alimentao

Figura 1 - Componentes bsicos do CP Um controlador programvel, independente do tamanho, custo ou complexidade, consiste de cinco elementos bsicos:
q q

Processador; Memria;

Controlador Lgico Programvel


12 q q q

Sistema de entradas/sadas; Fonte de alimentao; Terminal de programao. A trs partes principais (processador, memria e fonte de alimentao) formam o que chamamos

de CPU - Unidade Central de Processamento. O Processador l dados de entrada de vrios dispositivos, executa o programa do usurio armazenado na memria e envia dados de sada para comandar os dispositivos de controle. Este processo de leitura das entradas, execuo do programa e controle das sada feito de uma forma contnua e chamado de ciclo de varredura. O sistema de entrada/sada forma a interface pelo qual os dispositivos de campo so conectados ao controlador. O propsito desta interface condicionar os vrios sinais recebidos ou enviados ao mundo externo. Sinais provenientes de sensores tais como push-buttons, chaves limites, sensores analgicos, chaves seletoras e chaves tipo tambor (thumbwheel), so conectados aos terminais dos mdulos de entrada. Dispositivos que devem ser controlados, como vlvulas solenides, lmpadas pilotos e outros, sos conectados aos terminais dos mdulos de sada. A fonte de alimentao fornece todas as tenses necessrias para a devida operao do CP e da interface dos mdulos de entrada e sada. Dependendo de como estas partes esto fisicamente organizadas podemos ter dois tipos de estrutura. A primeira do tipo compacta, onde todos os componentes so colocados em uma nica estrutura fsica, isto , o processador, a memria, a fonte e o sistema de entrada/sada so colocados em um gabinete ficando o usurio com acesso somente aos conectores do sistema E/S. Este tipo de estrutura normalmente empregada para CPs de pequeno porte. A segunda estrutura apresenta um abordagem modular onde cada componente ou um conjunto deles colocado em um mdulo. Podemos ter processador e memria em um nico mdulo com fonte separada ou ento estas trs partes juntas em um nico gabinete. O sistema de entrada/sada decomposto em mdulos de acordo com suas caractersticas. Estes mdulos so ento colocados em racks formando uma configurao de mdio e grande porte. A Figura 2 ilustra as estruturas descritas.

Controlador Lgico Programvel


13

Outro componente de controlador programvel o dispositivo de programao. Embora seja considerado como parte do controlador, o terminal de programao, como era chamado antes, requerido apenas para entrar com o programa de aplicao na memria do controlador. Uma vez carregado o programa o terminal pode ser desconectado do controlador. Atualmente se usa o microcomputador para programar o CP e devido capacidade de processamento do mesmo, este tambm utilizado para monitorao e depurao do programa.

Figura 2 Estruturas compacta e modular (Cortesia GE-Fanuc)

4 CONTROLADOR PROGRAMVEL VERSUS PAINEL DE RELS


Controladores Programveis ou painis de rels? Esta foi provavelmente uma pergunta muito comum entre os engenheiros de sistemas, controle, projetistas, etc. No se pode generalizar, mas certo que alta qualidade e produtividade no podem ser obtidas, de maneira econmica, sem equipamento de controle eletrnico. Com o rpido desenvolvimento e crescimento da competio, o custo do controlador programvel tem cado significativamente a ponto de que o estudo de CP versus rels, no ponto de vista de custo no ser mais vlido. As aplicaes com controladores programveis podem, agora, serem avaliadas por seus prprios mritos. Requisitos tais como indicados abaixo seguramente levam opo pelo CP ao invs de rels:

Controlador Lgico Programvel


14 q q q q q q q

Necessidade de flexibilidade de mudanas na lgica de controle; Necessidade de alta confiabilidade; Espao fsico disponvel pequeno; Expanso de entradas e sadas; Modificao rpida; Lgicas similares em vrias mquinas; Comunicao com computadores em nveis superiores. Embora o sistema eletromecnico, em pequenas e at mdias aplicaes, possa apresentar um

custo inicial menor, esta vantagem poder ser perdida considerando-se a relao custo/benefcio que o CP proporciona. A Figura 3 ilustra uma comparao entre o quadro de rels e o quadro de CPs. Pode ser observado que a implementao da lgica atravs de rels dificulta a manuteno e torna o sistema menos flexvel mudanas. A lgica realizada por fios e qualquer modificao na lgica exige uma conexo adequada dos fios, envolvendo operaes com os contatos NA e NF dos rels.

Controlador Lgico Programvel


15

Figura 3 Comparao entre os quadros de rels e CPs

Controlador Lgico Programvel


16

5 COMPUTADOR INDUSTRIAL VERSUS CONTROLADOR PROGRAMVEL


A arquitetura de um controlador programvel basicamente a mesma que um computador de propsito geral. Entretanto existem algumas caractersticas importantes que diferem o CP dos computadores. Podemos dizer que todos os CPs so computadores por definio, mas nem todos os computadores so CPs. A diferena est nos mtodos de programao, operao, consideraes ambientais e manuteno. A Figura 4 ilustra uma comparao entre computadores industriais e CP onde podem ser vistos os pontos fortes e os pontos fracos dos computadores industriais.

Pontos fortes
Interface Grfica Tempo de Programao No utilizar Hardware Proprietrio Arquitetura Aberta Rede de comunicao TCP/IP Simulao do Programa Vrias Linguagens de Programao Comunicao com Supervisorio Utilizao de vrios Hardwares de E/O Facilidade de efetuar calculos complexos

Pontos fracos
Confiabilidade do Sistema Operacional Confiabilidade do Microcomputador Velocidade de Atualizao de E/O (Rack) Eventuais Bugs de Software

Figura 4 Comparao do Microcomputador Industrial com CPs

Controlador Lgico Programvel


17

Os CPs foram especificamente projetados para operar em ambientes industriais. Um CP pode operar em reas com quantidades substanciais de rudos eltricos, interferncias eletromagnticas, vibraes mecnicas, temperaturas elevadas e condies de umidade adversas. Uma especificao tpica de CP inclui temperaturas na faixa de 0 a 60 oC e umidade relativa de 5 a 95 %. A segunda distino dos CPs que o hardware e o software foram projetados para serem operados por tcnicos no especializados (nvel exigido para a manuteno e operao de computadores). Usualmente, a manuteno feita pela simples troca de mdulos e existem softwares que auxiliam na localizao de defeitos. As interfaces de hardware para conexo dos dispositivos de campo esto prontas para uso e so facilmente intercambiveis (estrutura modular). A programao geralmente feita em uma linguagem parecida com os diagramas de rels. O software residente, desenvolvido pelo fabricante, e que determina o modo de funcionamento do controlador tambm caracteriza uma diferena fundamental. Este software realiza funes de acesso ao hardware, diagnsticos, comunicaes e determina o funcionamento do controlador em um modo de operao dedicado (ciclo de varredura) e totalmente transparente ao usurio.

6 CPU E CICLO DE VARREDURA


A CPU o elemento responsvel pelo gerenciamento e processamento das informaes do sistema. Em uma anlise mais detalhada podemos concluir que a CPU na verdade um

microprocessador conectado a circuitos auxiliares, tais como, memrias, circuitos de temporizao e interface, etc. Este microprocessador expressa a complexidade e a capacidade do controlador. Vejamos por exemplo, um controlador que use a famlia Intel 80X86. Esta famlia representa a base dos microcomputadores pessoais do tipo IBM/PC, assim sendo, pode-se esperar que este controlador apresente caractersticas que o habilite a ser aplicado em operaes complexas ou de grande porte. Uma observao nestes controladores que alm da sua capacidade de processamento pode-se adicionar outros microprocessadores destinados a realizar clculos matemticos ou booleanos, so os chamados coprocessadores. Neste ponto observamos a tendncia em transformar um Controlador Programvel em um Computador Industrial, para aplicaes em processos contnuos. A Figura 5 ilustra CPUs de vrios fabricantes.

Controlador Lgico Programvel


18

Atos Micro CLP

Atos Srie Modular

Altus - Srie Piccolo Altus - Srie Quark

GE-FANUC - Versamax

GE-FANUC Srie 9070 GE-FANUC Srie 9030

Controlador Lgico Programvel


19

Rockwell

Rockwell - MicroLogix

Rockwell PLC 5

Rockwell PLC 5 VME Bus

Siemens - Srie S5 95U

Siemens - Srie S7

Srie S5 115U

Figura 5 CPUs de vrios fabricantes

Controlador Lgico Programvel


20

A CPU coordena as atividades do sistema, interpretando e executando um conjunto de instrues, conhecido como programa Executivo ou Monitor. Este programa realiza um papel similar ao sistema operacional de um microcomputador, com a diferena de ser exclusivamente para controle e monitorao do CP. O Executivo se encontra armazenado em memrias no volteis e considerado como parte do sistema. Todas as funes relacionadas com a operao do controlador esto definidas no programa Executivo. Existem funes bsicas que so encontradas em qualquer controlador e outras funes que so consideradas especiais e constituem o diferencial entre controladores de linhas ou fabricantes diferentes. Entre as funes bsicas encontram-se: Diagnsticos: watch-dog, bateria, checksum; Modo de operao: em execuo (run) e parado (stop); Comunicao: implementao de diversos tipos de protocolos. De uma forma geral, podemos visualizar estas funes no frontal do controlador atravs de LEDs de sinalizao que indicam o estado operacional do equipamento. Estas funes normalmente so encontradas independentemente da arquitetura fsica do controlador, isto , se em forma modular ou compacta. A Figura 6 ilustra um diagrama tpico de um processador, mostrando as funes e conectores para conexo de dispositivos de programao, E/S e energizao do CP. O estado operacional do controlador pode ser definido atravs de chaves no prprio frontal (no ilustrado na figura) ou atravs do aparelho programador. Por exemplo, pode-se colocar o CP em modo de execuo (LED "RUN" aceso) atravs de um comando do programador, e uma vez neste estado o CP executar o programa de usurio sob o comando do programa Executivo. Por outro lado, pode-se colocar o CP no modo de programao (LED "PROG" aceso), o que habilita o controlador a receber o programa do usurio. Os outros LEDs de sinalizao indicam a potncia (PWR), comunicao ativa (COM) e bateria baixa (BAT).

Controlador Lgico Programvel


21

FUS

CP XYZ/ZZ

PWR RUN PRG COM BAT

PRO

I/O 110 VAC 24 VDC

Figura 6 Funes tpicas no frontal da CPU

6.1

PRINCPIO DE FUNCIONAMENTO
O Controlador Programvel tem uma forma particular de trabalhar que caracteriza o seu

funcionamento. O controlador opera executando uma seqncia de atividades definidas e controladas pelo programa Executivo. Este modo de operao ocorre em um ciclo, chamado de Ciclo de Varredura ("Scan"), que consiste em :
q q q

leitura das entradas externas; execuo da lgica programada; atualizao das sadas externas. Na fase de leitura das entradas, o Processador enderea o sistema de E/S, obtm os estados dos

dispositivos que esto conectados, e armazena estas informaes na forma de bits "1" ou "0", dependendo do estado obtido (ponto energizado eqivale ao binrio "1" e ponto desenergizado ao binrio "0"). A regio da memria utilizada para armazenar estas informaes chamada de Tabela Imagem das Entradas - TIE. Na fase de execuo da lgica programada pelo usurio, a CPU consulta a TIE para obter os estados dos dispositivos. Nesta fase, os resultados das lgicas programadas cujas sadas tenham um ponto correspondente no rack de sada so armazenados em uma rea de memria que chamada de Tabela Imagem das Sadas - TIS. As lgicas que possuem sadas internas sero armazenadas na rea correspondente. Durante a execuo da lgica programada, se for necessrio a referncia a uma sada qualquer, dentro do mesmo ciclo, esta tabela consultada. Observe que durante esta fase no feita

Controlador Lgico Programvel


22

nenhuma referncia a pontos externos (entrada ou sada), a CPU opera com informaes obtidas da memria. Na fase de atualizao de sadas, a CPU executa uma varredura na tabela TIS e atualiza as sadas externas, endereando o Sistema de E/S para atualizar o estado dos dispositivos externos de acordo com o resultado da lgica programada. A seguir, o ciclo reiniciado e a operao continua enquanto se mantm o controlador no modo de execuo ("Run").

Varredura das E/S 0,5 mS/128 E/S

Incio do Programa do Usurio

Fim do Programa do Usurio Varredura do Programa do Usurio 0,6 mS - 15 mS / 1 K instr. booleana

Figura 7 Ciclo de varredura O tempo necessrio para a varredura varia de controlador para controlador e depende de muitos fatores (tamanho da palavra, clock, instrues programadas, etc.). O fabricante especifica este tempo baseado na quantidade de instrues, normalmente instrues booleanas, e quantidade de entradas/sadas. Qualquer outra funo programada aumenta este tempo de varredura. Este processo de varredura pode ser inadequado para entradas rpidas, isto , entradas com freqncia acima de 10 Hz. Neste caso devemos utilizar de funes especiais do CP para interromper a varredura do programa e atualizar o estado de uma entrada ou de uma sada imediatamente. Este processo realizado por software e tambm est limitado execuo do programa do usurio. Em aplicaes de alta velocidade, tais como em sensores eletrnicos por pulsos, aconselhvel o uso de mdulos especficos (contadores de alta velocidade). A interrupo do ciclo de varredura para atualizao pode ocorrer de duas maneiras:
q

Interrupo para entrada imediata: o ciclo interrompido para uma leitura de mdulos de

Controlador Lgico Programvel


23

entrada. Aps a leitura ocorre a atualizao da Tabela Imagem das Entradas com os pontos selecionados e o programa prossegue normalmente;
q

Interrupo para sada imediata: aps a execuo de uma lgica pode ser necessrio atualizar imediatamente as sadas externas. Neste caso, programa-se uma Instruo de Sada Imediata para atualizar o estado externo. Observe que a CPU acessa a Tabela Imagem de Sada, que j possui os resultados correntes e escreve no endereo do mdulo de sada referenciado na instruo. Alm das duas maneiras mais usuais apresentadas acima, a varredura normal do programa de

usurio pode ser alterada por uma entrada especial que, tendo sofrido uma variao no seu estado, gera uma interrupo na CPU. Esta interrupo desvia a execuo do programa para uma subrotina especial que pode ou no ser programada pelo usurio. O tempo de varredura uma considerao importante na seleo do controlador. Este indica a rapidez com que o controlador pode reagir s entradas de campo e resolver corretamente a lgica de controle. Por exemplo, se um controlador tem um tempo de varredura de 50 ms e necessita monitorar um sinal de entrada que pode mudar de estado a cada 20 ms, o controlador nunca ser capaz de aquisitar este sinal, resultando em um mau funcionamento da aplicao.

6.2

ORGANIZAO DA MEMRIA
Antes de apresentar a organizao de memria do CP preciso entender a estrutura bsica da

memria. 6.2.1 Estrutura da memria A memria do controlador programvel pode ser visualizada como um grande conjunto

bidimensional de clulas unitrias de armazenamento, cada um das quais armazenam uma nica informao na forma de 1 ou 0. bvio, portanto, que o sistema de numerao binrio seja usado para representar a informao armazenada na memria. Como BIT o anacronismo para BInrio digiT e cada clula pode armazenar um bit, cada clula chamada de bit. Um bit ento a menor unidade de estrutura de memria e armazena informaes na forma de 1s e Os. O bit considerado ON se a informao armazenada 1 e OFF se a informao armazenada zero. Portanto, um bit suficiente

Controlador Lgico Programvel


24

para armazenar o estado de chaves, botoeiras, fim de cursos, motores e outros dispositivos externos que podem ser conectados ao CP. Frequentemente necessrio que o CP manipule mais do que um bit. Por exemplo, muito mais eficiente manipular um grupo de bits quando se deseja transferir dados para/da memria. Um grupo de 8 bits manipulado simultaneamente chamado de byte e um grupo de 16 bits chamado de palavra. A Figura 8 abaixo ilustra os conceitos definidos acima.
Bit Byte

Palavra ( ou registro)

Figura 8 Estrutura da memria

6.2.2 Organizao da memria Basicamente, o sistema de memria pode ser dividido em trs partes: memria do sistema, tabela de dados e memria da aplicao. A memria do sistema destinada ao armazenamento do programa executivo responsvel por toda a operao de funcionamento do controlador programvel. O programa executivo um conjunto de programas armazenado permanentemente na memria do controlador com o objetivo de controlar e supervisionar as atividades do sistema, tais como: controle do ciclo de varredura, comunicao como os dispositivos perifricos, diagnsticos e outras atividades. Normalmente se refere memria do sistema como firmware, para expressar o conjunto software e hardware necessrio para o CP funcionar corretamente. A tabela de dados utilizada para armazenar qualquer dado associado com o controle do sistema, tais como: estados das entradas e sadas conectadas ao controlador programvel, estados internos, valores preset de contadores e temporizadores. A tabela de dados importante e ser tratada no prximo item.

Controlador Lgico Programvel


25

A memria da aplicao destinada ao armazenamento da lgica de controle definida pelo usurio, isto , do programa de aplicao ou programa do usurio. 6.2.3 Tabela de dados A tabela de dados define o endereamento dos diversos tipos de dados que um controlador pode manipular. A Figura 9 ilustra a diviso da tabela de dados.

Tabela Imagem das Entradas - TIE (bit) Tabela Imagem das Sadas - TIS (bit) Bobinas internas (bit) Registros (byte ou palavra)

Figura 9 Mapa de memria da tabela de dados A estrutura da memria pode ser de dois tipos:
q

Estado: Informaes do tipo ON/OFF representado por 1s e 0s, conforme ilustrado para imagem das entradas e sadas e para as bobinas internas. Bobinas internas representam sadas que no esto disponveis externamente no controlador programvel e portanto no podem acionar dispositivos conectados ao CP.

Nmero ou cdigos: Informaes representadas por um grupo de bits (byte ou palavra).

Tabela Imagem das entradas - TIE


A tabela imagem das entradas armazena o estado das entradas digitais conectadas ao CP. Isto significa que para cada entrada digital tem um bit correspondente na tabela imagem das entradas. Se a entrada estiver energizada (ON), o bit correspondente na tabela imagem 1. Se a entrada estiver desenergizada (OFF), o bit correspondente na tabela imagem 0. Veja a Figura 10. Durante o incio do ciclo de varredura a tabela imagem das entradas atualizada para refletir o estado corrente do dispositivo.

Controlador Lgico Programvel


26

Tabelade Tabelade EntradaAnalgica EntradaDigital


A I1 A I2 A I3 A I4 A I5 A I6 27 5 I1 I2 I3 I4 I5 I6 0 1 0

C P U

I A1 I2 A A I3 I4 A A 5 I I6 A I7 A 8 I A

1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 I O CM

Analgica

Digital

Figura 10 Tabela Imagem das Entradas

Tabela Imagem das sadas - TIS


A tabela imagem das sadas armazena o estado das sadas externas conectadas ao CP. Durante a execuo do programa do usurio, quando o processador interpreta e executa a lgica programada, esta tabela imagem atualizada. De forma similar, para cada ponto de sada externo ao CP deve existir um ponto correspondente nesta tabela imagem. Veja a Figura 11.

Controlador Lgico Programvel


27

Tabela de Sada Digital


Q1 Q2 Q3 Q4 Q5 Q6

Tabela de Sada Analgica


AQ 1 AQ 2 AQ 3 AQ 4 AQ 5 AQ 6

C P U

H Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 C OM A Q1 A Q2 A Q3

A Q4 A Q5 A Q6 A Q7

Digital

A Q8

Analgica

Figura 11 Tabela Imagem das Sadas

Bobinas internas
Bobinas internas, tambm chamadas de bobinas lgicas ou sadas internas, so utilizadas somente para realizar intertravamentos e armazenamentos de estados lgicos internos no programa do usurio. Diferentemente das sadas externas, as bobinas internas no possuem um ponto fsico correspondente no sistema de sadas do CP.

Registros

Controlador Lgico Programvel


28

Os registros so posies de memrias destinadas a armazenar informaes quantitativas. Podem ser utilizados para armazenar valores preset de contadores e temporizadores bem como qualquer dado numrico manipulado pelo CP. 6.2.4 Memria da aplicao A memria da aplicao uma regio com caractersticas de escrita e leitura aleatria. Esta memria destinada a armazenar o programa do usurio. O programa do usurio contm a lgica de controle atravs do dispositivo de programao (geralmente um microcomputador ou notebook) e descarregada na memria do CLP atravs do software de programao especfico do fabricante. Dispositivos de Programao

CPU
Entrada Digital
I1 I2 I3 I4 I5 I6 1 0 0 0 0 0

PROGRAMA

Sada Digital
1 1 0 0 0 0 Q1 Q2 Q3 Q4 Q5 Q6

I1

Q1 ( ) I2 Q2 Q2 ( )

I1

Armazenagem de Dados

Sistema de Entrada / Sada

Figura 12 Programa do usurio

Controlador Lgico Programvel


29

7 SISTEMA DE ENTRADAS E SADAS


O Sistema de Entradas/Sadas fornece a conexo fsica entre o mundo externo (equipamentos de campo) e a unidade central de processamento. Atravs de circuitos de interface, o controlador pode sensorar ou medir quantidades fsicas, independente da mquina ou processo, tais como: proximidade, posio, movimento, nvel, temperatura, presso, corrente e tenso. Baseado no estado sensorado ou no valor medido, e nas instrues do programa de usurio, o processador comanda os dispositivos de controle conectados ao subsistema de sada. Estes dispositivos podem ser vlvulas, motores, bombas, alarmes, etc. Os predecessores dos atuais controladores programveis eram limitados a interfaces de entradas e sadas discretas que s permitiam a conexo de dispositivos tipo ON/OFF. Estas limitaes permitiam ao controlador apenas um controle parcial em muitas aplicaes. Atualmente os controladores possuem uma grande variedade de interfaces (analgicas e discretas) o que permite sua aplicao em praticamente qualquer tipo de controle.

7.1

ENTRADAS E SADAS DISCRETAS


A classe mais comum de interface de entrada/sada o tipo discreto. Esta interface conecta

dispositivos de entrada de campo, que fornecem sinais de entrada independentes e distintos em natureza dos sinais eletrnicos da interface, ou dispositivos de sada para campo que necessitem de sinais independentes e distintos em natureza dos sinais eletrnicos da interface para controlar seu estado. Estas caractersticas limitam a interface em sensorar sinais do tipo ON/OFF ou fechado/aberto. Para esta interface o sinal de entrada essencialmente uma chave que esta aberta ou fechada. Da mesma forma, o controle da sada limitado a dispositivos que somente requerem comutao em dois estados, tais como ON/OFF ou ligado/desligado.

Controlador Lgico Programvel


30

Tabela 1 Entradas e sadas discretas

Dispositivos de Entrada Chaves seletoras Push buttons Fotoeltricos Chaves limites Contatos de rels Chaves de nvel Chaves de proximidade

Dispositivos de Sadas Alarmes Rels de controle Ventiladores Lmpadas Buzinas Motores Vlvulas solenides

Cada entrada ou sada alimentada por alguma fonte de alimentao que podem ser ou no de mesma magnitude ou tipo (p. ex. 120 VAC, 24 VDC). Por esta razo, circuitos de interface so disponveis para vrios valores de tenso AC e DC, como listado na Tabela 2. Quando em operao, se a chave de entrada fechada, a interface de entrada monitora a tenso fornecida e a converte em um sinal aceitvel para o processador indicando o estado do dispositivo. Um estado lgico 1 indica um estado ON ou fechado do dispositivo externo e um estado lgico 0 indica um estado OFF ou aberto do dispositivo. Tabela 2 - Valores padres para interfaces discretas

Entradas 12/48 VAC 12/48 VDC 110/220 VAC

Sadas 12/48 VAC 12/48 VDC 110/220 VAC

Controlador Lgico Programvel


31

Nvel TTL

Contato de rel

O circuito de entrada composto por duas sees principais potncia e lgica. Estas duas sees so normalmente desacopladas eletricamente por um circuito isolador (ver a Figura 13).

LED indicador de status da entrada

L1 L2

Retificador de entrada (apenas AC)

Filtro e detetor de nvel

Isolador

Lgica

Potncia

Lgica

Figura 13 Diagrama em blocos tpico de uma entrada discreta A seo de potncia basicamente realiza a funo de converso da tenso de entrada (110 VAC, 220 VAC, Tc) para um nvel DC compatvel com a interface. Aps o retificador, o sinal DC passa por um circuito filtro que elimina o rudo eltrico e realiza o antibounce do sinal de entrada. Este filtro provoca um atraso de 9-25 ms. O circuito threshold detecta quando o sinal atinge o nvel de tenso especificado para o nvel lgico. Se o sinal excede e permanece acima do limite de tenso por um tempo no mnimo igual ao atraso do filtro, o sinal reconhecido como uma entrada vlida. Quando um sinal vlido detectado, o circuito isolador gera um sinal na seo lgica completando assim uma transio eletricamente isolada de um sinal AC para o nvel lgico correspondente. O sinal DC na seo lgica fica disponvel para o processador atravs do seu barramento de dados. A conexo tpica para os dispositivos de campo mostrada na Figura 14. A maioria dos cartes de entrada utiliza um indicador LED ou Neon para indicar a presena do sinal de entrada (potncia). Se o indicador estiver aceso a chave correspondente deve estar fechada. Um indicador LED pode estar

Controlador Lgico Programvel


32

disponvel para indicar o estado lgico 1 na seo lgica. Desta forma, visualmente pode ser detectado o funcionamento correto do canal de entrada.

A1 A2 A3 A4 A5 A6 A7 A8

B1 B2 B3 B4 B5 B6 B7 B8

C1 C2 C3 C4 C5 C6 C7 C8

D1 D2 D3 D4 D5 D6 D7 D8

INPUT 120VAC 1 2 3 4 5 6 7 8 9 10 11 12 B1 B2 B3 B4 H B5 B6 B7 N B8 A1 A2 A3 A4 H A5 A6 A7 N A8

FUSE

13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

C1 C2 C3 C4 H C5 C6 C7 N C8

D1 D2 D3 D4 H D5 D6 D7 N D8

MODULE IC697MDL250 LABEL 44A726758-004

Figura 14 - Diagrama de conexes tpicas para mdulo de entradas da GE-Fanuc O mdulo de entrada para AC/DC possui todos os circuitos necessrios para a interface entre os dispositivos ON/OFF, tais como, chaves seletoras, limitadores e os nveis lgicos exigidos pelo controlador programvel. Todos os mdulos de entrada contm os circuitos para dois canais de entrada individualmente isolados. Cada canal aceita um sinal AC (48-63 Hz) ou um sinal de entrada

Controlador Lgico Programvel


33

DC de tenso especificada. A lgica 1 quando o sinal de entrada atinge um limite pr determinado. A isolao eltrica entre o sinal de entrada e o sinal lgico obtida atravs de opto-acopladores. De forma similar, um circuito de sada discreto composto por duas sees principais acopladas por um circuito isolador (ver Figura 15). Durante uma operao normal, o processador envia para o circuito lgico o estado da sada de acordo com a lgica do programa. Se a sada energizada, o sinal lgico 1 proveniente do processador alimenta a seo lgica de forma a energizar o dispositivo de campo.

LED indicador de status da sada

Do barramento do CLP L1 Lgica Isolador Chave Eletrnica L2

Lgica

Potncia

Figura 15 Diagrama em blocos tpico de uma sada discreta Em um mdulo de sada AC, a seo de potncia geralmente usa um Triac ou um SCR para comutar a carga. A chave AC normalmente protegida por um circuito RC (snubber) e freqentemente um MOV - Metal Oxide Varistor, que so utilizados para limitar o pico de tenso a um valor seguro e tambm para evitar que rudos eltricos perturbem a operao do circuito. Um fusvel pode ser fornecido no circuito de sada para evitar que uma corrente excessiva danifique o elemento comutador. So fornecidos indicadores para sinalizar o estado lgico e o circuito de potncia. Na presena de fusveis o seu estado sinalizado por indicadores. O circuito de sada DC tem uma operao funcional similar sada AC, entretanto, o circuito de potncia geralmente emprega um transistor de potncia para chavear a carga.

Controlador Lgico Programvel


34

A1 2 3 4 5 6 7 8 B1 2 3 4 5 6 7 8 F

OUTPUT
RELAY N.O. 2 AMP 1 2 3 4 5 6 7 8 9 10 1 12 13 14 15 16 17 18 19 20 B8 44A726782-015 FOR USE WITH IC693MDL940 B6 B7 B5 B4 B2 B3 B1 A8 A6 A7 A5 A4 A2 A3 A1

Figura 16 - Conexes entre mdulo de sada discreta e dispositivos de campo Os mdulos de sada a contato de rel permitem que dispositivos de campo sejam comutados por contatos NA e NF de rels. Os contatos podem ser usados para comutar cargas AC ou DC, mas normalmente so utilizados em aplicaes tais como: Multiplexao de sinais analgicos; Comutao de pequenas correntes a baixa tenses; Interface para controle de diferentes nveis de tenso.

7.1.1 Lgica positiva e Lgica negativa Os mdulos de entrada e sadas DC podem ser classificados como Lgica Positiva ou Lgica Negativa, cujas caractersticas so descritas a seguir.

Controlador Lgico Programvel


35

Entradas Discretas DC
q

Lgica Positiva o dispositivo externo aplica o plo positivo da fonte na entrada digital. Tambm chamada de entrada tipo P

Lgica negativa o dispositivo externo aplica o plo negativo da fonte na entrada digital. Tambm chamada de entrada tipo N.

A Figura 17 ilustra as conexes fsicas para a entrada DC. Na lgica positiva, o dispositivo externo conectado entre o potencial positivo da fonte e o terminal de entrada do mdulo, assim o mdulo de entrada absorve corrente do dispositivo externo. Na lgica negativa, o dispositivo externo conectado entre o potencial negativo e o terminal de entrada do mdulo, assim o mdulo de entrada fornece corrente para o dispositivo externo.

24 VDC

Entrada Lgica Positiva (tipo P)

Controlador Lgico Programvel


36

24 VDC

Entrada Lgica Negativa (tipo N) Figura 17 Entrada Discreta DC: lgica positiva e negativa Sadas Discretas DC
q q

Lgica positiva a carga recebe o plo positivo da fonte de alimentao Lgica negativa a carga recebe o plo negativo da fonte de alimentao

A Figura 18 ilustra as conexes fsicas para a sada discreta DC. Na lgica positiva, a carga conectada entre o potencial negativo da fonte e o terminal de sada do mdulo, assim o mdulo de sada fornece corrente para a carga. Na lgica negativa, a carga conectada entre o potencial positivo e o terminal de sada do mdulo, assim o mdulo de entrada consome corrente da carga.

Controlador Lgico Programvel


37

24 VDC

Entrada Lgica Positiva (tipo P)

24 VDC

Entrada Lgica Negativa (tipo N) Figura 18 Sada Discreta DC: lgica positiva e negativa

Controlador Lgico Programvel


38

A Figura 19 ilustra exemplos de caractersticas de diversos mdulos de entsrada e sadas discretas da GE-FANUC.

Controlador Lgico Programvel


39

Figura 19 Especificao de Mdulos de Entrada e Sada Discreta da GE-FANUC.

Controlador Lgico Programvel


40

7.2

ENTRADAS E SADAS DE DADOS NUMRICOS


Em geral, a interface para dados numricos pode ser classificada em dois grupos: interfaces para

dispositivos digitais multi-bit e interfaces para dispositivos analgicos. A interface multi-bit permite que um grupo de bits possa ser tratado como uma nica unidade de entrada ou sada, por exemplo, entradas/sadas BCD. A interface analgica permite que grandezas analgicas possam ser lidas pelo controlador ou que o controlador possa modificar uma grandeza analgica atuando em dispositivos especiais. Devido evoluo das interfaces homem-mquina, as chaves multi-bits esto sendo menos utilizadas. A entrada para registro ou interface de entrada BCD fornece uma comunicao paralela entre o processador e dispositivos de entrada numricos. Esta interface geralmente utilizada para entrada de parmetros em localizaes especficas na memria chamada de registros. Os parmetros de entrada tpicos so valores presets de temporizadores, contadores e valores set-points. Tabela 3 - Dispositivos de entradas/sadas numricas Entradas Transdutor de temperatura Transdutor de presso Clulas de carga Transdutores de umidade Transdutores de fluxo Chaves thumbwheel Leitoras de cdigos de barra Sadas Vlvulas proporcionais Atuadores Registradores Drivers de motores Medidores analgicos Displays 7 segmentos Painis inteligentes

Esta interface geralmente aceita tenses na faixa de 5 VDC (TTL) a 24 VDC e so agrupados em um mdulo contendo 16 ou 32 entradas que corresponde a 1 ou 2 registros I/O. Instrues de manipulao de dados, como GET ou similar, so utilizadas para acessar os dados numricos de entrada.

Controlador Lgico Programvel


41

A interface de sada numrica fornece uma comunicao paralela entre o processador de dispositivos de sada, tal como display de 7 segmentos. Instrues como PUT ou similares so utilizadas para colocar os dados disponveis nas sadas. A interface de entrada analgica contm os circuitos necessrios para aceitar sinais analgicos de tenso ou corrente dos dispositivos de campo. A tenso ou corrente de entrada convertida para um cdigo digital proporcional ao valor analgico, atravs de um conversor analgico digital (ADC). O cdigo digital gerado armazenado na memria do controlador como um registro para uso posterior. A Figura 20 apresenta o diagrama de blocos de uma entrada analgica. O valor analgico geralmente expresso como um valor BCD ou decimal em uma faixa que depender da implementao realizada pelo fabricante. Por exemplo poderemos ter os seguintes casos: Valor analgico de 4 a 20 mA na faixa de 0 a 32000; Valor analgico de 0 a 5 V na faixa de 0000 a 0255.

ANALOG TO DIGITAL CONVERTER

SHIELD

IN JMP

PROCESSOR

D/A

AMP

MUX

FILTER RTN COM POWER SUPPLY GROUND CASE GROUND GND

Figura 20 - Diagrama de blocos de uma entrada analgica A interface para sadas analgicas recebe do processador dados numricos que so convertidos em valores proporcionais de corrente ou tenso e aplicados nos dispositivos de campo. A interface contm um conversor digital analgico (DAC) e realiza a isolao atravs de opto-acopladores.

Controlador Lgico Programvel


42

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 GND DC ( H ) FOR 115VAC DC ( N ) FOR 115VAC NC IN JMP INPUT 1 RTN GND COM IN JMP INPUT 2 RTN IN JMP INPUT 3 RTN GND COM IN JMP INPUT RTN 4 I I OUTPUT 5 VOUT GND COM I I OUTPUT 6 VOUT

POWER

LOAD 2000 OHMS (MINIMUM)

LOAD 0-300 OHMS

Figura 21 - Diagrama de conexo de entradas e sadas analgicas As faixas de valores de tenso e corrente para entradas e sadas analgicas mais utilizadas na indstria so: -10 a +10 VDC, -5 a +5 VDC, 0 a +5 VDC, 0 a +10 VDC, +1 a +5 VDC, 0 a 20 mA e 4 a 20 mA. Os conversores A/D e D/A normalmente so de 8, 10 ou 12 bits. As conexes de um mdulo de entradas e sadas analgicas podem ser vistas na Figura 21. A Figura 22 ilustra as caractersticas de diversos mdulos de entradas e sadas analgicas da GE-FANUC.

Controlador Lgico Programvel


43

A relao de converso entre o valor analgico e o valor digital dada pela seguinte expresso genrica: VA VAMIN VD VDMIN = VAMAX VAMIN VDMAX VDMIN Onde: VA = Valor analgico correspondente ao valor digital VD VD = Valor digital correspondente ao valor analgico VA VAMIN = valor mnimo do sinal analgico VAMAX = valor mximo do sinal analgico VDMIN = valor mnimo do sinal digital VDMAX = valor mximo do sinal digital

Controlador Lgico Programvel


44

Figura 22 Especificao de Mdulos de Entradas e Sadas Analgicas da GE-FANUC.

7.3

MDULOS ESPECIAIS
Os mdulos vistos anteriormente so os mais encontrados nas aplicaes de controladores

programveis. Entretanto em algumas aplicaes so necessrios mdulos especiais, tais como, interface para termopares, gerao de mensagens, execuo de algoritmos PID, comunicao em rede, etc.

Controlador Lgico Programvel


45

Estes mdulos especiais, tambm chamados de mdulos inteligentes, incorporam um microprocessador de forma que a tarefa a ser realizada pelo mdulo fica independente da varredura do processador. 7.3.1 Mdulo para termopar O mdulo de entrada para termopar aceita sinais provenientes diretamente do transdutor. Um exemplo o mdulo que aceita sinais de termopares tipo J (ver Figura 23) fornecendo a compensao de junta fria internamente. A operao desta interface similar a entrada analgica com exceo de que os sinais de baixo nvel dos termopares so aceitveis (aproximadamente 43 mV na temperatura mxima). Estes sinais so filtrados, amplificados e digitalizados por um conversor e ento enviados ao processador sob o comando do programa de controle do usurio. + Junta fria + -

Figura 23 Mdulo de Entrada para Termopar

7.3.2 Mdulo PID Numa planta industrial, o mdulo PID permite combinar o controle discreto com o controle analgico. Em algumas verses de controladores no existe um mdulo especfico para o controle PID (Proporcional-Integral-Derivativo) sendo que o controle realizado pelo prprio processador, atravs de instrues no programa de usurio. Quando se trata de um mdulo PID, este conectado no rack do controlador como se fosse um carto comum. A finalidade em se empregar este mdulo em uma planta industrial controlar uma

Controlador Lgico Programvel


46

determinada grandeza fsica (temperatura, vazo, etc.) continuamente de modo que essa grandeza assuma um valor preestabelecido (set-point). O mdulo dotado de um microprocessador, memrias, conversores A/D e D/A e todo o circuito necessrio para interface com os dispositivos de campo utilizados para controle. Basicamente o controle PID um controle em malha fechada que compara o valor da varivel de medida (VM) com o valor desejado ou valor de referncia, tambm chamado de ponto de ajuste (PA). O erro resultante (e = PA - VM) ento processado seguindo uma combinao das parcelas proporcional, integral e derivativa. O resultado um valor, varivel de atuao (VA), a ser aplicado no elemento atuador. O controle atua de forma a minimizar o erro, isto , a varivel de processo tende para o valor de referncia. O mdulo executa o controle independente do controlador. O controlador programvel interage com o mdulo atravs de instrues de transferncias de blocos de palavras. O controlador envia ao mdulo os parmetros de ajuste de controle, tais como, ganhos, valores de set-point, valores de alarme de alta e baixa e limites mximos de sada. O controlador pode obter do mdulo os dados referentes ao processo, tais como, valores de entradas e sadas analgicas, limites de alarme e diagnsticos do prprio mdulo. PID

Fonte

CPU

Transferncia de dados

Figura 24 Mdulo PID

Controlador Lgico Programvel


47

7.3.3 Mdulos de entradas/sadas remotos Em sistemas de maior porte usual a instalao de mdulos de entradas/sadas distante do controlador programvel. Um subsistema de entradas/sadas remoto composto por fontes de alimentao, mdulos I/O e adaptadores de comunicao. Existem duas formas de conexo dos racks remotos ao processador: configurao em barramento ou em estrela. A Figura 25 ilustra a configurao em barramento. A distncia que o rack remoto pode ser colocado em relao ao processador depende do fabricante e da configurao.

CPU BUS CONTROLLER HAND-HELD MONITOR COMMUNICATIONS BUS REMOTE DROP

P S

S C A N N E R I/O BLOCKS

Figura 25 - Sistema de E/S remoto As entradas/sadas remotas oferecem vantagens em termos de fiao de campo e custos de manuteno em grandes sistemas. O controlador pode ficar instalado em uma sala de controle ou em um ponto estratgico da planta conectado aos racks remotos atravs de um link de comunicao (cabo coaxial ou par de fios tranados). A distribuio de entradas/sadas ainda permite a instalao e o startup de uma forma modular e independente, facilitando o entendimento e a soluo dos problemas iniciais bem como as manutenes futuras.

Controlador Lgico Programvel


48

8 LINGUAGEM DE PROGRAMAO BSICA


Existem 5 tipos bsicos de linguagem que normalmente so encontradas em controladores programveis e so padronizadas pela norma IEC 61131-3: Linguagens de rels ou diagrama de contatos; Linguagens por blocos funcionais; SFC - Sequential Function Chart (diagramas de funes seqenciais); Lista de instrues; Texto estruturado. Dos 5 tipos apresentados acima, a mais difundida e encontrada em quase todos os controladores a linguagem de rels. Os blocos funcionais tambm podem ser encontrados com facilidade. Sendo esta ltima uma extenso da primeira no sentido de incluir instrues mais poderosas e tornar mais claro sua programao, esta tem sido a linguagem preferida dos fabricantes. Atualmente o SFC vem recebendo vrias implementaes nos melhores CPs, afirmando-se como uma linguagem ideal para processos seqenciais. A linguagem de rels uma representao grfica da linguagem de programao do controlador. Esta linguagem utilizada para implementar os programas de controle de mquinas e processos. Conforme o prprio nome sugere as instrues bsicas se originaram no diagrama eletromecnico, cujo elemento principal de controle o rel, especificamente sua bobina e seus contatos. Por ser a primeira linguagem utilizada pelos fabricantes muito difundida e recebeu vrios nomes desde sua criao, entre eles citamos: diagrama de escada ("ladder"), diagrama de contatos e linguagem de contatos. Na programao de contatos de rels, dentro do formato de programao, qualquer arranjo de contatos normalmente aberto ou fechado pode ser utilizado. Pode-se fazer tantas referncias quanto se desejar a uma determinada bobina atravs de uma instruo NA ou NF. As conexes ou espaos horizontais e verticais podem ser programadas. Estas caractersticas dependem exclusivamente do ambiente utilizado para programar o controlador, isto , do software de programao que normalmente fornecido pelo fabricante do controlador. Observa-se porm que isto significa ocupao de rea de memria. Portanto recomenda-se manter um estilo de programao que procure otimizar esta rea. Procure programar instrues prximas, evitando conexes desnecessrias.

Controlador Lgico Programvel


49

Bobinas e contatos so smbolos utilizados nesta linguagem. Os smbolos de contatos programados em uma linha representam as condies que sero avaliadas de acordo com a lgica, e como resultado determinaro o controle de sada que ser representado por um smbolo de bobina. Recomenda-se que as bobinas de sada (externa ou interna) sejam programadas apenas uma vez no programa, com exceo das especiais, porm podem ser feitas tantas referncias quantas forem necessrias a determinada bobina. A forma de execuo da lgica programada muito dependente de como o fabricante implementou as instrues. Alguns fabricantes definem uma malha ou tambm chamada de lgica de programao. Nesta lgica podem ser programadas as instrues da linguagem e so definidas linhas de programao, onde o usurio poder programar suas instrues bsicas ou blocos, porm existe um nmero limite para o nmero de linhas que podem ser programadas. Normalmente este nmero de linhas define o nmero de bobinas que podem ser utilizadas e que podem funcionar em um formato quase paralelo.

8.1

ENDEREAMENTO
Na programao, cada contato e bobina referenciado com um endereo que identifica o que

est sendo avaliado e o que est sendo controlado. Estes endereos so as referncias que permitem localizar na tabela de dados do controlador o estado de uma bobina interna, de sada ou ponto de entrada. Este endereo exclusivo para cada tipo de controlador e no existe um padro de endereamento entre os fabricantes. Para se programar um controlador um primeiro passo analisar o tipo de endereamento utilizado por ele.
R0000 A0010 %I0002 %Q0010 LS18 PS10 030 10 2000

R0010

%Q0010

PS10

2000

Controlador Lgico Programvel


50

Exemplo de endereamento proprietrio


Rack - 0 a 7 (octal) 0 - Sada 1 - entrada Posio do Grupo dentro do Rack - 0 a 7 (octal)

Endereamento das memrias 0XX - imagem das saidas 1XX - imagem das entradas 2XX - registros

XXX

XX
ponto no grupo 00 - 07 10 - 17

3 00 10

Rack 0

003
07 17

15 Figura 26 - Formas de endereamento A numerao utilizada pode ser decimal, octal ou hexadecimal. Dependendo do ambiente de programao utilizado pode-se atribuir um apelido ao endereo (tag, nickname ou etiqueta) que lembre ao programador referncias com a funo de "campo". A Figura 26 ilustra algumas formas de endereamento. A forma de endereamento na parte inferior da figura mantm uma relao correspondente disposio fsica do ponto no sistema de E/S facilitando a localizao do ponto pelo pessoal de manuteno.

8.2

CONTINUIDADE LGICA
Para que uma sada seja energizada necessrio que exista um fluxo contnuo de energia (da

esquerda para direita, de baixo para cima ou de cima para baixo) em ao menos uma linha at a bobina que representa a sada. Isto chamado de continuidade lgica. Este conceito similar continuidade de corrente eltrica em um circuito eletromecnico. Embora os smbolos e instrues possam diferir muito entre os controladores, as semnticas das instrues descritas a seguir so genricas e se aplicam a todos os controladores.

Controlador Lgico Programvel


51

R0000

R0010

A0010

R0000

R0060

R0010

A0010

Figura 27 - Continuidade Lgica

8.3

MODELO VIRTUAL DO CLP


Para facilitar o entendimento do funcionamento do controlador programvel considere que

internamente existam vrios rels virtuais, isto , para cada ponto de entrada externa, sada externa e referncia interna (bits internos ou rel auxiliar) existe um rel virtual conforme ilustrado na Figura 28. Cada rel virtual possui um conjunto ilimitado de contatos NA e NF.
Sistema de Entradas Sistema de Sadas

Rels entrada

Rels sada

Rels internos

Figura 28 Modelo Virtual do CLP

Controlador Lgico Programvel


52

8.4

INSTRUO CONTATO NORMALMENTE ABERTO - NA


O contato normalmente aberto programado quando a presena do sinal referenciado pelo

endereo necessrio para ligar uma sada. Quando o controlador encontra esta instruo, o estado do bit cujo endereo referenciado na instruo examinado para uma condio verdadeira ou energizada - ON. Se o estado for verdadeiro ou energizado o contato normalmente aberto fechar e permitir a continuidade lgica (fluxo de energia). Se o estado for falso ou desligado - OFF, ento o contato normalmente aberto manter o seu estado programado (OFF) no permitindo o fluxo de energia. Pode-se raciocinar com o estado da BOBINA, de forma similar ao rel eletromecnico, pois quando a bobina do rel eletromecnico energizada os contatos NA fecham, permitindo continuidade de corrente eltrica. O endereo referenciado pode representar uma entrada externa, sada externa ou sada interna.
24 VDC
%I1 %Q1

24 VDC

K
Pb1 %Q2

%I5 Pb2

%I0001

%I0005

%Q0001

%Q0001

Figura 29 - Exemplo de Instruo NA

Controlador Lgico Programvel


53

8.5

INSTRUO CONTATO NORMALMENTE FECHADO - NF


O contato normalmente fechado programado quando a ausncia do sinal referenciado

necessria para que a sada seja ligada ou energizada - ON. Quando o controlador encontra esta instruo, o endereo referenciado examinado para uma condio de desligado ou desenergizado. Se, quando examinado, o endereo referenciado est desenergizado, ento o contato normalmente fechado permanecer fechado permitindo a continuidade lgica. Se o endereo referenciado ON, o contato normalmente fechado abrir interrompendo o fluxo de energia. De forma similar podemos raciocinar com o estado da BOBINA de um rel eletromecnico, onde se a sua bobina estiver desenergizada os seus contatos NF permanecero fechados permitindo a continuidade da corrente eltrica. O endereo referenciado pode representar uma entrada externa, sada externa ou sada interna.

24 VDC
%I1 %Q1

24 VDC

Pb1 %Q2

%I5 Pb2

%I0001

%I0005

%Q0001

%Q0001

Figura 30 - Exemplo da Instruo NF

Controlador Lgico Programvel


54

8.6

INSTRUO DE ENERGIZAR BOBINA


Esta instruo programada para controlar tanto uma sada externa quanto uma bobina interna.

Se a linha qual est conectada tem continuidade lgica, a sada referenciada energizada. Neste caso, os contatos NA com o mesmo endereo fecharo e os contatos NF abriro. Se a sada desenergizada, qualquer contato normalmente aberto abrir e qualquer contato normalmente fechado fechar. 8.6.1 Exemplo de programao: Partida de um motor A Figura 31 ilustra o esquema de controle de partida de um motor utilizando rels eletromecnicos. Pede-se o esquema de ligao e o programa do controlador programvel para realizar a mesma funo.

Liga

K1 Desliga Permisso

K2

K3 K

Sobrecarga

L1

L2 M

Figura 31 - Partida de Motor com circuito convencional

Soluo:
Quando se considera o controlador programvel como elemento de controle em uma aplicao deve-se inicialmente identificar quais sero as sadas e entradas para o controlador. As chaves e botoeiras externas devero ser adequadamente conectadas ao mdulo do CP, bem como os elementos de atuao e sinalizao. No caso, teremos como entrada para o controlador as botoeiras Liga, Desliga, Permisso e o Contato de Sobrecarga. Como sada teremos as lmpadas de sinalizao L1 e L2 e o contator do motor. Neste caso uma sada do CP utilizada para energizar a bobina do contator de potncia.

Controlador Lgico Programvel


55

A Figura 32 ilustra o hardware e o software necessrio para o controlador.

110 VAC

L2 K

L1

Sadas Digitais

CPU
Entradas Digitais Liga

Desliga Dispositivo Permisso Liga Sobrecarga Desliga Permisso Sobrecarga K L1 L2 Endereo no CP Entrada Sada

Figura 32 - Soluo atravs de Controlador Programvel

8.6.2 Alterao do exemplo anterior Na soluo anterior foi considerado que uma vez dado o comando para ligar o contator de potncia este ligar. Esta soluo no prev que pode ocorrer uma falha externa na energizao da bobina do contator, neste caso ocorrer uma inconsistncia de estado pois o CP operar como se o motor estivesse ligado mas por problemas fora do CP isto no ser verdade. Para evitar esta situao deve ser previsto uma realimentao do estado do contator. Isto implica em utilizar um contato auxiliar do contator como um ponto de entrada no mdulo do CP.

Controlador Lgico Programvel


56

Uma terceira alterao que pode ser feita considerar a necessidade de sinalizar ao operador o estado da permisso, isto , colocar uma lmpada para sinalizar quando se pode ligar o motor. Realizar esta modificao e comparar com a soluo convencional implementada em rels. Acrescentar no circuito anterior uma sinalizao para indicar o estado da sobrecarga e comparar a soluo obtida por rel e por CP.

Liga

K1 1 Desliga Permisso

K1

K1 3

Sobrecarga

K1

L1

L2

Controlador Lgico Programvel


57

110 VAC Liga Desliga Permisso Sobrecarga K

K L2 K K L1

L1

Sadas Digitais

CPU
Entradas Digitais

L2

Liga

Desliga

Permisso Dispositivo Sobrecarga Liga Desliga Permisso Sobrecarga K L1 L2 Endereo no CP Entrada Sada

Figura 33 - Circuito modificado de partida de um motor.

8.6.3 Proposta de Exerccio Considere que no exemplo anterior deseja-se modificar o circuito para controlar o motor atravs de uma chave chamada de JOG que liga o motor ao ser pressionada e desliga o motor ao ser despressionada. Tambm dever ser evitado acionar o motor quando a condio de sobrecarga estiver ativada e o motor somente poder ligar se a condio permisso estiver ativa.
Soluo:

Controlador Lgico Programvel


58

8.6.4 Exemplo de programao: Lmpadas Seqenciais Considere as trs lmpadas e suas respectivas botoeiras mostradas na figura abaixo. Deseja-se implementar um circuito de controle de acionamento das lmpadas tal que elas sejam acionadas na ordem mostrada, isto , elas devem ser acesas e apagadas da esquerda para a direita. Uma vez iniciada a seqncia ela deve ser finalizada. Qualquer operao fora da seqncia deve ser ignorada. Considere todas as lmpadas apagadas no estado inicial.

L1

L2

L3

B1

B2

B3

Soluo:

Controlador Lgico Programvel


59

8.6.5 Implementao prtica Implementar os programas desenvolvidos no ambiente de desenvolvimento Isagraf. Siga os passos fornecidos no item 9 Prtica com o ISAGRAF.

8.7

INSTRUO DE ENERGIZAR BOBINA COM RETENO


Esta instruo uma variao da anterior, incluindo uma caracterstica similar a encontrada em

flips-flops. Esta instruo deve ser programada quando for necessrio manter a sada energizada aps a continuidade da linha de programao ser perdida. Isto , uma vez energizada a bobina permanecer energizada at que um comando a desligue (ver prxima instruo). O smbolo utilizado para esta instruo o mesmo da bobina comum, com adio de uma letra interna ao smbolo. Alguns fabricantes utilizam "L" de liga ou L do ingls " latch" ou o "S" do ingls "set". A Figura 34 ilustra esta instruo e o grfico de estado no tempo.

8.8

INSTRUO DE DESENERGIZAR BOBINA COM RETENO


Esta instruo usada sempre que se quer desenergizar uma bobina com reteno, sendo a nica

forma de faz-lo, quando a linha do programa apresentar continuidade lgica. O smbolo para esta instruo o mesmo para bobina convencional adicionando-se uma letra. Alguns fabricantes utilizam D de desliga ou do ingls U (unlatch) ou R (reset) respectivamente. A Figura 34 ilustra uma aplicao desta instruo e seu diagrama de tempo.

Controlador Lgico Programvel


60

R0000 R0000 R0060

(S)
R0060

R0001

R0060

R0001

(R)

Figura 34 - Ilustrao da instruo de bobina com reteno

8.9

OUTROS TIPOS DE BOBINAS


Dependendo do CLP so disponibilizados outros tipos de bobina, as mais utilizadas so:
q q q

Bobina negada ( \ ) : complementar a bobina convencional Bobina retentiva ( M ) : o estado da bobina memorizado em casos de falta de energia Bobina pulso ( ) : a bobina energizada pelo perodo de um ciclo de varredura

8.10

CONEXO DE CHAVE NA E NF AO CLP


A conexo de uma chave com dois contatos, NA e NF, implementada no CP atravs de uma

nica ligao. A lgica adequada para o funcionamento programada pelo usurio de acordo com a sua necessidade e com o tipo de contato conectado na entrada. A Figura 35(a) ilustra um exemplo onde a chave PB10 tem dois contatos, NA e NF. Deseja-se utilizar o contato NA para energizar a lmpada piloto PL20, enquanto o contato NF energizar a lmpada PL21. Na implementao deste circuito no CP, somente uma entrada precisar ser conectado interface de entrada, mesmo que a chave tenha dois contatos. Uma vez conectado, o usurio programa o CP para executar a funo requerida. indiferente o tipo de contato conectado, sempre se poder programar o CP atravs de uma nica informao.

Controlador Lgico Programvel


61
L1 L2

PB10

PL20

Pl21

a) Lgica implementada por "hardware" PB10


R0000 R0000 PL20 R0060 PL21 R0061

R0000

R0060

( )
R0061

( )
b) Contato NA conectado ao CP

PB10

R0000

R0060

PL20 R0060 PL21 R0061

( )
R0000 R0000 R0061

( )

c) Contato NF conectado ao CP

Figura 35 - Conexes tpicas de chaves NA e NF no CP Se o contato NA de PB10 conectado no mdulo de entrada, a programao feita de acordo com a Figura 35(b). Se o contato NF conectado ao mdulo a programao a inversa como ilustrado na Figura 35(c). A lgica de programao invertida porque durante a operao normal (chave pressionada) o contato de PB10 est aberto e deve ser testado por um estado lgico 1 ou seja se energizado, necessitando portanto de um instruo NA. E quando se deseja testar por um estado lgico 0, se desenergizado, utiliza-se a instruo NF.

8.11

INSTRUO TEMPORIZADOR
A instruo temporizador uma instruo que realiza a mesma funo do rel de tempo e outros

dispositivos temporizadores. Geralmente condicionados por instrues do tipo NA e NF os temporizadores quando habilitados geram um intervalo de tempo e ativam um bit no final do intervalo.

Controlador Lgico Programvel


62

Cada instruo de temporizao tem dois registros associados que devem armazenar o valor pr-selecionado e o valor acumulado. Portanto, um temporizador sempre ir ocupar dois registros do controlador. Estes registros so definidos da seguinte forma: Valor acumulado (AC): armazena o valor do tempo decorrido desde a habilitao do temporizador, isto , a energizao da bobina do temporizador. Valor Pr-selecionado (PR): este valor deve ser definido pelo usurio, define o intervalo de tempo desejado. Estes valores so armazenados na tabela de dados no formato BCD (decimal codificado em binrio) ou ponto flutuante. A base de tempo tambm pode variar de controlador para controlador, sendo que alguns permitem a seleo na instruo e outros mantm uma base de tempo fixa. Normalmente a base de tempo definida entre 0.01, 0.1, e 1 segundos (depende do tipo de CP). O temporizador conta intervalos de tempo transcorridos na base de tempo selecionada e armazena essa contagem no registro definido para valor acumulado (AC). Quando o valor AC for igual ao valor PR, um bit energizado ou desenergizado, dependendo do tipo de instruo de temporizador. Este bit, normalmente, utilizado como contatos NA ou NF, ou bobinas externas ou internas. A seguir so apresentados dois exemplos de instruo temporizador encontrados em controladores programveis. 8.11.1 Exemplo de temporizador baseado em contatos de rels Neste caso a instruo temporizador implementada utilizando os smbolos de bobinas e contatos de rels. A Figura 36 abaixo ilustra como est organizado o registro que controla o temporizador e um exemplo de programao.
Valor acumulado na forma BCD

17 16

15

14

13

12 11

10

07

06

05

04

03 02

01 00

BIT INSTANTNEO - Este ser energizado sempre que as condies forem verdadeiras.

BIT TEMPORIZADO - Este bit ser energizado ou desenergizado quando AC = PR

Controlador Lgico Programvel


63

110 02

200

(TON)
B 1.0 PR 009 AC xxx

200

010

( )
15 04

1 110.02 0

1 200.17 0

Valor preset

Valor acumulado

200.15

9s

Figura 36 - Instruo de temporizador baseado em contatos de rels

8.11.2 Bloco temporizador do controlador programvel GE-FANUC 9030 Blocos funcionais so instrues de alto nvel que permitem ao usurio programar funes mais complexas usando a Linguagem de Rels. Alm do que, os blocos facilitam a programao e a depurao do programa. As instrues bsicas NA e NF so utilizadas para habilitar ou no os blocos funcionais. Os blocos possuem registros para armazenamento de dados utilizados pela instruo: valor pr-set, valor acumulado, base de tempo, etc.

Controlador Lgico Programvel


64

HABILITA

TMR
0,1 seg 0,01 seg 0,001 seg

FLUXO DE SADA

%I, %Q, %M, %T, %G, %R, %AI, %AQ, CONST

PV

??????? %R CV PV Palavra de Controle

Referncia interna Valor corrente armazenado em %R Valor preset armazenado em %R + 1 Armazenado em %R + 2

Figura 37 Bloco Temporizador no-retentivo do CP GE-FANUC 9030

HABILITA

OFDT
0,1 seg 0,01 seg 0,001 seg

FLUXO DE SADA

%I, %Q, %M, %T, %G, %R, %AI, %AQ, CONST

PV

??????? %R CV PV Palavra de Controle

Referncia interna Valor corrente armazenado em %R Valor preset armazenado em %R + 1 Armazenado em %R + 2

Figura 38 Temporizador na desenergizao do CP GE-FANUC 9030

Controlador Lgico Programvel


65

HABILITA

ONDTR

FLUXO DE SADA

0,1 seg 0,01 seg 0,001 seg

Ativa
%I, %Q, %M, %T, %G, %R, %AI, %AQ, CONST

R PV

??????? %R CV PV Palavra de Controle

Referncia interna Valor corrente armazenado em %R Valor preset armazenado em %R + 1 Armazenado em %R + 2

Figura 39 Temporizador retentivo do CP GE-FANUC 9030

8.11.3 Exemplo de temporizador baseado em bloco funcional (IEC61131-3) A Figura 40 ilustra um bloco genrico onde observamos posies ou clulas do bloco que devem ser definidas pelo programador na configurao do bloco. O nmero de entradas e sadas depender do bloco funcional, as entradas representam linhas de controle do bloco que sero ativadas ou no de acordo com a lgica que o usurio quer implementar. As sadas representam o resultado lgico da operao do bloco e so utilizadas para energizar bobinas ou entradas de outros blocos. O funcionamento do bloco segue o conceito j introduzido anteriormente. Quando o bloco estiver no estado de energizado (entrada IN energizada) o registro que contm o valor acumulado ET incrementado segundo a base de tempo. Quando o valor ET for igual ao valor PT, valor prselecionado, a sada EQ do bloco energizada.

Controlador Lgico Programvel


66

TON IN Q

IN digital

energizado - inicia o temporizador desenergizado - para e zera o temporizador

PT - valor pr-set do temporizado PT ET - valor acumulado do tempo ET Q - saida energizada quando ET = PT Figura 40 - Exemplo de um bloco temporizador genrico (IEC 61131-3) A sada Q poder fornecer "energia" a qualquer elemento conectado direita do bloco, observando o funcionamento do temporizador. A Figura 41 ilustra exemplos de aplicao do bloco temporizador.

X IN

TON Q

sada_temp

tem-pre

PT

ET

tem-ac

Figura 41 - Exemplo de aplicao do bloco Temporizador

8.11.4 Implementao de um desligamento temporizado no exemplo do motor Modifique o programa desenvolvido no Isagraf de forma que o motor uma vez acionado possa ser desligado automaticamente aps um certo tempo, por exemplo, 10 s. Soluo:

Controlador Lgico Programvel


67

8.11.5 Partida estrela-triangulo de motor Faa um programa para a partida estrela triangulo de um motor e implemente no Isagraf. Soluo:

Controlador Lgico Programvel


68

8.12

INSTRUO CONTADOR
A instruo contador utilizada para contar eventos que so representados no controlador como

transies de falso para verdadeiro. A instruo armazena este valor no seu valor acumulado AC. Existem trs tipos de instruo de contador: contador crescente, contador decrescente e contador bidirecional. As instrues de contador diferem das instrues de temporizador pelo fato de no terem base de tempo. A instruo contador crescente incrementa o valor acumulado AC para cada transio falso/verdadeiro da linha. Quando o acumulador atinge o valor presetado sua sada energizada e a instruo continua a incrementar seu valor AC. A instruo de contador decrescente subtrai uma unidade do seu valor acumulado para cada transio falso/verdadeiro da linha. Se o valor AC cair abaixo de 000, sua sada energizada para indicar esta condio. Em alguns controladores a instruo de contador decrescente forma um par com a instruo de contador crescente, obtendo-se assim um contador bidirecional. 8.12.1 Exemplo de instruo contador baseada em contatos de rels Os quatros bits restantes no registro de valor acumulado - AC so utilizados como bits de estado, sendo:
bit 14 (bit de overflow/underflow) - energizado quando o valor AC do CTU exceder 999

ou o valor AC do CTD passar abaixo de 000.


bit 15 (bit de executado) - energizado quando a contagem for alcanada ou excedida,

isto quando o valor AC for maior ou igual ao valor PR.


bit 16 (bit instantneo CTD) - energizado quando a condio da linha da instruo CTD

for verdadeira.
bit 17 (bit instantneo CTU) - energizado quando a condio da linha da instruo CTU

for verdadeira.

Controlador Lgico Programvel


69

Contador Crescente
Esta instruo incrementa o valor acumulado AC para cada transio falso/verdadeiro da linha. Quando o acumulador atinge o valor presetado o bit 15 energizado e a instruo continua a incrementar seu valor AC. O bit 17 energizado de acordo com a continuidade lgica da linha. Se o valor AC passar de 999, o bit 14 energizado para indicar uma condio de overflow e o CTU continua a contar no sentido crescente a partir de 000. o bit 14 pode ser examinado para colocar contadores em cascata para contagens maiores que 999.

Instruo de rearme do contador


A instruo de Rearme do Contador - (CTR) permite zerar o valor acumulado e levar o estado dos bits de controle para zero. Esta instruo ativada na presena da continuidade lgica da linha, deve-se usar o mesmo endereo do registro que a instruo CTU. Quando programado os valores AC e PR aparecem automaticamente na instruo.

Instruo de Contador decrescente


A instruo de contador decrescente (CTD) subtrai uma unidade do seu valor acumulado para cada transio falso/verdadeiro da linha. Cada vez que a linha CTD passar a verdadeira, o bit 16 energizado. Quando o valor acumulado for igual ou maior que o valor PR, o bit 15 energizado. Se o valor AC cair abaixo de 000, o bit 14 energizado para indicar uma condio de underflow e o CDT continua a contar no sentido decrescente a partir de 999. Normalmente, a instruo de Contador Decrescente forma um par com a instruo de Contador Crescente, obtendo-se assim um contador bidirecional. Neste caso deve-se utilizar o mesmo endereo de registro, valor AC e PR. A Figura 42 ilustra este programa.
110 00 110 01 110 02 202

(CTU)
PR 220 AC xxx 202

(CTD)
PR 220 AC xxx 202

(CTR)
PR 220 AC xxx

Controlador Lgico Programvel


70

Figura 42 - Contador Crescente/Decrescente

8.12.2 Exemplo de instruo contador baseada em bloco funcional O bloco Contador tem uma operao semelhante ao temporizador, porm a sua funo contar eventos, isto , transies falsas/verdadeiras na linha de controle. O formato do bloco o mesmo, eliminando a posio referente base de tempo. A Figura 43 ilustra o bloco Contador. A sada superior energizada sempre que o valor acumulado - CV for igual ao valor preset - PV. A entrada intermediria ir controlar o rearme do contador, se esta entrada for energizada o contador "resetado". Esta entrada dominante, se estiver ativa o contador permanecer resetado. energizado - inicia o contador CTU CU Reset PV CV Q CU digital OBS: Funciona por nvel, deve-se associar um bloco de trigger para contar pulsos

PV - valor pr-set do contador CV - valor acumulado do contador Q - saida energizada quando CV = PV Reset - reset o contador Figura 43 - Bloco contador

A entrada CU funciona por nvel, isto , a entrada no deteta a borda de subida do pulso. preciso associar um outro bloco funcional para conseguir o efeito da contagem de eventos. A Figura 44 ilustra um exemplo do uso do bloco contador de pulsos. motor R-TRIG clk Q res 10 CU Reset PV CV par_ac

CTU Q

num_par

Figura 44 Associao do bloco trigger para o contador de pulsos

Controlador Lgico Programvel


71

8.12.3 Bloco contador do controlador programvel GE FANUC 9030 A Figura 45 ilustra o bloco contador do GE-FANUC. A entrada do bloco detecta o pulso no sendo necessrio qualquer bloco adicional para a contagem de eventos. O contador retentivo, somente quando a entrada R for ativada que o valor acumulado ser resetado.

HABILITA

FLUXO DE SADA

Up Counter (UPCTR) Down Counter (DNCTR)

Ativa
%I, %Q, %M, %T, %G, %R, %AI, %AQ, CONST

R PV
??????? %R CV PV Palavra de Controle Referncia interna Valor corrente armazenado em %R Valor preset armazenado em %R + 1 Armazenado em %R + 2

Figura 45 Bloco contador do Controlador programvel GE-FANUC

8.12.4 Proposta de Exerccio prtico No exerccio de partida do motor, colocar uma lgica de programao que impea o motor de partir 2 vezes seguida no perodo de 10 s. Soluo:

Controlador Lgico Programvel


72

8.13

OUTRAS INSTRUES
O conjunto de instrues em Linguagem Ladder pode se extender de forma a englobar vrios

blocos funcionais. A diversidade de funes depende do fabricante do controlador. A seguir sero descritas algumas funes do CLP GE FANUC 8.13.1 Instrues aritmticas As instrues de manipulao de dados so instrues de capacidade mais avanada que vieram para aumentar ainda mais a versatilidade dos controladores. As instrues vistas anteriormente estavam limitadas a operaes do tipo bit. As instrues de manipulao de dados permitem a operao de registros, ou seja conjuntos de bits. As instrues aritmticas, na forma de blocos, so um exemplo desta aplicao. A Figura 46 ilustra o bloco de funes aritmticas do controlador GE FANUC. Os trs operandos necessrios so definidos nas trs posies do bloco, sendo que as posies I1 e I2 mantero seus operandos e a posio Q armazenar o resultado da operao. O bloco habilitado atravs de sua entrada e dependendo da operao e seu resultado, as sadas so ativadas. As posies 1, 2 e 3 podem ser constantes, posies de memria ou as referncia indicadas.

Controlador Lgico Programvel


73

HABILITA

ADD SUB MUL DIV MOD INT DINT

Sucesso

%I, %Q, %M, %T, %G, %R, %AI, %AQ, CONST

I1 Q I2

%I, %Q, %M, %T, %G, %R, %AI, %AQ

Figura 46 - Instrues de operaes aritmtica do GE FANUC

8.13.2 Instrues de comparao Estas instrues permitem comparar valores numricos e podem ser do tipo: maior, maior ou igual, menor, menor ou igual, igual, diferente e comparao entre limites. A Erro! A origem da referncia no foi encontrada. ilustra os blocos funcionais de comparao do GE FANUC. Quando o bloco habilitado o resultado lgico da comparao apresentado na sada Q.

Controlador Lgico Programvel


74

HABILITA

EQ NE GT GE LT LE INT DINT

I1
%R, %AI, %AQ CONST

Q I2

FLUXO DE SADA

HABILITA

RANGE

INT DINT WORD

%R, %AI, %AQ CONST

L1 L2 IN

FLUXO DE POTNCIA

Figura 47 Instrues de Comparao do CLP GE FANUC O bloco compara sempre I1 em relao a I2. No bloco de comparao RANGE, L1 contm o valor inicial do intervalo. L2 contm o valor final do intervalo. Quando o valor contido em IN estiver entre L1 e L2 a sada Q ser energizada.

Controlador Lgico Programvel


75

8.13.3 Partida de motor com rampa de acelerao Deseja-se acionar um motor atravs de um sistema CLP e inversor de freqncia. Para isto uma sada analgica do CLP conectada na entrada de referncia de velocidade no inversor de freqncia. O CLP possui um mdulo de sada analgica de 0 a 10 V para uma variao interna do valor digital de 0 a 32000. Implemente um programa para criar uma rampa de acelerao considerando que a cada 2 s a sada analgica dever ser incrementada de 1 V at atingir o valor mximo de 10 V. Soluo: (implementao para controladores GE-FANUC)

Controlador Lgico Programvel


76

Pgina intencionalmente deixada em branco

Controlador Lgico Programvel


77

Pgina intencionalmente deixada em branco

Controlador Lgico Programvel


78

9 PRTICA COM O ISAGRAF

NESTA SEO SER VISTO:


A estrutura e os recursos do ISaGRAF Definio bsica da terminologia ISaGRAF

O QUE ISAGRAF?
ISaGRAF um ambiente de programao que permite o desenvolvimento de uma aplicao de controle industrial baseada nas linguagens de programao normalizadas na IEC 61131-3.

AS LINGUAGENS DE PROGRAMAO IEC 61131-3


Diagramas Ladder (Ladder Diagrams LD) a representao clssica de lgica atravs de smbolos de contatos e bobinas de rels encontrada na maioria dos controladores programveis. Diagramas ladder podem ser criados atravs do editor Quick Ladder, de uma forma rpida e simplificada combinando elementos bsicos para formar um programa. Diagrama de blocos funcionais (Function Block Diagrams - FBD) a linguagem de programao encontrada em controladores de processo de alto desempenho e em sistemas DCS (sistemas de controle distribudo). Diagrama em blocos funcionais e diagramas ladder podem ser combinados em um nico diagrama para obter funes de controle de mquinas e processos. Diagrama de Funes Sequenciais (Sequential Function Charts - SFC) uma linguagem grfica poderosa que organiza o projeto e permite criar passo-apasso operaes sequenciais. Utiliza uma representao grfica para os diferentes passos de um processo, ligado por condies booleanas chamadas de transio. Aes dentro dos passos so detalhadas atravs de outras linguagens (ST, IL, LD e FBD). Texto Estruturado (Structured Text - ST) uma linguagem de programao similar ao Pascal. Representa uma maneira eficiente de programar operaes complexas. Texto estruturado frequentemente utilizado para criar blocos funcionais definidos pelo usurio, para descrever passos e transies. Lista de Instrues (Instruction List - IL) uma linguagem composta por mnemnicos. baseada na

Controlador Lgico Programvel


79

lista de instrues Siemens.

O QUE PROJETO ISAGRAF ?


Um projeto ISaGRAF uma coleo de programas e funes individuais que formam uma aplicao de controle completa. Cada programa controla uma seo particular da aplicao. Programas e funes so divididos em 4 sees dentro do projeto de acordo com sua posio no ciclo de varredura do ISaGRAF. Todas as 5 linguagens IEC 61131-3 podem ser utilizados dentro de uma mesma aplicao.

CICLO DE VARREDURA ISAGRAF:


Durante a execuo do projeto ISaGRAF o programa de controle executado de acordo com o seguinte ciclo:

Leitura das entradas e sadas externas Processa a seo 'Begin' Ciclo ISaGRAF Processa a seo 'Sequential' de acordo com as regras de evoluo do SFC Processa a seo 'End' Atualiza as sadas de acordo com a lgica programada

SES DE PROGRAMAO:
Como mencionado anteriormente, cada projeto ISaGRAF consiste de uma srie de programas, sub-programas e funes que so divididas em 4 sees diferentes, de acordo com sua posio no ciclo ISaGRAF. Cada seo pode conter vrios programas ou mesmo ser vazio. As sees so separadas por uma barra horizontal na janela de gerenciamento de programa ISaGRAF. Beginning: Programas cclicos que no dependem do tempo. Programas nesta seo so sistematicamente executados no comeo do ciclo aps a varredura das entradas externas. Esta seo no pode ser do tipo SFC. Esta seo destina-se a programas SFC. Suporta programao de processos paralelos e programas com relacionamento pai-filho. Esta seo possui as mesmas caractersticas da seo beginning, porm executada no final do ciclo antes da atualizao das sadas externas. So sub-programas que podem ser chamados por um programa em qualquer outra das trs sees. Funes no podem ser SFC.

Sequential: End: Functions:

Controlador Lgico Programvel


80

EXEMPLO DE UM PROGRAMA ISAGRAF:

UTILIZANDO O PROGRAMA ISAGRAF Passo 1: Rodar o programa Isagraf atravs do menu Iniciar do Windows. Aps a execuo ir aparecer a janela do Isagraf chamada de Gerenciador de Projetos. Passo 2: No menu File, criar um novo projeto atravs do sub-menu New. Observe a figura a seguir. Digite o nome do projeto a ser criado, por exemplo motor, e clique em OK. No necessrio preencher o campo IO Configuration.

Controlador Lgico Programvel


81

Passo 3: Atravs do menu File na janela de programas, selecione o sub-menu New e crie um programa. Digite o nome do programa e selecione a linguagem que deseja utilizar, no caso selecione a linguagem Quick LD. Em seguida, selecione a seo onde deseja criar este programa (Begin) Clique em Ok para fechar a janela e retornar a janela principal.

Passo 4:

Controlador Lgico Programvel


82

Observe que foi criado o programa partida a ser desenvolvido em Ladder Diagram. De um duplo clique no cone partida para editar o programa. Passo 5: Edio do programa ladder Utilizando as teclas F2, F3, ... ou atravs do mouse construa a lgica conforme desejado. Para inserir o nome da varivel nas instrues, d um duplo clique com o mouse sobre a instruo desejada. Ao aparecer a janela, digite o nome da varivel.

Passo 6 Dicionrio de variveis A criao do dicionrio realizada atravs do cone sinalizado abaixo.

O dicionrio do ISaGRAF relaciona as variveis internas e externas bem como as definies usadas no programa de um projeto (defines). Durante o desenvolvimento da aplicao, o usurio utiliza o dicionrio para acessar as variveis necessrias ao projeto.

Controlador Lgico Programvel


83

Passo 7: Criao das variveis booleanas Ao clicar no cone a seguinte janela ir aparecer. Observe os vrios tipos de variveis que podem ser criadas. As variveis podem ser do tipo:
q q q q q q

Booleanas Reais/inteiras Temporizadas Mensagens Instncia de blocos Palavras definidas

Selecione variveis booleanas (provavelmente j estar selecionada por default)

Posicione o mouse na janela central e clique o boto da direita. A seguinte janela ir aparecer. Digite o nome da varivel que deseja criar observando se o atributo da mesma, interna, entrada, sada ou constante.

Repita este procedimento para todas as variveis.

Controlador Lgico Programvel


84

Variveis internas so nomes lgicos de elementos do programa que so necessrios para computao ou anlise interna. Por exemplo, pode ser necessrio criar um varivel interna para armazenar o valor de engenharia de uma grandeza analgica, tal como temperatura de um forno. Definies (define) permite ao usurio a utilizar um nome descritivo para representar um valor constante. Este recurso facilita a manuteno do sistema. Como o nome descritivo pode ser utilizado em todo o projeto, quando se deseja alterar o seu valor basta alterar no dicionrio e os efeitos se propagaro em todo o projeto. As variveis e definies podem ser criadas no dicionrio a medida que o projeto vai sendo concebido e podem ser do tipo: Local quando pertencer ao escopo do programa Global quando utilizado em qualquer programa dentro de um projeto Common quando utilizado em qualquer projeto ISaGRAF

OBSERVAO IMPORTANTE: Digitar o nome da varivel, o comentrio (opcional) e selecione o atributo adequadamente. Marque INPUT para as entradas digitais e OUTPUT para as sadas digitais. O atributo INTERNAL utilizado para criar variveis internas. Os outros campos no so necessrios preencher. A tela final aps a criao das variveis ser:

Passo 8: Conexo das Entradas e Sadas Aps a criao das variveis necessrio realizar a conexo das mesmas. Este procedimento extremamente necessrio e permitir a simulao do programa. Na janela do dicionrio, clique no menu Tools e selecione o sub-meu I/O connection.

Na janela de IO connection, selecione o sub-menu Edit e em seguida selecione o sub-menu Set board/equipment .

Controlador Lgico Programvel


85

Aps clicar o sub-menu Set board/equipment, selecione na janela seguinte os mdulos de entradas e sadas externas que desejar. Para o exerccio em questo, criar um mdulo de entradas booleanas e um mdulo de sadas booleanas.

Controlador Lgico Programvel


86

Ao final deste passo a sua janela deve estar da seguinte forma:

Controlador Lgico Programvel


87

Passo 9: Simulao da conexo fsica das entradas D um duplo clique em cima do slot 1 na janela da direita conforme ilustrado abaixo. A seguinte janela ir aparecer.

Nesta janela clique em Connect tantas vezes quanto for necessrio para simular a conexo fsica das entradas. Ao final sua tela dever ser:

Passo 10: Conexo fsica das sadas Repita o procedimento anterior considerando o mdulo de sada.

Controlador Lgico Programvel


88

Passo 11: Compilao do programa Feche todas as janelas do dicionrio e salve todas as alteraes realizadas. Na janela principal, gerenciador de programas, selecione o menu Make e em seguida o sub-menu Make application. Esta operao realiza a compilao do programa gerado e se o programa estiver livre de erros uma janela de mensagem ser apresentada.

Passo 12: Rodando a simulao do programa Clique no menu Debug e em seguida no sub-menu Simulate ou atravs do cone destacado abaixo.

Passo 13: Painel de simulao Organize a tela de forma que voc possa ver as telas de interesse. O painel de simulao ir aparecer automaticamente juntamente com uma tela indicando que o programa est em execuo. Na tela Debug programs d um duplo clique no cone partida para obter a tela de visualizao on-line do programa ladder.

Controlador Lgico Programvel


89

OBS: 1) Com o boto esquerdo do mouse acione as entradas de forma retentiva clicando no sinalizador ao lado do nome da varivel da entrada 2) Com o boto direito do mouse o efeito nas entradas do tipo instantneo (no retentivo)

Controlador Lgico Programvel


90

PROPOSTA DE EXERCCIOS PRTICOS NO ISAGRAF 1) Implementar o exerccio de partida de motor utilizando Lista de instrues.

2) Implementar o exerccio de partida de motor utilizando Texto Estruturado

3) Implementar o exerccio das lmpadas seqncias utilizando Lista de instrues

4) Implementar o exerccio das lmpadas seqenciais utilizando texto estruturado

5) Implementar um programa que converta para unidade de engenharia considerando a seguinte relao: 0 a 32767 para 0 a 300 C.

You might also like