Você está na página 1de 98

INSTITUTO POLITCNICO DE BRAGANA

ESCOLA SUPERIOR DE TECNOLOGIA E GESTO

Notas de Apoio Disciplina de Automao e Robtica


Engenharia Informtica

Paulo Jorge Pinto Leito

Bragana, Setembro de 2004

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 e Robtica

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

INTRODUO ROBTICA INDUSTRIAL


4.1 Introduo

72
72 73 74 74 75 76 77

4.2 Estrutura e Configurao de Robs 4.2.1 Robs Cartesianos ou Rectangulares 4.2.2 Robs Cilndricos ou Esfricos 4.2.3 Robs Articulados 4.2.4 Movimento do Rob 4.2.5 Accionamento dos Robs

Automao e Robtica

4.2.6

Tipos de Controlo de Movimento

78 78 79 79 80 80 81 81 81 82 82 83 83 84 84 84 85 85 85 86 87 87

4.3 Sensores e Actuadores para Robs 4.3.1 Sensores de Tacto 4.3.2 Sensores de proximidade 4.3.3 Sistemas de viso artificial 4.3.4 Garras Mecnicas 4.3.5 Garras Magnticas 4.3.6 Garras de Suco 4.3.7 Garras com outros princpios de funcionamento 4.3.8 Ferramentas para robs 4.4 Segurana na Robtica 4.4.1 Medidas de Proteco passivas 4.4.2 Medidas de Proteco Activas 4.5 Operao e Programao de Robs Industriais 4.5.1 Mtodos de Programao de Robs 4.5.2 Programao on-line 4.5.3 Programao off-line 4.6 Aplicaes Industriais 4.6.1 Manuseamento de materiais 4.6.2 Pintura 4.6.3 Soldadura 4.6.4 Operaes de Montagem

REFERNCIAS BIBLIOGRFICAS

89 90
90 91 91 92 93 93 94 94 94 95 95 96 96 97 97

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 e Robtica

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 microcontroladores, 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 ao 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 e Robtica 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 e Robtica

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 e Robtica 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

Entradas

Mundo Exterior

Sadas

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 e Robtica 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 multiprocessamento, 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 e Robtica

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 para armazenar temporariamente a informao que circula no PLC e os dados que reflectem o mundo exterior e a execuo do programa.

Automao e Robtica

10

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. 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,

Automao e Robtica

11

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. 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.
Automao e Robtica 12

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 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
Automao e Robtica 13

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 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:
Automao e Robtica 14

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

Controlo de mquinas CNC

Automao e Robtica

15

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

Controlo e monitorizao de processos industriais, etc.

Automao e Robtica

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 utilizar-se 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 Primeiro, importante separarmos a fase de resoluo do problema da tarefa da fase da implementao. Na fase de resoluo do problema, necessrio a elaborao
Automao e Robtica 17

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 desa da escada

Automao e Robtica

18

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 e Robtica

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 e Robtica

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.

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

AR 00 a AR 15

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.

Automao e Robtica

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 DM00 a DM 099 DM 1022 a DM 1023 DM 1000 a DM 1021 DM 6144 a DM 6599 DM 6600 a DM 6655

Utilizado para ligaes 1:1 a outro PLC. Os mesmos endereos so utilizados para os temporizadores e contadores. Podem ser usados livremente no programa. Utilizados para guardar o tempo e o cdigo de erro da ocorrncia. No podem ser escritos a partir do programa. Utilizados para guardar os vrios parmetros que controlam a comunicao com o PC.

(Mdulo Apenas leitura de Dados) Setup 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 e Robtica 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. Pretende-se 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 e Robtica

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 e Robtica

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 e Robtica

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 e Robtica

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 executa o OR dos dois blocos 0.0

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 0.0 0.1 0.2 0.3
27

Automao e Robtica

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 e Robtica

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 e Robtica

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

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. 1.1 DIFD 10.

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 e Robtica

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 (1 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 O

caudal

S R

motor ON

Automao e Robtica

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 (1 Motor ON

Automao e Robtica

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 e Robtica

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 e Robtica

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_u 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 IR 10.02
Automao e Robtica

porta_aberta porta_fechada abre_porta


35

IR 10.03

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_po 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 e Robtica

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 e Robtica

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 e Robtica

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 e Robtica

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 R 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 e Robtica

40

A 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 e Robtica

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 001

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 000

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 e Robtica

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 e Robtica

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 e Robtica

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 e Robtica

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 e Robtica

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 3 LIGA_BROCA; SOBE_BROCA BROCA_UP

t2

Transio

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 e Robtica

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 e Robtica

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 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 e Robtica

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 e Robtica 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, a 0, b 1 e b 0.

Automao e Robtica

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 e Robtica 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 e Robtica

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 e Robtica

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 e Robtica

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 e Robtica

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 e Robtica

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 e Robtica

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 e Robtica

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 e Robtica

60

2 partida 1 3 Avanar espera 1 4 1

9 partida 2 10 Avanar espera 2 11 1 5 Avanar posto B 6 t/X6/2 min 7 Recuar espera 1 14 13 t/X13/2 min Recuar espera 2 15 Recuar posto A2 12 /espera 1 Avanar posto B

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 e Robtica 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 Recuar espera 2 26 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
10 a

Interpretado

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 e Robtica

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
Automao e Robtica 63

seguinte: 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 /pf 6 15 RE esquerda 1 7 a2 Direita C2 16 Esquerda C2 Esquerda C1 13 12 SP; FP superior RD; FP direita 14 /FP FP Direita C1 10 DP

NOTA: A etapa 3 simboliza a descarga do carro C1 e a etapa 6 a descarga do carro C 2. 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 e Robtica

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 e Robtica

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 e Robtica

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 e Robtica

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 16 t14 17

A6 pronto Enche boies boio cheio

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 e Robtica

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 e Robtica

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 t17 t 8 /boa 9

A4 pronto Mistura mistura pronta.boa 12 19

t9

boies prontos

13

t10 14 t12 15

A5 pronto

t1 16

A6 pronto

boio cheio

t14 17

boio cheio

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 e Robtica

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 20 mistura rejeitada t17 t8 /boa 9

A4 pronto Mistura mistura pronta

Automao e Robtica

71

4 INTRODUO ROBTICA INDUSTRIAL


A robtica e a sua implementao na automatizao de processos surgem com a ideia de

aumentar os ndices de produtividade e competitividade por parte de uma empresa. Neste captulo pretende-se fazer uma breve introduo robtica, classificando os vrios tipos de robs e analisando algumas reas bastante importantes associadas a esta problemtica. 4.1 INTRODUO A definio de rob no convergente, existindo vrias opinies e definies. Assim, o Instituto Americano de Robtica diz que: Um rob um manipulador reprogramvel, multi-funcional, projectado para mover materiais, peas, ferramentas ou dispositivos especiais em movimentos variveis programados para a realizao de uma variedade de tarefas. Mikell Grover, tem a seguinte definio de rob: Um rob industrial uma mquina multi-aplicao e programvel possuindo certas caractersticas antropomrficas. No dicionrio Webster, encontra-se a seguinte definio: Um rob um dispositivo automtico que efectua a funo normalmente atribuda a homens ou a mquinas na forma de um homem. A utilizao de robs na automatizao dos sistemas ou processos de fabrico apresenta vantagens e desvantagens. As vantagens podem ser agrupadas nos seguintes tpicos: Factores tcnicos Colmatam as capacidades humanas, insuficientes em termos de preciso, robustez, rapidez, uniformidade e no suportar de ambientes hostis; Garantem flexibilidade na gama de produtos manufacturados; Melhoram ndices de qualidade e de peas rejeitadas. Factores econmicos Utilizao eficiente de unidades de produo intensiva; Aumento de produtividade devido inexistncia absentismos, etc; Reduo do tempo de inventrio durante a produo; Reduo do tempo de preparao de fabrico. de interrupes,

Automao e Robtica

72

Factores sociolgicos Reduo do nmero de acidentes; Afastamento do ser humano de locais perigosos para a sade; Reduo de horrios de trabalho; Aumento do poder de compra.

A implementao de sistemas robotizados, apresenta, no entanto, algumas desvantagens da das quais se destacam: Custo da soluo; Aspectos sociais, como por exemplo o aumento do desemprego. Associado crescente implementao de sistema robotizados, aparecem novas reas de negcios, tais como a informtica, engenharia de sistemas, electrnica, mecnica, etc., que permitem absorver os possveis desempregados vtimas da introduo da robtica, com a vantagem de melhorem a qualidade no seu trabalho. 4.2 ESTRUTURA E CONFIGURAO DE ROBS Uma unidade bsica de um rob o seu brao manipulador. Este constitudo por uma base, um corpo, um brao e um punho. O punho, localizado na extremidade do brao, formado por mltiplos componentes que lhe permite orientar-se numa multiplicidade de posies. O movimento relativo dos diferentes componentes do brao manipulador proporcionado por juntas ou articulaes. O movimento de cada um dos componentes do brao manipulado, designados por eixos, realizado atravs de um sistema de accionamento, por exemplo um motor elctrico, devidamente comandado atravs de um sistema de controlo.

Figura 8.1 - Estrutura de um Rob

Automao e Robtica

73

4.2.1 Robs Cartesianos ou Rectangulares Este tipo de robs caracterizado por o brao manipulador se mover de uma forma rectilnea nas direces X, Y e Z. As trs juntas so lineares e os trs movimentos podem designar-se por deslocamento, alcance e elevao.

Figura 8.2 - Rob Cartesiano ou Rectangular O volume de trabalho de um manipulador deste gnero um poliedro. Na figura que se segue, apresentado um rob do tipo prtico, muito utilizado na construo naval.

Figura 8.3 - Rob de Prtico ou Gantry 4.2.2 Robs Cilndricos ou Esfricos A configurao cilndrica utiliza uma coluna vertical e um suporte que pode ser movido verticalmente. O brao do rob est ligado ao suporte para que possa ser movido radialmente face coluna. Os pontos do espao de trabalho podem ser especificados em coordenadas cilndricas (r, e z). Os trs movimentos podem designar-se por alcance, rotao e elevao.

Automao e Robtica

74

Figura 8.4 - Rob Cilndrico Quando o brao pode mudar a sua configurao atravs de duas juntas rotativas e uma ligao deslizante, a sua posio pode ser descrita em termos de coordenadas esfricas (r, e ). 4.2.3 Robs Articulados Os robs articulados so caracterizados por ter as ligaes conectadas por juntas rotacionais.

Figura 8.5 - Rob Antropomrfico Uma verso especial dos robs articulados o SCARA (Selective Compliance Assembly Robot Arm), cujas juntas do ombro e do cotovelo rodam em juntas verticais. A sua utilizao tem vindo a crescer, principalmente em tarefas de manuseamento ou montagem.

Automao e Robtica

75

Figura 8.6 - Rob do tipo SCARA 4.2.4 Movimento do Rob As juntas ou articulaes podem ser classificadas da seguinte forma: Junta Linear (tipo L): movimento linear. Junta Rotacional (tipo R): movimento de rotao com eixo perpendicular aos eixos das duas ligaes. Junta de Toro (tipo T): movimento de rotao com eixo paralelo aos eixos das duas ligaes. Junta Revolvente (tipo V): movimento de rotao com eixo paralelo ligao de entrada (a mais prxima da base) e perpendicular de sada.
Junta L Junta R Junta T Junta V

Figura 8.7 Tipos de Juntas De acordo com o nmero de juntas e do seu tipo, possvel classificar os robs. Os movimentos do punho so projectados para permitir que o rob oriente o rgo terminal, designado por garra ou ferramenta, adequadamente em relao tarefa desejada.

Automao e Robtica

76

Figura 8.8. - Movimentos do Punho Podem considerar-se os seguintes movimentos: Roll (junta T) - rotao do punho em torno do brao (eixo zz). Pitch (junta R) - rotao do punho para cima e para baixo (eixo yy). Yaw (junta R) - rotao do punho para a esquerda e para a direita (eixo xx). 4.2.5 Accionamento dos Robs Uma caracterstica importante de um rob o seu sistema de accionamento. Este sistema pode ser hidrulico, pneumticos e elctricos, e a sua escolha define a performance do rob e a sua aplicabilidade numa aplicao particular. Accionamento Elctrico Os robs elctricos so utilizados em trabalhos de preciso, uma vez que podem ser controlados eficazmente e orientados a seguir trajectrias. Os robs elctricos podem ser divididos em dois grupos, consoante o tipo de accionadores elctricos: motores passo a passo e servomotores CC. Os primeiros podem ser controlados em malha fechada ou aberta enquanto que os segundos apenas podem ser controlados em malha aberta. Apesar desta caracterstica, os servomotores so os mais utilizados, uma vez que aproveitam a sua caracterstica continua para possibilitar movimentos controlveis de forma contnua e suave. Accionamento Hidrulico Os robs hidrulicos so os robs mais potentes sob o ponto de vista fsico. Este tipo de rob consegue aplicar grandes foras directamente s garras e s juntas. A sua grande desvantagem o seu elevado custo. Uma aplicao tpica deste tipo de robs a pintura, devido necessidade de se usarem robs prova de exploso nas reas de pintura.
Automao e Robtica 77

Accionamento Pneumtico O accionamento pneumtico geralmente utilizado em robs de menor porte que possuam poucos graus de liberdade. Estes tipos de robs so os mais econmicos para as operaes simples de manuseamento (tipo pick and place). 4.2.6 Tipos de Controlo de Movimento Associado ao tipo de accionamento e de igual importncia na especificao de um rob o sistema de controlo de movimento do rob. Sequncia Fixa
Este tipo de controlo o menos sofisticado, mas o mais econmico. O controlo de movimento feito atravs de deslocamento entre dois pontos extremos, com ajuste de velocidade quase inexistente.

Controlo Ponto a Ponto - PTP Neste tipo de controlo, o rob desloca-se para qualquer ponto do seu volume de trabalho, sendo a trajectria e velocidade no controladas ao longo desse movimento. Trajectria Contnua - CP Neste tipo de controlo de movimento, a trajectria total ou parcialmente contnua. Isto permite o controlo do movimento e velocidade de cada eixo em simultneo, sendo esta caracterstica essencial para aplicaes de pintura, soldadura, etc. Controlo Inteligente Este tipo de controlo de movimento permite ao rob ajustar as trajectrias por interaco com o meio ambiente. Estas tomadas de decises lgicas baseiam-se na informao recebida por sensores. 4.3 SENSORES E ACTUADORES PARA ROBS Os sensores permitem sentir o que se est a passar no mundo exterior, tendo em vista a que os robs se possam adaptar a essas mudanas, de forma a atingirem os seus objectivos de uma forma mais fivel. As razes para a sua utilizao prendem-se com: Monitorizao e segurana; Inspeco de peas para controlo de qualidade; Interligao no controlo de clulas; Determinao de posies e orientaes de peas.

Automao e Robtica

78

Os actuadores permitem actuar sobre o mundo exterior de forma a conseguirem alcanar os seus objectivos de uma forma o mais eficaz possvel. Existem dois tipos de actuadores: Garras e ferramentas. 4.3.1 Sensores de Tacto Os sensores de tacto so construdos com o objectivo de determinarem o contacto entre dois objectos, sendo um deles a garra ou a ferramenta do rob, e o outro a pea sobre a qual o rob vai efectuar uma dada operao. Podem ser divididos em dois sub grupos: sensores de toque e de fora. Sensores de Toque Este tipo de sensores utilizado para indicar que houve contacto entre dois objectos sem tomar em considerao a amplitude da fora desse contacto. Exemplos deste tipo de sensores so os interruptores de fim de curso, os micro-interruptores, etc. As aplicaes tpicas destes sensores so quando se pretende saber se o rob tocou em algum objecto. Sensores de Fora Indicam se existe contacto entre dois objectos e tambm a amplitude do valor dessa fora. A implementao de um sensor deste tipo passa pela utilizao de uma clula de carga entre o punho do rob e a garra ou ferramenta. A sua utilizao visa aplicaes de manipulao de peas frgeis e de montagem (auxiliam a insero de peas e no aparafusamento de forma correcta). 4.3.2 Sensores de proximidade Os sensores pticos permitem a deteco de objectos na proximidade de outros, podendo ainda fornecer uma medida dessa distncia relativa entre os objectos. Os tipos de sensores de proximidade mais vulgares so: Sensores de proximidade pticos; Sensores de proximidade Acsticos; Sensores de proximidade Indutivos. As aplicaes potenciais deste tipo de sensores so: Detectar a existncia ou ausncia de objectos nas proximidades dos robs; Detectar a distncia a que um objecto se encontra do punho do rob para que este possa corrigir a sua trajectria.

Automao e Robtica

79

4.3.3 Sistemas de viso artificial Tratamento digital da imagem fornecida por uma cmara de vdeo, permitindo a identificao de objectos e determinao da sua localizao e geometria. Um sistema de viso artificial tpico constitudo por: Uma cmara (matriz de CCDs). Hardware para digitalizao dos valores das intensidades obtidos na matriz (um computador ou hardware dedicado ao tratamento de imagem). Hardware e software necessrios para efectuar o interface entre estes dois equipamentos e entre o sistema e o utilizador. A gama de aplicao dos sistemas de viso artificial engloba as aplicaes de inspeco industrial e de montagem, e em robtica mvel, sendo a viso artificial utilizada para a navegao dos robs. A implementao de viso artificial em robtica apresenta alguns problemas, dos quais se destacam: Integrao com os robs, para aplicaes mais complexas. Iluminao, por exemplo as reflexes no desejadas. 4.3.4 Garras Mecnicas As garras so actuadores finais que so geralmente utilizadas para pegar e segurar em objectos. Uma garra mecnica um actuador final que utiliza dedos mecnicos actuados por um mecanismo para realizar o movimento de abertura e fecho dos dedos. Os dedos, tambm designados por pinas, so os apndices das garras que efectuam o contacto com os objectos a agarrar. O mecanismo das garras deve ser capaz de: Abrir e fechar os dedos da garra. Exercer uma fora suficiente, quando fechado, para segurar as peas que foram agarradas. A energia para actuao dos dedos pode ser: Pneumtica. Elctrica, de fcil controlo do valor da fora que exercem sobre as peas. Mecnica. Hidrulica, para aplicaes que requerem a utilizao de foras de valor elevado.

Automao e Robtica

80

4.3.5 Garras Magnticas As garras magnticas so geralmente utilizadas no manuseamento de materiais ferrosos, especialmente quando os materiais a manipular esto sob a forma de chapas ou placas metlicas. Existem os seguintes tipos de garras magnticas: Electromans - necessitam de uma fonte de energia externa, mas so mais fceis de controlar e eliminam o magnetismo residual. mans permanentes - no necessitam de fonte de energia externa, mas apresentam uma menor facilidade de controlo. As garras magnticas apresentam as seguintes vantagens: Os tempos para pegar nas peas so muito rpidos. Adaptao a variaes nos tamanhos das peas a pegar. No entanto apresentam as seguintes desvantagens: Magnetismo residual. Deslizamento lateral das peas durante o transporte. Impossibilidade de apanhar apenas uma chapa de uma pilha. 4.3.6 Garras de Suco As garras de suco so utilizadas para manusear objectos planos, lisos e limpos (condies necessrias para que se forme um vcuo satisfatrio), sendo um tipo de garras relativamente leves. Exige apenas uma superfcie disponvel da pea para esta poder ser manipulada, aplicando uma distribuio uniforme da presso na superfcie da pea. As ventosas so utilizadas neste tipo de garras e baseiam-se na existncia do vcuo. Na criao do vcuo utiliza-se frequentemente os mtodos do principio de Venturi e/ou uma bomba de vcuo. Este tipo de garras aplicvel a uma grande variedade de materiais, como por exemplo no manuseamento de placas de vidro. 4.3.7 Garras com outros princpios de funcionamento Existem outros tipos de garras cujo principio de funcionamento difere dos apresentados nos pontos anteriores. Entre outros, destacam-se os seguintes tipos: Garras adesivas Indicadas para o manuseamento de txteis e outros materiais leves. Garras de agulhas Indicadas para manusear materiais macios e que possam ser perfurados, ou pelo menos picados, como por exemplo txteis, plsticos, borrachas, etc.

Automao e Robtica

81

Garras insuflveis ou de diafragma Indicadas para aplicaes que envolvam a manipulao de objectos frgeis. Garras com dedos articulados Indicados para o manuseamento de objectos frgeis. Garras para a insero de O-Rings Especficas para uma operao concreta e que se destinam insero de ORings noutras peas. Garra universal ou mo de Standford/JPL Desenvolvimento de uma garra que permita pegar e manusear uma grande variedade de objectos com diferentes geometrias, se possvel apresentando caractersticas semelhantes da mo humana. 4.3.8 Ferramentas para robs As ferramentas so actuadores finais cuja finalidade realizar trabalho sobre uma pea em vez de pegar nelas. Dos vrios tipos de ferramentas destacam-se os seguintes: Pinas de soldadura por pontos As pinas de soldadura por pontos so constitudas por dois elctrodos, que ao fechar provocam a passagem de corrente elctrica num ponto da chapa a soldar, criando a fuso dos materiais. Tochas de soldadura por arco elctrico Esta a aplicao em que os robs so mais utilizados. A alimentao de energia elctrica gs e fio efectuada ao longo do brao do rob. Pistolas de pintura As pistolas de pintura tem por funo vaporizar a tinta, podendo ser do tipo elctrico ou pneumtico. Ferramentas rotativas (maquinao, polimento e aparafusamento) As ferramentas rotativas necessitam de movimento para efectuar a sua funo, estando a ferramenta fixa na extremidade do rob. Uma aplicao tpica o aparafusamento de parafusos. 4.4 SEGURANA NA ROBTICA Os robs so mquinas potencialmente perigosas, sendo o nmero de acidentes reduzidos, ocorrendo durante a sua programao ou manuteno. Existem normas internacionais que regulamentam as precaues a ter com o funcionamento de robs. Entre elas destacam-se as seguintes: Norma ISO 10210.

Automao e Robtica

82

Norma ANSI/IRIA R15.06-1986. Norma Alem DIN EN 775. possvel enumerar um conjunto de vulgares causas dos erros: Falha no sistema de controlo, erros de software, interferncias elctricas. Entrada no autorizada de pessoas na rea de trabalho. Falhas elctricas, pneumticas ou hidrulicas. Falhas mecnicas: fadiga, sobrecargas, corroso. Falhas ambientais: poeiras, fumos, radiaes, etc. Incndios: salpicos por exemplo na soldadura. 4.4.1 Medidas de Proteco passivas Existem algumas regras de conduta que devem ser observadas e implementadas de forma a evitar a ocorrncia de situaes que possam levar ocorrncia de acidentes. Entre elas, destacam-se as seguintes: As marcaes e os sinais que indicam as zonas de perigo devem diferir claramente de todas as outras marcaes existentes na fbrica. O sistema do rob s deve ser operado manualmente em condies de programao ou de erro. A estao de trabalho e o ambiente do sistema do rob devem ser mantidos numa condio ordeira e limpos. Evitar roupas largas ou que possam facilmente ficar presas em qualquer parte do rob. 4.4.2 Medidas de Proteco Activas As medidas de proteco activas destinam-se a limitar os efeitos dos acidentes quando as medidas passivas no o conseguiram evitar, e devem ser implementadas durante a fase de projecto e implementao da clula robotizada. De seguida enumeram-se algumas medidas de proteco activas, assentes na ideia que uma clula robotizada deve ser dotada de sistemas de segurana que impeam o acesso rea de trabalho do rob: Circuito de paragem de emergncia. Prefixao das sadas. Vedao das clulas robotizadas. Proteco contra colises.

Automao e Robtica

83

4.5 OPERAO E PROGRAMAO DE ROBS INDUSTRIAIS O objectivo de um sistema de programao a gerao de um programa de controlo do rob, de uma forma simples e amigvel para o utilizador. Os movimentos do rob devem ser capazes de realizar duas tarefas: Alcanar uma posio alvo programada de forma a posicionar a pea ou ferramenta. Mover-se ao longo de uma trajectria programada com velocidades definidas. Isto significa que um programa de rob pode ser interpretado como uma sequncia de localizaes no espao que o rob tem que percorrer com uma determinada orientao, velocidade e acelerao. A programao de robs bastante dispendiosa e consome muito tempo. 4.5.1 Mtodos de Programao de Robs O desenvolvimento dos robs foi acompanhado pelo desenvolvimento de mtodos de programao com potncia e complexidade cada vez maiores. Os mtodos de programao podem ser divididos nas seguintes categorias: Quanto necessidade de utilizar o rob para efectuar a sua programao: Programao on-line. Programao off-line. Quanto ao tipo de programao: Programao explicita. Programao implcita. 4.5.2 Programao on-line Este mtodo envolve directamente o rob, cuja actividade principal da programao on-line a definio de trajectrias. A vantagem da programao on-line a sua simplicidade de realizar as tarefas e a sua aprendizagem. A principal desvantagem deste tipo de programao que o rob necessrio para realizar a programao, o que implica: A paragem da clula em que se encontra o rob, durante a fase de programao com as consequentes perdas de produtividade que da advm. Os eventuais problemas que podem surgir devido a erros de programao, como por exemplo, colises do rob com outros equipamentos da clula em que este se encontra.

Automao e Robtica

84

4.5.3 Programao off-line A programao off-line possibilita a programao do rob sem ser necessrio a sua utilizao durante esta tarefa. Este tipo de programao cada vez mais utilizado, especialmente para aplicaes complexas e para aplicaes que exigem longos tempos de desenvolvimento dos programas. A gerao e descarga do programa do rob compreende a seguinte sequncia de passos, utilizando a programao off-line: Calibrao do modelo do rob e da clula. Gerao do cdigo para o rob: Programas desenvolvidos na linguagem nativa do controlador do rob. Programas desenvolvidos em linguagem neutra. Transferncia do programa para o rob, usando uma linha srie RS232, uma rede Ethernet ou outro tipo de conexo. 4.6 APLICAES INDUSTRIAIS 4.6.1 Manuseamento de materiais A introduo de robtica na realizao destas tarefas apresenta os seguintes benefcios: Factores de segurana acrescida na interface de operadores com mquinas. Repetibilidade da tarefa a realizar. O ambiente de trabalho, por vezes, prejudicial. Evita-se a manipulao de cargas elevadas por parte de operadores humanos. As aplicaes de manuseamento de materiais podem dividir-se em Transferncia de materiais e Carga/descarga de materiais.

Automao e Robtica

85

Figura 8.9 - Transferncia de Materiais

Figura 8.10 - Carga/descarga de materiais 4.6.2 Pintura As caractersticas tpicas destes sistemas so: Controlo contnuo de trajectria. Necessidade de limpeza regular da pistola pulverizadora. Controladores com mltiplos programas. Os sistemas robotizados so utilizados em aplicaes de pintura que apresentem condies adversas (perigo de fogo e de cancro, rudo, etc.), como sejam a indstria automvel, a indstria de electrodomsticos, indstria de porcelanas para WC, etc.

Figura 8.11 - Sistema de Pintura Na figura seguinte, encontra-se representada uma linha de montagem da indstria automvel, onde existem vrios postos de pintura que utilizam, sistemas robotizados.

Automao e Robtica

86

Figura 8.12 - Pintura numa Linha de Fabrico 4.6.3 Soldadura Existem dois tipos de soldadura: por pontos e por arco elctrico. A robotizao da soldadura uma aplicao que representa uma grande fatia das aplicaes industriais da robtica. As industrias elctrica, automvel e do mobilirio metlico, tem sido os principais clientes para estes tipos de sistemas. A robotizao na soldadura vantagens: Racionalizao do processo de soldadura. Incremento da qualidade e segurana.

Figura 8.13 - Sistema de Soldadura por arco elctrico 4.6.4 Operaes de Montagem Uma operao de montagem consiste na operao de juno de dois itens. A montagem automtica utilizando automao fixa normalmente apenas implementada quando se produzem grandes quantidades de produtos (devido ao elevado investimento requerido). No entanto, a maior partes dos produtos que requerem montagem tem volumes de produo mdios ou pequenos, apresentando tempos de vida curtos, pelo que no rentvel a implementao de sistemas

Automao e Robtica

87

automticos customizados para a aplicao. Torna-se necessrio a implementao de sistemas flexveis que incluam robs, para este tipo de aplicaes. Os sistemas de montagem podem ser divididos em dois grandes grupos: clulas de montagem e linhas de montagem. Nas clulas de montagem, o movimento do produto est restrito clula.

Figura 8.14 - Sistema de Soldadura por arco elctrico A linha de montagem caracterizada pelo deslocamento dos produtos ao longo da linha, sendo acrescentados componentes, ao longo da mesma.

Figura 8.15 - Linha de montagem

Automao e Robtica

88

5 REFERNCIAS BIBLIOGRFICAS
[Asfahl, 92] [Fu, 87] 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 M. Groover, M. Weiss, R. Nagel, N. Odrey, Industrial Robotics: Technology, Programming and Applications, McGraw-Hill, 1986 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

[Almeida, 93]

[Clements, 96]

[CPM1, 96] [Chouzal, 91]

[Groover, 86]

[Hauptmann, 93]

[Novais, 94]

[Olsson, 92]

[Simpson, 94]

[Stenerson, 93]

[Vexta] [Warnock, 88]

Automao e Robtica

89

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 armazenar n 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 e Robtica

90

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. 3 Exemplo: Para o nmero 324567 na base n, o peso do smbolo 4 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 e Robtica

91

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 e Robtica

92

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


L-se neste sentido

Figura A.7 - Converso da parte fraccionria de um numero decimal para binrio

Automao e Robtica

93

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 e Robtica

94

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. 95

Automao e Robtica

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 e Robtica

96

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 e Robtica

97

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 e Robtica

98

Você também pode gostar