Вы находитесь на странице: 1из 93

INSTITUTO POLITCNICO DE BRAGANA

ESCOLA SUPERIOR DE TECNOLOGIA E GESTO

Notas de Apoio Disciplina de Automao Industrial


Engenharia Electrotcnica

Paulo Jorge Pinto Leito

ndice
1 AUTOMAO DE PROCESSOS
1.1 Introduo aos Autmatos Programveis

5
6 7 8 9 11 12 13 13 14 15

1.2 Arquitectura dos Autmatos Programveis 1.2.1 Unidade Central de Processamento 1.2.2 Memria 1.2.3 Unidade de programao 1.2.4 Mdulos de Entrada e Sada 1.2.5 Fonte de Alimentao 1.2.6 Cartas Especiais 1.3 1.4 Funcionamento Aplicaes dos Autmatos Programveis

PROGRAMAO BSICA DE AUTMATOS PROGRAMVEIS


2.1 Escrita de programas 2.1.1 Fluxogramas e Algoritmia 2.1.2 Linguagens de Programao para Autmatos 2.1.3 Procedimentos bsicos para a escrita de um programa 2.2 Endereamento da memria

17
17 17 20 20 21 22 22 22 23 24 24 26 27 29 29 30 30 31 34 36 37 38 38 38 39 40 41

2.3 Instrues Bsicas 2.3.1 LOAD 2.3.2 OUTPUT 2.3.3 AND 2.3.4 OR 2.3.5 END 2.3.6 Instrues Lgicas de Bloco 2.3.7 Combinao de instrues AND LOAD e OR LOAD 2.3.8 Execuo de Vrias sadas 2.3.9 SET e RESET 2.3.10 DIFFERENTIATE UP, DIFFERENTIATE DOWN 2.3.11 Instrues de Bifurcao 2.3.12 KEEP 2.4 Temporizadores 2.4.1 Temporizador ao Impulso 2.4.2 Temporizador aps a operao 2.4.3 Temporizador de alta velocidade 2.5 Contadores 2.5.1 CNT 2.5.2 Contador reversvel CNTR 2.5.3 Exemplo de aplicao 2.6 Instrues de Manipulao de Dados

Automao Industrial

2.6.1 2.6.2 2.6.3 2.6.4 2.7 2.8

MOVE MOVE NOT Instrues Diferenciais Endereamento Indirecto Interrupes Subrotinas

41 42 42 43 43 45

MODELAO DE SISTEMAS COMPLEXOS CONDUZIDOS POR EVENTOS


3.1 Introduo ao Grafcet

47
47 48 48 48 48 48 49 49 50 50 50 53 53 54 56 56 56 57 57 60 62 65 66 66 66 67

3.2 Especificao Funcional e Tecnolgica 3.2.1 Especificao Funcional 3.2.2 Especificao Tecnolgica 3.3 Conceitos Bsicos do Grafcet 3.3.1 Etapas 3.3.2 Transies 3.4 Princpio de Funcionamento 3.4.1 Inicializao 3.4.2 Validao 3.4.3 Disparo de uma transio 3.5 Representao de Sequncias Simultneas e Alternativas 3.5.1 Sequncias Simultneas - Paralelismo Estrutural (N AND) 3.5.2 Sequncias Alternativas - Paralelismo Interpretado (N OR) 3.6 Conceitos Complementares 3.6.1 Aco Condicional 3.6.2 Temporizao 3.7 Cooperao entre Processos 3.7.1 Sincronizao 3.7.2 Partilha de Recursos 3.7.3 Subtarefas 3.8 Anlise e Validao de Grafcet 3.8.1 Introduo Anlise de Grafcet 3.8.2 Grafcet Autnomo 3.8.3 Grfico das situaes acessveis 3.8.4 Anlise de Grafcet

SENSORES
4.1 SENSORES CAPACITIVOS

72
73 74 74 74 75

4.2 SENSORES INDUTIVOS 4.2.1 Relutncia Varivel 4.2.2 Correntes de Foucault 4.3 SENSORES FINS DE CURSO

Automao Industrial

4.4 SENSORES FOTOELCTRICOS 4.4.1 Barreira 4.4.2 Reflexo 4.4.3 Reflexo no objecto 4.5 SENSORES DE ULTRASONS 4.5.1 Distncia de um Objecto 4.5.2 Deteco de Objectos 4.6 SENSORES ESPECIAIS 4.6.1 Leitores de Cdigos de Barras 4.6.2 Dispositivos de Escrita/Leitura de Etiquetas

75 75 76 76 76 77 77 77 77 78

MONITORIZAO E CONTROLO DE PROCESSOS


5.1 5.2 DESENVOLVIMENTO DO PROGRAMA PARA O AUTMATO DESENVOLVIMENTO DA APLICAO DE MONITORIZAO

79
79 80

REFERNCIAS BIBLIOGRFICAS

84 85
85 86 86 87 88 88 89 89 89 90 90 91 91 92 92

ANEXO - REPRESENTAO DA INFORMAO


Sistemas de Numerao Sistema Decimal Sistema Binrio Sistema Hexadecimal Converso entre Bases Converso de Decimal para Outra Base Converso de Outra Base para Decimal Sistemas de Codificao Avanados BCD (Binary Coded Decimal) Cdigo GRAY Cdigo ASCII lgebra de Boole Operadores Teoremas Leis de Morgan

Automao Industrial

1 AUTOMAO DE PROCESSOS
Nos ltimos anos, tem-se assistido a uma mudana drstica dos esquemas de produo. Isto deve-se, por um lado crescente competio entre as empresas, por outro, ao enorme desenvolvimento das tecnologias que envolvem micro-controladores, robs, mquinas de controlo numrico, redes de comunicao, inteligncia artificial, etc. Em abstracto, todas as estratgias de produo visam um conjunto de objectivos, que na realidade corresponde a um s mais lato: o aumento da competitividade. No correcto dizer-se que o objectivo o aumento da produtividade, pois de que serve produzir mais se no houver clientes para os produtos? Assim, automatizao industrial poder ser definida pelo conjunto de tecnologias relacionadas com a aplicao de equipamentos (mecnicos, electrnicos, baseados em computador, etc.) em sistemas industriais de produo, e que com ela conseguido um aumento de competitividade (em termos de custos, qualidade, disponibilidade e inovao). Um sistema automatizado pode contribuir para o aumento da competitividade da empresa atravs da: Reduo de custos de pessoal: a reduo de custos de pessoal obtm-se, por exemplo, com a automatizao das mquinas (tem o seu custo...) ou com a automatizao do controlo e planeamento da produo. Reduo de custos de stock (intermdios e terminais): devido aoo controlo e planeamento da produo, que visa, entre outros aspectos, atingir stocks intermdios mantidos ao mnimo (stock zero), disponibilidade de produtos (atraso zero), optimizao de compras graas ao controlo de produo em tempo real, etc. Aumento da qualidade dos produtos: utilizao de mquinas mais precisas do que o homem, o que garantem melhores caractersticas de repetibilidade (qualidade constante, no dependente de turnos particulares). Maior disponibilidade dos produtos: reduo do nmero de avarias. Aumento da evolutibilidade: menos tempo necessrio para o projecto, planeamento e fabrico de novos produtos, associado utilizao de mquinas programveis aptas a desempenhar diferentes operaes. Aumento da flexibilidade da produo: resposta rpida s solicitaes do mercado e capacidade de operar diferentes variantes de produtos. Um dos dispositivos mais importantes num sistema automatizado o autmato programvel (PLC - Programmable Logic Controller), que pode ser definido como um dispositivo electrnico e programvel, destinado a comandar e controlar, em ambiente industrial e em tempo real, processos produtivos. O PLC surgiu com o objectivo de substituir os sistemas de controlo, desenvolvidos em lgica cablada, vulgarmente utilizados na indstria. Esta lgica cablada recorre utilizao de rels electromecnicos e de blocos lgicos interligados entre si, que apresenta algumas desvantagens, como sejam a complexidade de expanso e de alterao nas funes a desempenhar, os custos envolvidos na concepo do sistema
Automao Industrial 5

de controlo e a complexidade de realizar manuteno (por exemplo, detectar o estado de um sistema que engloba 1000 sensores e actuadores, bastante complexo em lgica cablada, pois necessrio verificar localmente cada um dos dispositivos). 1.1 INTRODUO AOS AUTMATOS PROGRAMVEIS O PLC foi inicialmente concebido por um grupo de engenheiros da General Motors em 1968, tendo em mente algumas especificaes bsicas [Simpson, 94; Warnock, 88]: Facilidade de programao e reprogramao; Facilidade de manuteno e reparao, de preferncia utilizando mdulos plug-in; Reduo de dimenses em relao a um sistema equivalente em lgica cablada; Reduo de custos. Estes controladores programveis pretendiam, na altura em que foram concebidos, fornecer alguma flexibilidade de controlo, baseada na programao e modularidade de funes, alm de reduzir o tempo de concepo e de instalao de sistemas de controlo.

Figura 3.1 Exemplo de um Autmato Programvel O sucesso que se seguiu introduo de PLCs no controlo de processos, provocou um incremento de grupo de engenheiros a estudar esta tecnologia emergente. Naturalmente e rapidamente, foi necessrio criar funcionalidades adicionais aos PLCs. O conjunto de instrues disponveis para a sua programao cresceu rapidamente desde as simples instrues lgicas (E, Ou, Negao, etc) para instrues avanadas, que incluam contadores e temporizadores, e posteriormente, para instrues matemticas avanadas. O desenvolvimento a nvel do hardware tambm se verificou com o aumento das capacidades de memria e o aumento do nmero de entradas e sadas disponveis. As possibilidades de comunicao surgiram aproximadamente em 1973. O primeiro sistema foi o Modbus da Modicon. Esta funcionalidade, permite que um PLC possa comunicar com outro PLC para trocar e partilhar informaes, alm de poderem estar afastados do processo que controlam. A falta de estandardizao associada mudana

Automao Industrial

contnua da tecnologia e aos protocolos de comunicao incompatveis, faz com que as comunicaes entre PLCs sejam um pesadelo. Nos anos 80 houve um esforo para normalizar as comunicaes entre PLCs, com a General Motors a desenvolver um protocolo standard para a indstria da manufactura, o MAP (Manufacturing Automation Protocol). Mais tarde, tentou-se desenvolver um novo protocolo no to pesado do que o anterior, designado por Fieldbus, mas a falta de normalizao deu origem a vrios standards de facto, desenvolvidos por diferentes fabricantes de tecnologia de automao. Nos anos 90 a grande novidade foi a tentativa de normalizar as vrias linguagens de programao de PLCs. Deste modo, existe a possibilidade de programar PLCs utilizando diagramas de blocos, lista de instrues, C e texto estruturado ao mesmo tempo. Actualmente existem mais de 50 fabricantes diferentes de autmatos programveis, cada um dos quais apresenta diferentes gamas de autmatos com diferentes funcionalidades, diferentes linguagens de programao e diferentes protocolos de comunicao. Dos diversos fabricantes de autmatos programveis, destacam-se: Siemens, Omron, Schneider, Rockwell, Mitsubishi, Telemecanique, AEG, Allen-Bradley, Fagor, Saia e Fatrnica. O rpido crescimento do mercado (principalmente a partir da dcada de 80), associado grande variedade de PLCs disponveis, fez com que os sistemas de controlo previamente utilizados na indstria, se tornassem rapidamente obsoletos, principalmente devido ao facto de apresentarem pouca flexibilidade. Actualmente, os autmatos programveis so os componentes fulcrais no desenvolvimento de aplicaes de automao industrial, dadas as suas caractersticas, das quais se destacam: Baixo custo e um vasto domnio de aplicaes; Instalao e manuteno simples e barata; Substituio directa de automatismos baseados em tecnologias cabladas; Linguagens de programao adaptadas aos automatismos e de simples percepo; Elevada flexibilidade: reprogramvel, modular, etc; Adaptao a ambiente industrial, sendo robusto contra a humidade, choque, poeiras e rudo electromagntico. Uma ltima caracterstica e vantagem o facto das dimenses de um PLC serem cada vez mais reduzidas, necessitando de um menor espao fsico para a sua implementao. 1.2 ARQUITECTURA DOS AUTMATOS PROGRAMVEIS Independentemente do fabricante, um PLC possui um conjunto de mdulos comuns e um conjunto de caractersticas similares. Genericamente, a arquitectura de um autmato programvel assenta nos seguintes blocos funcionais: unidade central de
Automao Industrial 7

processamento, memria, mdulos de entrada e sada, fonte de alimentao e unidade de programao. Basicamente, o mdulo de entrada adquire o estado do mundo exterior e armazena esses valores na memria. A execuo do programa, tambm ele armazenado na memria, permite de acordo com os valores das entradas tomar decises de aces a realizar, atravs do mdulo de sada. O programa de software que gere o funcionamento do sistema de controlo que se pretenda que o PLC realize, criado utilizando uma linguagem de programao adequada e transferido para o PLC atravs de uma unidade de programao. A potencialidade de cada autmato programvel pode ser analisada atrs da capacidade de endereamento, conjunto de instrues, nmero de entradas e sadas, nmero de cartas especiais, assim como o tempo de ciclo, as suas capacidades de comunicao e a facilidade de utilizao.
Fonte de Alimentao

Sadas

Mundo Exterior

Entradas

CPU

Mundo Exterior

Memria

Unidade de Programao

Figura 3.2 - Arquitectura de um PLC Cada um destes blocos ser abordado mais aprofundadamente nos pontos que se seguem, sendo para cada um deles referidas as suas principais funcionalidades. 1.2.1 Unidade Central de Processamento A Unidade Central de Processamento, designada por CPU, o crebro do PLC, tendo por funo o controlo e superviso de todas as suas actividades, assim como a gesto do fluxo de informao no seu interior, a partir da execuo de um programa que se encontra armazenado em memria (normalmente EEPROM). O CPU constitudo genericamente por um microprocessador e por uma pequena memria interna. Este microprocessador controlado por um programa especial, designado por sistema operativo, e que armazenado de forma permanente na memria. As funes do sistema operativo so criar uma plataforma de trabalho que permita ao microprocessador, entre outras funes, o controlo, o processamento e a comunicao. Durante a execuo do programa de controlo sobre o sistema operativo, o CPU realiza a gesto da memria, a monitorizao das entradas e a actualizao das sadas. Um CPU tem tipicamente as seguintes funes:
Automao Industrial 8

Operao de entrada e sada, que permitem ao PLC comunicar com o mundo exterior, atravs da transferncia de dados para os mdulos de entrada e sada; Operaes aritmticas e lgicas, que so executadas na Unidade de Lgica Aritmtica (ALU). A ALU capaz de executar, entre outras, as operaes de adio, subtraco e comparao. Para efectuar uma operao, a ALU necessita que lhe sejam fornecidos dois operandos e um operador, sendo os resultados armazenados na memria temporria ou utilizados de imediato para o processamento, conforme as instrues do programa; Leitura e actualizao do contedo da memria, que podem ser dados sobre o estado do sistema ou instrues contidas no programa; Operao de salto, que permitem que na execuo de um programa, seja possvel saltar algumas pores desse programa sem que estas sejam executadas. Adicionalmente, ao CPU existe um relgio que gera uma frequncia a partir de um oscilador externo, que ir determinar a velocidade de operao do PLC e fornece a sincronizao para todos os elementos do sistema. Alguns PLCs, normalmente os de gama alta, destinados a tarefas de controlo complexas, possuem CPUs com mais de um microprocessador. A vantagem a possibilidade de multi-processamento, o que permite uma maior velocidade de processamento, atravs da diviso das tarefas de controlo e de comunicao. Uma condicionante a que os CPUs devem estar preparados a imunidade ao rudo elctrico proveniente por exemplo de motores trifsicos. Alm de serem fisicamente robustos para suportarem ambientes hostis, os PLCs j possuem, actualmente, rotinas que verificam que a memria do PLC no foi corrompida por rudo ou outros problemas, permitindo assim o bom funcionamento do equipamento. 1.2.2 Memria O PLC necessita de armazenar a informao que recebe do exterior atravs das unidades de aquisio de informao e guard-la para posterior processamento, assim como toda a informao resultante do processamento. Como implementada esta possibilidade de armazenamento de informao? Num PLC possvel encontrar dois tipos de memrias quanto tarefa a realizar: memria de sistema e memria do utilizador [Almeida, 93]. A primeira contm todo o programa que permite ao PLC realizar o conjunto de operaes que caracterizam o seu funcionamento e assegurar a comunicao entre o utilizador e o processador e ainda traduzir a linguagem do utilizador para linguagem mquina. A memria do utilizador destina-se ao armazenamento do programa de controlo e da informao que circular no PLC. A capacidade de memria expressa em termos do nmero de grupos de 8 bits (Binary Digits), designados por bytes, que possui. vulgar dizer que um PLC possui 48 Kbytes de memria, o que significa que poder armazenar 48 mil bytes de informao ou 384000 bits.

Automao Industrial

Endereo Informao

0 5 10 15

1 6 11 16

2 7 12 17

3 8 13 18

4 9 14 19

Figura 3.3 -Representao da memria de um computador A memria pode ser comparvel a um conjunto de gavetas ou registos, cada uma das quais bem definida por um rtulo ou endereo, onde possvel colocar ou ir buscar informao binria (estrutura sequencial e ordenada de clulas onde possvel guardar e manipular toda a espcie de informao). Cada clula de memria tem um endereo que indica a sua posio relativa, permitindo referenciarmos a informao armazenada numa clula de memria como o contedo dessa posio. Assim, a indicao do endereo de uma posio de memria permite ler o seu contedo e/ou modifica-lo. O acesso a estas clulas de memria do tipo aleatrio, isto , no preciso ler o contedo de todas as gavetas anteriores a uma que contm a informao pretendida, o que permite uma velocidade de acesso bastante grande. As memrias podem ser classificadas de acordo com diferentes parmetros. Assim, existem dois tipos de memrias, quanto possibilidade de armazenamento da informao aps se desligar a alimentao: as memrias que retm o seu contedo mesmo que no exista alimentao so designadas por memrias no volteis. Por outro lado, existem as memrias volteis, que apenas armazenam a informao enquanto estiver alimentada, perdendo-a quando for desligada a alimentao. Por outro lado, as memrias podem ser classificadas quanto possibilidade de alterao do seu contedo, sendo de seguida descritos os principais tipos de memria [Simpson, 94]. Read Only Memory (ROM) A ROM (Read Only Memory) uma memria apenas de leitura, isto , a informao nela armazenada durante o processo de fabrico permanente, no se perdendo quando se desliga a alimentao. Este tipo de memria utilizada pelos fabricantes para armazenar de forma permanente dados estticos e programas que iro ser necessrios ao funcionamento do PLC. Geralmente, os PLCs raramente utilizam memria ROM nas suas aplicaes, a no ser PLCs dedicados, que tem por objectivo o controlo de apenas um pequeno grupo de tarefas. Random Acess Memory (RAM) Esta memria permite a leitura e escrita da informao, apresentando no entanto a desvantagem de perder toda a informao quando se desliga. Esta memria utilizada

Automao Industrial

10

para armazenar temporariamente a informao que circula no PLC e os dados que reflectem o mundo exterior e a execuo do programa. Programmable Read Only Memory (PROM) um tipo especial de ROM que pode ser programada. Normalmente utilizada para guardar de forma permanente os dados armazenados na RAM. Erasable Programmable Read Only Memory (EPROM) Este tipo de memria armazena os dados de forma permanente, mas diferencia-se das memrias anteriores pelo facto de ser possvel reprogramar o seu contedo. As EPROM possuem uma pequena janela sobre o array de memria, que exposto a uma fonte de luz ultra-violeta apaga todo o contedo da memria. Esta operao tem uma durao mdia de 20 minutos. Aps a EPROM ter sido apagada, possvel voltar a escrever dados para a memria, normalmente atravs da transferncia de programas para o seu interior, utilizando um dispositivo electrnico adequado. Electrically Erasable Programmable Read Only Memory (EEPROM) O contedo deste tipo de memria pode ser de novo programado, utilizando um terminal de programao de PLC, e aps todo o seu contedo ter sido eliminado, operao que demora 10 milisegundos. utilizada para armazenar o programa de controlo que se pretende realizar. 1.2.3 Unidade de programao As unidades de programao tm por objectivo a escrita off-line e online de programas, a monitorizao e a modificao do estado do PLC. A programao dos PLC pode ser realizada utilizando consolas de programao ou utilizando PCs com acesso rede. As consolas de programao esto a ser progressivamente substitudas pela programao atravs de PC, e a sua aplicao resume-se fundamentalmente programao on-line em ambiente industrial.

Computador

Figura 3.4 - Dispositivos de Programao Ambos os dispositivos permitem a programao off-line dos PLCs, o que significa que o programa pode ser escrito sem que o dispositivo esteja conectado ao PLC, sendo o programa transferido para o PLC quando for necessrio.

Automao Industrial

11

As consolas de programao esto a ser abandonadas, porque necessrio um dispositivo de programao para cada PLC, alm de apenas programar uma gama restrita de autmatos programveis. A sua utilizao resume-se a tarefas de manuteno, programao dedicada e modificao de dados do sistema; por exemplo, se o protocolo de comunicao do PLC com o PC falhar necessrio o uso da consola para estabelecer de novo o protocolo. 1.2.4 Mdulos de Entrada e Sada Os mdulos de entrada e sada tm como objectivo, a interface entre o PLC e o mundo exterior, devendo igualmente implementar o condicionamento e isolamento do sinal. Os mdulos de entrada tm por objectivo a aquisio de informao do mundo real, para posterior tratamento. Por outro lado, o controlo de um processo requer a actualizao de equipamentos, pelo que necessrio ligar os dispositivos a controlar ao mdulo de sada. Todos os mdulos de entradas e sadas possuem isolamento elctrico do processo a controlar, utilizando acoplamento ptico.
Isolamento ptico Dispositivo de Entrada

Sada para o CPU

Figura 3.5 - Isolamento das entradas Este isolamento garante que no existe ligao elctrica entre o mundo exterior e o CPU. Um isolamento ptico consiste num dodo emissor de luz e num fototransistor, formando um acoplador ptico, que permite a transmisso de sinais de pequena tenso e o isolamento de sinais de elevados valores de tenso. Por exemplo, a entrada fornece um sinal elctrico que transformado em luz. A luz emitida recebida pelo receptor que de novo transformada num sinal elctrico. O isolamento ptico usado para entradas e sadas. Cada entrada/sada possui um endereo que o identifica univocamente, e que utilizado ao longo do programa de controlo, sempre que se pretende manipular essa entrada/sada. Normalmente, os mdulos de E/S possuem a indicao do estado de cada entrada/sada atravs de leds, o que torna simples a verificao do estado do processo. As entradas/sadas esto disponveis atravs de cartas de expanso que comunicam com o CPU atravs de um barramento, designado de bus, de dados e de endereos. Existem dois tipos de entradas/sadas: digitais e analgicas. As entradas e sadas digitais apresentam apenas dois valores: ON e OFF (1 e 0). Por exemplo, se um sensor de proximidade detectar a presena de um objecto, na entrada aparecer o sinal lgico 1; caso contrrio estar o valor 0.

Automao Industrial

12

Quando o sinal a adquirir pode tomar uma gama de valores determinada e de forma contnua, est-se na presena de sinais analgicos, que requerem o uso de mdulos de entrada/sada analgicos. Por exemplo, um sensor de luminosidade pode ser considerado como sendo uma entrada analgica, porque produz uma tenso que proporcional luz que detecta. Um mdulo de entradas analgicas executa a converso analgico-digital (A/D), ficando o sinal em formato digital e disponvel para ser processado pelo CPU. O mdulo de sada analgico efectua o processo inverso e converte o sinal digital para um valor analgico (D/A). A resoluo da converso um factor importante para a preciso de controlo quando se utilizam PLCs. Os conversores que usam palavras de 8 bits tero uma resoluo de 1:128. Desta forma, um sinal de valor mximo 5V pode ser convertido num valor digital com um intervalo entre valores de 0,02V. O aumento da resoluo passa pelo aumento do numero de bits utilizados pelo conversor. Mdulo de Entrada Este mdulo interliga o PLC ao mundo exterior, adquirindo sinais que reflectem o estado do mundo exterior, atravs da utilizao de sensores, interruptores, etc. O mdulo de entrada converte o nvel lgico do mundo real para o nvel lgico requerido pelo CPU, ao mesmo tempo que executa o isolamento. Existem no mercado uma vasta gama de sensores que podero implementar as entradas de um PLC, das quais se destacam os sensores indutivos, capacitivos, fins de curso, clulas fotoelctricas, etc. Mdulo de Sada O mdulo de sada disponibiliza uma conexo ao mundo real, permitindo a actualizao do processo, de acordo com a informao obtida pelas entradas e com a execuo do programa. As sadas podem ser disponibilizadas atravs de rel, transstor ou triac. Os dispositivos de sada vulgarmente utilizados no controlo de processos so os motores passo a passo, lmpadas, vlvulas pneumticas, etc. 1.2.5 Fonte de Alimentao A fonte de alimentao tem por objectivo o fornecimento das vrias tenses de alimentao requeridas para o funcionamento de todos os componentes do PLC. Esta unidade converte a tenso de alimentao exterior (220 V) numa tenso continua requerida pelo CPU, memria e mdulo de entradas e sadas (normalmente 5 ou 24 V). 1.2.6 Cartas Especiais Existem dispositivos auxiliares ao PLC que no se enquadram na sua arquitectura genrica, pois so especficos para o tipo de aplicao. Neste grupo de cartas

Automao Industrial

13

especiais, encontramos entre outras, os leitores de cdigos de barras, as cartas ASCII e as cartas fuzzy logic. Fuzzy Logic A lgica fuzzy foi desenvolvida para criar uma lgica que melhorasse a tradicional lgica binria que apenas admite dois valores lgicos: 0 e 1. A lgica fuzzy pretende copiar o raciocnio humano e desenvolver processos lgicos a partir de expresses pouco precisas ou difusas que variam entre dois valores lgicos (0 e 1). Por exemplo, utilizando lgica fuzzy no se diz que uma pessoa alta ou baixa, mas sim que essa pessoa tem uma determinada probabilidade de ser alta. Carta ASCII Este mdulo utilizado para manipulao e transmisso de dados alfanumricos entre o PLC e dispositivos perifricos, tais como impressoras, monitores, etc. PID Utilizadas para solucionar problemas complexos, em que necessrio implementar controlo integral, derivativo e proporcional. Leitores de cdigos de barras Muito utilizadas na industria para identificao dos produtos que circulam num processo. 1.3 FUNCIONAMENTO O funcionamento de um PLC resume-se execuo contnua do programa carregado na sua memria. Na figura que se segue, esto ilustradas as trs fases mais importantes do ciclo de funcionamento de um autmato programvel.

Verificao do estado das entradas

Execuo do programa

Actualizao do estado das sadas

Figura 3.6 - Ciclo de funcionamento de um PLC

Automao Industrial

14

Inicialmente, o PLC analisa o estado de todas as entradas e armazena-os na memria, para serem usadas durante a execuo do programa. Na fase que se segue, o PLC executa o programa, executando uma linha de instruo de cada vez. Finalmente, as sadas so actualizadas de acordo com o estado das entradas e das instrues do programa. Este ciclo repete-se continuamente enquanto o PLC estiver em funcionamento. Quando se analisa o funcionamento de um PLC, atravs da performance do seu tempo de resposta, necessrio considerar trs tempos distintos: Tempo de resposta de entrada; Tempo de processamento; Tempo de resposta de sada. Consideremos a situao de detectar quando o copo est cheio de gua, para se fechar a torneira, e faamos a analogia com o funcionamento de um PLC. Os olhos da pessoa esto sempre a receber informao e a envia-la para o crebro.

Figura 3.7 - Tempo de Resposta Quando a gua chegar ao nvel pretendido, os olhos enviam essa informao para o crebro que a dever processar. O tempo que o crebro demora a receber a informao proveniente dos olhos designada por tempo de resposta de entrada. O crebro tendo a informao de que a gua est num determinado nvel ir processar a informao e decidir qual a aco ou aces a tomar. Este tempo designado por tempo de processamento. Finalmente, o crebro ir dar ordens s mos para fechar a torneira. O tempo que decorre at que as mos recebam a ordem designado por tempo de resposta de sada. 1.4 APLICAES DOS AUTMATOS PROGRAMVEIS Os PLCs apresentam um vasto domnio de aplicaes, das quais se destacam: Aplicaes de robtica

Automao Industrial

15

Controlo de mquinas CNC

Controlo de clulas de fabrico ou montagem Sistemas de transporte e manuseamento de materiais.

Controlo e monitorizao de processos industriais, etc.

Automao Industrial

16

2 PROGRAMAO BSICA DE AUTMATOS PROGRAMVEIS


A linguagem de programao, assim como a estrutura e definio de endereos e mapeamento da memria difere de fabricante para fabricante, o que associado com a vasta diversidade de fabricantes de autmatos existentes no mercado, torna limitativo o estudo genrico que se pretende efectuar. Apesar de ser inteno deste texto fornecer os princpios bsicos da programao de autmatos programveis, ir utilizarse como referncia o autmato programvel CPM1 da Omron para testar e desenvolver todas as aplicaes referidas neste texto. 2.1 ESCRITA DE PROGRAMAS 2.1.1 Fluxogramas e Algoritmia Os computadores, infelizmente, s fazem aquilo que mandamos e no aquilo que desejamos que eles faam. O computador tomar sempre um dos caminhos possveis nas suas aces e por isso preciso assegurar que o computador siga pelo nico caminho correcto possvel que leve aos resultados desejados. Uma afirmao como calcule a mdia das notas neste teste muito imprecisa, apesar de parecer especificar aquilo que desejamos. Muitos detalhes foram omitidos, como por exemplo, onde esto as notas, quantas so, etc. A programao de computadores em alguns casos pode ser difcil, razo pela qual os bons programadores recebem altos salrios. Tal dificuldade deve-se complexidade inerente, combinando muitos processos mentais. Entretanto, podemos torn-la muito mais fcil se dividirmos o problema sistematicamente em partes menos complexos (a abordagem do dividir para conquistar). Problema

Fase da resoluo do problema

Passo difcil

Soluo em forma de algoritmo

Soluo como programa de computador

Fase da implementao

Figura 5.1 - Resoluo de um problema

Automao Industrial

17

Primeiro, importante separarmos a fase de resoluo do problema da tarefa da fase da implementao. Na fase de resoluo do problema, necessrio a elaborao de um algoritmo ou fluxograma para resolver o problema proposto. Apenas, quando a formulao de um algoritmo adequado e satisfatrio, que se passa para a implementao do algoritmo numa qualquer linguagem de programao. Dado um algoritmo suficientemente preciso, a codificao num programa de computador quase directa. Um algoritmo pode ser definido como uma sequncia ordenada e sem ambiguidade, de passos elementares que levam soluo de um dado problema. Apesar de o termo ser novo em si, o conceito bastante familiar. As indicaes dadas para se chegar at uma determinada rua constituem um algoritmo para se encontrar essa rua. Uma receita de cozinha uma forma muito familiar de fluxograma. necessrio que os algoritmos cumpram algumas regras. Assim, os passos de um algoritmo devem ser simples e sem ambiguidade e devem estar numa ordem cuidadosamente definida. Como exemplo, vamos elaborar um algoritmo para realizar uma tarefa bastante familiar, a substituio de uma lmpada queimada. A operao bsica pode ser expressa em dois passos simples: remova a lmpada queimada coloque a nova lmpada Apesar de esta soluo parecer resolver o problema, de facto estes passos no so suficientemente claros para um robot, pois cada um dos passos envolve alguns pressupostos que um robot no conhece. Assim, necessrio especificar cada um dos passos anteriores. Em primeiro lugar, o que necessrio para remover a lmpada queimada? Vamos admitir que ela esteja pendurada num tecto. Este facto envolve uma escada, posicion-la correctamente e subi-la. De seguida necessrio remover a lmpada. Para a remoo, necessrio girar a lmpada no sentido anti-horrio at que se solte. Assim, o simples passo remova a lmpada queimada foi expandido nos seguintes passos: Posicione a escada debaixo da lmpada queimada suba na escada at que a lmpada possa ser alcanada rode a lmpada queimada no sentido anti-horrio at que se solte Para colocar uma lmpada nova, necessrio seleccionar uma outra de mesma potncia (o que deve ser feito antes de se subir na escada), posicionar a lmpada, gir-la no sentido horrio at que esteja completamente colocada e finalmente descer da escada. Deste modo, o passo coloque a nova lmpada foi expandido para: escolha uma nova lmpada de mesma potncia da queimada posicione a nova lmpada rode a lmpada no sentido horrio at estar colocada
Automao Industrial 18

desa da escada Apesar do algoritmo ter j sete passos, ainda no tem uma especificao suficientemente precisa. Por exemplo, o passo escolha uma nova lmpada de mesma potncia da queimada deve ser melhor especificado. Suponhamos que temos uma caixa com lmpadas novas. Devemos examin-las uma a uma at encontrarmos uma com a mesma potncia da queimada. Isto exige as seguintes operaes: seleccione uma lmpada candidata substituio se a potncia no a mesma, repita o processo at encontrar uma que sirva, deite fora a lmpada seleccionada seleccione uma nova lmpada So introduzidos aqui dois conceitos importantes: o da deciso (se) e o da repetio (repita). A capacidade de deciso permite-nos adiar a seleco real de um caminho at execuo do programa. Neste caso, no podemos determinar o que fazer at que a potncia de uma lmpada real tenha sido examinada. possvel especificar que uma operao bsica seja repetida muitas vezes; neste caso a seleco de uma lmpada efectuada at se encontrar uma lmpada de potncia adequada. Usando estes conceitos para os restantes passos, passamos a ter o seguinte algoritmo: posicione a escada debaixo da lmpada queimada seleccione uma nova lmpada para a substituio se a potncia no for a mesma da queimada, repita o processo at encontrar uma que sirva deite fora a lmpada seleccionada seleccione uma lmpada nova repita at que a lmpada possa ser alcanada suba num degrau da escada repita at que a lmpada fique solta rode a lmpada no sentido anti-horrio posicione a nova lmpada repita at que a lmpada esteja colocada rode a lmpada no sentido horrio desa a escada As operaes indicadas simples sem ambiguidade, as decises necessrias so imediatas e a ordem na qual os passos devem ser seguidos claramente expressa. A escrita de programas para computadores ou autmatos, passa pelo assentar de ideias na forma de um fluxograma ou algoritmo e depois transpor esse algoritmo para a linguagem de programao adequada.

Automao Industrial

19

2.1.2 Linguagens de Programao para Autmatos A programao de PLCs pode ser realizada utilizando vrias linguagens genricas, seguindo a norma IEC 61133, das quais se destacam os seguintes dois tipos: lista de instrues; diagrama de blocos (ladder). A lista de instrues caracterizada por existir uma sequncia de instrues para realizar cada uma das tarefas. Essas instrues so escritas sob a forma de mnemnicas. LD AND SET I 0.1 I 0.2 O 1.0

Cada fabricante utiliza mnemnicas diferentes para programar os seus autmatos assim como designaes diferentes para enderear a memria. Este facto, faz com que cada fabricante possua uma linguagem de programao prpria para os seus autmatos. O diagrama de contactos (ladder) caracterizado pela existncia de sequncias de contactos (normalmente abertos ou fechados) que iro provocar a actualizao das sadas.
0.0 10.0

O diagrama de contactos uma linguagem genrica de programao de autmatos, a menos de algumas funes especficas de alguns autmatos e do endereamento de memria. Dado que vai ser utilizado o PLC CPM1 da Omron nas experincias laboratoriais, iremos utilizar os diagramas de ladder como linguagem de programao, que disponibilizada pela Omron atravs do seu software de programao SYSWIN. 2.1.3 Procedimentos bsicos para a escrita de um programa A elaborao de programas para autmatos tendo em vista a solucionar problemas, passa pela definio de um conjunto de passos bsicos, dos quais se destacam os seguintes: Obter a lista de todos os dispositivos de Entradas e Sadas, criando uma tabela de memria que ilustre os bits E/S alocados a cada dispositivo. Determinar quais as palavras disponveis para serem utilizadas dentro do programa.

Automao Industrial

20

Criar tabelas de endereos de temporizadores e contadores, assim como endereos de salto a usar no programa (apenas se podem usar de 01 a 99). Desenhar o diagrama de contactos. Verificar o programa da existncia de erros de sintaxe e tentar corrigi-los. Transferir o programa para o autmato. Executar o programa no autmato. Se durante a execuo do programa se verificarem erros ou anomalias, deve-se corrigir esses erros e verificar o programa de novo, sendo por vezes necessrio redesenhar o diagrama de contactos. 2.2 ENDEREAMENTO DA MEMRIA A memria de um PLC, tal como j foi referido, divide-se normalmente em dois grandes blocos: memria do sistema e memria do utilizador. A memria do sistema armazena todos os parmetros de configurao do PLC, enquanto que a memria do utilizador armazena dados temporrios de entrada e de sada, assim como dados auxiliares execuo do programa. Cada fabricante de autmatos tem uma forma de endereamento da memria muito prpria, e que normalmente difere do endereamento utilizado noutros autmatos. Por exemplo, para codificar as entradas e sadas, vulgar utilizar-se a letra I para as entradas e a letra O para as sadas; no entanto, tambm existem autmatos que utilizam as letras X e Y, para codificar as entradas e sadas, respectivamente. Na figura 5.3 est representado o endereamento da memria utilizada pelo autmato CPM1 da Omron. Verifica-se que a codificao de entradas e sadas realizada pelo prefixo IR.

rea de Dados
rea de Entrada rea IR (Rels internos) rea de Sada

Palavras
IR 000 a IR 009 IR 010 a IR 019 IR 200 a IR 231 SR 232 a SR 255 TR 0 a TR 7 (s se trabalha com os 8 bits) HR 00 a HR 19

Funo
Estes bits podem ser alocados aos terminais E/S externos. Os bits de trabalho podem ser usados livremente dentro do programa. Estes bits servem funes especficas, tais como flags e bits de controlo. Estes bits so utilizados para guardar temporariamente o estado ON/OFF da seco do programa (mnemnicas). Estes bits guardam informao e mantm o seu estado ON/OFF aps a alimentao ser desligada. Estes bits so semelhantes a SR mas mantm o seu valor aps a alimentao ser desligada.

rea de Trabalho rea SR (Rels especiais) rea TR (Rels temporrios) rea HR (Rels reteno) rea AR (Rels auxiliares)

AR 00 a AR 15

Automao Industrial

21

rea LR (Rels ligao) rea Contadores Temporizadores Leitura/Escrita rea DM Log de erros

LR 00 a LR 15 e TC 000 a TC 127

Utilizado para ligaes 1:1 a outro PLC. Os mesmos endereos so utilizados para os temporizadores e contadores. Podem ser usados livremente no programa.

(Mdulo Apenas leitura de Dados) Setup PC

DM00 a DM 099 DM 1022 a DM 1023 DM 1000 a DM 1021 Utilizados para guardar o tempo e o cdigo de erro da ocorrncia. DM 6144 a DM 6599 No podem ser escritos a partir do programa. DM 6600 a DM 6655 Utilizados para guardar os vrios parmetros que controlam a comunicao com o PC.

Figura 5.2 - O endereamento da memria no CPM1

2.3 INSTRUES BSICAS Os operandos utilizados como entradas e sadas possuem dois valores de identificao: endereo fsico e mnemnica. O endereo fsico a designao directa do bit ou byte de uma rea especfica de memria. A mnemnica utilizada para simplificar a escrita e a leitura do programa. Uma condio normalmente aberta Verdadeira (ON) se a entrada ON e Falsa (OFF) se o operando OFF. Uma condio normalmente fechada Verdadeira se o operando OFF e Falsa de o operando ON.
normalmente normalmente fechado aberto

...

No estudo que se segue, apenas se vai considerar entradas e sadas normalmente abertas. No entanto, para trabalhar com lgica normalmente fechada, deve-se colocar o sufixo NOT a seguir instruo para a lgica normalmente aberta. 2.3.1 LOAD A primeira condio que inicia qualquer bloco lgico corresponde instruo LOAD, cuja mnemnica LD. Se esta instruo a nica na linha de instrues ento a sada ON se o operando for ON e OFF se o operando for OFF. O resultado desta instruo pode ser conjugada com outra entrada atravs de uma relao lgica ou imediatamente transferida para o exterior, actualizando uma sada. 2.3.2 OUTPUT A forma mais simples de transferir para a sada os resultados da combinao da execuo de instrues utilizando a instruo OUT.
Automao Industrial 22

Esta instruo pode actualizar sadas do autmato, mas tambm flags internas, tais como as reas SR, AR, HR, etc.
0.0
0.0 10.0

10.0 ON OFF 10.0 OFF ON

ON OFF 0.0

0.0

10.0

ON OFF

Figura 5.3 - Tabela de Verdade das Instrues OUT e OUT NOT Vamos considerar o seguinte caso de aplicao: existe uma bomba de tirar gua que funciona de acordo com o estado de um boto de accionamento, isto premindo o boto a bomba funciona, e libertando o boto a bomba deixa de funcionar. Pretendese elaborar um programa que execute o controlo da bomba. Assim, supondo que o boto est associado entrada 0.0 e que a bomba est associada sada 10.1, possvel realizar o programa de controlo, utilizando listra de instrues. LD 0.0 OUT 10.0 Este programa coloca a sada 10.0 (bomba) em funcionamento de acordo com o estado da entrada 0.0 (boto). Se o boto estiver premido, isto a entrada 0.0 est ON, ento a bomba ser colocada em funcionamento. Caso o boto no esteja premido ento a bomba deixa de estar em funcionamento. 2.3.3 AND A manipulao de operandos lgicos requer por vezes a utilizao do operador lgico AND. Este operador permite activar uma sada apenas quando todos os operandos de entradas forem Verdadeiros. Num conjunto de instrues que implemente o AND de mais do que duas entradas, a primeira das instrues ser a instruo LD; e as restantes condies as instrues AND.
0.0 1.0 0.1 10.1

Na figura anterior a linha de instruo representada por um diagrama de contactos, implementa a seguinte expresso lgica:

Automao Industrial

23

10.0 = 0.0 AND 1.0 AND 0.1

A sada 10.0 ser activada, apenas se as trs condies forem verdadeiras, isto , quando 0.0 ON, 1.0 OFF e 0.1 ON. A aplicao da instruo AND pode ser analisada no seguinte exemplo: A utilizao de maquinaria pesada, como por exemplo, quinadoras ou mquinas de corte, requer a instalao de sistemas de segurana, para precaver a integridade fsica dos operadores que trabalham com essas mquinas. O sistema de segurana mais vulgar nesses casos a implementao de dois botes de incio de funcionamento (um para cada mo do operador). Desta forma, a mquina s executa a tarefa, por exemplo o corte de chapa, se os dois botes estiverem premidos. LD 0.0 AND OUT

0.1 10.0

Neste caso, temos duas entradas, 0.0 e 0.1, e uma sada 10.0, que representa o accionamento da mquina para executar a sua tarefa. 2.3.4 OR No ponto anterior referiu-se a instruo lgica AND. No entanto, existe uma outra instruo lgica bsica, designada por OR, que fundamental na manipulao de operandos lgicos. Quando duas ou mais condies esto separadas em linhas de instrues diferentes e a correr em paralelo, a primeira condio corresponde instruo LD; as restantes condies correspondem instruo OR.
1.1 1.0 0.1 10.0

A sada 10.0, para o caso da figura anterior, ser ON quando uma das trs condies for ON, isto , quando 1.1 OFF ou 1.0 OFF ou 0.1 ON. 2.3.5 END No fim de um programa necessrio adicionar a instruo END. Durante a execuo do programa, o CPU executa todas as instrues at instruo END, antes de voltar ao incio do programa e voltar a execut-lo. Alis, o autmato funciona em ciclo executando ciclicamente o programa carregado no autmato.

Automao Industrial

24

0.0

0.1

10.0

END

Se no existir a instruo END no fim do programa, este no poder ser executado. Exemplo de aplicao Pretende-se controlar o funcionamento de um dispositivo que efectua a mistura de dois lquidos, utilizando dois botes: Movimento - se premido, o dispositivo deve funcionar; se no, deve estar parado. Emergncia - se caso seja premido, o dispositivo deve parar o seu funcionamento.

Lquido A

Lquido B

Figura 5.4 - Misturador de lquidos O primeiro passo na escrita do programa a escolha das E/S do autmato para a aplicao em causa: boto de movimento boto de emergncia motor do dispositivo IR 0.0 IR 0.1 IR 10.0 movimento; emergncia; motor.

Ento a linha de instrues que implemente o funcionamento pretendido est ilustrado na figura que se segue.
0.0 0.1 10.0

Vamos supor agora, que o boto de movimento substitudo por dois outros botes distintos, que representam a presena de diferentes tipos de lquidos no dispositivo, e que se pretende que o misturador inicie o seu funcionamento sempre que exista pelo menos um dos lquidos no dispositivo (um dos botes premido). Desta forma iremos ter entradas e uma sada: boto para o liquido A boto para o liquido B Automao Industrial

IR 0.3 IR 0.4

lquido_a; lquido_b;
25

boto de emergncia motor do dispositivo

IR 0.1 IR 10.0

emergncia; motor.

A implementao do programa para este caso semelhante ao anterior, diferindo apenas no facto do funcionamento do misturador depender da existncia de pelos menos um dos botes associados aos lquidos estar activado.
0.3 0.1 10.0

0.4

A instruo lgica que implementa esta funcionalidade o OR, pelo que basta efectuar o OR entre as entradas lquido_A e lquido_B, seguido do AND com a entrada de emergncia negada. 2.3.6 Instrues Lgicas de Bloco A elaborao de diagramas mais complexos do que aqueles analisados at ao momento, requer a introduo dos conceitos de AND LOAD e OR LOAD. Vamos supor que pretendemos implementar a seguinte expresso lgica:

10.0 = (0.0 OR 0.1) AND (0.2 OR 0.3)


A implementao atravs de diagramas de contactos directa, e est ilustrada na figura que se segue.
0.0 0.2 10.0

0.1

0.3

No entanto, se pretendermos utilizar a programao em lista de instrues, impossvel implementar a expresso lgica utilizando as instrues lgicas bsicas, uma vez que o valor da execuo da condio 0.0 OR 0.1 perdido quando se inicia a execuo da condio seguinte (0.2 OR NOT 0.3). Existem ento as instrues AND LOAD e OR LOAD para armazenar as condies intermdias. Assim, possvel escrever o diagrama anterior em lista de instrues utilizando AND LOAD. LD OR LD OR NOT AND LD 0.0 0.1 0.2 0.3

Automao Industrial

26

A instruo AND LD permite armazenar o resultado da primeira condio e realizar o AND com a segunda condio. Vamos considerar agora o caso de se pretender implementar a seguinte expresso lgica:

10.0 = (0.0 AND 0.1) OR (0.2 AND 0.3)


Tal como o exemplo anterior, a sua implementao em diagramas de contactos extremamente simples, mas complica-se se o pretendido for a utilizao de lista de instrues.
0.0 0.1 10.0

0.2

0.3

Neste caso no se trata de realizar o AND de duas condies constitudas por mais do que uma condio, mas sim o OR, pelo que a instruo adequada o OR LD. LD AND NOT LD AND OR LD OUT 0.0 0.1 0.2 0.3 0.0 executa o OR dos dois blocos

2.3.7 Combinao de instrues AND LOAD e OR LOAD As instrues AND LOAD e OR LOAD podem ser combinadas, caso o nmero de blocos seja superior a 2 mas no exceda os 8 blocos.
Bloco 3 0.0 0.1 0.2 0.3 10.0

0.4 Bloco 1

0.5

Bloco 2

Considerando o diagrama de contactos, representado atrs, possvel traduzi-lo para lista de instrues. LD NOT AND LD AND NOT
Automao Industrial

0.0 0.1 0.2 0.3


27

LD NOT AND OR LD AND LD OUT

0.4 0.5

10.3

de referir que neste caso, primeiro executada a instruo OR LOAD e s depois a instruo AND LD. Exemplo de aplicao Pretende-se escrever em lista de instrues o programa equivalente ao representado pelo seguinte diagrama de contactos.
Bloco 1 0.0 0.1 Bloco 2 0.2 10.0

0.3

0.4 0.6

0.5 0.7 Bloco 4

Bloco 3 Bloco 5

O programa em lista de instrues como se representa de seguida. LD LD AND LD AND LD LD AND OR LD AND LD OR LD AND LD OUT 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 blocos 4 e 5 bloco 3 com resultado anterior bloco 2 com resultado anterior bloco 1 com resultado anterior

10.0

de salientar que apenas se pe o problema de utilizao de instrues de bloco, se no se programar em diagramas de contactos. Alm disso, sempre possvel no utilizar as instrues de bloco, se utilizarmos flags internas para armazenar dados temporrios e intermdios.

Automao Industrial

28

2.3.8 Execuo de Vrias sadas Existem situaes em que necessrio executar mais do que uma aco, para as mesmas condies de entrada. Neste caso, as sadas so codificadas sucessivamente a seguir ltima instruo da linha.
0.1 0.3 HR0.1

0.2

10.0

0.4

10.7

Ou utilizando lista de instrues, LD OR AND OUT OUT AND OUT 2.3.9 SET e RESET Estas instrues so similares s de OUTPUT e OUTPUT NOT, diferindo no facto do seu estado apenas ser alterado quando a condio for ON. Quando a condio de entrada for Verdadeira, o bit de sada ON ou OFF, caso se trate de um SET ou RESET, respectivamente. A particularidade desta instruo, que mantm o seu estado aps a condio de entrada passa a Falsa.
Condio Condio

0.1 0.2 0.3 HR0.1 10.0 0.4 10.7

SET (sada)

RESET (sada)

Figura 5.5 - Evoluo temporal para as instrues SET e RESET Vamos considerar o caso de pretendermos controlar o funcionamento de um motor, atravs de dois botes: o boto verde para o colocar em funcionamento e o boto vermelho para o parar. Neste caso, no se pode utilizar a instruo OUT, porque com esta instruo logo que libertssemos o boto verde, o motor parava, e o que se pretende que o motor continue a funcionar mesmo que se liberte o boto e at que se prima o boto vermelho.

Automao Industrial

29

Para implementar esta funcionalidade necessrio utilizar as instrues SET para por o motor em funcionamento quando se prime o boto verde, e a instruo RSET para parar o motor quando se prime o boto vermelho.
Boto verde SET 10.0 Boto vermelho RSET 10.0

Assim quando se pressiona o boto verde, este vale o estado lgico ON, pelo que o motor inicia o seu funcionamento; quando se pressiona o boto vermelho, a instruo RSET executada, parando de imediato o motor. 2.3.10 DIFFERENTIATE UP, DIFFERENTIATE DOWN

As instrues DIFU e DIFD so utilizadas para forar um bit a ON durante apenas um ciclo de funcionamento. Sempre que executado, DIFU compara a condio corrente com a condio anterior. Se a condio anterior era OFF e a condio corrente ON, ento DIFU tornar o bit a ON. Se a condio anterior ON e a condio corrente ON ou OFF, ento DIFU tornar o bit a OFF ou manter o bit a OFF (com esta instruo o bit apenas se manter em ON durante um ciclo). Quando executada, DIFD compara a execuo corrente com a condio anterior. Se a condio anterior era ON e a condio corrente OFF, a instruo DIFD tornar o bit a ON. Se a condio anterior OFF e a corrente ON ou OFF, DIFD tornar o bit a OFF ou manter o bit a OFF.
1.0 DIFU 10.0 1.1 DIFD 10.1

2.3.11

Instrues de Bifurcao

Quando uma linha de instruo se divide em mais do que 2 linhas, necessrio usar bits temporais para armazenar o resultado da condio na bifurcao.
0.0 TR 0 0.1 10.0

0.2

10.1

Automao Industrial

30

necessrio no ponto de bifurcao colocar um bit TR, de modo a manter temporariamente o resultado da ltima condio, e assim ser utilizada posteriormente. LD OUT AND OUT LD AND OUT 2.3.12 KEEP 0.0 TR 0 0.1 10.0 TR 0 0.2 10.1

A instruo KEEP usada para manter o estado do bit, baseado em duas condies. Para tal, a instruo conectada a duas linhas de instruo. Quando a condio da primeira linha ON, o bit operando torna-se igual a ON. Quando a condio da segunda linha ON, o bit operando da instruo KEEP torna-se OFF. O bit operando para a instruo KEEP manter o seu estado (ON ou OFF) mesmo quando colocado numa seco diferente do diagrama.
0.2 0.3 KEEP (11 HR 0000

0.4 0.5

Exemplo de aplicao (1) Pretende-se elaborar um sistema de controlo para o comando de um motor e de uma bomba, que apresenta as seguintes caractersticas: Aps ser premido o boto de arranque, a bomba ligada; O funcionamento efectivo da bomba detectado pelo medidor de caudal. O motor ligado depois de detectada a entrada em funcionamento da bomba; A actuao do boto de paragem provoca o desligar da bomba e do motor. Implementao do sistema de controlo pode recorrer lgica digital.
arranque paragem S R bomba ON

caudal

S R

motor ON

Automao Industrial

31

No entanto, para a implementao em autmato programvel, necessrio efectuar a atribuio de endereos: IR 00.00 arranque IR 00.01 paragem IR 00.02 caudal IR 10.00 motor ON IR 10.01 bomba ON A representao da evoluo temporal das vrias variveis em jogo, ajuda a apreender o problema e a conceber uma soluo. Para este caso, a evoluo temporal est ilustrada na figura que se segue.
Arranque

Paragem Caudal

Bomba ON Motor ON

A implementao da soluo, utilizando as instrues SET e RESET est representada na figura que se segue.
Arranque Paragem SET Bomba ON Bomba ON Caudal SET Motor Paragem RSET Bomba ON Paragem RSET Motor

No entanto, possvel implementar a mesma soluo utilizando a instruo KEEP.


Arranque KEEP (11 Bomba ON

Paragem

Bomba ON Paragem

Caudal KEEP (11 Motor ON

Automao Industrial

32

Nesta ltima soluo, a entrada Arranque coloca a Bomba em funcionamento enquanto a activao do boto Paragem desliga a Bomba. Para que o Motor funcione necessrio que a Bomba esteja em funcionamento e que j exista Caudal a alimentar o Motor. Exemplo de aplicao (2) Pretende-se realizar o controlo de uma electrovlvula, com as seguintes caractersticas: possibilidade de trs aces de comando: abrir, fechar e parar; uma sada do autmato comanda a abertura da vlvula e outra o seu fecho. Estas duas sadas no podem tomar em simultneo o valor lgico 1; quando a vlvula atinge uma das posies extremas (totalmente aberta ou fechada), a respectiva sada do PLC desactivada; a vlvula pode ser comandada em modo manual e automtico; em modo manual as ordens so iniciadas a partir de 3 botes de presso: abrir, fechar e parar; em modo automtico, a vlvula comandada por trs flags geradas por outro mdulo do programa; est previsto um sinal exterior de inibio, que quando est activo, inibe as duas sadas de comando da vlvula. O primeiro passo na elaborao do programa a atribuio de endereos s variveis que iro ser utilizadas no programa: IR 00.00 a IR 00.02 IR 00.03 a IR 00.04 IR 00.05 IR 10.00 a IR 10.01 IR 200.00 a IR 200.01 IR 00.06 - abrir, fechar e parar - aberto e fechado - inibio - act_abrir e act_fechar - flag_abrir e flag_fechar - manual (1- manual e 0 - automtico)

O programa que solucione este problema est ilustrado na figura que se segue.

Automao Industrial

33

ent_abrir

modo

aberto

inibio SET abrir

flag_abrir ent_fechar

modo modo modo fechado inibio SET fechar

fechado

ent_parar

modo

RSET abrir RSET fecha

flag_parar

modo

inibio RSET abrir RSET fechar aberto abrir RSET abrir fechado fechar RSET fechar

2.4 TEMPORIZADORES Os temporizadores so utilizados sempre que se pretenda realizar uma determinada aco ao fim de um determinado perodo de tempo ou durante um perodo de tempo. No autmato CPM1 da Omron, os temporizadores esto disponveis atravs dos endereos TC 000 a TC 127.
Condio A TIM N VT

em que N o numero do temporizador e VT contm o valor do tempo que se pretende contar.

O temporizador activado quando a condio de execuo vai a ON e desactivado quando a condio de execuo vai a OFF. Se quando VT tiver sido esgotado e a condio A for ON, ento o temporizador vir a ON.
Condio A Temporizador TIM N VT < VT VT

Figura 5.7 - Evoluo temporal de um temporizador As unidades de medida nesta instruo de temporizao so as dcimas de segundo (0,1 segundo).

Automao Industrial

34

Exemplo de aplicao O elevador representado na figura desloca-se entre dois pisos. O seu movimento comandado (subir, descer e parar) a partir dos comandos dados pelos operadores (botes de chamada bot_ch1 e bot_ch2) e das informaes provenientes dos detectores de fim de curso (piso1 e piso2).
bot_ch2 piso2

bot_ch1

piso1

Figura 5.8 - Elevador entre dois pisos A atribuio de endereos a seguinte: IR 00.00 IR 00.01 IR 00.02 IR 00.03 IR 10.00 IR 10.01 bot_ch1 bot_ch2 piso1 piso2 motor_up motor_down

O programa que controle o movimento do elevador entre os dois pisos o seguinte.


bot_ch2 piso1 SET motor_up bot_ch1 piso2 SET motor_down piso2 RSET motor_u piso1 RSET motor_down

Adicionalmente, pretende-se controlar a porta do elevador. Esta dever abrir 5 segundos aps ter chegado ao piso desejado. Sempre que o elevador seja requisitado, a porta dever ser fechada. A nova atribuio de endereos como se representa: IR 00.04 IR 00.01 porta_aberta porta_fechada

Automao Industrial

35

IR 10.02 IR 10.03

abre_porta fecha_porta

O novo programa em diagrama de contactos est ilustrado na figura que se segue.


bot_ch2 piso1 SET motor_u SET fecha_porta bot_ch1 piso2 SET motor_down SET fecha_porta piso2 motor_up RSET motor_ piso1 piso1 TIM 000 #50 porta_aberta SET abre_por porta_aberta RSET abre_porta motor_down RSET motor_down

piso2

TIM 000

NOTA: Pensar em melhorar o sistema incorporando a possibilidade de no interior do elevador se poder fechar a porta e ir para um outro piso. Adicionalmente, pensar no caso de existirem mais do que dois andares? 2.4.1 Temporizador ao Impulso Neste tipo de configurao, pretende-se que a sada esteja activa durante o perodo de tempo especificado no temporizador.
0.0 TIM 16 #20 10.2

TIM 16

10.2

Para o caso da figura anterior, a sada 10.2 estar ON apenas durante o tempo especificado, neste caso 2 segundos.

Automao Industrial

36

2.4.2 Temporizador aps a operao Pretende-se com esta configurao que a sada esteja activa apenas durante um determinado perodo de tempo, especificado no temporizador, aps a entrada de controlo tenha deixado de estar activa. Um exemplo da necessidade deste tipo de configurao do temporizador caso do controlo de uma luz de um parque automvel subterrneo. Neste caso, pretende-se que a luz que ilumina o parque, apenas esteja acesa 30 segundos aps o carro ter entrado no parque.
10.0 0.0 TIM 10 #50 0.0 TIM 10

10.0 10.0

Neste caso, a sada 10.0 ficar no estado OFF aps 5 segundos a condio de execuo ter ficado OFF. Na figura que se segue, possvel verificar a evoluo temporal da entrada e da sada e concluir que a sada 10.0 apenas permanece em ON 5 segundos aps a entrada ter passado a OFF.
0.0

10.0 5 seg.

Exemplo de aplicao Uma lmpada de sinalizao deve permanecer a piscar, com perodo de 20 segundos, durante todo o tempo em que um carro se movimenta. O carro comandado a partir de um boto premido continuadamente durante todo o movimento. A atribuio de endereos a seguinte: IR 00.00 IR 10.08 TIM 000 e 001 carro lmpada temporizadores para a onda quadrada

A representao dos estados que os temporizadores para formar a onda quadrada devero tomar est ilustrada na figura que se segue.

Automao Industrial

37

TIM 000

TIM 001

Na figura que se segue, encontra-se representado o programa que implementa a onda quadrada.
TIM 001 TIM 000 #100 TIM 000 TIM 001 #100 TIM 000 carro lampada

2.4.3 Temporizador de alta velocidade Este temporizador, designado por TIMH, semelhante ao TIM, exceptuando o facto daquele ter como unidades de medida as centsimas de segundo (0,01 s).
0.0 TIM H 000 #150 TIM 000 10.0

Na figura anterior, a sada 10.0 estar a ON aps 1,5 segundos a entrada 0.0 ter passado a ON. 2.5 CONTADORES Os contadores so utilizados para contar o nmero de eventos associados a uma determinada condio. 2.5.1 CNT A instruo CNT usada para contar de forma decrescente desde um valor prdefinido (VC), quando a condio de execuo em CP passa de OFF para ON, isto , o valor corrente (PV) ser decrementado de 1 unidade sempre que CNT executado, com CP=ON, e que a condio de execuo tenha sido OFF na ltima execuo.

Automao Industrial

38

CP

CNT N VC

em que N o numero do contador e VC o valor inicial do contador.

O contador desactivado com a entrada de reset R. Quando R passa de OFF para ON, o valor actual passa a valer VC. O valor presente nunca decrementado quando R ON.
0.0 0.1 R 255.02 CP CNT 001 #700

CNT 001 10.0

O contador 001 conta o nmero de vezes que o clock (SR 25502) vai de OFF a ON. A entrada 0.0 utilizada para controlar o tempo quando o contador est em operao (1seg x 700 =11 minutos e 40 segundos). 2.5.2 Contador reversvel CNTR O contador reversvel, designado por CNTR, permite contar de forma crescente ou decrescente, isto , utilizado para contar entre 0 e VC de acordo com duas condies de execuo, na entrada incremental (EI) e na entrada decremental (ED). O valor corrente ser incrementado de uma unidade quando a condio de execuo para EI ON e a ltima condio de execuo OFF.
EI CNTR ED R N VC

Se simultaneamente as entradas EI e ED passarem a ON, o valor corrente no se alterar. O contador desactivado atravs da entrada R. Quando chegar a zero, o contador fica a ON. Este tipo de contador circular, pois se o valor actual do contador coincidir com o valor pr-definido do contador, e se a entrada EI passar a ON, ento o prximo valor do contador passar a ser 0.

...

VC

Automao Industrial

39

2.5.3 Exemplo de aplicao Considere um posto de embalamento de produtos. Os produtos chegam ao posto atravs de um tapete rolante.

Figura 5.9 - Sistema de embalamento com peas semelhantes Existe um sensor no referido posto, que permite a deteco dos produtos. Sempre que existam 100 produtos no contentor deve ser colocado um novo contentor utilizando um actuador pneumtico. Atribuio de endereos: IR 00.00 IR 10.00 TC 120 detector actuador contador

O diagrama de contactos para este problema o representado de seguida.


detector CP CNT 120 CNT 120 #100

Contentor

CNT 120 DIFU actuad

Pretende-se efectuar algumas melhorias no sistema: se uma pea estiver mais de 5 segundos em frente ao posto, ento gera alarme; quando chega a 100, o tapete deve parar, para dar tempo mudana de contentor; aps 10 segundos, o tapete deve voltar a funcionar; possibilidade de detectar dois tipos de peas A e B (contentor A - 100 peas e contentor B - 50 peas), tal como se mostra na prxima figura.

Automao Industrial

40

Actuador pneumtico

Figura 5.10 - Seleco de diferentes tipos de peas 2.6 INSTRUES DE MANIPULAO DE DADOS A soluo de determinados problemas requer a necessidade de manipular no apenas um bit mas sim um conjunto de bits agrupados numa palavra (word), constituda por dois bytes, ou seja 16 bits. 2.6.1 MOVE Esta instruo permite copiar o contedo de uma palavra origem para uma palavra destino, sempre que a condio de execuo for verdadeira.
MOV S D

em que S a palavra origem, que pode pertencer s reas IR, SR, AR, DM, HR, TC, LR ou ser um valor numrico, e D a palavra destino, que pode pertencer s reas IR, SR, AR, DM, HR e LR.

preciso ter em ateno que os DM 6144 a DM6655 no podero ser utilizados para a palavra destino, pois pertencem a uma rea de memria reservada apenas a leitura.
Palavra Origem ... MOV Palavra Destino ...

O estado dos bits da palavra origem preservado durante a realizao da instruo MOV.
0.0 MOV 001 HR 05

Neste caso, quando a entrada 0.0 estiver em ON, o contedo de IR 001 copiado para HR05. Por exemplo se IR 001 contiver o valor 01101011111, ento HR05 passar a conter esse valor.

Automao Industrial

41

IR 000 :

0110 0110

1011 1011

HR 05 :

111 ... 111 ...

2.6.2 MOVE NOT Esta instruo semelhante ao MOV, com a diferena de quando a condio de execuo for verdadeira, copiado para a palavra destino o contedo invertido da palavra origem. Se a palavra origem for um valor numrico, ento dever estar no formato hexadecimal.
0.0 MVN #F8C5 DM 0010

Uma vez que # F8C5 em hexadecimal semelhante a 111 1000 1100 0101 em binrio, ento o valor que ser transferido para o DM 0010 ser 0000 0111 0011 1010, que o complementar de #F8C5. 2.6.3 Instrues Diferenciais Algumas instrues permitem tanto a forma no diferencial como a diferencial. As instrues so distinguidas atravs da colocao do smbolo @ imediatamente antes da mnemnica da instruo. Uma instruo no diferencial executada sempre que a condio de execuo ON. Uma instruo diferencial executada apenas aps a condio de execuo passar de OFF a ON. Se a condio de execuo no se alterou ou se mudou de ON para OFF, a instruo no ser executada.
0.0 MOV HR 10 DM 0000 Diagrama A Diagrama B 0.0 @MOV HR 10 DM 0000

No diagrama A, que apresenta a instruo MOV no diferencial, o contedo de HR10 copiado para DM 0000 sempre que o programa execute a linha de instruo. Se o tempo de ciclo 80 ms e 0.0 permanece em ON por 2,0 segundos ento a operao MOV executada 25 vezes, sendo apenas preservado o ltimo valor que copiado para DM 0000. No diagrama B, a instruo diferencial @MOV move o contedo de HR 10 para DM 0000 apenas quando 00.00 passa a ON. Mesmo que 00.00 se mantenha em ON durante

Automao Industrial

42

2 segundos com o mesmo tempo de ciclo (80 ms), a instruo s ser executada uma vez, aquando do primeiro ciclo, no qual 00.00 passa de OFF para ON. 2.6.4 Endereamento Indirecto Quando a rea DM especificada para um operando, um endereo indirecto poder ser utilizado, vulgarmente designado por apontador. Um apontador diferencia-se de um endereo normal por ter um asterisco antes do prefixo DM: *DM XXXX. Quando se utilizam apontadores, o DM especificado conter o endereo da palavra DM que contm a informao que ser usada como operando da instruo.

MOV *DM 0001 LR 00

DM 0000 DM 0001 DM 0002

4C59 1111 F35A indica DM 1111

...
DM 1111 DM 1112 DM 1113 5555 2506 D541 o valor 5555 copiado para LR00

Figura 5.11 - Utilizao de apontadores no endereamento de memria No exemplo anterior, *DM 0001 utilizado como 1 operando da instruo MOV, sendo o seu contedo o apontador para a posio de memria DM 1111, cujo contedo ser copiado para o segundo operando, neste caso, o LR 00. Importante: Quando se trabalha com endereos indirectos, o contedo do DM que ir especificar a palavra que contm a informao, dever estar em formato BCD e compreendido entre 0000 e 1999. 2.7 INTERRUPES Uma interrupo um tipo de entrada especial que permite o tratamento imediato do acontecimento, deixando por instantes de executar o programa principal. Aps ter sido tratada a interrupo, o ciclo de execuo volta ao programa principal. O autmato programvel CPM1 possui trs tipos de interrupes, descritas de seguida: Entradas de interrupo - o processamento da interrupo executada quando uma das entradas de interrupo passa a ON a partir de uma fonte externa. Interrupes temporizadas - o processamento da interrupo executado a partir de um temporizador com preciso de 0,1 ms. Interrupes de contadores - o processamento da interrupo executado quando o contador atinge o valor especificado no contador.

Automao Industrial

43

As entradas de interrupo tem prioridade sobre os outros dois tipos de interrupo. Quando 2 entradas de igual prioridade so actuadas simultaneamente, executada a entrada de interrupo 0, no que se segue a entrada de interrupo 1, etc. O CPM1 possui as entradas 0003 a 0006 como entradas de interrupo, que podem ser definidas como entradas de interrupo utilizando o DM 6628.
Bit 15 Bit 0

Palavra
DM 6628

Valores
0 : entrada normal 1: entrada interrupo 2: entrada de resposta rpida

DM 6628 0006 0005 0004 0003

Figura 5.12 - Configurao das interrupes As interrupes das entradas 00.03 a 00.06 so alocadas s interrupes 00 a 003 e s subrotinas 000 a 003. Se as entradas de interrupo no estiverem a ser utilizadas, as subrotinas de interrupo 000 a 0003 podem ser utilizadas como subrotinas normais. Quando uma entrada de interrupo recebida, o programa principal interrompido e o programa de interrupo executado imediatamente. O sinal de interrupo dever estar a ON durante pelo menos 200 s, de forma a ser detectado.
Programa Principal Programa de Interrupo Programa Principal

Entrada de interrupo

Figura 5.12 - Funcionamento de uma interrupo Para activar as entradas de interrupo necessrio utilizar a instruo INT.
INT CC 000 D

em que CC o cdigo de controlo e D so os dados de controlo.

Se pretendermos configurar as entradas que se pretendem que sejam interrupes, deveremos utilizar o valor 000 no parmetro CC (permite colocar uma mscara nas entradas de interrupo). No parmetro D dever ser colocado o valor que corresponda activao das entradas de interrupo; por exemplo, se pretendermos configurar a entrada 0.4 como entrada de interrupo, devemos colocar o valor #D (1 1 0 1).

Automao Industrial

44

Exemplo de aplicao Vamos considerar o diagrama que se segue, em que se representa a activao de uma interrupo a partir da entrada 0.3.
0.3 INT 000 000 #000E

. . .

SBN 000 Programa de interrupo RET

Quando a entrada 00.03 (interrupo numero 0) vai a ON, o controlo passa imediatamente para o programa de interrupo com a subrotina 000. As entradas de interrupo foram configuradas no DM 6628 com o valor 0001.
0. 6 1 0. 5 1 0. 4 1 0. 3 0

O valor #E colocado na instruo INT, permite o enable da interrupo da entrada 0.3. 2.8 SUBROTINAS As subrotinas permitem dividir as tarefas complexas de controlo em pequenos mdulos. Quando o programa principal invoca a subrotina, o controlo transferido para a subrotina, sendo as instrues da subrotina executadas. Quando todas as instrues da subrotina estiverem concludas o controlo regressa ao programa principal.
SBS N

em que N o numero da subrotina.

Na figura que se segue possvel verificar que a instruo SBS 000 permite realizar um salto no programa principal para a subrotina 0, representada pela instruo SBN 00.

Automao Industrial

45

Programa Principal

SBS 00

Programa Principal

SBN 00

Subrotina

RET END

Figura 5.13 - Principio de funcionamento das subrotinas O final da subrotina representado pela instruo RET, que retorna a execuo do programa para a instruo seguinte a da chamada da subrotina.

Automao Industrial

46

3 MODELAO DE SISTEMAS COMPLEXOS CONDUZIDOS POR EVENTOS


3.1 INTRODUO AO GRAFCET
O GRAFCET (Graphe de Commande Etape-Transition) foi estabelecido em 1977 pela Association Franaise pour la Cyberntique Economique et Technique, e uma linguagem grfica utilizada para representar o algoritmo de controlo, com respeito s suas interaces com o mundo exterior. A linguagem GRAFCET fornece aos utilizadores a possibilidade de implementar projectos de automao simples ou complexos, com eficincia e baixo custo. De uma forma simples, o GRAFCET consiste em:

Dois elementos grficos: ETAPAS e TRANSIES. Dois elementos de controlo: ACES para as Etapas e Receptividades para as transies. Uma etapa ligada sempre a uma transio e uma transio sempre ligada a uma etapa, atravs de ligaes orientadas.
Ligao Etapa Inicial
1 SOBE_BROCA SE /BROCA_UP

Etapa

t1

INICIO.BROCA_UP LIGA_BROCA; BAIXA_BROCA SE T/X2/3s/ BROCA_BAIXO LIGA_BROCA; SOBE_BROCA BROCA_UP

t2

Transio
3

Aco

t3

Receptividade

Figura 6.1- Exemplo de um Grafcet A utilizao da ferramenta Grafcet oferece algumas vantagens, das quais se destacam as seguintes: Suportado por um Standard - suportado pelo standard IEC 848 da International Electrotechnical Commission, representativo de todas as empresas que suportam o Grafcet de modo a manter a sua integridade e universalidade. Grfico Orientado ao Processo - desenvolvido para aplicaes de processo, o Grafcet possui caractersticas que no so suportadas pelas outras ferramentas similares, tais como processamento paralelo.

Automao Industrial

47

Desenvolvimento independente do autmato programvel - o trabalho de especificao realizado com o Grafcet completamente independente do tipo de autmato programvel que ser utilizado na aplicao de automao. Tarefa de concepo facilitada - o formato grfico torna mais fcil a tarefa de identificao de erros de concepo. Mais importante, o Grafcet diminui o custo dos erros de interpretao, quer sejam originrios de construtores, fornecedores ou equipas de concepo. Reduo do tempo de desenvolvimento de aplicaes - o Grafcet o desenvolvimento de um mtodo para a implementao de cdigo para autmatos programveis. Actualmente, o GRAFCET a linguagem mais produtiva e flexvel desenvolvida para automao de processos.

3.2 ESPECIFICAO FUNCIONAL E TECNOLGICA A especificao de automatismos industriais requer a considerao dos seguintes pontos: funcional e tecnolgico [Novais, 94]. 3.2.1 Especificao Funcional A especificao funcional engloba as seguintes caractersticas: Descreve as interaces entre as partes de Comando e Operativa. Define as funes, informaes e comandos implicados no automatismo. independente das opes tecnolgicas. 3.2.2 Especificao Tecnolgica A especificao tecnolgica engloba as seguintes caractersticas: Descreve fisicamente as trocas de informao entre as partes operativas e de comando. Define os meios de comunicao entre o operador e o automatismo.

3.3 CONCEITOS BSICOS DO GRAFCET 3.3.1 Etapas O princpio fundamental do Grafcet a reduo do processo de controlo a etapas simples. Uma etapa corresponde a uma situao do sistema, ou de parte dele, em que o comportamento permanece invariante. A etapa representada por um quadrado com

Automao Industrial

48

um nmero no interior. A entrada efectuada na parte superior do quadrado e a sada na parte inferior.
LIGA_BROCA; BAIXA_BROCA SE T/X2/3s/

Figura 6.2 - Etapa e Aco Uma etapa est activa ou inactiva. Uma etapa activa assinalada com um ponto (.) na parte inferior do seu smbolo.
2 LIGA_BROCA; SOBE_BROCA

Figura 6.3 - Etapa activa ou validada O estado actual do sistema caracterizado pelo conjunto das etapas activas. A cada etapa esto associadas aces. As aces so executadas enquanto a etapa est activa, e controlam as sadas que tem por objectivo a execuo de diversas funes. Quando uma etapa est activa, so executadas as aces associadas etapa. As vrias aces esto separadas pelo smbolo ; ou ento por um trao horizontal. 3.3.2 Transies As etapas do grfico so separadas por transies. As transies representam a possibilidade de evoluo entre etapas.
1 INICIO.BROCA_UP

Figura 6.4 - Transio e Receptividade A cada transio est associada uma condio lgica denominada por receptividade. A evoluo no GRAFCET requer que a etapa esteja activa e a receptividade associada transio seja 1. A utilizao de operadores lgicos AND e OR representa-se na receptividade pelo uso dos smbolos e +. Assim, a condio lgica verdadeira se INICIO e BROCA_UP so condies verdadeiras. 3.4 PRINCPIO DE FUNCIONAMENTO Na definio do Grafcet existem vrias regras que governam o seu comportamento, e que sero descritas de seguida.

Automao Industrial

49

3.4.1 Inicializao As etapas activas aps a inicializao so assinaladas duplicando o contorno dos respectivos smbolos.
1 SOBE_BROCA SE /BROCA_UP

Figura 6.5 - Etapa Inicial Neste caso, a aco da etapa 1 contm apenas um elemento de controlo: furao. 3.4.2 Validao Uma transio est validada ou no validada. Est validada se todas as etapas de entrada estiverem activas. 3.4.3 Disparo de uma transio Uma transio disparada se estiver validada (a etapa anterior est activada) e a receptividade tomar o valor 1. O disparo de uma transio provoca a activao das etapas de sada e a desactivao das etapas de entrada.
2 2 3
LIGA_BROCA; BAIXA_BROCA SE T/X2/3s/ BROCA_BAIXO LIGA_BROCA; SOBE_BROCA

2 2 3

LIGA_BROCA; BAIXA_BROCA SE T/X2/3s/ BROCA_BAIXO LIGA_BROCA; SOBE_BROCA

Etapa 2 activa

Etapa 2 activa Transio 2 disparada

2 2 3

LIGA_BROCA; BAIXA_BROCA SE T/X2/3s/ BROCA_BAIXO LIGA_BROCA; SOBE_BROCA

Etapa 2 desactivada Etapa 3 activada

Figura 6.6 - Disparo de uma Transio Exemplo: Prensa de compresso A prensa de compresso consiste num puno inferior (fixo) e num puno superior e matriz (mveis). Existem adicionalmente dispositivos de colocao de material e
Automao Industrial 50

evacuao da pea. O princpio de funcionamento pode-se resumir aos seguintes pontos: com o puno superior e a matriz nas suas posies altas colocada a matria prima na matriz; o puno superior desce comprimindo a matria prima aps o que regressa posio inicial; a matriz desce permitindo retirar a pea; a matriz regressa posio inicial, podendo ser iniciado um novo ciclo.

Colocao do material material colocado e arranque do ciclo

Descida do puno superior fim da compresso

3 matriz em posio alta

Subida do puno superior puno superior

Descida da matriz matriz em posio baixa

Evacuao da pea evacuao terminada

Subida da matriz

Aps a realizao desta especificao funcional, colocam-se as seguintes questes: 1. Como colocado o material? O material dever ser colocado manualmente pelo operador. O sinalizador luminoso V permanece aceso durante o tempo de colocao. O operador inicia o ciclo premindo o boto d. 2. Como so accionados o puno e a matriz? Accionamento por mbolos hidrulicos de duplo efeito. 3. Como so detectadas as posies extremas dos movimentos? As posies alta e baixa so detectadas pelos interruptores de fim de curso a1, a0, b1 e b0.

Automao Industrial

51

4. Como retirada a pea? A pea retirada atravs de um jacto de ar, comandado pela electrovlvula E, com uma durao de 1 segundo. As novas especificaes provocam o aparecimento de novas entradas, sadas e temporizaes, originando um novo grafcet. Entradas:
d : autorizao de arranque de ciclo a1 : posio baixa do puno a0 : posio alta do puno b0 : posio baixa da matriz b1 : posio alta da matriz

Sadas:
V: sinalizao luminosa a+ : descida do puno a- : subida do puno b+ : subida da matriz b- : descida da matriz E : evacuao

Temporizadores:
LT1 : ligar a temporizao de evacuao fT1 : fim da temporizao de evacuao

1 d 2 a1 3 b1 4 b0 5 a0

a+

a-

b-

E ; LT1 ft1

b+

Exemplo: Transporte e descarga de peas Consideremos o seguinte sistema, constitudo por um carro, C, que tem por objectivo o transporte de peas entre os postos A e B, nos sentidos direito (direito) e esquerdo (esquerdo). Em repouso, o carro encontra-se no posto A. Nesta posio, aps receber ordem do operador, o carro transporta uma pea at ao posto B, regressando de seguida ao posto A. A presena do carro nos postos A e B sinalizada. As peas depositadas no posto B so retiradas, duas de cada vez, atravs de um alapo, que se abre durante 20 segundos. Qualquer avaria no funcionamento do alapo sinalizada. Esta sinalizao mantm-se at ao operador a reconhecer.
Automao Industrial 52

Posto A

Posto B

Aps ter sido realizada a especificao funcional do sistema, necessrio elaborar a sua especificao tecnolgica: a presena do carro nas posies A e B detectada, respectivamente, pelos interruptores fim de curso a e b; a presena do carro na posio de repouso sinalizada atravs da lmpada V; o inicio do movimento comandado pelo operador atravs do boto m. Se aps ter terminado o movimento, o boto continuar premido, no se iniciar novo movimento; a abertura do alapo accionada por um mbolo com mola de chamada (AA); o contacto t0 assinala o alapo aberto; o alarme correspondente avaria no alapo transmitido pela sirene S; o arranque aps avaria comandado atravs do boto r; o accionamento do carro realizado por um motor elctrico com 2 sentidos de marcha (D e E). O motor protegido por um dispositivo, que quando activo implica a paragem momentnea do motor. Esta situao sinalizada pela lmpada L. 3.5 REPRESENTAO DE SEQUNCIAS SIMULTNEAS E ALTERNATIVAS 3.5.1 Sequncias Simultneas - Paralelismo Estrutural (N AND) O incio e o termo de sequncias simultneas so representados no Grafcet tal como se ilustra de seguida.
1 2 3

t1

Figura 6.7 - Sequncia Simultnea

Automao Industrial

53

O disparo da transio t1 s realizado quando as etapas 1,2 e 3 estiverem activas e a condio t1 seja verdadeira. Nesse caso, as etapas de entrada so desactivadas e as de sadas so activadas. Considere a seguinte unidade de furao e roscagem:

Posto 2: Furao

Posto 3: Roscagem

Posto 1: Evacuao e carga das peas

Figura 6.8 - Unidade de Furao e Roscagem O programa em Grafcet para esta aplicao ser o que se mostra de seguida, existindo a trs sequncias simultneas (roscagem, furao e evacuao) que requerem a existncia de uma condio AND.

rotao de 1/3 fim de rotao

11

evacuao da pea pea evacuada

21

descida rpida posio de trabalho

31

descida rpida posio de trabalho

12

carregamento da pea pea colocada

22

descida trabalho; broca posio baixa

32

roscagem b0 posio baixa

13

23

subida rpida; broca posio alta

33

recuo fim recuo

24

34

subida rpida posio alta

35

3.5.2 Sequncias Alternativas - Paralelismo Interpretado (N OR) O incio e o termo de sequncias alternativas representado por:

Automao Industrial

54

ti1

ti2

tin

to1

to2

tom

Figura 6.9 - Sequncias Alternativas Para uma dada estrutura do grfico, o paralelismo (execuo simultnea de operaes) depende do resultado lgico das receptividades envolvidas: incompatveis - num dado instante apenas uma receptividade pode tomar o valor verdadeiro: evoluo exclusiva; idnticas - sempre verdadeiras em simultneo: paralelismo estrutural; compatveis - podem ser ou no, verdadeiras ou falsas em simultneo: evoluo qualquer.
Estabelecimentos de prioridades 1 a 2 3 a 2 3 /a . b

Evoluo Exclusiva 1 a

Figura 6.10 - Evoluo Exclusiva e Estabelecimento de Prioridades Exemplo: Atendimento de vrios postos Considere o seguinte exemplo, onde existe trs postos de atendimento para um dado veiculo.

Posto 1

Posto 2

Posto 3

O grafcet que solucionar o problema o seguinte:

Automao Industrial

55

garra aberta 11

pedido do posto 1 e carro em 2 ou 3 fechar garras garra fechada 12 transf. esquerda chegada posto 1 22 21

pedido do posto 2 e carro em 1 ou 3 fechar garras carro em 1 AND garra fechada 23 transf. direita chegada posto 2 32 31

pedido do posto 3 e carro em 1 ou 2 fechar garras garra fechada transf. direita chegada posto 3

carro em 3 AND garra fechada transf. esquerda chegada posto 2

abrir garras

3.6 CONCEITOS COMPLEMENTARES 3.6.1 Aco Condicional A execuo de uma aco pode ser condicionada a uma condio lgica estabelecida a partir de variveis de entrada e/ou actividade de outras etapas.

10

Sobe_broca SE /broca_up

Figura 6.11 - Evoluo Exclusiva A aco Sobe_broca s ser realizada (estando a etapa 10 activa) se a condio lgica broca_up for verdadeira, isto , a broca no estiver em cima. 3.6.2 Temporizao O controlo de processos industriais requer a existncia de temporizaes para a execuo de aces. Existem vrias implementaes possveis para as temporizaes.

5 T / X5 / 1min

Figura 6.12 - Transio Temporizada

Automao Industrial

56

No exemplo anterior a transio disparada 1 minuto depois da etapa 5 estar activa. Nessa altura, a transio disparada e a etapa 5 desactivada. Outra possvel implementao est ilustrada na figura que se segue.

Sobe_broca SE T / X2 / 3seg

Figura 6.13 - Evoluo Exclusiva Neste caso, a aco Sobe_broca executada enquanto a etapa 2 estiver activa e o temporizador estiver a 1, o que acontece 3 segundos aps a validao da etapa 2. 3.7 COOPERAO ENTRE PROCESSOS 3.7.1 Sincronizao Existem situaes em que necessria a sincronizao entre vrios processos. O conceito de sincronizao entre vrios processos significa ter um mecanismo que assegure que a evoluo do grafcet s seja possvel quando todas as condies necessrias para a sua evoluo estiverem reunidas. Sincronizao pela estrutura do Grafcet Considere o seguinte sistema, constitudo pelo carros C1 e C2.
a1 C1 b1 a2 C2 b2

Posto A1

Posto B1

Posto A2

Posto B2

Os carros C1 e C2 deslocam-se nos sentidos direito (D) e esquerdo (E), entre os postos a1 e b1 para C1, e a2 e b2 para C2. Os dois carros efectuam o movimento a-b-a, encontrando-se simultaneamente nas suas posies de repouso (postos a1 e a2) quando o operador der ordem de partida (boto p).

Automao Industrial

57

p 2 b1 3 a1 Esquerda 6 a2 Direita 5 b2 Esquerda Direita

Considere agora a seguinte alterao ao sistema: A chegada de C1 ao seu posto de repouso a1, impe o regresso imediato de C2 ao posto a2 (se C2 ainda se estiver a dirigir para b2). Esta condio adicional, requer a reformulao do grafcet anterior, obtendo-se o seguinte grafcet.

p 2 b1 Direita 5 b2 Direita 1 Esquerda a2

3 a1

Esquerda

de notar que a evoluo do grafcet condicionada pela actividade da etapa 1. Vamos considerar uma nova alterao: C2 no pode iniciar o regresso ao seu posto de repouso b2 antes de C1 atingir o posto b1.

Automao Industrial

58

p 2 b1 Direita 5 b2 Direita

3 a1

Esquerda

1 6 a2 Esquerda

A evoluo do grafcet condicionada pela no actividade da etapa 8. Sincronizao pela interpretao do Grafcet possvel implementar os grafcets elaborados no ponto anterior, utilizando a interpretao do grafcet. A interpretao do grafcet consiste em utilizar o estado das etapas como condies de disparo de uma transio. No exemplo anterior, apenas nos dois ltimos casos, utilizado o estado de uma etapa para fazer dispara uma transio. No segundo dos grafcets, utilizado o estado da etapa 1 para fazer evoluir o gracet da etapa 5 para a etapa 6. Utilizando a interpretao, possvel redesenhar o gracfet e represent-lo da seguinte forma.
1 4

p 2 b1 3 a1 Esquerda 6 a2 Direita 5 Direita b2 + X1 Esquerda

Na terceira verso do grafcet do ponto anterior, utilizado o estado da etapa 8 para fazer evoluir o grafcet da etapa 7 para a 6, e da 2 para a 3. O grafcet equivalente, utilizando interpretao ser o seguinte.

Automao Industrial

59

p 2 b1 3 a1 Esquerda 6 a2 Direita 5 Direita b2 . /X2 Esquerda

3.7.2 Partilha de Recursos Existem situaes em que dois ou mais processos partilham o mesmo recurso. Nestas situaes, necessrio criar uma etapa especial que represente a disponibilidade do recurso a ser partilhado. Exemplo: Partilha de um troo comum Considere-se um sistema constitudo por dois carros C1 e C2, cujos postos de repouso so a1 e a2, e que alimentam uma estao situada no posto b;
Posio de espera 1

Posto A1

Carro 1

Posto B Posto A2 Carro 2 Posio de espera 2

O ciclo correspondente a cada carro o seguinte: aps a ordem de partida, o carro dirige-se para o troo comum das vias; quando atinge a respectiva posio de espera, o carro pra se o troo comum estiver ocupado, ou prossegue em direco ao posto b se estiver livre; aps atingir o posto b, o carro imobiliza-se durante 2 minutos, iniciando de seguida o regresso ao posto de repouso. O grafcet para o problema, utilizando a estrutura de grafcet o que se segue.

Automao Industrial

60

2 partida 1 3 Avanar espera 1 4 1 5 Avanar posto B 6 t/X6/2 min 7 Recuar espera 1 14 13 12 1

9 partida 2 10 Avanar espera 2 11 /espera 1 Avanar posto B

t/X13/2 min Recuar espera 2 15 Recuar posto A2

Recuar posto A1

de realar que a etapa 1 sinaliza a disponibilidade do recurso (etapa activa troo livre; etapa inactiva troo ocupado). Em caso de os carros chegarem simultaneamente aos pontos de espera, o primeiro a passar o carro 1, devido a ter a transio associada evoluo do grafcet sempre validada (1). Atravs do mtodo da Interpretao do Grafcet possvel elaborar uma outra soluo para o problema.
Carro 1 Carro 2

1 partida 1 2 Avanar espera 1 3 /(X13+X14+X15) 4 Avanar posto B 5 t/X5/2 min 6 Recuar espera 1 7 Recuar posto a1

10 partida 2 11 Avanar espera 2 12 /(X3+X4+X5+X6) 13 Avanar posto B 14 t/X14/2 min 15 Recuar espera 2 16 Recuar posto a2

A organizao hierrquica de Grafcets permite a simplificao do grafcet atravs da desacoplao das vrias actividades associadas entre si.
Automao Industrial 61

10 partida 1 11 Avanar espera 1 12 X1 13 Avanar posto B 14 t/X14/2 min 15 Recuar espera 1 16 Recuar posto a1

1 X13 + X23 2 X15 . espera1 + X25 . espera2

20 partida 2 21 Avanar espera 2 22 X1 . /X12 23 Avanar posto B 24 t/X24/2 min 25 5 26 Recuar espera 2 Recuar posto a2

3.7.3 Subtarefas Uma subtarefa pode ser definida como uma sequncia de operaes que podero ser repetidas vrias vezes dentro de um grafcet. Sempre que se pretende executar o conjunto de operaes constituintes da subtarefa, a evoluo do grafcet salta para a subtarefa. No acesso a essa subtarefa poder existir situaes de conflito ou no, dependendo do nmero de processos que a invocam. Acesso sem Conflito No acesso sem conflito a uma subtarefa, nunca existe a possibilidade de a mesma subtarefa ser invocada simultaneamente por dois ou mais processos.
Estrutural Interpretado

10 a

Chamada 1 Chamada 2

10 a 11 SP1 X39 12 32 31 n 0 X11 + X22

11

31 n 1 32

21 C 22 39 retorno 1 retorno 2 22 21 C SP1 X39 Processo Principal Sub-tarefa Sub-tarefa Processo Principal 39 X12 + X23

Figura 6.14 - Acesso sem conflito a uma subtarefa

Automao Industrial

62

Acesso com Conflito No caso de existir a possibilidade de uma subtarefa ser chamada por mais do que um processo simultaneamente, necessrio criar uma etapa auxiliar, cujo objectivo gerir o acesso subtarefa.

13

25

14

31 n 1 32 1

26

15 39

27

Processo 1

Sub-tarefa

Processo 2

Figura 6.15 - Acesso com conflito a uma subtarefa A etapa 0 regula o acesso de vrios processos a uma mesma subtarefa. Se essa etapa estiver activa, ento o acesso subtarefa autorizado; por outro lado, se estiver inactiva, o acesso subtarefa recusado. Exemplo: Sistema de descarga comum Consideremos o sistema que se representa de seguida.
RE RD SP a1 C1 FP Posto A1 Posto B Tapete de Evacuao DP AP Posto A2 C2

Os carros C1 e C2 transportam peas entre os postos a1 e a2 e o posto b, partilhando o mesmo sistema de descarga comum em b. O movimento dos carros o seguinte:
Automao Industrial 63

com os dois carros nos postos de repouso (a1 e a2), aps a ordem de partida (p), o carro C1 desloca-se at b onde descarregado. Terminada a operao de descarga, C1 regressa ao posto a1. De seguida, o carro C2 desloca-se at ao posto b onde por sua vez, descarregado aps o quer regressa ao posto a2. O sistema de descarga constitudo por uma pina que pode subir (SP) e descer (DP) entre as posies superior (superior) e inferior (inferior); rodar direita (RD) e rodar esquerda (RE) entre as posies direita (direita) e esquerda (esquerda). O fecho da pina (FP) comandado por um mbolo de efeito simples, sendo detectado pelo contacto pf. O ciclo de operaes envolvido na descarga o seguinte: inicialmente a pina est na posio superior direita e aberta; aps ser solicitada a descarga de um carro, a pina desce, agarra o objecto, sobe, roda esquerda e abre depositando o objecto no tapete de evacuao. De seguida, regressa posio inicial. de reparar que a descarga uma tarefa que comum, pelo que pode ser considerada como uma subtarefa.
1 p 2 b1 inferior 3 11 pf 1 4 a1 5 b2 Esquerda C2 Esquerda C1 13 12 SP; FP superior RD; FP direita 14 /pf 6 15 RE esquerda 1 7 a2 Direita C2 16 /FP FP Direita C1 10 DP

NOTA: A etapa 3 simboliza a descarga do carro C1 e a etapa 6 a descarga do carro C2. Considere-se agora, que os carros C1 e C2 possuem sistemas de comando autnomos, cada um com o seguinte ciclo de operaes: aps a ordem de partida o carro desloca-se at ao posto b, onde aguarda imobilizado at o sistema de descarga estar disponvel;

Automao Industrial

64

depois de terminada a descarga, o carro regressa ao seu posto de repouso. O grafcet, considerando estas especificaes adicionais o que se representa de seguida.
1 p1 2 b1 3 23 Direita C1 0 22 b1 21 P2 Esquerda C2

/X3

10

DP inferior

24

1 Esquerda C1 a1

11 pf 12

FP

SP; FP superior

25 b2

Direita C2

13

RE; FP esquerda

14 /pf 15 RD direita 16

Neste caso, aplicou-se a etapa 0 para resolver o conflito de acesso subtarefa. 3.8 ANLISE E VALIDAO DE GRAFCET Os objectivos da anlise e validao de Grafcet so: Determinar o comportamento da parte de comando quando ligada parte operativa: Fase de anlise das especificaes. Estudar esse comportamento, tendo por objectivo detectar eventuais erros: Fase de Validao das especificaes. Pretende-se assegurar, ainda durante a fase de projecto, elevada probabilidade de o automatismo estar isento de erros de concepo.

Automao Industrial

65

3.8.1 Introduo Anlise de Grafcet A anlise de grafcet pode basear-se no grfico das situaes acessveis. Este grfico descreve as situaes que podem ser alcanadas a partir da situao inicial. A partir deste grfico possvel determinar as propriedades do grafcet. A evoluo da situao do grafcet determinada pela sua estrutura e pela sua interpretao (conjunto de receptividades). A interpretao do grafcet pode ser decomposta nas interpretaes interna e externa. A interpretao interna est associada ao estado das etapas e a externa a condies exteriores. 3.8.2 Grafcet Autnomo O grafcet autnomo obtido, considerando no grafcet original, apenas a interpretao interna e atribuindo a todas as receptividades externas o valor (valor indiferente).

1 b.c 2

1 2

a 3

/c . /X3

. /X3

/X1

/X1

Grafcet Original

Grafcet Autnomo

Figura 6.16 - Grafcet Autnomo O grafcet autnomo constitui o ncleo do grafcet e independente do exterior do circuito de comando. As propriedades prprias do circuito de comando podem ser estudadas a partir do grfico das situaes acessveis do grafcet autnomo. 3.8.3 Grfico das situaes acessveis O grfico das situaes acessveis obtido a partir da situao inicial explicitando para cada transio todas as combinaes possveis de disparo das transies. s variveis que substituem as receptividades externas so atribudos os valores 0 ou 1. Consideremos o seguinte grafcet.

Automao Industrial

66

1 t1

2 t2 4

3 t3 5 G

t4

O grfico de situaes acessveis e que representa a evoluo da grafcet perante o disparo das transies o que se segue.
1 t1 t2 3 ,4 t3 3, 2 t2, t3 4, 5 t3 t2 2, 5 t4

Alternativamente ao grfico, possvel utilizar uma tabela que represente a evoluo do grafcet.
Situao Actual 1 2,3 Transies Sensibilizadas t1 t2, t3 Transies Disparadas t1 t2 t3 t2, t3 t3 t2 t4 Situao Seguinte 2,3 4, 3 2, 5 4, 5 4, 5 4, 5 1

4, 3 2, 5 4, 5

t3 t2 t4

3.8.4 Anlise de Grafcet Atravs do grfico das situaes acessveis possvel detectar situaes de bloqueio no grafcet elaborado para o automatismo. Exemplo: Fabrico de Iogurtes O leite e o fermento so preparados, em separado, nos aparelhos A1 e A2, antes de serem misturados em A4. Em simultneo so produzidos dois boies em A3. De

Automao Industrial

67

seguida, os boies so enchidos em paralelo nos aparelhos A5 e A6, e colocados em estufa. O grafcet que soluciona este problema encontra-se representado na figura que se segue.
1 t1 arranque

2 t2 3 t3 4 A1 pronto Preparar leite leite pronto t5 t4

5 A2 pronto 6 Preparar fermento fermento pronto 7 t7

A3 pronto

10 t6 9 t8 A4 pronto Mistura mistura pronta 13 t9

Produz boies boies prontos

11

12

t10 14 t12 15

A5 pronto Enche boies boio cheio

t1
1

A6 pronto 16 Enche boies boio cheio 17

t14

t15 18 t16

estufa pronta Estufa iogurte pronto

A anlise da evoluo do grafcet permite detectar o erro no grafcet.

t12 12, 14 t10 11,12,13 t10, t11

12, 15

evoluo bloqueada

t12

15, 16 t12, t14 14, 17

t14 15, 17 t12 t15 18 t16 1

14,16 t14

t11 11, 16 t14

11, 17

evoluo bloqueada

Automao Industrial

68

O erro consiste no facto da etapa 13 validar as transies t10 e t11. Estas transies ocorrendo em momentos diferentes provocam o bloqueio do grafcet. A soluo correcta consiste em validar t10 e t11 por duas etapas distintas (13 e 19).
t6 9 t8 A4 pronto Mistura mistura pronta t9 t7 10 A3 pronto Produz boies boies prontos

11

12

19

13

t10 14 t12 15

A5 pronto

t11 16

A6 pronto

boio cheio

t14 17

boio cheio

Considere-se agora que a mistura de leite e fermento pode resultar imprpria para consumo. Nesta situao a mistura rejeitada e o processo re-inicializado.

Automao Industrial

69

1 t1 arranque

2 t2 3 t3 4 A1 pronto Preparar leite leite pronto t5 t4

5 A2 pronto 6 Preparar pronto fermento pronto t7

A3 pronto

10 7

Produz boies

t6 t18 20 mistura rejeitada 11 /boa t17 t 8 9

A4 pronto Mistura mistura pronta.boa 12 19

t9

boies prontos

13

t10 14 t12 15

A5 pronto

t1
1

A6 pronto 16 boio cheio 17

boio cheio

t14

t15 18 t16

estufa pronta

iogurte pronto

A partir da anlise da evoluo do grfico, verifica-se que o grafcet contm um erro.


t2 t18 t17 4, 7, 13, 19 t6 9, 13, 19 Reactivao das etapas 13 e 19 20, 13, 19 1, 13, 19 t1 2, 5, 8, 13, 19 t7 2, 5, 10, 13, 19 t9 2, 5, 13, 19 t4

O erro consiste em as etapas 13 e 19 serem reactivadas aps a rejeio da mistura. Assim, so produzidos novos boies antes dos anteriores terem sido consumidos. A soluo correcta consiste em reinicializar apenas o processo de fabrico do leite e do fermento (etapas 2 e 5).

Automao Industrial

70

1 t1 arranque

2 t2 3 t3 4 A1 pronto Preparar leite leite pronto t5 t4

5 A2 pronto 6 Preparar pronto fermento pronto 7

t6 t18 mistura rejeitada 20 t17 t8 /boa 9

A4 pronto Mistura mistura pronta

Automao Industrial

71

4 SENSORES
O controlo de processos industriais recorre cada vez mais utilizao de PC e PLCs. Os PLCs so muito mais rpidos e precisos de que um operador na execuo de tarefas montonas e repetitivas, razo pela qual se justifica a sua utilizao. No entanto, O PLC no pode ver, ouvir, sentir e cheirar o que se passa durante o processo produtivo, pelo qual no se apercebe do estado em que se encontram as grandezas envolvidas no controlo do processo. Os sensores so utilizados para dar ao PLC as capacidades de sentir o que se passa no processo que est a controlar. Assim, os sensores tem por funo a aquisio do estado do mundo real, pelo que se pode definir o sensor como um dispositivo que converte grandezas fsicas que se pretendem medir em grandezas elctricas que podero ser processadas e transmitidas [Hauptmann, 91]. As grandezas fsicas capazes de serem adquiridos por sensores ultrapassam as centenas, existindo deste modo, uma vasta gama de diferentes tipos de sensores no mercado.

Grandeza fsica

Sensor

Condicionamento do sinal

Autmato Programvel

Figura 8.1 - Cadeia de aquisio de uma grandeza


A aquisio de sinais pode ser decomposta em dois grandes blocos funcionais: o sensor e o condicionamento de sinal. O sensor o elemento fundamental, pois converte a grandeza fsica num grandeza elctrica. No entanto, a sada do sensor necessita de algum tratamento antes de ser processada. Este tratamento do sinal realizado pelo bloco condicionador,

cujas funes se destacam, a amplificao, filtragem, linearizao, converso analgico-digital, etc. A ligao dos sensores pode ser realizada de duas formas distintas: a dois fios, utilizando o mesmo fio para a alimentao e para o sinal; a trs fios, utilizando um fio para a alimentao, outro para o sinal e o restante para a massa.
Alim/Sinal
Alimentao

Sensor

Comum

PLC

Sensor

Sinal Comum

PLC

Figura 4.2 - Ligao de um sensor Os sensores podem ser classificados de acordo com o tipo de sinal que fornecem sada, ou seja sensores digitais ou analgicos. Os sensores digitais so os de utilizao mais fcil, pois apenas apresenta dois estados. Encontram neste grupo os sensores que detectam a proximidade de objectos, a contagem de peas, a intruso de pessoas, o controlo do nvel de lquidos, etc.

Automao Industrial

72

Os sensores analgicos fornecem na sada um sinal analgico, proporcional grandeza fsica que esto a medir. So exemplos deste tipo de sensores, os sensores de temperatura e de luminosidade, Neste estudo apenas se vo referir os diferentes sensores digitais, vulgarmente utilizados em aplicaes industriais, como sejam sensores para a medir a proximidade, existncia de objectos, etc. De fora deste estudo ficam um vasto conjunto de diferentes tipos de sensores, tais como, temperatura, presso, luminosidade, posio, velocidade, etc. 4.1 SENSORES CAPACITIVOS O elemento sensor constitudo por um condutor cilndrico e por uma bainha exterior metlica. A capacidade assim formada alterada pela presena de um objecto.
Cp(x) C1

Ce B
C(x)

R C1 R
Cp(x)

C(x)

~ es

Figura 4.3 - Modelo de um sensor capacitivo A deteco da presena do objecto baseada na medida da capacidade, por exemplo atravs de uma ponte. Os sensores capacitivos so sensveis virtualmente a qualquer material, como por exemplo madeira, vidro, gua, etc. As aplicaes tpicas deste tipo de sensores so a deteco de objectos, controlo de nvel de lquidos, posicionamento de objectos, deteco de fluxo, etc.

Mximo Minim o

Deteco/Contagem de Objectos

Controlo de nvel

Deteco de fluxo

Figura 4.4 - Aplicaes de sensores capacitivos

Automao Industrial

73

4.2 SENSORES INDUTIVOS Os sensores indutivos assemelham-se aos sensores capacitivos quanto ao tipo de aplicaes, diferindo no facto de estes apenas detectarem objectos metlicos, enquanto os capacitivos detectam qualquer tipo de objecto. Existem dois tipos de sensores indutivos, diferenciados quanto ao seu princpio de funcionamento: relutncia varivel e correntes de Foulcault. 4.2.1 Relutncia Varivel Trata-se de um transformador cujo circuito magntico inclui o objecto a detectar que deve apresentar propriedades ferromagnticas. O intervalo entre o detector e o objecto comporta-se como um entreferro varivel.
Superficie ferromagntica

Blindagem magntica

Primrio

Secundrio

Figura 4.5 - Modelo de um sensor indutivo A medida do fluxo no enrolamento secundrio, que varia com o entreferro, permite detectar a presena do objecto. 4.2.2 Correntes de Foucault Uma bobina no interior do sensor percorrida por uma corrente de frequncia elevada que produz um campo magntico na sua proximidade. Um objecto metlico nesta zona ser sede de correntes de Foucault que se opem ao campo criado pela bobina e alteram o valor da sua auto-inductncia. A bobina est inserida num circuito oscilante LC, pelo que a presena do objecto faz cessar as oscilaes. Como j foi referido, o sensor indutivo apenas sensvel a objectos metlicos, dependendo a sua sensibilidade das formas e propriedades fsicas do objecto.

Automao Industrial

74

4.3 SENSORES FINS DE CURSO Os fins de cursos so os sensores mais vulgares nos processos produtivos, devido sua facilidade de utilizao, associada ao seu baixo custo. Os fins de curso so interruptores electromecnicos accionados pelo objecto a detectar. Existem vrios tipos de fins de curso: horizontais, verticais, de roldana, de boto, etc. Devido ao seu princpio de funcionamento, este tipo de interruptor est sujeito ao desgaste do contacto mvel. Das suas aplicaes tpicas destacam-se a contagem de peas, a deteco de passagem de objectos, deteco de intruso, sistemas de segurana, etc. 4.4 SENSORES FOTOELCTRICOS Os sensores fotoelctricos so constitudos por um elemento emissor de luz, vulgarmente um fotododo, e por um elemento sensvel luz incidente, como seja uma fotoresistncia.
Resistncia ( ) Incidncia de luz V

L Superficie A Luz (lumens)

Figura 4.7 - Dependncia da Resistncia com a Luz A incidncia de luz est associada libertao de cargas elctricas e ao correspondente aumento de condutividade. Este fenmeno provoca a variao da resistncia do elemento em funo da luz incidida. As clulas fotoelctricas podem ser apresentadas em diferentes tipos de deteco: Barreira, reflexo e reflexo no objecto. 4.4.1 Barreira Neste tipo de configurao, o elemento emissor emite uma onda luminosa com uma frequncia tal que invisvel ao olho humano e que no seja afectada por outras fontes de iluminao existentes na sua proximidade.

Figura 4.8 - Clulas fotoelctricas do tipo barreira

Receptor

Emissor

Automao Industrial

75

A recepo do feixe de luz efectuada por outro elemento, posicionado na mesma direco do emissor. A interrupo deste feixe de luz, por parte de um objecto, permite a sua deteco. 4.4.2 Reflexo Neste tipo de configurao, o emissor e o receptor encontram-se concentrados num s dispositivo, sendo necessrio a utilizao de um painel reflector que permita a reflexo da onda incidente da luz.

Figura 4.9 - Clulas fotoelctricas do tipo reflexo A interrupo do feixe de luz por um objecto, desvia o feixe do receptor, que ao no receber o feixe de luz detecta a existncia de um objecto. 4.4.3 Reflexo no objecto Neste tipo de deteco, o objecto que interrompe o feixe de luz, detectado sempre que o receptor receba uma incidncia de luz.

Figura 4.10 - Clulas fotoelctricas do tipo reflexo no objecto Existem variadas aplicaes para as clulas fotoelctricas, das quais se destacam, sistemas de segurana, contagem de peas, deteco de objectos, deteco de nvel de liquido, etc. 4.5 SENSORES DE ULTRASONS O sensor de ultrasons, baseia o seu funcionamento na emisso e recepo de ondas de frequncia acima de 20 KHz. Este tipo de sensor apresenta duas aplicaes distintas: determinao de distancias a que se encontram objectos e a deteco de objectos.

Emissor Receptor

Emissor Receptor

Automao Industrial

76

4.5.1 Distncia de um Objecto O sensor emite uma onda, que ser reflectida pelo objecto a ser medido, e que ser recebida pelo mesmo ou por outro sensor. O tempo decorrido entre a emisso e a recepo da onda, determina a distncia a que se encontra o objecto.

Objecto Onda reflectida

Onda transmitida

Figura 4.11 - Sensor de ultrasons 4.5.2 Deteco de Objectos Os sensores de ultrasons podem igualmente ser utilizados na deteco de objectos. Neste caso, os sensores so previamente configurados para detectar a uma determinada distncia a existncia de objectos. A aplicao de detectores capacitivos na monitorizao do nvel de produto em silos pode no ser possvel se puder verificar a adeso de materiais, por exemplo poeiras superfcie sensora do detector.

Sensor de Ultrasons

Figura 4.11 - Exemplo de uma aplicao de sensores de ultrasons Nestes casos, a utilizao de um sensor de ultrasons deve ser prefervel, pois devido ao seu principio de funcionamento, a superfcie sensora est sempre em vibrao, o que impede a adeso de quaisquer materiais. 4.6 SENSORES ESPECIAIS 4.6.1 Leitores de Cdigos de Barras Dispositivos que permitem a leitura de cdigos de barras, e que permitem efectuar um controlo de processos e identificao de produtos.

Automao Industrial

77

4.6.2 Dispositivos de Escrita/Leitura de Etiquetas Permitem ler a informao armazenada em etiquetas que acompanham os produtos ao longo do processo produtivo. Possuem de igual modo a funcionalidade de escrita de informao nas etiquetas ou pastilhas. O tipo de informao a armazenar previamente configurada, diferindo de aplicao para aplicao. Por exemplo, uma etiqueta que armazene a informao relativa a uma ferramenta, dever ter a seguinte estrutura de dados: identificao cdigo dimenso X dimenso Z desgaste na dimenso X desgaste na dimenso Z tempo de vida as integer as string[4] as float as float as float as float as integer

Automao Industrial

78

5 MONITORIZAO E CONTROLO DE PROCESSOS


A monitorizao e o controlo de processos produtivos so tarefas fundamentais na automao industrial. No mercado, existem variados produtos, denominados por SCADA (Supervison,control and Data Acquisition), que visam a implementao dessas tarefas. Desses produtos destacam-se os seguintes: InTouch da Wonderware; Fix da Intelluction; Lookout e BridgeView, da National Instruments; Factory Link da U.S. Data; PlantWorks da IBM; OnSpec da Heuristics. Estas ferramentas possuem funcionalidades para o desenvolvimento de aplicaes de monitorizao e controlo remoto de processos complexos. No entanto, para aplicaes simples, a sua aplicabilidade questionvel, principalmente devido ao seu custo e ao tempo necessrio aprendizagem do produto que normalmente longo. Para este tipo de aplicaes possvel a utilizao de outras ferramentas, de mais fcil aprendizagem, como por exemplo o Visual Basic. Neste captulo, pretende-se descrever as vrias etapas do desenvolvimento de aplicaes de monitorizao e controlo, utilizando o Visual Basic. De modo a acompanhar esta exposio, vamos considerar o seguinte problema. Pretende-se monitorizar o estado de um semforo que apresenta trs luzes: vermelho, amarelo e verde. Consideremos tambm que o semforo se encontra no vermelho por 10 segundos, seguido pelo amarelo durante 4 segundos e pelo verde durante 10 segundos. 5.1 DESENVOLVIMENTO DO PROGRAMA PARA O AUTMATO Inicialmente necessrio desenvolver o programa que ir realizar o controlo do semforo. Na tabela que se segue, encontram-se representados as vrias entradas, sadas e temporizadores que so utilizadas no programa.
Smbolo vermelho verde amarelo arranque paragem TIM 000 TIM 001 TIM 002 Endereo 10.0 10.1 10.2 0.0 0.1 TIM 000 TIM 001 TIM 002 Descrio Luz vermelha Luz verde Luz amarela Arranque do sistema Paragem do sistema Temporizao da luz vermelha Temporizao da luz amarela Temporizao da luz verde Parmetros #100 #40 #100

O programa, representado em diagrama de ladder, o seguinte:


Automao Industrial 79

Figura 5.1 - Diagrama de ladder 5.2 DESENVOLVIMENTO DA APLICAO DE MONITORIZAO


No desenvolvimento de aplicaes de monitorizao e de controlo, o primeiro ponto a realar a comunicao entre o autmato e o PC que ir realizar a referida monitorizao e controlo. A comunicao entre o autmato e o PC realizada atravs da troca de comandos e respostas especficos, executadas entre os dois intervenientes. O bloco de dados transferidos numa transmisso simples chamado frame, que pode possuir no mximo 131 caracteres. Para iniciar a comunicao, necessrio enviar um comando para o autmato, no seu formato especfico. Terminada a transferncia da frame, activada uma flag e o autmato envia, tambm em formato especfico, a frame de resposta, estabelecendo, deste modo, a comunicao entre o autmato e o PC. As frames de comando e resposta utilizadas na comunicao entre o autmato e PC obedecem a formatos especficos. A frame de comando apresenta a seguinte estrutura.
@ x10^1 x10^0 Cdigo do Cabealho *

N de N

Dados

FCS

Terminador

Figura 5.2 - Frame de comando

Automao Industrial

80

Esta estrutura composta por campos de informao, em que: @: caracter de inicio de frame; N do N: identifica a comunicao entre o PC e o autmato, sendo especificado no setup do PLC (DM 6653 no CPM1); Cdigo do Cabealho: estes dois caracteres indicam a funo do comando e a rea de memria onde se pretende executar essa funo; Dados: indica os parmetros do comando, tais como o endereo da rea de memria em causa e o nmero de palavras envolvidas; FCS (Frame Check Sequence): estes dois caracteres controlam os erros de transmisso; Terminador: o caracter * e o CHR$(13), carriage return, indicam o fim do comando; A frame de resposta apresenta o formato representado na figura que se segue.
@ x10^1 x10^0 Cdigo do Cabealho x16^1 x16^0 *

N de N

Cdigo de Fim

Dados

FCS

Terminador

Figura 5.3 - Frame de resposta Esta frame apresenta os mesmos parmetros da frame de comando, excepo do Cdigo de Fim, que indica se ocorreu algum erro de transmisso, atravs de um cdigo associado a cada tipo de erro [CPM1, 96]. Na transmisso de informao entre duas entidades, um dos erros que podem ocorrer a alterao do estado de algum bit. Uma tcnica para controlar este tipo de erro, usar um procedimento baseado na operao lgica XOR (OR exclusivo). Para calcular o FCS, cada caracter convertido no seu cdigo ASCII. efectuada a operao lgica XOR entre os dois primeiros caracteres, sendo este resultado usado para efectuar o XOR com o caracter seguinte, e assim sucessivamente at ao fim da rea de dados. Quando a frame de comando recebida, o FCS calculado de forma anloga e comparado com o cdigo recebido. Caso o cdigo recebido seja diferente do cdigo FCS calculado, significa que algum bit alterou o seu valor, ou seja, ocorreu um erro na transmisso da frame. Para calcular o FCS, utilizada a seguinte subrotina:
{ Private Sub Calc_fcs(msg As String) fcs = 0 For i = 1 To Len(msg) fcs = fcs Xor Asc(Mid$(msg, i, 1)) Next i fcs = Hex$(fcs) End Sub } De seguida apresenta-se a subrotina que configura o protocolo de comunicao com o PLC.

Automao Industrial

81

{ Private Sub Form_Load() ' 9600 baud rate, no parity, 7 data, and 2 stop bit MSComm1.Settings = "9600,e,7,2" MSComm1.CommPort = 2 MSComm1.PortOpen = True End Sub } A rotina que se apresenta de seguida, l os dados do autmato continuamente e verifica se ocorreu algum erro de comunicao. Os dados lidos, referentes ao estado do semforo so apresentados na janela da aplicao desenvolvida. { Private Sub monitorizar_Click() Do msg = "@00RR00100001" MSComm1_OnComm If (Mid$(mensg_recebida, 6, 2) = "00") Then texto.Text = "Exito" Else status.Text = "Erro" End If aux = Mid$(mensg_recebida, 10, 2) If (aux = 01) Then vermelho.visible = True amarelo.visible = False verde.visible = False End If If (aux = 04) Then vermelho.visible = False amarelo.visible = True verde.visible = False End If If (aux = 02) Then vermelho.visible = False amarelo.visible = False verde.visible = True End If Loop While (True) End Sub } A subrotina MSComm1_OnComm() realiza a sequncia de operaes necessrias ao envia de todos os comandos para o autmato, ou seja, efectua a comunicao propriamente dita. { Private Sub MSComm1_OnComm() Dim fim As String fim = "*" & Chr$(13) mensag_recebida = "" Resultado.Text = msg Calc_fcs (msg) MSComm1.Output = msg & fcs & "*" & Chr$(13) ' Espera que chegue informao porta srie. Do Dummy = DoEvents() Loop Until MSComm1.InBufferCount >= 11 Automao Industrial 82

' L o comando de resposta Do mensag_recebida = mensag_recebida + MSComm1.Input Loop Until Right(mensag_recebida, 2) = fim Resultado.Text = mensag_recebida End Sub } Em paralelo com a funcionalidade de monitorizao pretende-se tambm ter na aplicao a funcionalidade de controlo remoto sobre o processo, pelo que vamos efectuar o arranque e a paragem atravs do PC. { Private Sub arranque_Click() 'Activar variavel Arranque msg = "@00WR00000001 MSComm1_OnComm End Sub } { Private Sub paragem_Click() 'Activar variavel Paragem msg = "@00WR00000002 MSComm1_OnComm End Sub }

Figura 5.4 - Janela final da Aplicao de Monitorizao e Controlo

Automao Industrial

83

6 REFERNCIAS BIBLIOGRFICAS
[Asfahl, 92] [Fu, 87] [Almeida, 93] C. Ray Asfahl, Robots and Manufacturing Automation, Wiley, 1992 K. Fu, R.C. Gonzalez, C.S.G. Lee, Robotics: Control, Sensing, Vision and Intelligence, McGraw-Hill, 1987 Adriano Almeida, Anbal Oliveira e Eurico Magos, Autmatos Programveis, Tecnologias e Esquemas de Electricidade, Edies ASA, 1993 K. Clements-Jewery, W. Jeffcoat, The PLC Workbook, Prentice Hall, 1996 CPM1 Programmable Controller - Programming Manual, Omron, 1996 Maria de Ftima Chouzal, Controlo Digital de Motores Passo a Passo, Dissertao de Mestrado, FEUP, 1991 Peter Hauptmann, Sensors, Principles & Applications, Prentice Hall, 1993 Jos Novais, Programao de Autmatos, Mtodo Grafcet, Fundao Calouste Gulbenkian, 2 Edio, 1994 Gustaf Olsson, G. Piani, Computer Systems for Automation and Control, Prentice Hall, 1992 Colin D. Simpson, Programmable Logic Controllers, Regents/Prentice Hall, 1994 Jon Stenerson, Fundamentals of Programmable Logic Controllers, Sensors, & Communications, Regents/Prentice Hall, 1993 Technical information on stepping motors Ian G. Warnock, Programmable Controllers, Operation and Application, Prentice Hall, 1988

[Clements, 96] [CPM1, 96] [Chouzal, 91] [Hauptmann, 93] [Novais, 94] [Olsson, 92] [Simpson, 94] [Stenerson, 93] [Vexta] [Warnock, 88]

Automao Industrial

84

ANEXO - REPRESENTAO DA INFORMAO


A representao da informao consiste sempre numa materializao fsica capaz de temporria ou permanente registar a informao pretendida.

Representao Externa

Codificao

Representao Binria

Processamento Armazenamento

Representao Externa

Descodificao

Representao Binria

Figura 2.1 - Representao da Informao


Enquanto o homem se pode aperceber da informao atravs de imagens, letras, gestos, sinais luminosos, o computador processa e armazena a informao apenas em dois estados. Os valores convencionais para os dois estados so: 1 - ON - TRUE deixa passar a corrente 0 - OFF - FALSE no deixa passar a corrente informao contida numa varivel fsica de dois estados d-se o nome de BIT, abreviatura de BInary digiT, e que para o computador a unidade elementar de informao. Ao agrupamento de oito bits d-se o nome de BYTE. Cada Byte tem possibilidade de n armazenar 256 informaes diferentes (2 ).

SISTEMAS DE NUMERAO
A representao de informao pode ser vista como um agrupamento de dgitos (no caso do sistema binrio designam-se por bits), a que se d o nome de palavra (no caso do sistema binrio d-se o nome de Byte).
Posio 1 ... Posio 0

Figura 2.2 - Palavra de Informao


O sistema posicional um sistema de numerao em que cada dgito tem associados dois valores: o seu valor intrnseco, ou seja, o valor do digito;

Automao Industrial

85

o valor da posio que ocupa no conjunto (peso), que representa o significado do digito na palavra ou grupo de dgitos. Para o clculo deste peso consideram-se os seguintes parmetros: Base - nmero mximo de smbolos que podem ser utilizados para codificar a informao. Um sistema de base n admite n smbolos diferentes: 0, 1, 2, ..., n -1. Por exemplo, o sistema decimal admite 10 dgitos diferentes (de 0 a 9). Peso - representao da posio relativa do smbolo no conjunto das posies, variando a partir da primeira posio da direita (a menos significativa) aumentando de 1 unidade por cada posio sucessivamente mais esquerda. Exemplo: Para o nmero 324567 na base n, o peso do smbolo 4 3 ser n .

Sistema Decimal
A codificao de nmeros no sistema decimal utiliza combinaes de 10 dgitos, compreendidos entre 0 e 9. Uma vez que utiliza 10 dgitos, o peso de cada dgito dentro da palavra dado em funo de potncias de 10 (10i). A decomposio de um nmero decimal possvel, multiplicando o valor intrnseco de cada posio pelo seu peso e somando os produtos obtidos.

. 3 3 * 10 0 2 * 10 1 1 * 10 2 5 * 10
-1

0,3 2 10 500 512,3 Peso

Valor Intrinseco

Figura 2.3 - Decomposio no Sistema Decimal Sistema Binrio


O sistema binrio utiliza apenas dois dgitos para codificar a informao: 0 e 1. Isto significa que apenas dois nveis de tenso so requeridos para representar os diferentes dgitos do sistema binrio, em que normalmente os 5V representam o digito 0 e os 0V o digito binrio 0. Este sistema o que corresponde ao cdigo interno do computador, vulgarmente designado por linguagem mquina. A representao de qualquer nmero no sistema binrio processa-se por uma sequncia de 0 e 1, em que o peso de cada dgito dado em funo de potncias de 2 (2i), uma vez que o sistema binrio admite dois dgitos.

Automao Industrial

86

1 1*2 1 1*2 2 0*2 3 1*2


0

1 2 0 8 Peso 11

Valor Intriseco

Figura 2.4 - Decomposio no Sistema Binrio Sistema Hexadecimal


O sistema hexadecimal admite 16 dgitos, dos quais dez so algarismos de 0 a 9, e os restantes seis so letras de A a F. Os dgitos de A a F correspondem aos nmeros decimais de 10 a 15, respectivamente. Numa palavra do sistema hexadecimal, o peso de cada dgito funo de potncias de 16. Este sistema de numerao bastante utilizado, pois a sua utilizao na codificao de dgitos binrios (agrupados em grupos de 4) torna simples a interpretao e leitura da informao.

0 0 * 16 1 15 * 16 2 10 * 16 3 1 * 16
0

0 240 2560 4096 Peso 6896

Valor Intrinseco

Figura 2.5 - Decomposio no Sistema Hexadecimal


Na tabela que se segue est ilustrada a codificao de informao utilizando os sistemas de numerao decimal, hexadecimal e binria.

Decimal 0 1 2 3 8 9 10 11 14 15

Hexadecimal 0 1 2 3 . . . 8 9 A B . . . E F

Binria 0000 0001 0010 0011 1000 1001 1010 1011 1110 1111

Automao Industrial

87

CONVERSO ENTRE BASES


Devido existncia e utilizao de mais do que um sistema de numerao, necessrio a existncia de regras ou mtodos que tornem possvel a converso de nmeros duma base para outra qualquer base.

Converso de Decimal para Outra Base Parte Inteira


Para se efectuar a passagem do sistema decimal para um sistema diferente, utiliza-se o mtodo das divises sucessivas. Este mtodo consiste em dividir, sucessivamente, o nmero decimal pela base de converso (2 no sistema binrio e 16 no sistema hexadecimal) aproveitando-se os restos e o ltimo quociente.

13

2 6

2 3

Figura 2.6 - Converso da parte inteira dum numero decimal para binrio
O nmero 13 no sistema decimal, pode ser convertido para o sistema binrio, de acordo com a figura 2.6, e ser escrito da seguinte forma: 13 (10) = 1101 (2)

Parte Fraccionria
Para representar a parte fraccionria de um nmero decimal, numa qualquer base deve-se multiplicar a base pela parte fraccionria e guardar a parte inteira do resultado. Tal processo deve ser repetido at que a parte fraccionria seja nula. Por exemplo, se tivermos o nmero 0,5875 em decimal e quisermos converte-lo para o sistema binrio, o processo seria o que mostra a figura 2.7. O resultado final ser 0,1011 (2)

2 * 0,6875 = 1,375 2 * 0,375 = 0,750 2 * 0,750 = 1,500 2 * 0,500 = 1,000


Figura A.7 - Converso da parte fraccionria de um numero decimal para binrio
L-se neste sentido

Automao Industrial

88

Converso de Outra Base para Decimal


Se quisermos passar de qualquer base para a decimal, bastar utilizar o mtodo das multiplicaes sucessivas, ou seja, multiplicar o valor intrnseco de cada posio pelo seu peso e somar todos os produtos obtidos. Dado um qualquer nmero, numa qualquer base, an an-1 an-2 ... a1 a0 . a-1 a-2 ... possvel determinar o valor decimal desse numero, aplicando a seguinte expresso, n n-1 n-2 1 0 -1 -2 an * b + an-1 * b + an-2 * b +... + a1 * b + a0 * b + a-1 * b + a-2 * b +... sendo b a base a que o nmero pertence.

Exerccios
1. 1101 (2) = ??? (10) Neste caso b = 2 porque o nmero est no sistema binrio. Ento, 1101(2) = 1 * 23 + 1 * 22 + 0 * 21 +1 * 20 = 8 + 4 + 0 + 1 = 13 (10) 2. 1FF (16) = ??? (10) Neste caso, como se trata do sistema hexadecimal, b = 16. Ento, 1FF (16) = 1 * 162 + 15 * 161 + 15 * 160 = 256 + 240 + 15 = 511 (10)

SISTEMAS DE CODIFICAO AVANADOS


Os sistemas de codificao descritos atrs so os mais vulgares na codificao de informao. No entanto, existem outros sistemas de codificao mais especficos, que no utilizam o sistema posicional, mas tambm de elevada importncia na codificao da informao.

BCD (Binary Coded Decimal)


O BCD uma codificao que apresenta uma pequena modificao ao sistema decimal onde os dgitos decimais so codificados independentemente como nmeros binrios de 4 bits. Por exemplo, os dgitos 3 e 9 so codificados em BCD por: 3 0011 9 1001 Por sua vez, o numero 39 codificado em BCD por: 39 0011 1001

Automao Industrial

89

Na tabela que se segue esto ilustrados os cdigos BCD de alguns nmeros decimais. Decimal 0 1 2 3 4 5 6 7 8 9 10 11 ... BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 0001 0000 0001 0001 ...

Cdigo GRAY
O cdigo Gray um tipo de codificao binria em que no so utilizadas as posies pesadas. O cdigo tem a particularidade de a transio de um numero para o prximo requerer a mudana de apenas um digito.

Decimal 0 1 2 3 4 5 6 7 8 9

Cdigo Gray 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101

A grande desvantagem da codificao Gray a confuso para a contagem normal. No entanto, existem algumas regras para a construo do cdigo Gray. Por exemplo, verifica-se na tabela anterior, que para posio do nmero existe uma sequncia alternada e peridica de 1s e 0s. Assim, para a posio i, existe uma sequncia de 2 (i+1) 1s seguidos de 2 (i+1) 0s, de forma alternada; a sequncia inicia-se por 2i zeros. A sua aplicao tpica em sistemas de codificao de posio (encoders).

Cdigo ASCII
O cdigo ASCII (American Standard Code for Information Interchange) um cdigo alfanumrico que inclui smbolos, letras e nmeros. Cada um dos cdigos constitudo por 7 bits. 90

Automao Industrial

LGEBRA DE BOOLE
A manipulao de informao codificada no sistema binrio, atravs de algumas regras e teoremas conhecida pela lgebra de Boole. O sistema binrio apresenta apenas dois dgitos 0 e 1, que correspondem a dois estados lgicos, que so o Falso (0) e o Verdadeiro (1).

Operadores
De forma a ser possvel a manipulao destes valores necessrio a existncia de operadores. Os operadores lgicos mais vulgares so: AND (.) - que corresponde ao E lgico de dois valores, ou seja, o resultado Verdadeiro quando a condio X e a condio Y forem Verdadeiras. X 1 1 0 0 Y 1 0 1 0 X AND Y 1 0 0 0

OR (+) - que corresponde ao OU lgico de dois valores, ou seja, o resultado Verdadeiro quando a condio X ou a condio Y forem Verdadeiras. X 1 1 0 0 Y 1 0 1 0 X OR Y 1 1 1 0

NOT (-) - que corresponde negao do valor inicial, ou seja, o resultado Verdadeiro se a condio de entrada for Falsa. X 1 0 NOT X 0 1

XOR - que corresponde ao OU exclusivo dos dois valores de entrada, ou seja, o resultado Verdadeiro se a condio X ou a condio Y forem Verdadeiras, mas no simultaneamente. X 1 1 0 0 Y 1 0 1 0 X XOR Y 0 1 1 0

Automao Industrial

91

Teoremas
A partir da definio de cada um dos operadores, possvel estabelecer alguns teoremas para a manipulao dos operandos lgicos. Assim, podemos escrever: Comutatividade X+Y = Y+X X.Y = Y.X Distributividade X.(Y+Z) = X.Y+X.Z Associatividade X+(Y+Z) = (X+Y)+Z = X+Y+Z X (Y.Z) = (X.Y).Z = X.Y.Z A partir dos teoremas referidos e das caractersticas de cada operador, possvel retirar algumas regras importantes na manipulao de expresses lgicas: X OR 0 = X, X OR 1 = 1, X OR /X = 1, X AND 0 = 0, o OU de uma varivel com Falso ser o valor da varivel. o OU de uma varivel com Verdadeiro sempre Verdadeiro. o OU de uma varivel com a sua negada sempre Verdadeiro. o AND de uma varivel com Falso sempre Falso.

X AND 1 = X, o AND de uma varivel com Verdadeiro ser o valor da varivel. X AND X = X, o AND de uma varivel com ela prpria ser o valor dessa varivel. Y.X + /X.Y = Y X + XY = X

Exerccio
Simplifique a seguinte expresso utilizando os teoremas da lgica. (X1+X3)(X1+/X3)(/X2+X3)

Leis de Morgan
As leis de Morgan so de importncia fundamental na lgica binria, e resumem-se a duas leis: 1. /(X + Y) = /X . /Y Que significa que a negao do OU lgico das variveis X e Y equivalente ao E lgico das variveis X e Y negadas.

Automao Industrial

92

2. /(X.Y) = /X + /Y Que significa que a negao do E lgico das variveis X e Y equivalente ao OU lgico das variveis X e Y negadas. As leis de Morgan so vulgarmente utilizadas na simplificao de expresses lgicas.

Exerccios
1. 2. /(/A + /B) (A + /B).(/A + B)

Automao Industrial

93

Оценить