Sie sind auf Seite 1von 67

FIRJAN CIRJ SESI SENAI IEL

CENTRO DE FORMAO PROFISSIONAL METAL MECNICA

CONTROLADORES LGICOS PROGRAMVEIS

2004

Elaborada por Manoel Casimiro Soares Docente do Senai de Paciencia

FIRJAN CIRJ SESI SENAI IEL

AUTOMAO CURSO DE CLP


CONTROLADORES LGICOS PROGRAMVEIS 1. Sistemas Numricos e Mudanas de Base. 2 lgebra de Variveis Lgicas (lgebra de Boole) 3 . Aplicao dos CLPs na Otimizao dos Processos Industriais 4 . Aplicao dos CLPs nos Sistemas de Segurana e Intertravamento 5 . Estrutura Fsica e Arquitetura Interna 6 . Tipos de Acoplamento 7 Programao Ladder 8 Analise e desenvolvimento de Projetos

1 - SISTEMAS NUMRICOS E MUDANAS DE BASE ELETRNICA ANALGICA E DIGITAL

SISTEMAS DE NUMERAO

1.1- ANALGICO E DIGITAL Por que digital? Esta certamente a primeira pergunta que qualquer leitor que est chegando agora e tem apenas alguma base terica sobre Eletrnica faria ao encontrar o nosso curso. Por este motivo, comeamos justamente por explicar as diferenas entre as duas eletrnicas, de modo que elas fiquem bem claras. Devemos lembrar que em muitos equipamentos, mesmo classificados como analgicos ou digitais, encontraremos os dois tipos de circuitos. o caso dos computadores, que mesmo sendo classificados como mquinas estritamente digitais podem ter em alguns pontos de seus circuitos configuraes analgicas. Uma definio encontrada nos livros especializados atribui o nome de Eletrnica Digital aos circuitos que operam com quantidades que s podem ser incrementadas ou decrementadas em passos finitos. Um exemplo disso dado pelos circuitos que operam com impulsos. S podemos ter nmeros inteiros de pulsos sendo trabalhados em qualquer momento em qualquer ponto do circuito. Em nenhum lugar encontraremos meio pulso ou um quarto de pulso. A palavra digital tambm est associada a dgito (do latim digitu, dedo) que est associado representao de quantidades inteiras. No podemos usar os dedos para representar meio pulso ou um quarto de pulso. Na Eletrnica Analgica trabalhamos com quantidades ou sinais que podem ter valores que variam de

modo contnuo numa escala. Os valores dos sinais no precisam ser inteiros. Por exemplo, um sinal de udio, que analgico, varia suavemente entre dois extremos, enquanto que um sinal digital s pode variar aos saltos, observe a figura 1. Conforme o leitor pode perceber, a diferena bsica entre os dois tipos de eletrnica est associada inicialmente ao tipo de sinais com que elas trabalham e no que elas fazem com os sinais. De uma forma resumida podemos dizer que: A Eletrnica Digital trabalha com sinais que s podem assumir valores discretos ou inteiros. A Eletrnica Analgica trabalha com sinais que podem ter qualquer valor entre dois limites.

COMPUTADORES: os computadores atuais so digitais em sua totalidade e praticamente no usado outro tipo de configurao. No entanto, nem sempre foi assim. Nas primeiras dcadas deste sculo, quando os circuitos eram ainda valvulados, os primeiros computadores eram mquinas analgicas. A impreciso e algumas outras dificuldades tcnicas que estes computadores apresentavam fizeram com que logo fossem substitudos pelos circuitos digitais hoje usados.

1.2 - LGICA DIGITAL Os computadores e outros equipamentos que usam circuitos digitais funcionam obedecendo a um tipo de comportamento baseado no que se denomina Lgica. Diferentemente dos circuitos amplificadores comuns que simplesmente amplificam, atenuam ou realizam algum tipo de processamento simples dos sinais, os circuitos digitais usa-

dos em computadores e outras mquinas no processam os sinais baseados em uma finalidade simples determinada quando so fabricados. Os circuitos digitais dos computadores e outros equipamentos so capazes de combinar os sinais tomando decises segundo um comportamento lgico. evidente que se o leitor deseja realmente entender como as coisas acontecem nos circuitos digitais, deve partir exatamente do aprendizado do comportamento lgico. Podemos dizer que a lgica nos permite tirar

Figura 1 - Os sinais digitais variam aos saltos.

concluses ou tomar decises a partir de fatos conhecidos. Por exemplo, a deciso de acender uma lmpada quando est escuro uma deciso lgica, pois a proposio e a concluso so fatos relacionados. Ao contrrio, a deciso de acender uma lmpada, porque est chovendo no uma deciso lgica, pois os fatos envolvidos no tm relao. Evidentemente, os fatos relacionados acima so simples e servem para exemplificar como as coisas funcionam. Na eletrnica dos computadores, o que temos a aplicao da lgica digital, ou seja, de circuitos que operam tomando decises em funo de coisas que acontecem no seu prprio interior. claro que os computadores e seus circuitos digitais no podem entender coisas como est escuro ou est chovendo e tomar decises. Os circuitos lgicos digitais trabalham com sinais eltricos. Assim, os circuitos lgicos digitais nada mais fazem do que receber sinais com determinadas caractersticas e em funo destes tomar decises que nada mais so do que a produo de um outro sinal eltrico. Mas, se os sinais eltricos so digitais, ou seja, representam quantidades discretas e se a lgica baseada em tomada de decises, o prximo passo no entendimento da Eletrnica Digital, partir para o modo como as quantidades discretas so representadas e entendidas pelos circuitos eletrnicos.

Figura 2 - Elementos simples de lgica so a base de funcionamento dos circuitos digitais.

1.3 - SISTEMAS DE NUMERAO O modo como contamos as quantidades vem do fato de possuirmos 10

Figura 4 - Os pesos so potncias de 10 no sistema decimal.

dedos. Assim, tomando os dedos das mos podemos contar objetos com facilidade at certo ponto. O ponto crtico ocorre quando temos quantidades maiores do que 10. O homem resolveu o problema passando a indicar tambm a quantidade de mos ou de vezes em que os dez dedos eram usados. Assim, quando dizemos que temos 27 objetos, o 2 indica que temos duas mos cheias ou duas dezenas mais 7 objetos. O 2 tem peso 10. Da mesma forma, quando dizemos que temos 237 objetos, o 2 indica que temos duas dezenas de mos cheias ou duas centenas, enquanto o 3 indica que temos mais 3 mos cheias e finalmente o 7, mais 7 objetos, figura 3. Em outras palavras, a posio dos algarismos na representao dos nmeros tem um peso e em nosso sistema de numerao que decimal este peso 10, veja a figura 4. O que aconteceria se tivssemos um nmero diferente de dedos, por exemplo 2 em cada mo? Isso significaria, em primeiro lugar, que em nosso sistema de base 4 (e no base 10) s existiriam 4 algarismos para representar os nmeros: 0, 1, 2 e 3, confira a figura 5. Para representar uma quantidade maior do que 4 teramos de usar mais de um algarismo. Assim, para indicar 7 objetos na base 4, teramos uma mo cheia com 4 e mais 3. Isso daria 13, figura 6. Veja ento que no 13 na base 4, o 1 tem peso 4, enquanto que o 3 tem o seu valor normal. De uma forma generalizada, dizemos que dependendo da base do sistema os algarismos tm pesos que correspondem sua posio no

Figura 3 - A posio do algarismo d seu valor relativo.

nmero e que estes pesos so potncias da base. Por exemplo, para a base 10, cada algarismo a partir da direita tem um peso, que uma potncia de 10 em ordem crescente, o que nos leva unidade (dez elevado a zero), dezena (dez elevado ao expoente um), centena (dez elevado ao quadrado), ao milhar (dez elevado ao cubo) e assim por diante, conforme a figura 7. Em Eletrnica Digital costumamos dizer que o dgito mais direita, por representar a menor potncia ou ter menor peso, o dgito ou bit* menos significativo ou LSB (Less Significant Bit) enquanto que o mais esquerda o mais significativo ou MSB (Most Significant Bit). Para a base 4, conforme observamos na figura 8, os dgitos tm potncias de 4.
Figura 5 - Na base 4 so usados 4 algarismos.

Figura 6 - Treze na base quatro equivale a sete na base 10. *O bit que o dgito binrio (na base 2) ser estudado mais adiante.

Figura 7 - Os pesos aumentam da direita para a esquerda.

1.4 - NUMERAO BINRIA Os circuitos eletrnicos no possuem dedos. evidente tambm que no seria muito fcil projetar circuitos capazes de reconhecer 10 nveis de uma tenso ou de outra grandeza eltrica sem o perigo de que qualquer pequeno problema fizesse-os causar qualquer confuso. Muito mais simples para os circuitos eletrnicos trabalhar com um sistema de numerao que esteja mais de acordo com o seu princpio de funcionamento e isso realmente feito. Um circuito eletrnico pode ter ou no corrente, ter ou no tenso, pode receber ou no um pulso eltrico. Ora, os circuitos eletrnicos so mais apropriados para operar com sinais que tenham duas condies possveis, ou seja, que representem dois dgitos ou algarismos. Tambm podemos dizer que as regras que regem o funcionamento dos circuitos que operam com apenas duas condies possveis so muito mais simples. Assim, o sistema adotado nos circuitos eletrnicos digitais o sistema binrio ou de base 2, onde so usados apenas dois dgitos, correspondentes a duas condies possveis de um circuito: 0 e 1. Mas, como podemos representar qualquer quantidade usando apenas dois algarismos? A idia bsica a mesma usada na representao de quantidades no sistema decimal: atribuir pesos aos

Figura 8 - Os pesos na base 4.

dgitos conforme sua posio no nmero. Assim, vamos tomar como exemplo o valor 1101 que em binrio representa o nmero 13 decimal e ver Dgito ou bit como isso ocorre. Figura 9 - Pesos na numerao binria. O primeiro dgito da direita nos inDecimal Binrio Decimal Binrio dica que temos uma vez o peso des0 0 9 1001 te dgito ou 1. 1 1 10 1010 O zero do segundo dgito da direi2 10 11 1011 ta para a esquerda indica que no te3 11 12 1100 mos nada com o peso 2. 4 100 13 1101 Agora o terceiro dgito da direita 5 101 14 1110 para a esquerda e que tem peso 4 6 110 15 1111 1, o que indica que temos uma vez 7 111 16 10000 quatro. 8 1000 17 10001 Finalmente, o primeiro dgito da esquerda que 1 e est na posio Para o leitor que pretende entende peso 8, nos diz que temos uma der de Eletrnica Digital aplicada aos vez oito. computadores h momentos em que Somando uma vez oito, com uma preciso saber converter uma indivez quatro e uma vez um, temos o cao em binrio para o decimal cortotal, justamente a quantidade que respondente. conhecemos em decimal como treze. Podemos dar como exemplo o Veja ento, conforme indica a ficaso de certas placas que so usagura 9, que na numerao binria, os das no diagnstico de computadores dgitos vo tendo pesos da direita e que possuem um conjunto de LEDs para a esquerda que so potncias que acende indicando um nmero de 2, ou seja, dois elevado ao expocorrespondente a um cdigo de erros. ente zero que um, dois elevado ao Os LEDs apagados indicam o algaexpoente 1 que 2, dois ao quadrarismo 0 e os LEDs acesos, o algarisdo que 4 e assim por diante. mo 1. Basta lembrar que a cada vez que Vamos supor que num diagnstinos deslocamos para a esquerda, o co a sequncia de acendimento dos peso do dgito dobra, figura 10. LEDs seja 1010110. preciso saber Como no existe um limite para os por onde comear a leitura ou seja, valores dos pesos, isso significa que se o de menor peso o da direita ou posvel representar qualquer quanda esquerda. tidade em binrio, por maior que seja, Nas indicaes dadas por instrusimplesmente usando o nmero apromentos ou mesmo na representao priado de dgitos. da valores binrios, como por exemPara 4 dgitos podemos represenplo na sada de um circuito, preciso tar nmeros at 15; para 8 dgitos posaber qual dos dgitos tem maior peso demos ir at 255; para 16 dgitos at e qual tem menor peso. 65 535 e assim por diante. Isso feito com uma sigla adotaO leitor deve lembrar-se desses da normalmente e que se refere ao valores limites para 4, 8 e 16 dgitos dgito, no caso denominado bit. de um nmero binrio, pois eles tm uma grande impor tncia na Informtica. A seguir damos a representao binria dos nmeros decimais at 17 para uma melhor ilustrao de como Figura 10 - Na numerao binria os pesos tudo funciona:
dobram a cada digito deslocado para a esquerda.

Figura 11 Extremos de um nmero binrio.

Assim, conforme citado anteriormente, para o dgito de menor peso ou bit menos significativo adotada a sigla LSB (Less Significant Bit) e para o mais significativo adotada a sigla MSB (Most Significant Bit), figura 11. O que fazemos somar os valores dados pelos dgitos multiplicados pelo peso de sua posio. No caso do valor tomado como exemplo, 1010110, temos: Dgito 1 0 1 0 1 1 0 Peso Valor 64 = 64 32 = 0 16 = 16 8 = 0 4 = 4 2 = 2 1 = 0

Os computadores usam muitos tipos de algoritmos quando fazem suas operaes, se bem que a maioria no precise ser conhecida dos leitores. Assim, para a converso de um decimal para binrio, como por exemplo o 116, o que fazemos uma srie de divises sucessivas, figura 12. Vamos dividindo os nmeros por 2 at o ponto em que chegamos a um valor menor que 2 e que portanto, no pode mais ser dividido. O resultado desta ltima diviso, ou seja, seu quociente ento o primeiro dgito binrio do nmero convertido. Os demais dgitos so obtidos lendo-se os restos da direita para a esquerda da srie de divises que realizamos. Tudo muito simples e rpido.

A prpria existncia de um 0, j nos sugere que se trata de um nmero menor que 1 e portanto, fracionrio. Ocorre que os dgitos deste nmero tm pesos que correspondem a potncias de 2 negativas, que nada mais so do que fraes, conforme a seguinte sequncia: Dgito 0, 0 1 1 0 1 Peso 1 = 1/2 = 1/4 = 1/8 = 1/16 = 1/32 = Valor 0 0 0,25 0,0625 0 0,03125

x x x x x x

Somando os valores relativos teremos: 0,25 + 0,0625 + 0,03125 = 0,625 O nmero decimal representado portanto 0,625. Veja que usando tantos dgitos quantos sejam necessrios podemos representar com a preciso desejada um nmero decimal.

x x x x x x x

resultado: 1110100 Figura 12 - Converso de um decimal em binrio por divises sucessivas.

Somando os valores teremos: 64 + 16 + 4 + 2 = 86 O valor decimal de 1010110 86. Assim, tudo que o leitor tem de fazer lembrar que a cada dgito que saltamos para a esquerda seu peso dobra na sequncia 1, 2, 4, 8, 16, 32, 64, 128, etc. Na prtica tambm pode ocorrer o problema inverso, transformao de um valor expresso em decimal (base 10) para a base 2 ou binrio. Para esta transformao podemos fazer uso de algoritmo muito simples que memorizado pelo leitor pode ser de grande utilidade, dada sua praticidade. Para os que no sabem, algoritmo nada mais do que uma sequncia de operaes que seguem uma determinada regra e permitem realizar uma operao mais complexa. Quando voc soma os nmeros um sobre o outro (da mesma coluna) e passa para cima os dgitos que excedem o 10, fazendo o conhecido vai um, voc nada mais est fazendo do que usar um algoritmo.

1.6 - FORMAS DIFERENTES DE UTILIZAR O SISTEMA BINRIO A utilizao de circuitos eletrnicos com determinadas caractersticas e a prpria necessidade de adaptar o sistema binrio representao de valores que sejam convertidos rapidamente para o decimal e mesmo outros sistemas, levou ao aparecimento de algumas formas diferentes de utilizao dos binrios. Estas formas so encontradas em diversos tipos de equipamentos digitais, incluindo os computadores.

1.5 - BINRIOS MENORES QUE 1 Para o leitor talvez seja difcil entender como usando quantidades que s podem ser inteiras, como dado pela definio de digital no incio desta lio, seja possvel representar quantidades menores que um, ou seja, nmeros quebrados ou fracionrios. claro que isso possvel na prtica, pois se assim no fosse os computadores e as calculadoras no poderiam realizar qualquer operao com estes nmeros e sabemos que isso no verdade. O que se faz usar um artifcio que consiste em empregar potncias negativas de um nmero inteiro para representar quantidades que no so inteiras. Assim possvel usar dgitos binrios para representar quantidades fracionrias sem problemas. Vamos dar um exemplo tomando o nmero 0,01101 em binrio.

Sistema BCD (Decimal Codificado em Binrio) BCD a abreviao de Binary Coded Decimal e se adapta melhor aos circuitos digitais. Permite transformar cada dgito decimal de um nmero numa representao por quatro dgitos binrios (bits) independentemente do valor total do nmero que ser representado.

Assim, partimos da seguinte tabela: Dgito decimal BCD 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 Se quisermos representar em BCD o nmero 23,25 no o convertemos da forma convencional por divises sucessivas mas sim, tomamos cada dgito e o convertemos no BCD equivalente, conforme segue: 2 3, 2 5 0010 0011 0010 0101 Veja ento que para cada dgito decimal sempre teremos quatro dgitos binrios ou bits e que os valores 1010, 1011, 1100, 1101 e 1111 no existem neste cdigo. Esta representao foi muito interessante quando as calculadoras se tornaram populares, pois era possvel us-las para todas as operaes com nmeros comuns e os 5 cdigos no utilizados dos valores que no existiam foram adotados para indicar as operaes! (figura 13) O leitor tambm perceber que usando representaes desta forma, operavam os primeiros computadores, apropriadamente chamados de computadores de 4 bits.

Figura 13 - Uso dos valores de 0000 a 1111.

tos mudam. No Cdigo Gray a passagem do 7 para 8 muda apenas um dgito, pois o 7 0100 e o 8 1100. Podemos ainda citar os Cdigos de Paridade de Bit e o Cdigo de Excesso 3 (XS3) encontrados em aplicaes envolvendo circuitos digitais.

1.7 - SISTEMA HEXADECIMAL Os bits dos computadores so agrupados em conjuntos de 4, assim temos os computadores de 4, 8, 16 e 32 bits. Tambm observamos que com 4 bits podemos obter representaes binrias de 16 nmeros e no somente de 10. Vimos que os 5 excedentes poderiam ser usados para representar operaes nas calculadoras. Isso significa que a representao de valores no sistema hexadecimal ou de base 16 mais compatvel com a numerao binria ou operao binria dos computadores. E de fato isso feito: abrindo muitos programas de um computador, vemos que suas caractersticas como posies de memria ou quantidade de memria so feitas neste sistema. Isso significa que o tcnico precisa conhecer este sistema e mais do que isso, deve saber como fazer converses dele para o decimal e viceversa, alm de converses para o sistema binrio. Na tabela abaixo damos as representaes dos dgitos deste sistema com equivalentes decimais e binrios:

Outros Cdigos Outros cdigos binrios, mas no to importantes neste momento, so o Cdigo Biquinrio, em que cada dgito tem um peso e so sempre usados 7 bits para sua representao e o Cdigo Gray que aparece em diversas verses. O Cdigo Gray se caracteriza pelo fato da passagem de qualquer nmero para o seguinte sempre ser feita com a mudana de um nico dgito. Assim, por exemplo, quando passamos de 0111 (7 em decimal) para 1000 (8 em decimal) os quatro dgi-

Decimal Binrio Hexadecimal 0 0000 0 7 1 0001 1 2 0010 2 3 0011 3 4 0100 4 5 0101 5 6 0110 6 7 0111 7 8 1000 8 9 1001 9 10 1010 A 11 1011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F Observe que como no existem smbolos para os dgitos 10, 11, 12, 13, 14 e 15, foram usadas as letras A,B,C,D,E e F. Como fazer as converses: os mesmos procedimentos que vimos para o caso das converses de decimal para binrio e vice-versa so vlidos para o caso dos hexadecimais, mudando-se apenas a base. Vamos dar exemplos: Como converter 4D5 em decimal: Os pesos no caso so: 256, 16 e 1. (a cada dgito para a esquerda multiplicamos o peso do anterior por 16 para obter novo peso). Temos ento: 4D5 = (4 x 256)+(13x16)+(1x5) = 1237 Observe que o D corresponde ao 13. O nmero decimal equivalente ao 4D5 hexadecimal ou hex, como muitas vezes representado, 1237. 4D5 (hex) = 1237 (dec) A converso inversa, ou seja, de decimal para hexadecimal feita por divises sucessivas. Tomemos o caso de 1256, apresentado na figura 14. Veja que basta ler o quociente final e depois os restos das divises sucessivas, sempre lembrando que os que excederem 10 devem ser trocados pelas letras equivalentes.
EXERCCIOS a) Converter 645 em BCD b) Converter 45 em binrio puro c) Converter 11001 (binrio) em decimal d) Converter 1101 0011 1011 (BCD) em decimal e) Conver ter 1745 (decimal) em hexadecimal. f) Converter FFF (hex) em decimal. g) Converter F4D (hex) em decimal.

Figura 14 - 1367 decimal equivale a 557 na base 16.

A LGEBRA DE BOOLE

Na primeira lio do nosso curso aprendemos o significado das palavras Digital e Lgica empregadas na Eletrnica e nos computadores. Vimos que os computadores so denominados digitais quando trabalham com sinais discretos, ou seja, sinais que no variam continuamente entre dois valores, mas que assumem determinados valores inteiros. Tambm vimos que os computadores so mquinas lgicas, porque tomam decises a partir de certos fatos, segundo regras muito bem estabelecidas. Vimos que no caso dos circuitos digitais, como os usados nos computadores, a base 10 no a mais apropriada e que estes equipamentos usam principalmente o sistema binrio e hexadecimal. Aprendemos ainda como fazer as converses de base e ler os nmeros binrios e hexadecimais. Nesta lio veremos de que modo os circuitos digitais podem tomar decises lgicas. Todas essas decises so baseadas em circuitos muito simples e configuraes que operam na base 2 e que portanto, so fceis de entender, porm muito importantes para os leitores que pretendam trabalhar com computadores, ou pelo menos entender melhor seu princpio de funcionamento. 2.1 - A lgebra de Boole Em meados do sculo passado George Boole, um matemtico ingls, desenvolveu uma teoria completamente diferente para a poca, baseada em uma srie de postulados e operaes simples para resolver uma infinidade de problemas.

Apesar da algebra de Boole, como foi chamada, poder resolver problemas prticos de controle e fabricao de produtos, na poca no havia Eletrnica e nem as mquinas eram suficientemente avanadas para utilizar seus princpios. A lgebra de Boole veio a se tornar importante com o advento da Eletrnica, especificamente, da Eletrnica Digital, que gerou os modernos computadores. Boole estabelece em sua teoria que s existem no universo duas condies possveis ou estados, para qualquer coisa que se deseje analisar e estes dois estados so opostos. Assim, uma lmpada s pode estar acesa ou apagada, uma torneira s pode estar aberta ou fechada, uma fonte s pode ter ou no ter tenso na sua sada, uma pergunta s pode ter como resposta verdadeiro ou falso. Dizemos de maneira simples que na lgebra de Boole as variveis lgicas s podem adquirir dois estados: 0 ou 1 Verdadeiro ou Falso Aberto ou Fechado Alto ou Baixo (HI ou LO) Ligado ou Desligado Na Eletrnica Digital partimos justamente do fato de que um circuito s pode trabalhar com dois estados possveis, ou seja, encontraremos presena do sinal ou a ausncia do sinal, o que se adapta perfeitamente aos princpios da lgebra de Boole. Tudo que um circuito lgico digital pode fazer est previsto pela lgebra de Boole. Desde as mais simples ope-

raes ou decises, como acender um LED quando dois sensores so ativados de uma determinada maneira ou quando uma tecla pressionada, at girar no espao uma imagem tridimensional. 2.2 - Os nveis lgicos Partimos ento do fato de que nos circuitos digitais s encontraremos duas condies possveis: presena ou ausncia de sinal, para definir alguns pontos importantes para o nosso entendimento. Nos circuitos digitais a presena de uma tenso ser indicada como 1 ou HI (de HIGH ou Alto) enquanto que a ausncia de uma tenso ser indicada por 0 ou LO (de LOW ou baixo). O 0 ou LO ser sempre uma tenso nula, ou ausncia de sinal num ponto do circuito, mas o nvel lgico 1 ou HI pode variar de acordo com o circuito considerado (figura 1). Nos PCs de mesa, a tenso usada para a alimentao de todos os circuitos lgicos, por exemplo, de 5 V. Assim, o nvel 1 ou HI de seus circuitos ser

Figura 1 - Nos circuitos digitais s encontramos um valor fixo de tenso.

sempre uma tenso de 5 V. Nos laptops usada uma tenso de alimentao menor, da ordem de 3,2 V, portanto, nestes circuitos um nvel 1 ou HI sempre corresponder a uma tenso desse valor. Existem ainda circuitos digitais que empregam componentes de tecnologia CMOS e que so alimentados tipicamente por tenses entre 3 e 15 V. Nestes casos, conforme vemos na figura 2, um nvel lgico 1 ou HI poder ter qualquer tenso entre 3 e 15 V, dependendo apenas da tenso de alimentao usada.

Verdadeiro Ligado Nvel alto ou HI 3.1 - Operaes Lgicas No dia-a-dia estamos acostumados a realizar diversos tipos de operaes lgicas, as mais comuns so as que envolvem nmeros, ou seja, quantidades que podem variar ou variveis. Assim, podemos representar uma soma como: Y=A+B Onde o valor que vamos encontrar para Y depende dos valores atribudos s letras A e B. Dizemos que temos neste caso uma funo algbrica e que o valor Y a varivel dependente, pois seu valor depender justamente dos valores de A e B, que so as variveis independentes. Na Eletrnica Digital, entretanto, existem operaes mais simples do que a soma, e que podem ser perfei-

Figura 3 - Podemos trabalhar com os nveis "invertidos" numa lgica negativa.

Figura 2 - A tenso encontrada nos circuitos CMOS ter um valor fixo entre 3 e 15 V.

Na verdade, a idia de associar a presena de tenso ao nvel 1 e a ausncia ao nvel 0, mera questo de conveno. Nada impede que adotemos um critrio inverso e projetemos os circuitos, pois eles funcionaro perfeitamente. Assim, quando dizemos que ao nvel alto (1) associamos a presena de tenso e ao nvel baixo a ausncia de tenso (0), estamos falando do que se denomina lgica positiva. Se associarmos o nvel baixo ou 0 a presena de tenso e o nvel alto ou 1 a ausncia de tenso, estaremos falando de uma lgica negativa, conforme ilustra a figura 3. Para no causar nenhum tipo de confuso, todo o nosso curso tratar exclusivamente da lgica positiva, o mesmo acontecendo com os dispositivos eletrnicos tomados como exemplos. Portanto, em nossa lgica, possvel associar os seguintes estados de um circuito aos valores 0 e 1: 0V Falso Desligado Nvel baixo ou LO 1 - 5 V (ou outra tenso positiva, conforme o circuito)

tamente implementadas levando em conta a utilizao da lgebra booleana. interessante observar que com um pequeno nmero destas operaes conseguimos chegar a uma infinidade de operaes mais complexas, como por exemplo, as utilizadas nos computadores e que, repetidas em grande quantidade ou levadas a um grau de complexidade muito grande, nos fazem at acreditar que a mquina seja inteligente! Na verdade, a associao, de determinada forma das operaes simples que nos leva ao comportamento muito complexo de muitos circuitos digitais, conforme ilustra a figura 4. Assim, como observamos na figura 5, um computador formado por
Figura 4 - Circuitos que fazem operaes simples podem ser associados para realizar operaes complexas.

Figura 5 - Poucos blocos bsicos, mas reunidos em grande quantidae podem realizar operaes muito complexas.

10

Figura 6 - Em (a) o simbolo mais comum e em (b) o simbolo IEEE usado em muitas publicaes tcnicas mais modernas dos Estados Unidos e Europa.

um grande nmero de pequenos blocos denominados portas ou funes em que temos entradas e sadas. O que ir aparecer na sada determinado pela funo e pelo que acontece nas entradas. Em outras palavras, a resposta que cada circuito lgico d para uma determinada entrada ou entradas depende do que ele ou de que regra booleana ele segue. Isso significa que para entender como o computador realiza as mais complexas operaes teremos de comear entendendo como ele faz as operaes mais simples com as denominadas portas e quais so elas. Por este motivo, depois de definir estas operaes lgicas, associandoas lgebra de Boole, vamos estudlas uma a uma. 2.4 - Funo Lgica NO ou Inversora Nos manuais tambm encontramos a indicao desta funo com a palavra inglesa correspondente, que NOT. O que esta funo faz negar uma afirmao, ou seja, como em lgebra booleana s existem duas respostas possveis para uma pergunta, esta funo inverte a resposta, ou seja, a resposta o inverso da pergunta. O circuito que realiza esta operao denominado inversor. Levando em conta que este circuito diz sim, quando a entrada no, ou que apresenta nvel 0, quando a entrada 1 e vice-versa, podemos associar a ele uma espcie de tabela que ser de grande utilidade sempre que estudarmos qualquer tipo de circuito lgico. Esta tabela mostra o que ocorre com a sada da funo quando colocamos na entrada todas as combinaes possveis de nveis lgicos. Dizemos que se trata de uma tabela verdade (nos manuais em Ingls

esta tabela aparece com o nome de Truth Table). A seguir apresentamos a tabela verdade para a porta NOT ou inversora: Entrada 0 1 Sada 1 0

Figura 7 - Circuito simples para simular a funo NO (NOT) ou inversor.

Entrada: chave aberta = 0 chave fechada = 1 Sada: lmpada apagada = 0 lmpada acesa = 1 2.5 - Funo Lgica E A funo lgica E tambm conhecida pelo seu nome em ingls AND pode ser definida como aquela em que a sada ser 1 se, e somente se, todas as variveis de entrada forem 1. Veja que neste caso, as funes lgicas E podem ter duas, trs, quatro ou quantas entradas quisermos e representada pelos smbolos mostrados na figura 8. As funes lgicas tambm so chamadas de portas ou gates (do ingls) j que correspondem a circuitos que podem controlar ou deixar passar os sinais sob determinadas condies. Tomando como exemplo uma porta ou funo E de duas entradas, escrevemos a seguinte tabela verdade: Entradas A B 0 0 0 1 1 0 1 1 Sada 0 0 0 1

Os smbolos adotados para representar esta funo so mostrados na figura 6. O adotado normalmente em nossas publicaes o mostrado em (a), mas existem muitos manuais tcnicos e mesmo diagramas em que so adotados outros e os leitores devem conhec-los. Esta funo pode ser simulada por um circuito simples e de fcil entendimento apresentado na figura 7. Neste circuito temos uma lmpada que, acesa, indica o nvel 1 na sada e apagada, indica o nvel 0. Quando a chave est aberta indicando que a entrada nvel 0, a lmpada est acesa, indicando que a sada nivel 1. Por outro lado, quando a chave fechada, o que representa uma entrada 1, a lmpada apaga, indicando que a sada zero. Esta maneira de simular funes lgicas com lmpadas indicando a sada e chaves indicando a entrada, bastante interessante pela facilidade com que o leitor pode entender seu funcionamento. Basta ento lembrar que:

Na figura 9 apresentamos o modo de simular o circuito de uma porta E

Figura 8 - Smbolos adotados para representar uma porta E ou AND.

11

Figura 9 - Circuito simples para simular um aporta E ou AND.

usando chaves e uma lmpada comum. preciso que S1 e S2 estejam fechadas, para que a sada (lmpada) seja ativada. Para uma porta E de trs entradas tabela verdade ser a seguinte: Entradas B 0 0 1 1 0 0 1 1 Sada S 0 0 0 0 0 0 0 1

Figura 10 - Smbolos para as portas OU ou OR.

A 0 0 0 0 1 1 1 1

C 0 1 0 1 0 1 0 1

Vemos que a sada estar no nvel 1 se uma das entradas estiverem no nvel 1. Um circuito simples com chaves e lmpada para simular esta funo dado na figura 11. Quando uma chave estiver fechada (entrada 1) a lmpada receber corrente (sada 1), conforme desejarmos. Para mais de duas variveis podemos ter portas com mais de duas entradas. Para o caso de uma porta OU de trs entradas teremos a seguinte tabela verdade: Entradas B 0 0 1 1 0 0 1 1 Sada S 0 1 1 1 1 1 1 1

funo E que denominada NO-E ou em ingls, NAND. Na figura 12 temos os smbolos adotados para representar esta funo. Observe a existncia de um pequeno crculo na sada da porta para indicar a negao. Podemos dizer que para a funo NAND a sada estar em nvel 0 se, e somente se, todas as entradas estiverem em nvel 1. A tabela verdade para uma porta NO-E ou NAND de duas entradas a seguinte: Entradas A B 0 0 0 1 1 0 1 1 Sada S 1 1 1 0

Para que a sada seja 1, preciso que todas as entradas sejam 1. Observamos que para uma porta E de 2 entradas temos 4 combinaes possveis para os sinais aplicados. Para uma porta E de 3 entradas temos 8 combinaes possveis para o sinal de entrada. Para uma porta de 4 entradas, teremos 16 e assim por diante. 2.6 - Funo lgica OU A funo OU ou ainda OR (do ingls) definida como aquela em que a sada estar em nvel alto se uma ou mais entradas estiver em nvel alto. Esta funo representada pelos smbolos mostrados na figura 10. O smbolo adotado normalmente em nossas publicaes o mostrado em (a). Para uma porta OU de duas entradas podemos elaborar a seguinte tabela verdade: Entradas A B 0 0 0 1 1 0 1 1 Sada S 0 1 1 1

A 0 0 0 0 1 1 1 1

C 0 1 0 1 0 1 0 1

Na figura 13 temos um circuito simples com chaves, que simula esta funo.

2.7 - Funo NO-E As funes E, OU e NO (inversor) so a base de toda a lgebra booleana e todas as demais podem ser consideradas como derivadas delas. Vejamos: Uma primeira funo importante derivada das anteriores a obtida pela associao da funo E com a funo NO, ou seja, a negao da

Figura 11 - Circuito para simular uma porta OU ou OR de duas entradas.

Figura 12 - Smbolos para as portas NO-E ou NAND.

12

Figura 13 - Circuito que simula uma porta NAND ou NO-E de duas entradas.

Figura 14 - Smbolo usados para representar a funo NOR ou NO-E

Veja que a lmpada s apagar (sada 0) quando as duas chaves estiverem fechadas (1), curto-circuitando assim sua alimentao. O resistor usado para limitar a corrente da fonte. Tambm neste caso podemos ter a funo NAND com mais de duas entradas. Para o caso de 3 entradas teremos a seguinte tabela verdade: Entradas B 0 0 1 1 0 0 1 1 Sada S 1 1 1 1 1 1 1 0

Observe que a lmpada s se mantm acesa (nvel 1) se as duas chaves (S1 e S2) estiverem abertas (nvel 0). Da mesma forma que nas funes anteriores, podemos ter portas NOR com mais de duas entradas. Para o caso de trs entradas teremos a seguinte tabela verdade: Entradas B 0 0 1 1 0 0 1 1 Sada S 1 0 0 0 0 0 0 0

tradas teremos sada 1 se as entradas forem 0 e 1 ou 1 e 0, mas a sada ser 0 se as entradas forem ambas 1 ou ambas 0, conforme a seguinte tabela verdade: Entradas A B 0 0 0 1 1 0 1 1 Sada S 0 1 1 0

A 0 0 0 0 1 1 1 1

C 0 1 0 1 0 1 0 1

A 0 0 0 0 1 1 1 1

C 0 1 0 1 0 1 0 1

2.8 - Funo NO-OU Esta a negao da funo OU, obtida da associao da funo OU com a funo NO ou inversor. O termo ingls usado para indicar esta funo NOR e seus smbolos so apresentados na figura 14. Sua ao definida da seguinte forma: a sada ser 1 se, e somente se, todas as variveis de entrada forem 0. Uma tabela verdade para uma funo NOR de duas entradas mostrada a seguir: Entradas A B 0 0 0 1 1 0 1 1 Sada S 1 0 0 0

2.9 - Funo OU-exclusivo Uma funo de grande importncia para o funcionamento dos circuitos lgicos digitais e especificamente para os computadores a denominada OU-exclusivo ou usando o termo ingls, exclusive-OR. Esta funo tem a propriedade de realizar a soma de valores binrios ou ainda encontrar o que se denomina paridade (o que ser visto futuramente). Na figura 16 temos os smbolos adotados para esta funo. Podemos definir sua ao da seguinte forma: a sada ser 1 se, e somente se, as variveis de entrada forem diferentes. Isso significa que, para uma porta Exclusive-OR de duas en-

Esta funo derivada das demais, pois podemos mont-la usando portas conhecidas (figura 17). Assim, se bem que esta funo tenha seu prprio smbolo e possa ser considerada um bloco independente nos projetos, podemos sempre implement-la com um circuito equivalente como o ilustrado nessa figura. 2.10 - Funo NO-OU exclusivo ou coincidncia Podemos considerar esta funo como o inverso do OU-exclusivo. Sua denominao em ingls Exclusive

Figura 15 - Circuito usado para simular uma porta NOR de duas entradas.

Um circuito simples usando chaves e lmpada para simular esta funo mostrado na figura 15.

Figura 16 - Smbolo para a funo OU-exclusivo ou Exclusive-OR.

porta E de duas entradas (A e B) e sada S podemos fazer a representao: A.B=S

13
b) Operao OU Esta operao representada pelo sinal (+). A operao de uma porta OU de entradas A e B e sada S pode ser representada como: A+B=S c) Operao NO Esta operao indicada por uma barra da seguinte forma: A\ = S
Figura 18 - Smbolos da funo No-OU-Exclusive ou Exclusive NOR tambm chamada funo coincidncia.

Figura 17 - Elaborao da funo OU-exclusivo com inversores, portas AND e uma porta OR.

NOR e representada pelo smbolo mostrado na figura 18. Observe o crculo que indica a negativa da funo anterior, se bem que essa terminologia so seja apropriada neste caso. Esta funo pode ser definida como a que apresenta uma sada igual a 1 se, e somente se as variveis de entrada forem iguais. Uma tabela verdade para esta funo a seguite:
Entrada A B 0 0 0 1 1 0 1 1 Sada S 1 0 0 1

so conhecer as propriedades que as operaes apresentam. Exatamente como no caso das operaes com nmeros decimais, as operaes lgicas com a lgebra Booleana se baseiam numa srie de postulados e teoremas algo simples. Os principais so dados a seguir e prov-los fica por conta dos leitores que desejarem ir alm. Para entender, entretanto, seu significado no preciso saber como provar sua validade, mas sim memorizar seu significado.

Partindo destas representaes, podemos enumerar as seguintes propriedades das operaes lgicas: 1. Propriedade comutativa das operaes E e OU: A.B=B.A A+B=B+A 2. Propriedade associativa das operaes E e OU: A.(B.C) = (A.B).C A+(B+C) = (A+B)+C 3. Teorema da Involuo: (A negao da negao a prpria afirmao) A\\ = A 4. A operaco E distributiva em relao operao OU: A.(B+C) = A.B + A.C

Representaes As operaes E, OU e NO so representadas por smbolos da seguinte forma: a) Operao E A operao E representada por um ponto final(.). Assim, para uma

Podemos implementar esta funo usando outras j conhecidas, conforme a figura 19. 2.11 - Propriedades das operaes lgicas As portas realizam operaes com os valores binrios aplicados s suas entradas. Assim, podemos representar estas operaes por uma simbologia apropriada, facilitando o projeto dos circuitos e permitindo visualizar melhor o que ocorre quando associamos muitas funes. No entanto, para saber associar as diversas portas e com isso realizar operaes mais complexas, preci-

Figura 19 - Funo coincidncia (Exclusive NOR) implementada com outras portas.

5. Propriedades diversas: A.A = A A+A = A A.0 = 0 A.1 = A A+0 = A A+1 = 1 A.A\= 0 A+A\= 1 A+A.B = A 6. Teoremas de De Morgan: Aplicando a operao NO a uma operao E, o resultado obtido igual ao da operao OU aplicada aos complementos das variveis de entrada. ____ _ _ A.B=A+B Aplicando a operao NO a uma operao OU o resultado igual ao da operao E aplicada aos complementos das variveis de entrada. ____ _ _ A+B=A.B

14

Figura 20 - Obtendo um inversor ( Funo NO ou NOT) a partir de uma porta NAND.

sada depois de aplic-la a uma porta NAND. 2.13 - Concluso Os princpios em que se baseiam os circuitos lgicos digitais podem parecer algo abstratos, pois usam muito de Matemtica e isso talvez desestimule os leitores. No entanto, eles so apenas o comeo. O esforo para entend-los certamente ser recompensado, pois estes princpios esto presentes em tudo que um computador faz. Nas prximas lies, quando os princpios estudados comearem a tomar uma forma mais concreta, aparecendo em circuitos e aplicaes prticas ser fcil entendlos melhor. Nas prximas lies, o que foi estudado at agora ficar mais claro quando encontrarmos sua aplicao prtica.

sada certamente ser: a) 0 b) 1 c) Pode ser 0 ou 1 d) Estar indefinida 3. O circuito que realiza a operao lgica NO denominado: a) Porta lgica b) Inversor c) Amplificador digital d) Amplificador analgico 4. Se na entrada de uma porta NAND aplicarmos os nveis lgicos 0 e 1, a sada ser: a) 0 b) 1 c) Pode ser 0 ou 1 d) Estar indefinida 5. Em qual das seguintes condies de entrada a sada de uma porta OR ser 0: a) 0,0 b) 0,1 c) 1,0 d) 1,1 6. Qual o nome da funo lgica em que obtemos uma sada 1 quando as entradas tiverem nveis lgicos diferentes, ou seja, forem 0 e 1 ou 1 e 0. a) NAND b) NOR c) AND d) Exclusive OR 7. Qual a porta que pode ser utilizada para implementar qualquer funo lgica: a) Inversor (NO) b) AND c) NAND d) OR Respostas da lio n 1 a) 0110 0100 0101 b) 101101 c) 25 d) Sem resposta (1101 no existe) e) 131 f) 131 g) 334

2.12 - Fazendo tudo com portas NAND As portas NO-E, pelas suas caractersticas, podem ser usadas para obter qualquer outra funo que estudamos. Esta propriedade torna essas portas blocos universais nos projetos de circuitos digitais j que, na forma de circuitos integrados, as funes NAND so fceis de obter e baratas. A seguir vamos mostrar de que modo podemos obter as funes estudadas simplesmente usando portas NAND.

QUESTIONRIO 1. Se associarmos presena de uma tenso o nvel lgico 1 e sua ausncia o nvel 0, teremos que tipo de lgica: a) Digital b) Positiva c) Negativa d) Booleana 2. Na entrada de uma funo lgica NO aplicamos o nvel lgico 0. A

Inversor Para obter um inversor a partir de uma porta NAND basta unir suas entradas ou colocar uma das entradas no nvel lgico 1, conforme figura 20. Uma porta E (AND) obtida simplesmente agregando-se funo NO-E (NAND) um inversor em cada entrada, (figura 21). A funo OU (OR) pode ser obtida com o circuito mostrado na figura 22. O que se faz inverter a

Figura 21 - POrta E obtida com duas NO-E (NAND).

Figura 22 - Porta OU obtida com duas NO-E (NAND).

COMBINANDO FUNES LGICAS

15

Nas duas lies anteriores estudamos as famlias lgicas CMOS e TTL, analisando suas caractersticas eltricas principais e a maneira como os componentes so fabricados atravs de alguns circuitos tpicos. Nesta lio continuaremos a estudar as funes lgicas, agora de uma forma mais completa. Analisaremos o que ocorre quando juntamos diversas funes lgicas, prevendo o que acontece com suas sadas. Os circuitos complexos, como os usados nos computadores, por exemplo, se aproveitam das operaes complicadas que muitas portas lgicas podem realizar em conjunto. Assim, de fundamental importncia para nosso estudo saber analisar estas funes.

Vimos, desta forma, que a tabela verdade para uma funo AND de duas entradas, como a representada na figura 1, pode ser dada por: A 0 0 1 1 B 0 1 0 1 S 0 0 0 1

0 1 1 1 1

1 0 0 1 1

1 0 1 0 1

= = = = =

3 4 5 6 7

Veja que nas colunas de entrada (A e B) para termos todas as combinaes possveis, fazemos o equivalente numerao binria de 0 a 3, j que: 0 0 1 1 0 1 0 1 = = = = 0 1 2 3

O conhecimento da contagem binria facilita bastante a elaborao de tabelas verdades, quando todas as combinaes possveis de nveis lgicos em 2, 3 ou 4 entradas devam ser estudadas. Assim, uma vez que o leitor conhea o comportamento das principais funes, sabendo o que ocorre na sada de cada uma quando temos determinadas entradas e sabendo elaborar tabelas verdades, fica fcil combinar funes e saber o que acontece em suas sadas. 5.2 - Lgica Combinacional Vamos partir de um exemplo simples de lgica combinacional usando tabelas verdades para saber o que ocorre na sua sada, com o circuito da figura 2. Este circuito faz uso de uma porta AND, um inversor e uma porta OR. O resultado desta configurao uma funo combinacional com trs entradas e uma sada.

5.1 - As tabelas verdade Os diversos sinais de entrada aplicados a uma funo lgica, com todas as suas combinaes possveis, e a sada correspondente podem ser colocados numa tabela. Nas colunas de entradas colocamos todas as combinaes possveis de nveis lgicos que as entradas podem assumir. Na coluna correspondente sada colocamos os valores que esta sada assume em funo dos nveis lgicos correspondentes na entrada.

Para uma tabela verdade feita para uma porta AND de 3 entradas teremos: A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 S 0 0 0 0 0 0 0 1

Neste caso, as combinaes de nveis lgicos na entrada correspondem numerao binria de 0 a 7 j que: 0 0 0 0 0 1 0 1 0 = = = 0 1 2

Figura 1 - Funes ou porta AND (E) de duas entradas.

Figura 2 - Circuito combinacional simples com trs entradas.

Para elaborar a tabela verdade para este circuito e assim determinarmos todas as sadas possveis em funo das entradas, devemos levar em conta que ele formado por duas etapas. Na primeira etapa temos a porta AND e o inversor, enquanto que na segunda etapa temos a porta OR. Isso significa que as sadas dos circuitos da primeira etapa, que chamaremos de S1 e S2 so a entrada da segunda etapa. Temos ento de levar em conta estas sadas na elaborao da tabela verdade que ter no seu topo as seguintes variveis: A B C S1 S2 S A,B e C so as entradas dos circuitos. S1 e S2 so pontos intermedirios do circuito que precisam ser analisados para a obteno de S, que a sada final do circuito. Comeamos por colocar em A, B e C todas as suas condies possveis, ou todas as combinaes de nveis lgicos que podem ser aplicadas ao circuito: A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 S1 S2 S

Sabemos que a tabela verdade para o inversor : A 0 1 S 1 0

Resultando na seguinte tabela: A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 S1 1 1 1 1 0 0 0 0 S2 0 0 0 1 0 0 0 1 S 1 1 1 1 0 0 0 1

16

Ora, como em nosso caso A a entrada do inversor e S1 sua sada, podemos partir para a determinao de toda a coluna S1 simplesmente invertendo os valores de A, da seguinte forma: A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 S1 S2 S 1 1 1 1 0 0 0 0

Trata-se de uma funo bastante interessante que pode ser definida como a que fornece uma sada alta somente quando a entrada A estiver no nvel baixo, no importando as demais entradas ou ainda quando as trs entradas estiverem no nvel alto.

Para encontrar os valores da coluna S2 devemos observar que ela corresponde tabela verdade da funo AND onde as entradas so B e C e a sada S2. B 0 0 1 1 C 0 1 0 1 S2 0 0 0 1

Temos ento: A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 S1 1 1 1 1 0 0 0 0 S2 S 0 0 0 1 0 0 0 1

O passo seguinte colocar os valores possveis de S1, que corresponde sada do inversor.

Finalmente, levando em conta que S1 e S2 so entradas de uma porta OR de duas entradas cuja sada S, podemos elaborar a coluna final de sadas (S) S1 0 0 1 1 S2 0 1 0 1 S 0 1 1 1

Figura 3 - Duas formas de se obter a mesma funo.

5.3 - Como Projetar Um Circuito Combinacional O problema de saber o que acontece com a sada de um circuito formado por muitas funes lgicas quando suas entradas recebem diversas combinaes de sinais no o mais importante para o projetista de equipamentos digitais. Na verdade, muito mais importante que este procedimento justamente fazer o contrrio, ou seja, projetar um circuito que, em funo de determinados sinais de entrada, fornea exatamente na sada o que se deseja. O projeto de um circuito que tenha uma determinada funo envolve um procedimento de sntese em algumas etapas. Na primeira etapa deve ser definido o problema, estabelecendo-se exatamente qual a funo a ser executada, ou seja, quais as entradas e quais as sadas. Numa segunda etapa, coloca-se o problema numa tabela verdade ou ainda na forma de equaes lgicas. O procedimento que abordaremos neste curso ser basicamente o da obteno das funes a partir das tabelas verdade e das equaes lgicas. Finalmente, numa terceira etapa, obtemos o circuito que exercer as funes desejadas. Na terceira etapa, um ponto importante consiste na minimizao do circuito, j que na maioria dos casos

pode-se implementar a mesma funo de muitas formas diferentes como atesta o circuito simples apresentado na figura 3. Veja que podemos ter o mesmo circuito com quantidades de portas diferentes, na prtica devemos sempre levar este fato em conta. No apenas o nmero de portas que determinar a configurao final, mas sim, seu custo e a eventual utilizao em outras partes do circuito. Por exemplo, se o circuito j estiver usando dois inversores dos seis disponveis num circuito integrado e a nossa funo tiver uma soluo um pouco maior, mas que use estes inversores, ser interessante adot-la para aproveitar os inversores ociosos. A seguir daremos um exemplo de como obter os circuitos a partir de uma tabela verdade. a) Passo 1 - Determinao das equaes lgicas Lembramos que para as funes estudadas temos as seguintes representaes: Funo E (AND) Y=A.B Funo No E (NAND) ___ Y=A.B Funo OU (OR) Y=A+B Funo No OU (NOR) ____ Y=A+B Funo No (NOT) ou inversor __ Y=A Funo ou exclusivo (Exclusive OR) Y=A(+)B

Vamos tomar como exemplo a tabela verdade abaixo para determinar a funo lgica correspondente: A 0 1 0 1 0 1 0 1 B 0 0 1 1 0 0 1 1 C 0 0 0 0 1 1 1 1 Y 0 1 1 0 1 0 0 1 linha 1 2 3 4 5 6 7 8

Substituindo pelos valores encontrados teremos: __ _ _ _ S = A.B.C + A.B.C + A.B.C + A.B.C Esta ento a funo lgica que representa a tabela verdade que propusemos como parte inicial do problema e para a qual devemos encontrar um circuito equivalente. Passo 2 - Implementao dos Circuitos Combinacionais Conforme estudamos em lies anteriores, possvel usar as portas NAND e NOR como blocos lgicos universais a partir dos quais podemos elaborar qualquer outra funo ou mesmo funes mais complexas. Para exemplificar vamos analisar uma funo um pouco mais simples do que a obtida no passo anterior. Tomemos a expresso: _ _ _ S=A.B.C + A.B.C Podemos tentar implement-la usando portas NAND e eventualmenA B C S3 00 0 0 00 1 0 01 0 0 01 1 0 10 0 1 10 1 0 11 0 0 11 1 0 A B C S4 00 0 0 00 1 0 01 0 0 01 1 0 10 0 0 10 1 0 11 0 0 11 1 1

17

Indicamos a linha na ltima coluna de modo a facilitar as explicaes seguintes. Observamos que temos sadas no nvel 0 para as linhas 0, 3, 5 e 6, enquanto para as linhas 1, 2, 4 e 7 temos sadas 1. Isso quer dizer que teremos a funo OU para as linhas cuja sada 1 que podem ser encaradas como operaes OR com tabelas que teriam 1 na sada apenas nas linhas 1, 2, 4 e 7, conforme mostrado a seguir:
ABC 00 0 00 1 01 0 01 1 10 0 10 1 11 0 11 1 Y 0 1 1 0 1 0 0 1 A B C S1 00 0 0 00 0 1 01 0 0 01 1 0 10 0 0 10 1 0 11 0 0 11 1 0 A B C S2 00 0 0 00 1 0 01 0 1 01 1 0 10 0 0 10 1 0 11 0 0 11 1 0

Isso nos permite escrever as equaes lgicas para cada uma das quatro tabelas da seguinte forma: _ _ S1 = A . B . C que corresponde a A=0, B=0 e C=1 _ S2 = A . B . C que corresponde a A=0, B=1 e A=0 _ _ S3 = A . B . C que corresponde a A=1, B=0 e C=0 S4 = A . B . C que corresponde a A=1, B=1 e C=1 Como a sada S a combinao das quatro funes temos: S = S1 + S2 + S3 + S4

te inversores, j que a barra sobre cada letra indica sua negativa, conforme estudamos. A operao (.) pode ser realizada utilizando-se uma porta NAND que ligada a um inversor nos fornece uma porta AND. Assim, conforme a figura 4, podemos implementar A.B.C usando uma porta NAND de 3 entradas e um inversor. Veja na figura 5 como a operao A.B.C pode ser implementada. A soma (+) pode ser implementada com uma porta OR ligada a dois inversores, figura 6.

Figura 4 - A funo A.B.C implementada.

Figura 5 - Implementao da funo A.B.C

Figura 6 - Obtendo a soma (+) de duas expresso lgicas.

Combinando os trs circuitos podemos chegar configurao final desejada, figura 7. Veja que a inverso da inverso usada no circuito anterior nos leva ao circuito original. Isso significa que podemos simplificar a configurao eliminando as duplas inverses em srie. Isso nos leva configurao final do circuito mostrada na figura 8.

Logo, quando temos uma expresso formada pela soma de produtos, podemos usar portas NAND sem a necessidade de inversores, bastando apenas lembrar duas propriedades: As combinaes de entrada podem ser aplicadas a portas NAND. As sadas das portas NAND podem ser aplicadas entrada de uma segunda porta NAND obtendo-se na sada a funo desejada. Vamos agora fazer uma tentativa de implementar uma funo usando portas NOR, o que ser escolhido quando tivermos um produto de somas. Tomemos como exemplo a funo: _ _ _ S = (A + B + C) . (A + B + C) As somas podem ser obtidas facilmente a partir de portas NOR com

18

Figura 8 - Circuito final para funo desejada.

Figura 9 - Implementando as funes soma com portas NOR e inversores.

Figura 7 - A funo S=ABC+ABC de forma que ainda pode ser minimizada.

Figura 10 - A implementao quase final da funo.

Figura 11 - A implementao final da funo.

as sada aplicadas a um inversor. A negao de NOR OR. O circuito equivalente para trs entradas mostrado na figura 9. O produto das duas somas obtido com dois inversores aplicando os sinais a uma outra porta OR, ou seja, a uma outra configurao NOR. Como nas duas linhas de sinais temos inversores em srie, e o inversor do inverso de um nvel lgico ele mesmo, podemos simplificar o circuito eliminando todos os inversores. Isso nos permite chegar configurao final que mostrada na .. Assim, se quisermos implementar uma funo que consiste num produto de somas, basta seguir dois procedimentos bsicos: Aplicar as entradas correspondentes a cada soma a uma porta OR que pode ser obtida associando-se uma porta NOR a uma inversor. Aplicar as sadas obtidas nas funes que devem ser multiplicadas a inversores que so ligados s entradas de uma porta OR final, tambm obtida com a associao de um inversor a uma porta NOR. Como os inversores em srie se anulam, eles podem ser eliminados e o circuito implementado utilizando-se apenas portas NOR. possvel resolver o problema de implementar circuitos combinacionais reduzindo as funes a produtos de somas ou ainda a soma de produtos,

sem nenhuma parte ociosa. 5.5 DIAGRAMAS DE KARNAUGH Um processo bastante interessante para representar uma tabela verdade e a partir dela obter uma simplificao dos circuitos utilizados para sua implementao o que faz uso dos chamados diagramas ou mapas de Karnaugh. O diagrama de Karnaugh consiste numa tabela retangular com nmero de quadros que corresponde a 2 elevado ao expoente N, onde N o nmero de variveis do circuito. Cada varivel lgica ocupa no grfico metade da sua extenso e seu complemento ocupa a outra metade. Na figura 13 temos o modo como so elaborados os diagramas de Karnaugh para 1, 2 e 3 variveis, com as expresses lgicas correspondentes a cada caso. Estas expresses so obtidas de uma forma muito semelhante usada no conhecido joguinho de batalha naval onde a posio de cada tiro dada por duas coordenadas, uma correspondente s linhas e outra s colunas. Na figura 15 mostramos, como exemplo, de que modo um diagrama de Karnaugh de 4 variveis pode ser obtido com a incluso dentro de cada quadro da expresso correspondente. No diagrama (b) da figura 14 os quadros foram preenchidos com os valores 0 e 1 correspondentes s entradas. Este diagrama chamado tambm de diagrama de Veitch. Uma observao importante em relao a esta representao por 0 e 1 que

19

Figura 12 - Dois tipos diferentes de portas so usados neste circuito.

Figura 13 - O mesmo circuito usando um nico tipo de porta.

casos em que podemos trabalhar com funes NAND ou NOR. Como as duas solues levam aos mesmos resultados, num projeto prtico interessante analisar as configuraes obtidas para um problema nos dois casos. Adota-se ento a soluo que utilizar menos circuitos ou que for mais conveniente, por exemplo, aproveitando portas ociosas de um circuito integrado j utilizado no mesmo projeto com outras finalidades. 5.4 - SIMPLIFICANDO E MINIMIZANDO Uma consequncia da possibilidade de construir funes complexas a partir de portas bsicas como OR e AND (OU e E) a otimizao de um projeto aproveitando poucos tipos de circuitos integrados bsicos. Assim, se tivermos uma funo que seja obtida utilizando-se portas AND e OR como a mostrada na figura 12, ela ter o inconveniente de precisar de dois tipos diferentes de circuitos integrados. Se quisermos esta funo com circuitos TTL, por exemplo, aproveitaremos trs das trs portas de trs entradas de um circuito 7411 e tambm precisaremos aproveitar uma das quatro portas OR de duas entradas de um circuito integrado 7432. Evidentemente, estaremos usando dois circuitos integrados, desperdiando 1/3 de um e 3/4 do outro. Podemos simplificar consideravelmente este circuito se usarmos apenas portas NAND com a configurao equivalente mostrada na figura 13. Este circuito, que apresenta a mesma funo do anterior, usa as trs portas de um circuito integrado 7410. Utilizamos apenas um circuito integrado que totalmente aproveitado,

cada quadro difere do adjacente em apenas um dgito. Dizemos que so adjacentes os termos que esto direita e esquerda de cada quadro e tambm os que esto acima e abaixo. Tambm so adjacentes os que estiverem na mesma fila, mas um na primeira coluna e outro na ltima. Na figura 16 temos um mapa com a identificao das adjacncias. Assim, o que fazemos plotar a tabela verdade da funo que desejamos implementar num mapa de Karnaugh com o que ser possvel identificar melhor as adjacncias e assim fazer as simplificaes. Para que o leitor entenda como funciona o mapa de Karnaugh numa simplificao de uma funo, vamos tomar como exemplo a funo que dada pela seguinte tabela verdade: A 0 0 1 1 B 0 1 0 1 S 1 1 0 1

Desejamos expressar esta tabela como a soma de produtos, o que significa que os valores adjacentes que

Figura 14 - Diagrama de Karnaugh para uma (a) duas (b) e trs (c) variveis.

devemos procurar na tabela so os 1. Se fssemos expressar esta funo como o produto de uma soma, os valores considerados seriam os 0 e o procedimento final seria o mesmo. Construmos ento o Diagrama de Karnaugh para esta tabela conforme a figura 17. A partir deste diagrama nosso prximo passo consiste em tentar fazer simplificaes que possam levar a circuitos mais simples na implementao. A idia agrupar os termos adjacentes iguais, havendo para isso diversas possibilidades que so apresentadas na figura 18. A primeira possibilidade mostrada em (a) nos leva a uma soma de trs produtos, cada qual obtido pela interseco da linha com a coluna em que est o 1 correspondente. Assim, o primeiro est na coluna que intercepta A-0 com B-0. Ora, o valor zero na indexao indica inverso, portanto, isso significa que o primeiro fator de nosso produto ser: __ A.B O segundo 1 a ser considerado est na coluna A=1 e B=0, portanto, temos A invertido e B sem inverso, o que nos leva ao segundo fator de nosso produto: _ A.B Finalmente, o terceiro 1 a ser considerado est na linha A=1 e B=1, o que significa um fator com A multi-

20

Figura 15 - Diagramas de Karnaugh (a) e Veitch.

plicado por B sem inverses ou: A.B Como devemos expressar a funo na forma de uma soma de produtos fazemos: __ _ S = A.B + A.B + A.B Para o segundo caso (b) temos uma simplificao maior, j que agrupamos os dois 1 da primeira linha de modo que podemos adotar para ele: _ A Para o outro valor 1 que est na

casa que corresponde interseco de A-1 com B-1 vale a soma (sem inverso): A+B A expresso final na forma de um produto de somas ser ento: _ S = A + B.A Da mesma forma chegamos simplificao (b) que permite a expresso mais simples, pois conseguimos juntar trs casas adjacentes. Raciocinando da mesma forma chegamos expresso: _ S=A+B O procedimento que vimos como exemplo envolveu uma funo simples com apenas duas variveis de entrada. No entanto, o mesmo procedimen-

Figura 16 - Adjacncias no mapa de Karnaugh para 4 variveis.

Figura 17 - A tabela verdade plotada no Mapa de Karnaugh.

to vlido para qualquer nmero de variveis. Os leitores interessados em aprofundar-se neste estudo devem procurar treinar os procedimentos indicados, trabalhando com funes cada vez mais complexas.

a) Mapa de Karnaugh b) Diagrama de Veitch c) Tabela verdade d) Produto de somas 2. A tabela verdade abaixo, corresponde qual funo: ABS 001 011 101 110 a) AND (E) b) NAND (No-E) c) OR (OU) d) NOR (No-OU) 3. Qualquer circuito lgico pode ser implementado utilizando-se que funes bsicas? a) NAND e inversores b) NAND e NOR c) OR e Inversores d) AND e Inversores 4. Para implementar um circuito que corresponda a uma funo dada por uma soma de produtos usamos quais funes lgicas? a) Portas NAND b) Inversores c) Portas OR d) No possvel fazer isso 5. Se numa implementao lgica precisarmos usar inversores em srie, o que podemos fazer com eles? a) Lig-los portas AND b) Coloc-los em paralelo c) Inverter suas sadas d) Elimin-los

21

CONCLUSO O espao disponvel para nosso curso no permite um aprofundamento maior neste assunto e um certo treino se faz necessrio para o domnio das tcnicas envolvidas. Assim, para os leitores interessados no tema, sugerimos a procura de literatura complementar. Mostramos os procedimentos lgicos que permitem trabalhar com as funes de modo a chegar aos circuitos. Assim, uma tabela verdade que tenha qualquer combinao de entradas que nos leve a qualquer combinao de sada pode ser elaborada na prtica com funes bsicas (NOR e NAND) e isso no exige que se quebre a cabea. Conhecendo os procedimentos para resumir tudo em produto de somas e soma de produtos e tambm o uso dos mapas de Karnaugh para simplificao, obteremos configuraes simples que facilitam qualquer projeto.

QUESTIONRIO 1. Os valores combinados de todas as entradas e a sada correspondente podem ser colocados numa tabela denominada:

Figura 18 - Agrupamento possveis para termos adjacentes iguais.


Respostas: 1-C, 2-B, 3-B, 4-A, 5-D

APLICAES DOS CLPS NA OTIMIZAO DOS PROCESSOS INDUSTRIAIS

1. Introduo
l Histrico
Os Controladores Programveis (CP's), foram desenvolvidos no final dos anos 60, com a finalidade de substituir painis de rels em controles baseados em lgicas combinacional/seqencial, em linhas de montagem nas indstrias de manufatura, principalmente automobilstica, sendo progressivamente adotados pelas indstrias de processos. O primeiro CP foi projetado por uma diviso da General Motors Corporation em 1968, e teve como objetivo principal substituir sistemas controlados a rels, cujo custo era alto. Os primeiros CP's tinham pouca capacidade e suas aplicaes se limitavam a mquinas e processos que requeriam operaes repetitivas. A partir de 1970, o advento das unidades de processamento ou processador, permitiu o conceito de programao a esses equipamentos. As alteraes em programas, no implicavam mais em modificaes nos circuitos e fiaes, mas sim na mudana de dados contidos em elementos de armazenamento (memrias). Inovaes no hardware e software adicionaram maior flexibilidade aos CP's atravs do aumento da capacidade de memria, entradas/sadas remotas, controle analgico e de posicionamento, comunicao, etc. A expanso de memria fez com que os controladores no ficassem mais restritos a lgica e seqenciamento, mas aquisio e manipulao de dados.

22

Evoluo das aplicaes dos CP's


1969 a 1971 1971 a 1976 Substituir a lgica via rels Substituir contadores e temporizadores Operaes aritmticas Impresso de documentao/relatrios Controle em malha fechada (PID) 1976 a 1981 1981 a 1985 Comunicao entre CP's Controle de posicionamento Redes com perifricos Unidades Remotas Redundncia de CPU's 1985 a atualInterface Homem-Mquina (IHM) Sistemas supervisrios

APLICAES DOS CLPS NA OTIMIZAO DOS PROCESSOS INDUSTRIAIS


23

2. Conceito de Controladores Programveis


Controladores programveis so equipamentos eletrnicos normalmente baseados em microprocessadores, destinados a comandar e monitorar mquinas ou processos industriais, atravs do processamento dos sinais de entrada provenientes de botoeiras, chaves e sensores diversos e fornecimento de sinais de sada, atendendo a funes de seqenciamento e intertravamento eltrico, bem como comparao, contagem, controle PID, etc., conforme programa especfico armazenado em memria. Um controlador programvel difere de equipamentos convencionais para controles industriais pela programabilidade e pelo modo seqencial de execuo das instrues.

APLICAES DOS CLPS NA OTIMIZAO DOS PROCESSOS INDUSTRIAIS


24

3. Princpio de Funcionamento, Caractersticas e Aplicaes


Quando energizamos o controlador programvel as seguintes operaes so executadas: Limpeza das memrias imagens de entrada e sada; Teste de escrita/leitura da memria RAM; Teste de executabilidade do programa de usurio; Execuo de rotinas de inicializao (limpeza de registros auxiliares de trabalho, limpeza de display, preparao de teclado). Aps estas "Condies de inicializao" a UCP (unidade central de processamento) passa a executar rotinas repetitivas em um "loop" fechado. A primeira rotina do loop fechado executa a atualizao dos estados de entrada. Todas as entradas que estavam ligadas no momento da atualizao dos estados de entrada recebem um bit 0 no seu correspondente endereo na memria imagem de estados de entrada. Analogamente todas as entradas que estavam desligadas recebem um bit 1. Por exemplo, suponhamos que a entrada E10F esteja acionada no momento da atualizao de estados de entrada. Ento no endereo 10Fh da memria de dados ser colocado um contedo XXXXXXX0 b. Endereo 10Fh X X X X X X X 0 Estado da entrada E10F

Irrelevante

A figura a seguir ilustra o processamento cclico

Captulo 3 Princpio de Funcionamento, Caractersticas e Aplicaes APLICAES DOS CLPS NA OTIMIZAO DOS PROCESSOS INDUSTRIAIS
25

l Caractersticas
Algumas das principais caractersticas de um controlador programvel so: Programabilidade Alta confiabilidade Imunidade a rudos Isolao ptica de entradas e sadas Deteco de falhas Modularidade Start-up rpido Operao em condies ambientais severas

l Aplicaes
Entre os inmeros tipos de indstrias que hoje aplicam Controladores Programveis, podemos destacar: Automotiva Transformadora de Plstico Cermica Petroqumica Embalagem Bebidas Papel, etc.

APLICAO DOS CLPS NOS SISTEMAS DE SEGURANA E INTERTRAVAMENTO

2.3 CIRCUITOS BSICOS A seguir so mostrados alguns circuitos bsicos de comando e acionamento eltrico. 2.3.1 Circuito de Reteno

26

Nos circuitos da figura 2.9, apertando-se a botoeira b1, a bobina do contator d energizada, fazendo fechar os contatos de reteno d como tambm o contato d para a lmpada e esta se acende. Liberando-se a botoeira b1 , a bobina mantm-se energizada, e a lmpada h permanece acesa. Quando se apertar a botoeira b0, a bobina ser desenergizada, fazendo abrir os contatos de reteno para a lmpada h, e esta se apaga. Libera-se b0, a lmpada permanece apagada e o circuito volta condio inicial.

APLICAO DOS CLPS NOS SISTEMAS DE SEGURANA E INTERTRAVAMENTO

_________________________________________________________________________________________________

Quando apertar as duas botoeiras b0 e b1 ao mesmo tempo, no circuito da figura 2.9a , a lmpada h no se acende, porque a botoeira b0 tem preferncia na desenergizao, e no circuito da figura 2.9b a lmpada h se acende, porque a botoeira b1 tem preferncia na energizao. 2.3.2 Circuito de Intertravamento
Nos circuitos da figura 2.10, apertando-se a botoeira b12 (ou b13), a bobina do contator d1 (ou d2) energizada, impossibilitando a energizao da outra, e no deixando energizar as duas ao mesmo tempo, porque esto intertravadas.

27

Figura 2.10 Quando se apertar as duas botoeiras b12 e depois b13, no circuito da figura 2.10(a), que tem intertravamento mecnico, com os contatos normalmente fechados das botoeiras conjugadas, as lmpadas no se acendem, e, no circuito da figura 2.10(b), o intertravamento eltrico com os contatos normalmente fechados dos contatores. Neste caso, a lmpada h12 se acende e h13 no se acende. Na figura 2.11 mostrado um circuito com reteno (selo) e intertravamento eltrico.

Figura 2.11
_________________________________________________________________________________________________ SENAI Departamento Regional do Espirito Santo

25

APLICAO DOS CLPS NOS SISTEMAS DE SEGURANA E INTERTRAVAMENTO


28
_________________________________________________________________________________________________

Apertando-se a botoeira b12 (ou b13) a bobina do contator d1( ou d2) energizada, o contato de selo d1 (ou d2) fecha-se mantendo a energizao, o contato de intertravamento de d1 (ou d2) ligado em srie com d2 (ou d1 ) impossibilita a energizao das duas bobinas ao mesmo tempo. Para se energizar a bobina d2 (ou d1 ) necessrio apertar a botoeira b0, desenergizando a bobina d1 (ou d2) antes de apertar b13 (ou b12). Neste circuito, quando se apertar b12 e b13 ao mesmo tempo, os dois contatores sero energizados instantaneamente at que um dos contatos de intertravamento abra. Na figura 2.12 so mostrados os circuitos de intertravamento mecnico e eltrico que oferecem maior segurana pela sua constituio.

Figura 2.12 Quando a bobina do contator d1 (ou d2) estiver energizada, para se energizar a bobina do contator d2 (ou d1) no circuito da figura 2.12(a), necessrio primeiro apertar a botoeira b0 e depois b13 (ou b12), ao passo que, no circuito da figura 2.12(b), no h necessidade de tal procedimento, porque, apertando-se b13 (ou b12), a bobina do contator d1 (ou d2) desenergizada pelo contato de intertravamento da respectiva botoeira.

_________________________________________________________________________________________________

26

CST Companhia Siderrgica de Tubaro

Captulo 4 Arquitetura de Controladores Programveis ESTRUTURA FSICA E ARQUITETURA INTERNA

29

4. Arquitetura de Controladores Programveis


Os Controladores Programveis, como ilustra a figura a seguir, so normalmente compostos de: Unidades Bsicas Mdulos Slave

l Unidades bsicas
As unidades bsicas em geral so compostas por: Unidades de entrada Unidades de sada Unidade de processamento Unidade fonte de alimentao

Unidades de entrada
So dispositivos que podem ter um ou mais canais de aquisio de dados que codifiquem sinais analgicos ou digitais de entrada de diversos nveis de tenso (alternada ou contnua), provenientes de diversos tipos de transdutores, cujos sinais de sada sejam tenses ou correntes. Os sinais de entrada so isolados do sistema de processamento atravs de acopladores pticos, compatibilizando estes sinais com o sistema.

Captulo 4 Arquitetura de Controladores Programveis ESTRUTURA FSICA E ARQUITETURA INTERNA Unidade de entrada digital

30

Detecta e converte sinais de comutao de entrada em nveis lgicos de tenso usados no Controlador Programvel. Normalmente estas entradas so sinalizadas por led's.

Transdutores digitais
Entre os diversos tipos de transdutores digitais, podemos citar: Botes Chaves de fim de curso Sensores de proximidade Termostatos Pressostatos "Push Buttons"

Entrada tipo N e tipo P


A comutao executada por um transdutor digital de corrente contnua pode ser de dois tipos: Tipo N : Quando permite um fluxo de corrente da entrada para o potencial negativo da fonte de alimentao. A figura abaixo exemplifica um circuito de entrada digital tipo N.

31

ESTRUTURA FSICA E ARQUITETURA INTERNA Captulo 4 Arquitetura de Controladores Programveis


Tipo P : Quando permite um fluxo de corrente do potencial positivo da fonte de alimentao para a entrada. A figura abaixo exemplifica um circuito de entrada digital tipo P.

Unidade de entrada analgica


Converte sinais analgicos de entrada (em geral de 0 a 10 Vcc) em valores numricos que podem ser utilizados pelo controlador programvel.

Transdutores analgicos
Todos os tipos de transdutores que necessitam fazer converso de curso, peso, presso, etc. tais como rgua potenciomtricas, clula de carga, extensmetro, etc. A figura abaixo mostra o diagrama de blocos de uma unidade de entrada analgica.

Unidades de sada
So dispositivos que podem ter um ou mais canais, fornecendo sinais digitais ou analgicos devidamente amplificados para energizar os elementos de operao e sinalizao de atuadores diversos, que se caracterizam pelo tipo (CA ou CC, NPN ou PNP) e pelo diversos nveis de tenso e potncia. Os sinais de sada so isolados do sistema de processamento atravs de acopladores pticos.

Captulo 4 Arquitetura de Controladores Programveis ESTRUTURA FSICA E ARQUITETURA INTERNA Unidade de sada digital

32

Converte sinais lgicos usados no Controlador Programvel em sinais prprios capazes de energizar atuadores.

Atuadores
Entre os diversos tipos de atuadores, podemos citar: Contatores Solenides Rels Lmpadas Indicadores

Tipos de sada digital


A comutao executada por uma unidade de sada pode ser em corrente contnua, em corrente alternada ou rels.

Corrente contnua
Tipo N: Quando o fluxo de corrente ocorre da sada para o potencial negativo da fonte de alimentao de 24 Vcc (carga ligada entre o potencial positivo e a sada). A figura abaixo exemplifica o circuito de uma sada digital tipo N.

Captulo 4 Arquitetura de Controladores Programveis ESTRUTURA FSICA E ARQUITETURA INTERNA

33

Tipo P: Quando o fluxo de corrente ocorre do potencial positivo da fonte de alimentao de 24 Vcc para a sada (carga ligada entre o potencial negativo e a sada). A figura abaixo exemplifica o circuito de uma sada digital tipo P.

Corrente alternada
Alimentao de 90 Vca 240 Vca Varistor RC Triac : : : Protege contra o surto de tenso Protege contra disparo indevido Isolado do sistema por acoplador ptico

A figura abaixo exemplifica o circuito de uma sada digital em corrente alternada.

Unidade de sada analgica


Converte valores numricos (presets de presses, velocidade ou qualquer outro parmetro em sinal eltrico varivel (em geral de 0 a 10Vcc).

Atuadores
Entre os diversos tipos de atuadores, podemos citar: Ponte tiristorizada Conversor de freqncia Vlvula proporcional

Captulo 4 Arquitetura de Controladores Programveis ESTRUTURA FSICA E ARQUITETURA INTERNA

34

A figura abaixo mostra o diagrama de blocos de uma unidade de sada analgica.

Unidade de processamento
A unidade de processamento o centro do controlador programvel e composta pelo microprocessador, memria de programa bsico, memria de dados, memria de programa de usurio e interface de comunicao homem-mquina. O mdulo de processamento monitora os sinais de entrada do controlador programvel e os combina de acordo com as instrues existentes na memria de programa de usurio executando operaes lgicas, operaes de temporizao, contagem e seqenciamento para a seguir liberar os sinais apropriados para as sadas.

Memrias Memria bsica


Contm as informaes operacionais para o controle de leitura das entradas, a execuo passo a passo das instrues de usurio, o acionamento das sadas, bem como as interfaces - homem - mquina e de programao. Na memria bsica so tambm escritos os programas de superviso interna tais como deteco de erros de programa de usurio, teste de escrita/leitura na memria de dados e controle de tempo de ciclo.

Memria de dados
Armazena as informaes do estado das entradas que so lidas periodicamente, imagens das sadas, estados intermedirios (estados internos), estados de temporizadores, estados de contadores e valores de contadores, temporizadores, variveis, etc.

Captulo 4 Arquitetura de Controladores Programveis ESTRUTURA FSICA E ARQUITETURA INTERNA

35

Toda procura de dados (entradas ou estados internos) e todo resultado de operao (estado interno ou sada) referente a memria de dados. Desta maneira durante o processamento das instrues de usurio a memria imagem das entradas no muda, mesmo que fisicamente uma entrada tenha se alterado, pois refere-se a leitura da varredura em curso, porm os estados so modificados a medida que as instrues de usurio assim o determinam. Para as sadas ocorre algo semelhante ou seja, embora a memria imagem das sadas seja alterada durante o processamento das instrues de usurio, as linhas fsicas de sada somente so alteradas no final da varredura. Varredura de programa a leitura e execuo seqencial das instrues do programa, uma instruo por vez comeando pela primeira palavra da memria, indo at o fim do programa e recomeando no incio da memria.

Memria de usurio
Armazena os endereos da memria de dados onde se deseja executar uma operao e os endereos das sub-rotinas que cumprem a execuo de tal operao. As memrias bsicas e de usurio so do tipo EPROM ou NVRAM, portanto, no so afetadas pelo desligamento da energia. A memria de dados do tipo RAM, sendo protegida por bateria, ou NVRAM de modo que havendo uma falta de energia, no se percam os valores presetados e, se existirem, os estados internos remanentes.

Watchdog timer
Alguns tipos de controladores programveis oferecem, internamente unidade de processamento, um circuito "WATCHDOG TIMER". Este circuito consiste de um temporizador com uma base de tempo fornecida pelo microprocessador (sinal cclico 0 a 1), cujo propsito monitorar a varredura do controlador programvel pela durao deste sinal cclico fornecido. Se houver algum problema na varredura efetuada pelo controlador, o sinal deixar de ser cclico mantendo-se em 0 ou 1. Neste instante o "WATCHDOG TIMER" ir detectar esta condio, providenciando ento o desligamento das sadas do sistema para evitar operaes indesejadas.

Interface de programao
Esta interface permite a programao da memria usurio atravs de maleta de programao, terminal porttil de programao ou atravs do uso de software especfico para desenvolvimento de programa de usurio em microcomputadores pessoais, notadamente os compatveis IBM PC, permitindo a edio, monitorao e documentao dos programas.

Interface homem mquina


Esta interface controla e permite a comunicao do usurio com o controlador programvel para que aquele tenha a possibilidade de verificar (visualizar) ou interferir (alterar) os valores de preset em variveis do processo. As formas mais usuais de se comunicar com o controlador programvel so: Frontais de teclado de cristal lquido (LCD) ou vcuo fluorescente (VFD) Terminal de vdeo ou terminal LCD/VFD

5. Programao
l Linguagens de programao

36

Para obter-se o funcionamento desejado do controlador programvel, devemos antes estabelecer uma linguagem. Seria impossvel que cada usurio utilizasse a linguagem do microprocessador utilizado na UCP para a resoluo de seu determinado problema de automao. Embora ainda no seja disponvel uma linguagem com sintaxe normalizada na rea de controladores programveis, algumas linguagens apresentam simbologia semelhante para vrios fabricantes de controladores programveis. As principais formas de representao ou linguagens de programao so mostradas abaixo.

Diagrama funcional
O diagrama funcional uma forma grfica de representao de instrues ou comandos que devem ser executados. O programa representado pela linguagem descritiva: Se as entradas E00 e E01 estiverem ligadas, ento ligar sada S80. Pode ser representado em blocos funcionais por:

Lista de instrues
A mesma sentena lgica poder ser representada por: A E00 AND A E01 = S80 : Contato E00 : EM SRIE Contato E01 : = Acionamento de sada S80

Diagrama de contatos (ladder diagram)


A mesma sentena lgica poder ser representada por:

O diagrama de contatos o sistema de representao que mais se assemelha tradicional notao de diagramas eltricos.

37

Existem outras representaes e certamente em um futuro bastante prximo ser utilizada uma linguagem estruturada tipo : E00 = Boto de partida E01 = Boto de avano S80 = Avano pisto ESPERE ESPERE LIGA Boto de partida Boto de avano Avana pisto

No momento vamos nos fixar em diagramas de contatos em todos os exemplos e aplicaes.

Funes bsicas
A linguagem utilizada para programao o diagrama de contatos onde seus termos so as posies de memria imagem.

O smbolo de contato aberto aplica-se a entradas, estados internos, sadas, led's, estado de temporizadores ou contadores, o mesmo ocorrendo para contato fechado. O smbolo de sada aplica-se sada, estado interno, led. Os smbolos dispostos em srie representam uma operao lgica "AND" e em paralelo operao lgica "OR".

Exemplo de diagrama de contatos:

38
** ** ** ** ** ** ** ** ** ** ** **

************************************************************************************************************************************* ** ** ** ATOS AUTOMACAO INDUSTRIAL LTDA ** ** RUA ARNOLDO FELMANAS, 201 - VILA FRIBURGO - CEP 04774-010 - SAO PAULO - SP ** ** ADMINISTRACAO E VENDAS TEL.(011) 521-5044 - FAX. (011) 522-5089 ** ** FABRICA TEL.(011) 522-1944 - FAX. (011) 246-9194 ** ** ** ************************************************************************************************************************************* LINHA N.o 1 - [4010] - S180 : SAIDA PISCANTE REF: _ 1* 3/ _ LINHA DE COMANDO DA SAIDA PISCANTE 100 000 180 -] [--]/[-------------------------------( ) T000 CONTATO DO TEMPORIZAD.(Tempo sada em ON) E100 ENTRADA DE START DO PISCA S180 SAIDA PISCANTE

LINHA N.o 2 - [4016] - T0 : CONTATO DO TEMPORIZAD.(Tempo sada ON) REF: _ 1/ 2* _ LINHA DE CONTROLE DO TEMPO DE SAIDA EM ON _ _ +-----------+ 100 001 | | T000 CONTATO DO TEMPORIZAD.(Tempo sada em ON) -] [--]/[-----------------------------]H | T001 CONTATO DO TEMPORIZAD.(Tempo sada em OFF) | TMR | I0F7 SEMPRE LIGADO 0F7 | | E100 ENTRADA DE START DO PISCA -] [----------------------------------]S 000 | | | +-----------+ LINHA N.o 3 - [401E] - T1 : CONTATO DO TEMPORIZAD.(Tempo sada OFF) REF: _ 2/ 3* _ LINHA DE CONTROLE DO TEMPO DE SAIDA EM OFF _ _ +-----------+ 100 180 | | T001 CONTATO DO TEMPORIZAD.(Tempo sada em OFF) -] [--]/[-----------------------------]H | I0F7 SEMPRE LIGADO | TMR | E100 ENTRADA DE START DO PISCA 0F7 | | S180 SAIDA PISCANTE -] [----------------------------------]S 001 | | | +-----------+ LINHA N.o 4 - [4026] LINHA FIM DE PROGRAMA ---------------------------------------(FIM) _

39

Instrues Bsicas
LD
Load ou carregamento. Comea a operao em cada lgica ou bloco lgico atravs de contato NA. uma instruo de um operando. A instruo LD faz com que o contedo de um estado interno especificado pelo operando (estado ON ou OFF) se armazene em um registro de operaes lgicas. Para formar operaes lgicas esta instruo deve ser combinada com outras instrues como OR, AND. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

100 o estado interno que vai usar a instruo.

LDN
Carregamento de NF. similar a instruo LD, porm para contatos NF SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

100 o estado interno que vai usar a instruo.

LDI
Load ou carregamento imediato. Comea a operao em cada lgica ou bloco lgico atravs de contato NA correspondente a uma entrada da faixa E100 a E107. uma instruo de um operando. A instruo LDI faz com que o contedo de uma entrada (estado ON ou OFF) especificada pelo operando, se armazene em um registro de operaes lgicas no instante em que a instruo executada. Para formar operaes lgicas esta instruo deve ser combinada com outras instrues como OR, AND. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

Essa instruo garante que o estado (ON ou OFF) da entrada 100 ser carregado no instante da execuo da instruo.

40

OUT
Output. Coloca o resultado de uma operao lgica em um estado interno especificado pelo operando. Este estado interno pode ser uma sada, um estado interno auxiliar ou um estado interno auxiliar com reteno. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

OUTN
Output negado. Coloca o resultado invertido de uma operao lgica em um estado interno especificado pelo operando. Este estado interno pode ser uma sada, um estado interno auxiliar ou um estado interno auxiliar com reteno. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

OUTI
Output no em fim de linha. Coloca o resultado de uma operao lgica (armazenada no primeiro registro de operaes lgicas) em um estado interno especificado pelo operando (sem alterar o contedo do primeiro registro de operaes lgicas) podendo portanto ser continuada a seqncia de operaes lgicas da linha. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

OUTIN
Output negado no em fim de linha. Coloca o resultado invertido de uma operao lgica (armazenada no primeiro registro de operaes lgicas) em um estado interno especificado pelo operando (sem alterar o contedo do primeiro registro de operaes lgicas) podendo portanto ser continuada a seqncia de operaes lgicas da linha. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

41

OUTR
Output imediato. Coloca o resultado de uma operao lgica imediatamente em uma sada fsica especificada pelo operando, vlida na faixa S180 a S187. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

Essa instruo garante que a sada fsica 180 ser atualizada na execuo dessa instruo

SETR
SET-RESET. Permite executar um estado interno com reteno (LATCH). composta por duas entradas: (S)ET - Se a entrada acionada, mesmo durante um nico perodo de varredura, o estado interno especificado pelo operando acionado; (R)ESET - se a entrada acionada, mesmo durante um nico perodo de varredura o estado interno especificado pelo operando desacionado. Se ambas as entradas so acionadas a entrada RESET tem prioridade. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

Se a entrada 100 acionada a sada 180 acionada; desacionando a entrada 100 a sada 180 continua acionada (LATCH). Acionando a entrada 101 a sada 180 desacionada.

42

MONOA
Monoestvel no acionamento. Realiza o acionamento de um estado interno especificado por uma nica varredura quando as condies lgicas de entrada passam do estado desativado (OFF) para o estado ativado (ON). Quando a condio lgica de entrada est desativada o estado interno especificado permanece desativado. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

No exemplo apresentado, a sada 180 ser acionada pelo tempo de uma varredura toda vez que a entrada 100 passar do estado OFF para o estado ON.

MONOD
Monoestvel no desacionamento. Realiza o acionamento de um estado interno especificado por uma nica varredura quando as condies lgicas de entrada passam do estado ativado (ON) para desativado (OFF). Quando a condio lgica de entrada est ativada (ON) o estado interno especificado permanece desativado. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

No exemplo apresentado, a sada 180 ser acionada pelo tempo de uma varredura toda vez que a entrada 100 passar do estado ON para estado OFF.

43

TMR
Simula um temporizador com retardo na energizao. composta por 2 entradas: HABILITA - permite a contagem do temporizador, quando a condio lgica da entrada ativada. Caso contrrio a contagem zerada. START/STOP - Quando ativada permite a contagem e quando desativada pra a contagem (sem zerar). SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

Inicialmente deve-se presetar este temporizador no endereo (400/401). Este endereo devido ao estado interno utilizado (000), consultar mapeamento do CP utilizado. Este valor de preset pode ser colocado na memria de vrias formas, por exemplo, atravs de uma tela de 1 edio e 1 visualizao em uma IHM ou atravs de uma instruo que escreva dados na memria do CP. Estando a entrada 100 acionada, quando a entrada 101 for acionada a contagem de tempo iniciada, e neste caso alocada, ou atualizada no endereo (440/441) efetivo. E com a entrada 100 desacionada o valor da contagem zerado. Se a entrada 101 for desacionada a temporizao para e no zera continuando assim que a entrada 101 for acionada novamente. Neste exemplo, quando o valor da contagem de tempo (end. 440/441) se igualar ao valor de preset (end.400/401) o E.I. 000 ser acionado e conseqentemente a sada 180 tambm.

44

CNT
Simula um contador. composta por duas entradas: (H)ABILITA - Permite que ocorra a contagem, quando a condio lgica da entrada ativada. Caso contrrio a contagem zerada. (S)TART/STOP - na Transio de OFF para ON incrementa a contagem. Para isto a entrada HABILITA deve estar ativada. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

Inicialmente deve-se presetar este contador no endereo (400/401). Este endereo devido ao estado interno utilizado (000), consultar mapeamento do CP utilizado. Este valor de preset pode ser colocado na memria do CP de vrias formas, por exemplo, atravs de uma tela de 1 edio e 1 visualizao em uma IHM ou atravs de uma instruo que escreva dados na memria. Estando a entrada 100 acionada, a cada acionamento da entrada 101 o contedo do endereo (440/441) efetivo incrementado de uma unidade. E com a entrada 100 desacionada o valor da contagem zerado. Neste exemplo, quando o valor da contagem (end.440/441) se igualar ao valor de preset (end.400/401) o EI 000 ser acionado e conseqentemente a sada 180 tambm.

45

CNT2
Simula um contador. Se a entrada (H)abilita estiver acionada e houver uma transio de OFF para ON na entrada (P)ulso, esta instruo executar o incremento de uma unidade no contedo do endereo apontado em OP2 (valor efetivo do contador) e a comparao entre um valor BCD de 4 dgitos (0000 a 9999) contido no endereo apontado por OP1 (preset do contador) com o valor BCD de 4 dgitos (0000 a 9999) contido no endereo apontado por OP2 (valor efetivo do contador). Se o valor efetivo do contador for igual ao valor do preset do contador, ser acionado o estado interno declarado em OP3 e o valor efetivo do contador no ser mais incrementado. Estando a entrada (H)abilita desacionada, o valor efetivo do contador ser zerado, independente da entrada (P)ulso. Se a entrada (H)abilita estiver desacionada e o valor de preset do contador for igual a zero, o estado interno declarado em OP3 ser estar acionado. composta por duas entradas: (P)ULSO - na transio de OFF para ON incrementa uma unidade do valor contido no endereo apontado por OP2. Para isto a entrada (H)abilita deve estar acionada. (H)ABILITA executa a comparao, e estando desacionada zera o valor contido no endereo apontado por OP2. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

Estando o estado interno 100 acionado, o valor contido nos endereos 2002 e 2003 (valor efetivo da contagem) ser igual a 0000 e o estado interno 0200 estar acionado se o valor contido nos endereos 2000 e 2001 (valor do preset para contagem) tambm for igual a 0000. Estando o estado interno 100 acionado, a cada acionamento do estado interno 101 o valor contido nos endereos 2002 e 2003 (valor efetivo da contagem), ser incrementado de uma unidade. O estado interno 0200 estar desacionado se o valor contido no endereos 2002 e 2003 (valor efetivo da contagem) for menor que o valor contido nos endereos 2000 e 2001 (valor de preset para contagem). O estado interno 0200 estar acionado se o valor contido no endereos 2002 e 2003 (valor efetivo da contagem) for igual ao valor contido nos endereos 2000 e 2001 (valor de preset para contagem).

LDX

46

Load ou carregamento indexado. Comea a operao em uma linha lgica com um contato normalmente aberto. uma instruo de um nico operando. A instruo faz com que um estado interno, especificado pelo contedo do operando (estado ON ou OFF) se armazene em um registro de operaes lgicas. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

Se o contedo de 700 for:

0 2 700

0 0 701

A instruo LDX 700 carregar no registro de operaes lgicas o estado (ON ou OFF) do estado interno 200. O operando deve ser sempre par, pois indica um registro ndice e deve estar entre 400 e 7FF

LDW
Comea linha com chave (NA) do tipo bit enderevel. Executa o carregamento do contedo do bit selecionado por OP2, do registro apontado por OP1, em um registro interno de operaes lgicas. Se o contedo do bit selecionado for igual a 1, equivaler a condio OFF para o restante da lgica. Se o contedo do bit selecionado for igual a 0, equivaler a condio ON para o restante da lgica. Esta instruo s pode ser utilizada no incio de uma linha de programa, podendo a seguir ser combinada com outras instrues tais como AND, ANDN, OR, ORN, LD ou LDN. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

Enquanto o bit 13 do registro 3000 estiver em 1, o EI 180 estar desacionado. Conseqentemente, enquanto o bit 13 do registro 3000 estiver em 0, o EI 180 estar acionado.

47

OUTX
Output indexado Coloca o resultado de uma operao lgica (ON ou OFF) em um estado interno especificado pelo contedo do operando (registro ndice). Este estado interno indexado pode ser uma sada ou um estado interno auxiliar. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

O operando deve ser sempre par, pois indica um registro ndice e deve estar entre 400 e 7FF. Se o contedo de 702 for:

0 1 702

8 0 703

Quando o EI 100 for ativado, o EI 180 ser ativado e quando o EI 100 for desativado, conseqentemente o EI 180 ser desativado.

48

Instrues de Comparao
CMP
Comparao entre contedos de registros. Esta instruo executa a comparao dos 16 bits de um registro de palavras indicado por OP1 com outro registro indicado por OP2. uma instruo de entrada nica: (H)ABILITA quando acionada permite que a comparao seja executada e aps sua execuo os flags de comparao estaro na seguinte condio: se (OP1) > (OP2) -> LIGA 0F8 se (OP1) = (OP2) -> LIGA 0F9 se (OP1) < (OP2) -> LIGA 0FA Onde: (OP1) e (OP2) indicam o contedo dos registros OP1 e OP2 definidos na instruo. O contedo dos registros no alterado por uma instruo de comparao. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

Os E.I.s 0F8, 0F9 e 0FA so flags de comparao, portanto cada vez que se habilitar as diversas instrues CMP em um programa, esses flags sero alterados. Para se preservar as sadas em caso de no habilitao da comparao em uma determinada varredura, podemos utilizar a instruo JMP. Se no exemplo acima o estado interno 200 derivado de uma operao MONOA ou MONOD, quando na varredura a instruo CMP no executada, ocorre um salto no programa de modo a no atualizar os estados internos ativados pelos flags 0F8, 0F9 e 0FA. Se o estado interno 200 for ativado e o contedo dos registros 600 e 800 forem, por exemplo, 1000d e 0999d respectivamente, aps a execuo da instruo somente EI 0F8 estar ligado. Para 600=0999d e 800=0999d somente o EI 0F9 estar ligado. Finalmente, para 600=0999d e 800=1000d somente o EI 0FA estar ligado.

49

FCMP
Comparao entre valores com ponto flutuante. Esta instruo executa a comparao de 2 nmeros em ponto flutuante indicado por OP1 e OP1+2 com outro registro indicado por OP2 e OP2+2. Observao: Os valores de ponto flutuante esto armazenados segundo a norma ANSI/IEEE Std 7541985. uma instruo de entrada nica: se (OP1) > (OP2) -> LIGA 0F8 se (OP1) = (OP2) -> LIGA 0F9 se (OP1) < (OP2) -> LIGA 0FA Onde: (OP1) e (OP2) indicam o contedo dos registros OP1 e OP2 definidos na instruo. O contedo dos registros no alterado por uma instruo de comparao. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO (H)ABILITA Caso a entrada habilita acionada a instruo executada e aps sua execuo os flags de comparao estaro na seguinte condio:

Os EI's 0F8, 0F9 e 0FA so flags de comparao, portanto cada vez que se habilitar as diversas instrues CMP em um programa, esses flags sero alterados. Para se preservar as sadas em caso de no habilitao da comparao em uma determinada varredura, podemos utilizar a instruo JMP. Se no exemplo acima o estado interno 200 derivado de uma operao MONOA ou MONOD, quando na varredura a instruo CMP no executada, ocorre um salto no programa de modo a no atualizar os estados internos ativados pelos flags 0F8, 0F9 e 0FA. Se o estado interno 200 for ativado e o contedo dos registros 600/602 e 800/802 forem, por exemplo, 1,35d e 1,34d respectivamente, aps a execuo da instruo somente EI 0F8 estar ligado. Para 600=1,34d e 800=1,35d somente o EI 0F9 estar ligado. Finalmente, para 600=1,34d e 800=1,34d somente o EI 0FA estar ligado.

Importante: Note que no importa o momento, somente um dos trs EI's estar ligado aps a execuo da instruo.

Instrues Aritmticas
SUM
Soma BCD. Soma dois operandos em BCD. uma instruo de entrada nica:

50

(H)ABILITA - Quando a entrada habilita acionada o contedo de OP1 somado em BCD com o contedo de OP2 e o resultado colocado no registro OP3. Se ocorrer "overflow", o E.I. 0FF ser acionado. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

Se o estado interno 200, derivado de uma operao MONOA ou MONOD estiver acionado o contedo do registro 400 somado ao contedo do registro 404 e o resultado da adio na base decimal colocado no registro 600.

FSUM
Soma em ponto flutuante. Esta instruo contm trs operandos e uma entrada (Habilita). Quando a entrada habilita acionada os 32bits a partir de OP1 so somados com os 32 bits a partir de OP2, o resultado colocado no registro OP3 e OP3+2. Se ocorrer "overflow", o estado interno 0FF ser acionado. Observao: Os valores de ponto flutuante esto armazenados segundo a norma ANSI/IEEE Std 7541985. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

SUB

51

Subtrao BCD. Esta instruo contm trs operandos e uma entrada (Habilita). Quando a entrada habilita acionada o contedo do registro OP1 subtrado em BCD do contedo do registro OP2 e o resultado colocado no registro OP3. Se o contedo de OP1 for maior que o contedo de OP2, o E.I. 0FF ser desacionado. (OP3) = [(OP2) - (OP1)] SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

Se o estado interno 200, derivado de uma operao MONOA ou MONOD, estiver acionado, o contedo do registro 400 subtrado do contedo do registro 404 e o resultado da subtrao na base decimal colocado no registro 600.

FSUB
Subtrao em ponto flutuante. Esta instruo contm trs operandos e uma entrada (Habilita). Quando a entrada habilita acionada os 32 bits a partir do registro OP1 so subtrados dos 32 bits do registro OP2 e o resultado colocado nos 32 bits a partir do registro OP3. Se o contedo de OP1 for maior que o contedo de OP2, o estado interno 0FF ser desacionado. Observao: Os valores de ponto flutuante esto armazenados segundo a norma ANSI/IEEE Std 7541985. (OP3) = [(OP2) - (OP1)] SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

52

DIV
Diviso BCD. Esta instruo contm trs operandos e uma entrada (habilita). Quando a entrada habilita acionada, o contedo do registro OP1 (dividendo) dividido pelo contedo do registro OP2 (divisor) e o quociente (parte inteira) colocado no registro OP3. O resto da diviso colocado em um registro especial (780h). Nesta operao h a restrio de que o divisor (apontado por OP2) seja um nmero menor ou igual a 255. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

No exemplo acima, se o contedo de 400 for 0090d, de 404 for 0020d e a entrada 200 for acionada atravs de uma instruo MONOA ou MONOD, o contedo de 600 ser igual a 0004d e o contedo de 780 ser igual a 000Ah. (O resto sempre dado em hexadecimal) A diviso por zero (contedo de OP2 = 0) no executada, ou seja, o comportamento o mesmo da entrada Habilita desacionada.

FDIV
Diviso com ponto flutuante. Esta instruo contm trs operandos e uma entrada (habilita). Quando a entrada habilita acionada, o contedo do registro OP1/OP1+2 (dividendo) dividido pelo contedo do registro OP2/OP2+2 (divisor) e o quociente (parte inteira) colocado nos registro OP3 e OP3+2. Se ocorrer "overflow", o estado interno 0FF ser acionado. Se o resultado for superior a + ou - [3,402823E+38] o EI 0FF ser ligado. Se o resultado for inferior a + ou - [1,175495E-38] o valor ser arredondado para zero. Observao: Os valores de ponto flutuante esto armazenados segundo a norma ANSI/IEEE Std 7541985. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

53

MULT
Multiplicao BCD. Esta instruo contm trs operandos e uma entrada (habilita). Quando a entrada habilita acionada, o produto do contedo de OP1 e do contedo OP2 colocado no registro OP3 SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

Note que OP3 aponta para o byte mais significativo do produto, que est contido em 4 bytes (8 dgitos) a partir de OP3 (Multiplicao de valor de 4 dgitos por valor de 4 dgitos implica em um produto de 8 dgitos). A escolha da parte do resultado a ser usado em outra operao fica a critrio do programador. (Flutuao do ponto decimal). No exemplo, se o contedo de 400 for 0002d, de 404 for 0005d e a entrada 200 for acionada atravs de uma instruo MONOA ou MONOD, o contedo de 600 ser igual a 0000d e o contedo de 602 ser igual a 0010d.

FMUL
Multiplicao em ponto flutuante. Esta instruo contm trs operandos e uma entrada (habilita). Quando a entrada habilita acionada, o produto do contedo de OP1/OP1+2 e do contedo OP2/OP2+2 colocado nos registro OP3/OP3+2. Se o resultado for superior a + ou - [3,402823E+38] o EI 0FF ser ligado. Se o resultado for inferior a + ou - [1,175495E-38] o valor ser arredondado para zero. Observao: Os valores de ponto flutuante esto armazenados segundo a norma ANSI/IEEE Std 7541985. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

Se o contedo de 400/402 for 1,25d, de 404/406 for 1,55d e a entrada 200 for acionada atravs de uma instruo MONOA ou MONOD, o contedo de 600/602 ser igual a 1,9375d.

Instrues de Movimentao de Dados


MOV
Movimentao de dados. Se a entrada habilita estiver acionada, transfere o contedo do registro apontado por OP1 para OP2. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

54

Se a entrada 100 estiver fechada o contedo do registro 600 copiado para o registro 800. Ento aps a execuo da instruo o contedo de 800 ser o mesmo de 600.

MOVK
Carregamento de constante em um registro. Esta instruo executa a colocao de um valor de 16 bits em um registro de palavras indicado por OP1. A instruo tem uma nica entrada (Habilita). SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

No exemplo acima, se o estado 200, derivado da operao MONOA estiver acionado, o valor 1234 colocado no registro 600 (posies 600 e 601 da memria).

1 2 600

3 4 601

55

TAB
Carregamento de constantes em uma tabela de dados. Esta instruo possibilita o carregamento de at 16 constantes de 16 bits a partir de um registro indicado por OP1. A instruo especifica tambm a quantidade de constantes que sero carregadas e tem uma nica entrada (Habilita). Os valores a serem carregados so declarados imediatamente aps a instruo. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

Quando o estado interno 200 for acionado, o registro 600 passar a conter 1234, 602 conter 5678 e assim por diante. Observao: A tabela de dados deve comear e terminar dentro de uma mesma pgina, neste exemplo a pgina comea em 600 e terminando conseqentemente em 6FF.

ATAB
Armazena bloco de dados. uma instruo de uma nica entrada (habilita). A instruo copia um bloco de dados de at 64 bytes para uma regio de armazenamento correspondendo a uma das 64 tabelas possveis. Onde OP1 aponta para o primeiro byte; NB o nmero de bytes (01 a 64) que sero armazenados e NT o nmero da tabela (01 a 64 ) que vai receber os bytes. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

No exemplo acima, os 64 bytes entre os registros 400 e 43E que so exatamente os 32 presets de temporizadores/contadores foram armazenados numa regio da memria identificada por tabela 01. Isso ocorreu aps o acionamento do estado interno 200.

56

WBIT
Movimentao de palavra para estado. Esta instruo executa a transferncia de 16 bits de um registro de palavras para 16 estados internos consecutivos. uma instruo de dois operandos onde OP2 indica o primeiro estado interno da seqncia de 16 e OP1 indica o registro de palavras de onde ir ocorrer a transferncia. A instruo tem ainda uma entrada Habilita. SMBOLO EM DIAGRAMA DE RELS EXEMPLO DE PROGRAMAO

Se o estado interno 200, derivado de uma operao MONOA ou MONOD estiver acionado, os bits do registro 600 sero transferidos para os estados internos (neste caso sadas) 180 a 18F. Por exemplo, se o contedo do registro 600/601 for FAFBh os estados internos 180 a 18F sero afetados da seguinte forma:

180 181 182 183 184 185 186 187

= = = = = = = =

OFF OFF ON OFF OFF OFF OFF OFF

188 189 18A 18B 18C 18D 18E 18F

= = = = = = = =

ON OFF ON OFF OFF OFF OFF OFF

57

Importante: um bit 0 corresponde a um E.I. ON e um bit 1 corresponde a um E.I. OFF.

58

1. Converter para diagrama de contatos, os seguintes esquemas eltricos: a) Acionamento de solenide

S1 K1

= 100 = Boto de acionamento = 180 = Solenide

b) Botoeira liga-desliga solenide

S1 S2 K1

= 101 = Boto liga = 102 = Boto desliga = 181 = Solenide

59
c) Acionamento, com retardo, de um solenide ou bobina

S1 T1 K1

= 103 = Boto de acionamento = 000 = Temporizador = 182 = Solenide

d) Acionamento de um motor ( estrela tringulo )

S1 S2 S3 T1 CHL CHD CHY

= 104 = Boto partida = 105 = Boto parada = 106 = Contato de rel trmico = 001 = Temporizador = 183 = Contactor de linha = 184 = Contactor de ligao tringulo = 185 = Contactor de ligao estrela

60
2. Programe o acionamento de uma vlvula solenide. Este acionamento deve ocorrer depois de 5 segundos, ou seja, devemos disparar um temporizador, que no final deste tempo acione a vlvula. Programe tambm uma tela com um campo de edio e um campo de visualizao, onde vamos editar no endereo 400 (preset do temporizador 000) e visualizar o endereo 440 (efetivo do temporizador 000). Tela exemplo: TEMPORIZADOR PRE. Utilizar: 100 - Liga solenide 000 - Temporizador 180 Sada p/ solenide 3. Programe um contador, que conte pulsos com a entrada 100, e seja resetado com a entrada 101. No final da contagem dever acionar a sada 180, sinalizando assim final de contagem. Programe tambm uma tela com um campo de edio e um campo de visualizao, onde vamos editar no endereo 400 (preset do contador 000), visualizar o endereo 440 (efetivo do contador 000). Tela exemplo: EFE.

CONTADOR PRE. EFE.

4. Programe um comando bi-manual. O bi-manual deve manter as mos do operador em local seguro, enquanto ciclos perigosos da mquina esto em andamento, em aplicaes como prensas. Modo de funcionamento: - O operador s consegue acionar a mquina quando os dois botes forem acionados simultaneamente, um boto longe do outro, de tal forma que cada boto seja acionado somente por uma das mos do operador. - Quando acionado um dos botes deve-se disparar um temporizador, com o tempo muito curto, no deixando assim que a mquina seja acionada se os dois botes no forem acionados praticamente ao mesmo tempo. Programe as telas abaixo para esta aplicao. A primeira tela deve ser de texto, na segunda vamos presetar no 400 (preset do temporizador 000), e visualizar o 440 (efetivo do temporizador 000).

PRENSAS ABCD APERTE BOTOES 1 E 2

TEMPORIZADOR PRE. EFE.

61
5. Automatizar a mquina de encher garrafas, conforme o desenho, considerando que j exista uma garrafa embaixo do bico de enchimento. Quando o processo for inicializado, abrir o bico de enchimento durante um certo tempo, para que o lquido encha a garrafa, depois acione o motor da esteira para a troca de garrafas. Encha 20 garrafas, com processo contnuo. Programe as seguintes telas para a IHM: MAC VIDROS ENCHEDORA SR 2000

Tela 000 - Tela texto, na primeira linha nome da empresa, na segunda linha nome da mquina.

SELECIONE S1-TEMPOS S2-CONT.

Tela 001 - Tela de navegao, S1 salta para a primeira tela de tempos e S2 salta para a tela de contagem. TEMPO ENCHER GARR PRE. EFE.

Tela 002 - Tela com um campo de edio e um campo de visualizao do tempo de enchimento das garrafas. TEMPO ESTEIRA PRE. EFE.

Tela 003 - Tela com um campo de edio e um campo de visualizao do tempo de acionamento da esteira. CONTA GARRAFAS PRE. EFE.

Tela 004 - Tela com um campo de edio e um campo de visualizao da contagem de garrafas. Utilizar: Entradas 100 - Inicia processo 101 - Reset do contador Sadas 180 - Aciona bico de enchimento 181 - Aciona motor da esteira Estados Internos 200, 201 - Estados internos auxiliares TEMPORIZADORES 000 - Tempo de enchimento 001 - Tempo de troca de garrafas CONTADOR 002 - Contador de garrafas

62

6. Programar um temporizador de base de tempo de 1s, que no final de 20 s acione a sada 185. Programe uma tela de uma edio, no endereo 400 (preset do temporizador 000), e uma visualizao do endereo 440 (efetivo do temporizador 000). Exemplo de tela: TEMPORIZADOR 0000 PRE. 0000 EFE.

7. Faa um programa usurio que resolva a seguinte equao matemtica: C= A*B A+B

Programe as telas abaixo : 1. Editar A e B, nos endereos 500 e 502, tela de incio (BLOCO). 2. Visualizar A*B, no endereo 600, tela intermediria (BLOCO). 3 Visualizar A+B, no endereo 700, tela intermediria (BLOCO). 4. Visualizar C, no endereo 800, tela de fim (BLOCO).

63
8. Faa um programa de usurio que : - Atribua a varivel A, o valor 500; - Edite a varivel B com um valor qualquer; - Compare A com B e sinalize: se A = B, ativa a sada 180 se A < B, ativa a sada 181 se A > B, ativa a sada 182 Programe uma tela para editar B e visualizar A. Escolha um registro de uso geral (mapeamento de memria) para visualizar e editar as variveis A e B respectivamente. 9. Programe duas telas de texto, de forma que a cada 1s elas se alternem no display da IHM (utilizar programao de alarmes). Mostrar: Tela 1 ATOS AUTOMACAO INDUSTRIAL Tela 2 MPC 4004

10. Programe um contador UP/DOWN, que conte at 10, sinalize com a sada 183, e automaticamente pare de contar. Escolha registros de uso geral para visualizar e editar os respectivos valores deste contador. 11. Em uma aplicao industrial temos 6 motores. Quando acionamos um boto START, temos que acionar os motores 1, 3 e 4. Depois de 15 segundos, temos que acionar os motores 2, 5 e 6, durante 20 segundos e finalmente desligar todos os motores. S ser possvel novo acionamento, quando o boto START for pressionado novamente. Utilizar a instruo WBIT e deixar a IHM desabilitada. 12. Controle a dosagem de produto qumico, no equipamento da figura abaixo. No recipiente temos um sensor de nvel alto (SNA - 4 litros), e um sensor de nvel baixo (SNB - 1 litro). Se o nvel de produto qumico for inferior 1 litro, devemos abrir a vlvula 1 para encher o recipiente, no deixando ultrapassar 4 litros, ou o sensor de nvel alto (SNA). Para escoar o produto temos um sinal externo, ativado por um boto (sistema manual) ou sinal do prprio processo (sistema automtico). As vlvulas 1 e 2 no podero estar abertas ao mesmo tempo. Programe a IHM, para mostrar mensagens para o operador, nas seguintes situaes: 1. Vlvula um aberta, portanto recipiente vazio.

FALTA PRODUTO VALVULA 1 ABERTA 2. Vlvula dois aberta. LIBERANDO PRODUTO VALVULA 2 ABERTA

ANALISE E DESENVOVIMENTO DE PROJETOS Equacionamento de Sistemas


Aula 5 , 6 , 7 Fundamental para o responsvel pela automao. simples de fcil compreenso. empregado sempre que o numero de variveis elevado ou sempre que o comando envolve vrias operaes, uma vez que a lgebra de Boole para uma quantidade pequena de variveis. Este mtodo consiste das seguintes etapas: Apresentao do problema. Esclarecimento e anlise. Algoritmo Representao grfica (Fluxograma Analtico) Esquema funcional. Circuito de Comando Ladder,Grafcet,IL etc.

64

65

Projeto de automao de uma maquina de furar industrial

Utilizaremos o mtodo de equacionamento de sistemas.

66
Cil indro 1

B2

B1 B3 Cilindro 2 S1 S2 S5

S4

S3

Projeto: Automao de uma furadeira C omposta de dois cilindro pneumticos de duplo efeito , um motor eletrico (MT1), cinco chaves fim de curso (S1,S2,S3,S4 e S5) e dois botes pulsadores (BT1 e BT2). ESTAD O INC IAL: Furadeira na posio alta (S 5 atuado), o motor MT1 desligado e o suporte de pea em posio de carregamento (S1 atuado) o sistema liberado para inicio do cliclo C IC LO: 1 - Satisfeitas as condies iniciais, o acionamento de BT1 dar partida. 2 - O cilindro 2 estende e desce a broca at a pea. 3 - C om a atuao de S2 o motor M1 acionado, fazendo girar a broca ao mesmo tempo em que o cilindro 1 se estende descendo a broca at a pea. 4 - Quando S 3 atuado o cilindro C L1 recua levando a broca de volta a posio inicial. 5 - C om a atuao de S4 (no passo de subida da broca) o cilindro C L2 recuar at que S1 seja atuado. OBSERVA ES : 1 - O ciclo encerrado com a atuao de S5 2 - O motor M1 desenergizado com a atuao de S 4 durante o passo de subida da broca. 3 - O boto B2 (parada antes da furao) ster efeito durante o passo de descida da broca at a atuao de S4 (a furadeira retornar ao ciclo atravs de BT1). PREV ER SINALIZA ES PARA : 1 - D efeito trmico no motor MT1 (lampada H1 intermitente). 2 - Parada antes da furao atuada (lampada H2 - intermitente) 3 - Furadeira em ciclo (H2 - em continuo.

67

Reservatrio composto de uma Valvula Solenoide P , duas bombas acionadas por M1 e M2 um alarme AL e quatro sensores de nvel a,b,c e d a b P c d M2 M1

AL

Funcionamento: se o nivel for "a" ento fecha-se a valvula P. Se o nivel for inferior a "b" , abre-se a valvula P. Acima de "b" , M1 e M2 bombeiam. Abaixo de "b", somente M1 bombeia. Abaixo de "c" soa o alarme AL. Em "d" nenhuma das bombas dever funcionar.
24V
A E0
100

E1 101 E0 100 E2 102 E3 103 E1 101

CLP ATOS 4004R

0V
S0 180 L S0 180 U S1 181 S2 182 S3 183 S0
180

E1
101

S1
181

E2
102

S2
182

Verde M1

E3
103

S3
183

M2

Das könnte Ihnen auch gefallen