Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
17
17 17 20 20 21 22 22 22 23 24 24 26 27 29 29 30 30 31 34 36 37 38 38 38 39 40 41
2.3 Instrues Bsicas 2.3.1 LOAD 2.3.2 OUTPUT 2.3.3 AND 2.3.4 OR 2.3.5 END 2.3.6 Instrues Lgicas de Bloco 2.3.7 Combinao de instrues AND LOAD e OR LOAD 2.3.8 Execuo de Vrias sadas 2.3.9 SET e RESET 2.3.10 DIFFERENTIATE UP, DIFFERENTIATE DOWN 2.3.11 Instrues de Bifurcao 2.3.12 KEEP 2.4 Temporizadores 2.4.1 Temporizador ao Impulso 2.4.2 Temporizador aps a operao 2.4.3 Temporizador de alta velocidade 2.5 Contadores 2.5.1 CNT 2.5.2 Contador reversvel CNTR 2.5.3 Exemplo de aplicao 2.6 Instrues de Manipulao de Dados
Automao Industrial
41 42 42 43 43 45
47
47 48 48 48 48 48 49 49 50 50 50 53 53 54 56 56 56 57 57 60 62 65 66 66 66 67
3.2 Especificao Funcional e Tecnolgica 3.2.1 Especificao Funcional 3.2.2 Especificao Tecnolgica 3.3 Conceitos Bsicos do Grafcet 3.3.1 Etapas 3.3.2 Transies 3.4 Princpio de Funcionamento 3.4.1 Inicializao 3.4.2 Validao 3.4.3 Disparo de uma transio 3.5 Representao de Sequncias Simultneas e Alternativas 3.5.1 Sequncias Simultneas - Paralelismo Estrutural (N AND) 3.5.2 Sequncias Alternativas - Paralelismo Interpretado (N OR) 3.6 Conceitos Complementares 3.6.1 Aco Condicional 3.6.2 Temporizao 3.7 Cooperao entre Processos 3.7.1 Sincronizao 3.7.2 Partilha de Recursos 3.7.3 Subtarefas 3.8 Anlise e Validao de Grafcet 3.8.1 Introduo Anlise de Grafcet 3.8.2 Grafcet Autnomo 3.8.3 Grfico das situaes acessveis 3.8.4 Anlise de Grafcet
SENSORES
4.1 SENSORES CAPACITIVOS
72
73 74 74 74 75
4.2 SENSORES INDUTIVOS 4.2.1 Relutncia Varivel 4.2.2 Correntes de Foucault 4.3 SENSORES FINS DE CURSO
Automao Industrial
4.4 SENSORES FOTOELCTRICOS 4.4.1 Barreira 4.4.2 Reflexo 4.4.3 Reflexo no objecto 4.5 SENSORES DE ULTRASONS 4.5.1 Distncia de um Objecto 4.5.2 Deteco de Objectos 4.6 SENSORES ESPECIAIS 4.6.1 Leitores de Cdigos de Barras 4.6.2 Dispositivos de Escrita/Leitura de Etiquetas
75 75 76 76 76 77 77 77 77 78
79
79 80
REFERNCIAS BIBLIOGRFICAS
84 85
85 86 86 87 88 88 89 89 89 90 90 91 91 92 92
Automao Industrial
1 AUTOMAO DE PROCESSOS
Nos ltimos anos, tem-se assistido a uma mudana drstica dos esquemas de produo. Isto deve-se, por um lado crescente competio entre as empresas, por outro, ao enorme desenvolvimento das tecnologias que envolvem micro-controladores, robs, mquinas de controlo numrico, redes de comunicao, inteligncia artificial, etc. Em abstracto, todas as estratgias de produo visam um conjunto de objectivos, que na realidade corresponde a um s mais lato: o aumento da competitividade. No correcto dizer-se que o objectivo o aumento da produtividade, pois de que serve produzir mais se no houver clientes para os produtos? Assim, automatizao industrial poder ser definida pelo conjunto de tecnologias relacionadas com a aplicao de equipamentos (mecnicos, electrnicos, baseados em computador, etc.) em sistemas industriais de produo, e que com ela conseguido um aumento de competitividade (em termos de custos, qualidade, disponibilidade e inovao). Um sistema automatizado pode contribuir para o aumento da competitividade da empresa atravs da: Reduo de custos de pessoal: a reduo de custos de pessoal obtm-se, por exemplo, com a automatizao das mquinas (tem o seu custo...) ou com a automatizao do controlo e planeamento da produo. Reduo de custos de stock (intermdios e terminais): devido aoo controlo e planeamento da produo, que visa, entre outros aspectos, atingir stocks intermdios mantidos ao mnimo (stock zero), disponibilidade de produtos (atraso zero), optimizao de compras graas ao controlo de produo em tempo real, etc. Aumento da qualidade dos produtos: utilizao de mquinas mais precisas do que o homem, o que garantem melhores caractersticas de repetibilidade (qualidade constante, no dependente de turnos particulares). Maior disponibilidade dos produtos: reduo do nmero de avarias. Aumento da evolutibilidade: menos tempo necessrio para o projecto, planeamento e fabrico de novos produtos, associado utilizao de mquinas programveis aptas a desempenhar diferentes operaes. Aumento da flexibilidade da produo: resposta rpida s solicitaes do mercado e capacidade de operar diferentes variantes de produtos. Um dos dispositivos mais importantes num sistema automatizado o autmato programvel (PLC - Programmable Logic Controller), que pode ser definido como um dispositivo electrnico e programvel, destinado a comandar e controlar, em ambiente industrial e em tempo real, processos produtivos. O PLC surgiu com o objectivo de substituir os sistemas de controlo, desenvolvidos em lgica cablada, vulgarmente utilizados na indstria. Esta lgica cablada recorre utilizao de rels electromecnicos e de blocos lgicos interligados entre si, que apresenta algumas desvantagens, como sejam a complexidade de expanso e de alterao nas funes a desempenhar, os custos envolvidos na concepo do sistema
Automao Industrial 5
de controlo e a complexidade de realizar manuteno (por exemplo, detectar o estado de um sistema que engloba 1000 sensores e actuadores, bastante complexo em lgica cablada, pois necessrio verificar localmente cada um dos dispositivos). 1.1 INTRODUO AOS AUTMATOS PROGRAMVEIS O PLC foi inicialmente concebido por um grupo de engenheiros da General Motors em 1968, tendo em mente algumas especificaes bsicas [Simpson, 94; Warnock, 88]: Facilidade de programao e reprogramao; Facilidade de manuteno e reparao, de preferncia utilizando mdulos plug-in; Reduo de dimenses em relao a um sistema equivalente em lgica cablada; Reduo de custos. Estes controladores programveis pretendiam, na altura em que foram concebidos, fornecer alguma flexibilidade de controlo, baseada na programao e modularidade de funes, alm de reduzir o tempo de concepo e de instalao de sistemas de controlo.
Figura 3.1 Exemplo de um Autmato Programvel O sucesso que se seguiu introduo de PLCs no controlo de processos, provocou um incremento de grupo de engenheiros a estudar esta tecnologia emergente. Naturalmente e rapidamente, foi necessrio criar funcionalidades adicionais aos PLCs. O conjunto de instrues disponveis para a sua programao cresceu rapidamente desde as simples instrues lgicas (E, Ou, Negao, etc) para instrues avanadas, que incluam contadores e temporizadores, e posteriormente, para instrues matemticas avanadas. O desenvolvimento a nvel do hardware tambm se verificou com o aumento das capacidades de memria e o aumento do nmero de entradas e sadas disponveis. As possibilidades de comunicao surgiram aproximadamente em 1973. O primeiro sistema foi o Modbus da Modicon. Esta funcionalidade, permite que um PLC possa comunicar com outro PLC para trocar e partilhar informaes, alm de poderem estar afastados do processo que controlam. A falta de estandardizao associada mudana
Automao Industrial
contnua da tecnologia e aos protocolos de comunicao incompatveis, faz com que as comunicaes entre PLCs sejam um pesadelo. Nos anos 80 houve um esforo para normalizar as comunicaes entre PLCs, com a General Motors a desenvolver um protocolo standard para a indstria da manufactura, o MAP (Manufacturing Automation Protocol). Mais tarde, tentou-se desenvolver um novo protocolo no to pesado do que o anterior, designado por Fieldbus, mas a falta de normalizao deu origem a vrios standards de facto, desenvolvidos por diferentes fabricantes de tecnologia de automao. Nos anos 90 a grande novidade foi a tentativa de normalizar as vrias linguagens de programao de PLCs. Deste modo, existe a possibilidade de programar PLCs utilizando diagramas de blocos, lista de instrues, C e texto estruturado ao mesmo tempo. Actualmente existem mais de 50 fabricantes diferentes de autmatos programveis, cada um dos quais apresenta diferentes gamas de autmatos com diferentes funcionalidades, diferentes linguagens de programao e diferentes protocolos de comunicao. Dos diversos fabricantes de autmatos programveis, destacam-se: Siemens, Omron, Schneider, Rockwell, Mitsubishi, Telemecanique, AEG, Allen-Bradley, Fagor, Saia e Fatrnica. O rpido crescimento do mercado (principalmente a partir da dcada de 80), associado grande variedade de PLCs disponveis, fez com que os sistemas de controlo previamente utilizados na indstria, se tornassem rapidamente obsoletos, principalmente devido ao facto de apresentarem pouca flexibilidade. Actualmente, os autmatos programveis so os componentes fulcrais no desenvolvimento de aplicaes de automao industrial, dadas as suas caractersticas, das quais se destacam: Baixo custo e um vasto domnio de aplicaes; Instalao e manuteno simples e barata; Substituio directa de automatismos baseados em tecnologias cabladas; Linguagens de programao adaptadas aos automatismos e de simples percepo; Elevada flexibilidade: reprogramvel, modular, etc; Adaptao a ambiente industrial, sendo robusto contra a humidade, choque, poeiras e rudo electromagntico. Uma ltima caracterstica e vantagem o facto das dimenses de um PLC serem cada vez mais reduzidas, necessitando de um menor espao fsico para a sua implementao. 1.2 ARQUITECTURA DOS AUTMATOS PROGRAMVEIS Independentemente do fabricante, um PLC possui um conjunto de mdulos comuns e um conjunto de caractersticas similares. Genericamente, a arquitectura de um autmato programvel assenta nos seguintes blocos funcionais: unidade central de
Automao Industrial 7
processamento, memria, mdulos de entrada e sada, fonte de alimentao e unidade de programao. Basicamente, o mdulo de entrada adquire o estado do mundo exterior e armazena esses valores na memria. A execuo do programa, tambm ele armazenado na memria, permite de acordo com os valores das entradas tomar decises de aces a realizar, atravs do mdulo de sada. O programa de software que gere o funcionamento do sistema de controlo que se pretenda que o PLC realize, criado utilizando uma linguagem de programao adequada e transferido para o PLC atravs de uma unidade de programao. A potencialidade de cada autmato programvel pode ser analisada atrs da capacidade de endereamento, conjunto de instrues, nmero de entradas e sadas, nmero de cartas especiais, assim como o tempo de ciclo, as suas capacidades de comunicao e a facilidade de utilizao.
Fonte de Alimentao
Sadas
Mundo Exterior
Entradas
CPU
Mundo Exterior
Memria
Unidade de Programao
Figura 3.2 - Arquitectura de um PLC Cada um destes blocos ser abordado mais aprofundadamente nos pontos que se seguem, sendo para cada um deles referidas as suas principais funcionalidades. 1.2.1 Unidade Central de Processamento A Unidade Central de Processamento, designada por CPU, o crebro do PLC, tendo por funo o controlo e superviso de todas as suas actividades, assim como a gesto do fluxo de informao no seu interior, a partir da execuo de um programa que se encontra armazenado em memria (normalmente EEPROM). O CPU constitudo genericamente por um microprocessador e por uma pequena memria interna. Este microprocessador controlado por um programa especial, designado por sistema operativo, e que armazenado de forma permanente na memria. As funes do sistema operativo so criar uma plataforma de trabalho que permita ao microprocessador, entre outras funes, o controlo, o processamento e a comunicao. Durante a execuo do programa de controlo sobre o sistema operativo, o CPU realiza a gesto da memria, a monitorizao das entradas e a actualizao das sadas. Um CPU tem tipicamente as seguintes funes:
Automao Industrial 8
Operao de entrada e sada, que permitem ao PLC comunicar com o mundo exterior, atravs da transferncia de dados para os mdulos de entrada e sada; Operaes aritmticas e lgicas, que so executadas na Unidade de Lgica Aritmtica (ALU). A ALU capaz de executar, entre outras, as operaes de adio, subtraco e comparao. Para efectuar uma operao, a ALU necessita que lhe sejam fornecidos dois operandos e um operador, sendo os resultados armazenados na memria temporria ou utilizados de imediato para o processamento, conforme as instrues do programa; Leitura e actualizao do contedo da memria, que podem ser dados sobre o estado do sistema ou instrues contidas no programa; Operao de salto, que permitem que na execuo de um programa, seja possvel saltar algumas pores desse programa sem que estas sejam executadas. Adicionalmente, ao CPU existe um relgio que gera uma frequncia a partir de um oscilador externo, que ir determinar a velocidade de operao do PLC e fornece a sincronizao para todos os elementos do sistema. Alguns PLCs, normalmente os de gama alta, destinados a tarefas de controlo complexas, possuem CPUs com mais de um microprocessador. A vantagem a possibilidade de multi-processamento, o que permite uma maior velocidade de processamento, atravs da diviso das tarefas de controlo e de comunicao. Uma condicionante a que os CPUs devem estar preparados a imunidade ao rudo elctrico proveniente por exemplo de motores trifsicos. Alm de serem fisicamente robustos para suportarem ambientes hostis, os PLCs j possuem, actualmente, rotinas que verificam que a memria do PLC no foi corrompida por rudo ou outros problemas, permitindo assim o bom funcionamento do equipamento. 1.2.2 Memria O PLC necessita de armazenar a informao que recebe do exterior atravs das unidades de aquisio de informao e guard-la para posterior processamento, assim como toda a informao resultante do processamento. Como implementada esta possibilidade de armazenamento de informao? Num PLC possvel encontrar dois tipos de memrias quanto tarefa a realizar: memria de sistema e memria do utilizador [Almeida, 93]. A primeira contm todo o programa que permite ao PLC realizar o conjunto de operaes que caracterizam o seu funcionamento e assegurar a comunicao entre o utilizador e o processador e ainda traduzir a linguagem do utilizador para linguagem mquina. A memria do utilizador destina-se ao armazenamento do programa de controlo e da informao que circular no PLC. A capacidade de memria expressa em termos do nmero de grupos de 8 bits (Binary Digits), designados por bytes, que possui. vulgar dizer que um PLC possui 48 Kbytes de memria, o que significa que poder armazenar 48 mil bytes de informao ou 384000 bits.
Automao Industrial
Endereo Informao
0 5 10 15
1 6 11 16
2 7 12 17
3 8 13 18
4 9 14 19
Figura 3.3 -Representao da memria de um computador A memria pode ser comparvel a um conjunto de gavetas ou registos, cada uma das quais bem definida por um rtulo ou endereo, onde possvel colocar ou ir buscar informao binria (estrutura sequencial e ordenada de clulas onde possvel guardar e manipular toda a espcie de informao). Cada clula de memria tem um endereo que indica a sua posio relativa, permitindo referenciarmos a informao armazenada numa clula de memria como o contedo dessa posio. Assim, a indicao do endereo de uma posio de memria permite ler o seu contedo e/ou modifica-lo. O acesso a estas clulas de memria do tipo aleatrio, isto , no preciso ler o contedo de todas as gavetas anteriores a uma que contm a informao pretendida, o que permite uma velocidade de acesso bastante grande. As memrias podem ser classificadas de acordo com diferentes parmetros. Assim, existem dois tipos de memrias, quanto possibilidade de armazenamento da informao aps se desligar a alimentao: as memrias que retm o seu contedo mesmo que no exista alimentao so designadas por memrias no volteis. Por outro lado, existem as memrias volteis, que apenas armazenam a informao enquanto estiver alimentada, perdendo-a quando for desligada a alimentao. Por outro lado, as memrias podem ser classificadas quanto possibilidade de alterao do seu contedo, sendo de seguida descritos os principais tipos de memria [Simpson, 94]. Read Only Memory (ROM) A ROM (Read Only Memory) uma memria apenas de leitura, isto , a informao nela armazenada durante o processo de fabrico permanente, no se perdendo quando se desliga a alimentao. Este tipo de memria utilizada pelos fabricantes para armazenar de forma permanente dados estticos e programas que iro ser necessrios ao funcionamento do PLC. Geralmente, os PLCs raramente utilizam memria ROM nas suas aplicaes, a no ser PLCs dedicados, que tem por objectivo o controlo de apenas um pequeno grupo de tarefas. Random Acess Memory (RAM) Esta memria permite a leitura e escrita da informao, apresentando no entanto a desvantagem de perder toda a informao quando se desliga. Esta memria utilizada
Automao Industrial
10
para armazenar temporariamente a informao que circula no PLC e os dados que reflectem o mundo exterior e a execuo do programa. Programmable Read Only Memory (PROM) um tipo especial de ROM que pode ser programada. Normalmente utilizada para guardar de forma permanente os dados armazenados na RAM. Erasable Programmable Read Only Memory (EPROM) Este tipo de memria armazena os dados de forma permanente, mas diferencia-se das memrias anteriores pelo facto de ser possvel reprogramar o seu contedo. As EPROM possuem uma pequena janela sobre o array de memria, que exposto a uma fonte de luz ultra-violeta apaga todo o contedo da memria. Esta operao tem uma durao mdia de 20 minutos. Aps a EPROM ter sido apagada, possvel voltar a escrever dados para a memria, normalmente atravs da transferncia de programas para o seu interior, utilizando um dispositivo electrnico adequado. Electrically Erasable Programmable Read Only Memory (EEPROM) O contedo deste tipo de memria pode ser de novo programado, utilizando um terminal de programao de PLC, e aps todo o seu contedo ter sido eliminado, operao que demora 10 milisegundos. utilizada para armazenar o programa de controlo que se pretende realizar. 1.2.3 Unidade de programao As unidades de programao tm por objectivo a escrita off-line e online de programas, a monitorizao e a modificao do estado do PLC. A programao dos PLC pode ser realizada utilizando consolas de programao ou utilizando PCs com acesso rede. As consolas de programao esto a ser progressivamente substitudas pela programao atravs de PC, e a sua aplicao resume-se fundamentalmente programao on-line em ambiente industrial.
Computador
Figura 3.4 - Dispositivos de Programao Ambos os dispositivos permitem a programao off-line dos PLCs, o que significa que o programa pode ser escrito sem que o dispositivo esteja conectado ao PLC, sendo o programa transferido para o PLC quando for necessrio.
Automao Industrial
11
As consolas de programao esto a ser abandonadas, porque necessrio um dispositivo de programao para cada PLC, alm de apenas programar uma gama restrita de autmatos programveis. A sua utilizao resume-se a tarefas de manuteno, programao dedicada e modificao de dados do sistema; por exemplo, se o protocolo de comunicao do PLC com o PC falhar necessrio o uso da consola para estabelecer de novo o protocolo. 1.2.4 Mdulos de Entrada e Sada Os mdulos de entrada e sada tm como objectivo, a interface entre o PLC e o mundo exterior, devendo igualmente implementar o condicionamento e isolamento do sinal. Os mdulos de entrada tm por objectivo a aquisio de informao do mundo real, para posterior tratamento. Por outro lado, o controlo de um processo requer a actualizao de equipamentos, pelo que necessrio ligar os dispositivos a controlar ao mdulo de sada. Todos os mdulos de entradas e sadas possuem isolamento elctrico do processo a controlar, utilizando acoplamento ptico.
Isolamento ptico Dispositivo de Entrada
Figura 3.5 - Isolamento das entradas Este isolamento garante que no existe ligao elctrica entre o mundo exterior e o CPU. Um isolamento ptico consiste num dodo emissor de luz e num fototransistor, formando um acoplador ptico, que permite a transmisso de sinais de pequena tenso e o isolamento de sinais de elevados valores de tenso. Por exemplo, a entrada fornece um sinal elctrico que transformado em luz. A luz emitida recebida pelo receptor que de novo transformada num sinal elctrico. O isolamento ptico usado para entradas e sadas. Cada entrada/sada possui um endereo que o identifica univocamente, e que utilizado ao longo do programa de controlo, sempre que se pretende manipular essa entrada/sada. Normalmente, os mdulos de E/S possuem a indicao do estado de cada entrada/sada atravs de leds, o que torna simples a verificao do estado do processo. As entradas/sadas esto disponveis atravs de cartas de expanso que comunicam com o CPU atravs de um barramento, designado de bus, de dados e de endereos. Existem dois tipos de entradas/sadas: digitais e analgicas. As entradas e sadas digitais apresentam apenas dois valores: ON e OFF (1 e 0). Por exemplo, se um sensor de proximidade detectar a presena de um objecto, na entrada aparecer o sinal lgico 1; caso contrrio estar o valor 0.
Automao Industrial
12
Quando o sinal a adquirir pode tomar uma gama de valores determinada e de forma contnua, est-se na presena de sinais analgicos, que requerem o uso de mdulos de entrada/sada analgicos. Por exemplo, um sensor de luminosidade pode ser considerado como sendo uma entrada analgica, porque produz uma tenso que proporcional luz que detecta. Um mdulo de entradas analgicas executa a converso analgico-digital (A/D), ficando o sinal em formato digital e disponvel para ser processado pelo CPU. O mdulo de sada analgico efectua o processo inverso e converte o sinal digital para um valor analgico (D/A). A resoluo da converso um factor importante para a preciso de controlo quando se utilizam PLCs. Os conversores que usam palavras de 8 bits tero uma resoluo de 1:128. Desta forma, um sinal de valor mximo 5V pode ser convertido num valor digital com um intervalo entre valores de 0,02V. O aumento da resoluo passa pelo aumento do numero de bits utilizados pelo conversor. Mdulo de Entrada Este mdulo interliga o PLC ao mundo exterior, adquirindo sinais que reflectem o estado do mundo exterior, atravs da utilizao de sensores, interruptores, etc. O mdulo de entrada converte o nvel lgico do mundo real para o nvel lgico requerido pelo CPU, ao mesmo tempo que executa o isolamento. Existem no mercado uma vasta gama de sensores que podero implementar as entradas de um PLC, das quais se destacam os sensores indutivos, capacitivos, fins de curso, clulas fotoelctricas, etc. Mdulo de Sada O mdulo de sada disponibiliza uma conexo ao mundo real, permitindo a actualizao do processo, de acordo com a informao obtida pelas entradas e com a execuo do programa. As sadas podem ser disponibilizadas atravs de rel, transstor ou triac. Os dispositivos de sada vulgarmente utilizados no controlo de processos so os motores passo a passo, lmpadas, vlvulas pneumticas, etc. 1.2.5 Fonte de Alimentao A fonte de alimentao tem por objectivo o fornecimento das vrias tenses de alimentao requeridas para o funcionamento de todos os componentes do PLC. Esta unidade converte a tenso de alimentao exterior (220 V) numa tenso continua requerida pelo CPU, memria e mdulo de entradas e sadas (normalmente 5 ou 24 V). 1.2.6 Cartas Especiais Existem dispositivos auxiliares ao PLC que no se enquadram na sua arquitectura genrica, pois so especficos para o tipo de aplicao. Neste grupo de cartas
Automao Industrial
13
especiais, encontramos entre outras, os leitores de cdigos de barras, as cartas ASCII e as cartas fuzzy logic. Fuzzy Logic A lgica fuzzy foi desenvolvida para criar uma lgica que melhorasse a tradicional lgica binria que apenas admite dois valores lgicos: 0 e 1. A lgica fuzzy pretende copiar o raciocnio humano e desenvolver processos lgicos a partir de expresses pouco precisas ou difusas que variam entre dois valores lgicos (0 e 1). Por exemplo, utilizando lgica fuzzy no se diz que uma pessoa alta ou baixa, mas sim que essa pessoa tem uma determinada probabilidade de ser alta. Carta ASCII Este mdulo utilizado para manipulao e transmisso de dados alfanumricos entre o PLC e dispositivos perifricos, tais como impressoras, monitores, etc. PID Utilizadas para solucionar problemas complexos, em que necessrio implementar controlo integral, derivativo e proporcional. Leitores de cdigos de barras Muito utilizadas na industria para identificao dos produtos que circulam num processo. 1.3 FUNCIONAMENTO O funcionamento de um PLC resume-se execuo contnua do programa carregado na sua memria. Na figura que se segue, esto ilustradas as trs fases mais importantes do ciclo de funcionamento de um autmato programvel.
Execuo do programa
Automao Industrial
14
Inicialmente, o PLC analisa o estado de todas as entradas e armazena-os na memria, para serem usadas durante a execuo do programa. Na fase que se segue, o PLC executa o programa, executando uma linha de instruo de cada vez. Finalmente, as sadas so actualizadas de acordo com o estado das entradas e das instrues do programa. Este ciclo repete-se continuamente enquanto o PLC estiver em funcionamento. Quando se analisa o funcionamento de um PLC, atravs da performance do seu tempo de resposta, necessrio considerar trs tempos distintos: Tempo de resposta de entrada; Tempo de processamento; Tempo de resposta de sada. Consideremos a situao de detectar quando o copo est cheio de gua, para se fechar a torneira, e faamos a analogia com o funcionamento de um PLC. Os olhos da pessoa esto sempre a receber informao e a envia-la para o crebro.
Figura 3.7 - Tempo de Resposta Quando a gua chegar ao nvel pretendido, os olhos enviam essa informao para o crebro que a dever processar. O tempo que o crebro demora a receber a informao proveniente dos olhos designada por tempo de resposta de entrada. O crebro tendo a informao de que a gua est num determinado nvel ir processar a informao e decidir qual a aco ou aces a tomar. Este tempo designado por tempo de processamento. Finalmente, o crebro ir dar ordens s mos para fechar a torneira. O tempo que decorre at que as mos recebam a ordem designado por tempo de resposta de sada. 1.4 APLICAES DOS AUTMATOS PROGRAMVEIS Os PLCs apresentam um vasto domnio de aplicaes, das quais se destacam: Aplicaes de robtica
Automao Industrial
15
Automao Industrial
16
Passo difcil
Fase da implementao
Automao Industrial
17
Primeiro, importante separarmos a fase de resoluo do problema da tarefa da fase da implementao. Na fase de resoluo do problema, necessrio a elaborao de um algoritmo ou fluxograma para resolver o problema proposto. Apenas, quando a formulao de um algoritmo adequado e satisfatrio, que se passa para a implementao do algoritmo numa qualquer linguagem de programao. Dado um algoritmo suficientemente preciso, a codificao num programa de computador quase directa. Um algoritmo pode ser definido como uma sequncia ordenada e sem ambiguidade, de passos elementares que levam soluo de um dado problema. Apesar de o termo ser novo em si, o conceito bastante familiar. As indicaes dadas para se chegar at uma determinada rua constituem um algoritmo para se encontrar essa rua. Uma receita de cozinha uma forma muito familiar de fluxograma. necessrio que os algoritmos cumpram algumas regras. Assim, os passos de um algoritmo devem ser simples e sem ambiguidade e devem estar numa ordem cuidadosamente definida. Como exemplo, vamos elaborar um algoritmo para realizar uma tarefa bastante familiar, a substituio de uma lmpada queimada. A operao bsica pode ser expressa em dois passos simples: remova a lmpada queimada coloque a nova lmpada Apesar de esta soluo parecer resolver o problema, de facto estes passos no so suficientemente claros para um robot, pois cada um dos passos envolve alguns pressupostos que um robot no conhece. Assim, necessrio especificar cada um dos passos anteriores. Em primeiro lugar, o que necessrio para remover a lmpada queimada? Vamos admitir que ela esteja pendurada num tecto. Este facto envolve uma escada, posicion-la correctamente e subi-la. De seguida necessrio remover a lmpada. Para a remoo, necessrio girar a lmpada no sentido anti-horrio at que se solte. Assim, o simples passo remova a lmpada queimada foi expandido nos seguintes passos: Posicione a escada debaixo da lmpada queimada suba na escada at que a lmpada possa ser alcanada rode a lmpada queimada no sentido anti-horrio at que se solte Para colocar uma lmpada nova, necessrio seleccionar uma outra de mesma potncia (o que deve ser feito antes de se subir na escada), posicionar a lmpada, gir-la no sentido horrio at que esteja completamente colocada e finalmente descer da escada. Deste modo, o passo coloque a nova lmpada foi expandido para: escolha uma nova lmpada de mesma potncia da queimada posicione a nova lmpada rode a lmpada no sentido horrio at estar colocada
Automao Industrial 18
desa da escada Apesar do algoritmo ter j sete passos, ainda no tem uma especificao suficientemente precisa. Por exemplo, o passo escolha uma nova lmpada de mesma potncia da queimada deve ser melhor especificado. Suponhamos que temos uma caixa com lmpadas novas. Devemos examin-las uma a uma at encontrarmos uma com a mesma potncia da queimada. Isto exige as seguintes operaes: seleccione uma lmpada candidata substituio se a potncia no a mesma, repita o processo at encontrar uma que sirva, deite fora a lmpada seleccionada seleccione uma nova lmpada So introduzidos aqui dois conceitos importantes: o da deciso (se) e o da repetio (repita). A capacidade de deciso permite-nos adiar a seleco real de um caminho at execuo do programa. Neste caso, no podemos determinar o que fazer at que a potncia de uma lmpada real tenha sido examinada. possvel especificar que uma operao bsica seja repetida muitas vezes; neste caso a seleco de uma lmpada efectuada at se encontrar uma lmpada de potncia adequada. Usando estes conceitos para os restantes passos, passamos a ter o seguinte algoritmo: posicione a escada debaixo da lmpada queimada seleccione uma nova lmpada para a substituio se a potncia no for a mesma da queimada, repita o processo at encontrar uma que sirva deite fora a lmpada seleccionada seleccione uma lmpada nova repita at que a lmpada possa ser alcanada suba num degrau da escada repita at que a lmpada fique solta rode a lmpada no sentido anti-horrio posicione a nova lmpada repita at que a lmpada esteja colocada rode a lmpada no sentido horrio desa a escada As operaes indicadas simples sem ambiguidade, as decises necessrias so imediatas e a ordem na qual os passos devem ser seguidos claramente expressa. A escrita de programas para computadores ou autmatos, passa pelo assentar de ideias na forma de um fluxograma ou algoritmo e depois transpor esse algoritmo para a linguagem de programao adequada.
Automao Industrial
19
2.1.2 Linguagens de Programao para Autmatos A programao de PLCs pode ser realizada utilizando vrias linguagens genricas, seguindo a norma IEC 61133, das quais se destacam os seguintes dois tipos: lista de instrues; diagrama de blocos (ladder). A lista de instrues caracterizada por existir uma sequncia de instrues para realizar cada uma das tarefas. Essas instrues so escritas sob a forma de mnemnicas. LD AND SET I 0.1 I 0.2 O 1.0
Cada fabricante utiliza mnemnicas diferentes para programar os seus autmatos assim como designaes diferentes para enderear a memria. Este facto, faz com que cada fabricante possua uma linguagem de programao prpria para os seus autmatos. O diagrama de contactos (ladder) caracterizado pela existncia de sequncias de contactos (normalmente abertos ou fechados) que iro provocar a actualizao das sadas.
0.0 10.0
O diagrama de contactos uma linguagem genrica de programao de autmatos, a menos de algumas funes especficas de alguns autmatos e do endereamento de memria. Dado que vai ser utilizado o PLC CPM1 da Omron nas experincias laboratoriais, iremos utilizar os diagramas de ladder como linguagem de programao, que disponibilizada pela Omron atravs do seu software de programao SYSWIN. 2.1.3 Procedimentos bsicos para a escrita de um programa A elaborao de programas para autmatos tendo em vista a solucionar problemas, passa pela definio de um conjunto de passos bsicos, dos quais se destacam os seguintes: Obter a lista de todos os dispositivos de Entradas e Sadas, criando uma tabela de memria que ilustre os bits E/S alocados a cada dispositivo. Determinar quais as palavras disponveis para serem utilizadas dentro do programa.
Automao Industrial
20
Criar tabelas de endereos de temporizadores e contadores, assim como endereos de salto a usar no programa (apenas se podem usar de 01 a 99). Desenhar o diagrama de contactos. Verificar o programa da existncia de erros de sintaxe e tentar corrigi-los. Transferir o programa para o autmato. Executar o programa no autmato. Se durante a execuo do programa se verificarem erros ou anomalias, deve-se corrigir esses erros e verificar o programa de novo, sendo por vezes necessrio redesenhar o diagrama de contactos. 2.2 ENDEREAMENTO DA MEMRIA A memria de um PLC, tal como j foi referido, divide-se normalmente em dois grandes blocos: memria do sistema e memria do utilizador. A memria do sistema armazena todos os parmetros de configurao do PLC, enquanto que a memria do utilizador armazena dados temporrios de entrada e de sada, assim como dados auxiliares execuo do programa. Cada fabricante de autmatos tem uma forma de endereamento da memria muito prpria, e que normalmente difere do endereamento utilizado noutros autmatos. Por exemplo, para codificar as entradas e sadas, vulgar utilizar-se a letra I para as entradas e a letra O para as sadas; no entanto, tambm existem autmatos que utilizam as letras X e Y, para codificar as entradas e sadas, respectivamente. Na figura 5.3 est representado o endereamento da memria utilizada pelo autmato CPM1 da Omron. Verifica-se que a codificao de entradas e sadas realizada pelo prefixo IR.
rea de Dados
rea de Entrada rea IR (Rels internos) rea de Sada
Palavras
IR 000 a IR 009 IR 010 a IR 019 IR 200 a IR 231 SR 232 a SR 255 TR 0 a TR 7 (s se trabalha com os 8 bits) HR 00 a HR 19
Funo
Estes bits podem ser alocados aos terminais E/S externos. Os bits de trabalho podem ser usados livremente dentro do programa. Estes bits servem funes especficas, tais como flags e bits de controlo. Estes bits so utilizados para guardar temporariamente o estado ON/OFF da seco do programa (mnemnicas). Estes bits guardam informao e mantm o seu estado ON/OFF aps a alimentao ser desligada. Estes bits so semelhantes a SR mas mantm o seu valor aps a alimentao ser desligada.
rea de Trabalho rea SR (Rels especiais) rea TR (Rels temporrios) rea HR (Rels reteno) rea AR (Rels auxiliares)
AR 00 a AR 15
Automao Industrial
21
rea LR (Rels ligao) rea Contadores Temporizadores Leitura/Escrita rea DM Log de erros
LR 00 a LR 15 e TC 000 a TC 127
Utilizado para ligaes 1:1 a outro PLC. Os mesmos endereos so utilizados para os temporizadores e contadores. Podem ser usados livremente no programa.
DM00 a DM 099 DM 1022 a DM 1023 DM 1000 a DM 1021 Utilizados para guardar o tempo e o cdigo de erro da ocorrncia. DM 6144 a DM 6599 No podem ser escritos a partir do programa. DM 6600 a DM 6655 Utilizados para guardar os vrios parmetros que controlam a comunicao com o PC.
2.3 INSTRUES BSICAS Os operandos utilizados como entradas e sadas possuem dois valores de identificao: endereo fsico e mnemnica. O endereo fsico a designao directa do bit ou byte de uma rea especfica de memria. A mnemnica utilizada para simplificar a escrita e a leitura do programa. Uma condio normalmente aberta Verdadeira (ON) se a entrada ON e Falsa (OFF) se o operando OFF. Uma condio normalmente fechada Verdadeira se o operando OFF e Falsa de o operando ON.
normalmente normalmente fechado aberto
...
No estudo que se segue, apenas se vai considerar entradas e sadas normalmente abertas. No entanto, para trabalhar com lgica normalmente fechada, deve-se colocar o sufixo NOT a seguir instruo para a lgica normalmente aberta. 2.3.1 LOAD A primeira condio que inicia qualquer bloco lgico corresponde instruo LOAD, cuja mnemnica LD. Se esta instruo a nica na linha de instrues ento a sada ON se o operando for ON e OFF se o operando for OFF. O resultado desta instruo pode ser conjugada com outra entrada atravs de uma relao lgica ou imediatamente transferida para o exterior, actualizando uma sada. 2.3.2 OUTPUT A forma mais simples de transferir para a sada os resultados da combinao da execuo de instrues utilizando a instruo OUT.
Automao Industrial 22
Esta instruo pode actualizar sadas do autmato, mas tambm flags internas, tais como as reas SR, AR, HR, etc.
0.0
0.0 10.0
ON OFF 0.0
0.0
10.0
ON OFF
Figura 5.3 - Tabela de Verdade das Instrues OUT e OUT NOT Vamos considerar o seguinte caso de aplicao: existe uma bomba de tirar gua que funciona de acordo com o estado de um boto de accionamento, isto premindo o boto a bomba funciona, e libertando o boto a bomba deixa de funcionar. Pretendese elaborar um programa que execute o controlo da bomba. Assim, supondo que o boto est associado entrada 0.0 e que a bomba est associada sada 10.1, possvel realizar o programa de controlo, utilizando listra de instrues. LD 0.0 OUT 10.0 Este programa coloca a sada 10.0 (bomba) em funcionamento de acordo com o estado da entrada 0.0 (boto). Se o boto estiver premido, isto a entrada 0.0 est ON, ento a bomba ser colocada em funcionamento. Caso o boto no esteja premido ento a bomba deixa de estar em funcionamento. 2.3.3 AND A manipulao de operandos lgicos requer por vezes a utilizao do operador lgico AND. Este operador permite activar uma sada apenas quando todos os operandos de entradas forem Verdadeiros. Num conjunto de instrues que implemente o AND de mais do que duas entradas, a primeira das instrues ser a instruo LD; e as restantes condies as instrues AND.
0.0 1.0 0.1 10.1
Na figura anterior a linha de instruo representada por um diagrama de contactos, implementa a seguinte expresso lgica:
Automao Industrial
23
A sada 10.0 ser activada, apenas se as trs condies forem verdadeiras, isto , quando 0.0 ON, 1.0 OFF e 0.1 ON. A aplicao da instruo AND pode ser analisada no seguinte exemplo: A utilizao de maquinaria pesada, como por exemplo, quinadoras ou mquinas de corte, requer a instalao de sistemas de segurana, para precaver a integridade fsica dos operadores que trabalham com essas mquinas. O sistema de segurana mais vulgar nesses casos a implementao de dois botes de incio de funcionamento (um para cada mo do operador). Desta forma, a mquina s executa a tarefa, por exemplo o corte de chapa, se os dois botes estiverem premidos. LD 0.0 AND OUT
0.1 10.0
Neste caso, temos duas entradas, 0.0 e 0.1, e uma sada 10.0, que representa o accionamento da mquina para executar a sua tarefa. 2.3.4 OR No ponto anterior referiu-se a instruo lgica AND. No entanto, existe uma outra instruo lgica bsica, designada por OR, que fundamental na manipulao de operandos lgicos. Quando duas ou mais condies esto separadas em linhas de instrues diferentes e a correr em paralelo, a primeira condio corresponde instruo LD; as restantes condies correspondem instruo OR.
1.1 1.0 0.1 10.0
A sada 10.0, para o caso da figura anterior, ser ON quando uma das trs condies for ON, isto , quando 1.1 OFF ou 1.0 OFF ou 0.1 ON. 2.3.5 END No fim de um programa necessrio adicionar a instruo END. Durante a execuo do programa, o CPU executa todas as instrues at instruo END, antes de voltar ao incio do programa e voltar a execut-lo. Alis, o autmato funciona em ciclo executando ciclicamente o programa carregado no autmato.
Automao Industrial
24
0.0
0.1
10.0
END
Se no existir a instruo END no fim do programa, este no poder ser executado. Exemplo de aplicao Pretende-se controlar o funcionamento de um dispositivo que efectua a mistura de dois lquidos, utilizando dois botes: Movimento - se premido, o dispositivo deve funcionar; se no, deve estar parado. Emergncia - se caso seja premido, o dispositivo deve parar o seu funcionamento.
Lquido A
Lquido B
Figura 5.4 - Misturador de lquidos O primeiro passo na escrita do programa a escolha das E/S do autmato para a aplicao em causa: boto de movimento boto de emergncia motor do dispositivo IR 0.0 IR 0.1 IR 10.0 movimento; emergncia; motor.
Ento a linha de instrues que implemente o funcionamento pretendido est ilustrado na figura que se segue.
0.0 0.1 10.0
Vamos supor agora, que o boto de movimento substitudo por dois outros botes distintos, que representam a presena de diferentes tipos de lquidos no dispositivo, e que se pretende que o misturador inicie o seu funcionamento sempre que exista pelo menos um dos lquidos no dispositivo (um dos botes premido). Desta forma iremos ter entradas e uma sada: boto para o liquido A boto para o liquido B Automao Industrial
IR 0.3 IR 0.4
lquido_a; lquido_b;
25
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:
0.1
0.3
No entanto, se pretendermos utilizar a programao em lista de instrues, impossvel implementar a expresso lgica utilizando as instrues lgicas bsicas, uma vez que o valor da execuo da condio 0.0 OR 0.1 perdido quando se inicia a execuo da condio seguinte (0.2 OR NOT 0.3). Existem ento as instrues AND LOAD e OR LOAD para armazenar as condies intermdias. Assim, possvel escrever o diagrama anterior em lista de instrues utilizando AND LOAD. LD OR LD OR NOT AND LD 0.0 0.1 0.2 0.3
Automao Industrial
26
A instruo AND LD permite armazenar o resultado da primeira condio e realizar o AND com a segunda condio. Vamos considerar agora o caso de se pretender implementar a seguinte expresso lgica:
0.2
0.3
Neste caso no se trata de realizar o AND de duas condies constitudas por mais do que uma condio, mas sim o OR, pelo que a instruo adequada o OR LD. LD AND NOT LD AND OR LD OUT 0.0 0.1 0.2 0.3 0.0 executa o OR dos dois blocos
2.3.7 Combinao de instrues AND LOAD e OR LOAD As instrues AND LOAD e OR LOAD podem ser combinadas, caso o nmero de blocos seja superior a 2 mas no exceda os 8 blocos.
Bloco 3 0.0 0.1 0.2 0.3 10.0
0.4 Bloco 1
0.5
Bloco 2
Considerando o diagrama de contactos, representado atrs, possvel traduzi-lo para lista de instrues. LD NOT AND LD AND NOT
Automao Industrial
0.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
Bloco 3 Bloco 5
O programa em lista de instrues como se representa de seguida. LD LD AND LD AND LD LD AND OR LD AND LD OR LD AND LD OUT 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 blocos 4 e 5 bloco 3 com resultado anterior bloco 2 com resultado anterior bloco 1 com resultado anterior
10.0
de salientar que apenas se pe o problema de utilizao de instrues de bloco, se no se programar em diagramas de contactos. Alm disso, sempre possvel no utilizar as instrues de bloco, se utilizarmos flags internas para armazenar dados temporrios e intermdios.
Automao Industrial
28
2.3.8 Execuo de Vrias sadas Existem situaes em que necessrio executar mais do que uma aco, para as mesmas condies de entrada. Neste caso, as sadas so codificadas sucessivamente a seguir ltima instruo da linha.
0.1 0.3 HR0.1
0.2
10.0
0.4
10.7
Ou utilizando lista de instrues, LD OR AND OUT OUT AND OUT 2.3.9 SET e RESET Estas instrues so similares s de OUTPUT e OUTPUT NOT, diferindo no facto do seu estado apenas ser alterado quando a condio for ON. Quando a condio de entrada for Verdadeira, o bit de sada ON ou OFF, caso se trate de um SET ou RESET, respectivamente. A particularidade desta instruo, que mantm o seu estado aps a condio de entrada passa a Falsa.
Condio Condio
SET (sada)
RESET (sada)
Figura 5.5 - Evoluo temporal para as instrues SET e RESET Vamos considerar o caso de pretendermos controlar o funcionamento de um motor, atravs de dois botes: o boto verde para o colocar em funcionamento e o boto vermelho para o parar. Neste caso, no se pode utilizar a instruo OUT, porque com esta instruo logo que libertssemos o boto verde, o motor parava, e o que se pretende que o motor continue a funcionar mesmo que se liberte o boto e at que se prima o boto vermelho.
Automao Industrial
29
Para implementar esta funcionalidade necessrio utilizar as instrues SET para por o motor em funcionamento quando se prime o boto verde, e a instruo RSET para parar o motor quando se prime o boto vermelho.
Boto verde SET 10.0 Boto vermelho RSET 10.0
Assim quando se pressiona o boto verde, este vale o estado lgico ON, pelo que o motor inicia o seu funcionamento; quando se pressiona o boto vermelho, a instruo RSET executada, parando de imediato o motor. 2.3.10 DIFFERENTIATE UP, DIFFERENTIATE DOWN
As instrues DIFU e DIFD so utilizadas para forar um bit a ON durante apenas um ciclo de funcionamento. Sempre que executado, DIFU compara a condio corrente com a condio anterior. Se a condio anterior era OFF e a condio corrente ON, ento DIFU tornar o bit a ON. Se a condio anterior ON e a condio corrente ON ou OFF, ento DIFU tornar o bit a OFF ou manter o bit a OFF (com esta instruo o bit apenas se manter em ON durante um ciclo). Quando executada, DIFD compara a execuo corrente com a condio anterior. Se a condio anterior era ON e a condio corrente OFF, a instruo DIFD tornar o bit a ON. Se a condio anterior OFF e a corrente ON ou OFF, DIFD tornar o bit a OFF ou manter o bit a OFF.
1.0 DIFU 10.0 1.1 DIFD 10.1
2.3.11
Instrues de Bifurcao
Quando uma linha de instruo se divide em mais do que 2 linhas, necessrio usar bits temporais para armazenar o resultado da condio na bifurcao.
0.0 TR 0 0.1 10.0
0.2
10.1
Automao Industrial
30
necessrio no ponto de bifurcao colocar um bit TR, de modo a manter temporariamente o resultado da ltima condio, e assim ser utilizada posteriormente. LD OUT AND OUT LD AND OUT 2.3.12 KEEP 0.0 TR 0 0.1 10.0 TR 0 0.2 10.1
A instruo KEEP usada para manter o estado do bit, baseado em duas condies. Para tal, a instruo conectada a duas linhas de instruo. Quando a condio da primeira linha ON, o bit operando torna-se igual a ON. Quando a condio da segunda linha ON, o bit operando da instruo KEEP torna-se OFF. O bit operando para a instruo KEEP manter o seu estado (ON ou OFF) mesmo quando colocado numa seco diferente do diagrama.
0.2 0.3 KEEP (11 HR 0000
0.4 0.5
Exemplo de aplicao (1) Pretende-se elaborar um sistema de controlo para o comando de um motor e de uma bomba, que apresenta as seguintes caractersticas: Aps ser premido o boto de arranque, a bomba ligada; O funcionamento efectivo da bomba detectado pelo medidor de caudal. O motor ligado depois de detectada a entrada em funcionamento da bomba; A actuao do boto de paragem provoca o desligar da bomba e do motor. Implementao do sistema de controlo pode recorrer lgica digital.
arranque paragem S R bomba ON
caudal
S R
motor ON
Automao Industrial
31
No entanto, para a implementao em autmato programvel, necessrio efectuar a atribuio de endereos: IR 00.00 arranque IR 00.01 paragem IR 00.02 caudal IR 10.00 motor ON IR 10.01 bomba ON A representao da evoluo temporal das vrias variveis em jogo, ajuda a apreender o problema e a conceber uma soluo. Para este caso, a evoluo temporal est ilustrada na figura que se segue.
Arranque
Paragem Caudal
Bomba ON Motor ON
A implementao da soluo, utilizando as instrues SET e RESET est representada na figura que se segue.
Arranque Paragem SET Bomba ON Bomba ON Caudal SET Motor Paragem RSET Bomba ON Paragem RSET Motor
Paragem
Bomba ON Paragem
Automao Industrial
32
Nesta ltima soluo, a entrada Arranque coloca a Bomba em funcionamento enquanto a activao do boto Paragem desliga a Bomba. Para que o Motor funcione necessrio que a Bomba esteja em funcionamento e que j exista Caudal a alimentar o Motor. Exemplo de aplicao (2) Pretende-se realizar o controlo de uma electrovlvula, com as seguintes caractersticas: possibilidade de trs aces de comando: abrir, fechar e parar; uma sada do autmato comanda a abertura da vlvula e outra o seu fecho. Estas duas sadas no podem tomar em simultneo o valor lgico 1; quando a vlvula atinge uma das posies extremas (totalmente aberta ou fechada), a respectiva sada do PLC desactivada; a vlvula pode ser comandada em modo manual e automtico; em modo manual as ordens so iniciadas a partir de 3 botes de presso: abrir, fechar e parar; em modo automtico, a vlvula comandada por trs flags geradas por outro mdulo do programa; est previsto um sinal exterior de inibio, que quando est activo, inibe as duas sadas de comando da vlvula. O primeiro passo na elaborao do programa a atribuio de endereos s variveis que iro ser utilizadas no programa: IR 00.00 a IR 00.02 IR 00.03 a IR 00.04 IR 00.05 IR 10.00 a IR 10.01 IR 200.00 a IR 200.01 IR 00.06 - abrir, fechar e parar - aberto e fechado - inibio - act_abrir e act_fechar - flag_abrir e flag_fechar - manual (1- manual e 0 - automtico)
O programa que solucione este problema est ilustrado na figura que se segue.
Automao Industrial
33
ent_abrir
modo
aberto
flag_abrir ent_fechar
fechado
ent_parar
modo
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
O temporizador activado quando a condio de execuo vai a ON e desactivado quando a condio de execuo vai a OFF. Se quando VT tiver sido esgotado e a condio A for ON, ento o temporizador vir a ON.
Condio A Temporizador TIM N VT < VT VT
Figura 5.7 - Evoluo temporal de um temporizador As unidades de medida nesta instruo de temporizao so as dcimas de segundo (0,1 segundo).
Automao Industrial
34
Exemplo de aplicao O elevador representado na figura desloca-se entre dois pisos. O seu movimento comandado (subir, descer e parar) a partir dos comandos dados pelos operadores (botes de chamada bot_ch1 e bot_ch2) e das informaes provenientes dos detectores de fim de curso (piso1 e piso2).
bot_ch2 piso2
bot_ch1
piso1
Figura 5.8 - Elevador entre dois pisos A atribuio de endereos a seguinte: IR 00.00 IR 00.01 IR 00.02 IR 00.03 IR 10.00 IR 10.01 bot_ch1 bot_ch2 piso1 piso2 motor_up motor_down
Adicionalmente, pretende-se controlar a porta do elevador. Esta dever abrir 5 segundos aps ter chegado ao piso desejado. Sempre que o elevador seja requisitado, a porta dever ser fechada. A nova atribuio de endereos como se representa: IR 00.04 IR 00.01 porta_aberta porta_fechada
Automao Industrial
35
IR 10.02 IR 10.03
abre_porta fecha_porta
piso2
TIM 000
NOTA: Pensar em melhorar o sistema incorporando a possibilidade de no interior do elevador se poder fechar a porta e ir para um outro piso. Adicionalmente, pensar no caso de existirem mais do que dois andares? 2.4.1 Temporizador ao Impulso Neste tipo de configurao, pretende-se que a sada esteja activa durante o perodo de tempo especificado no temporizador.
0.0 TIM 16 #20 10.2
TIM 16
10.2
Para o caso da figura anterior, a sada 10.2 estar ON apenas durante o tempo especificado, neste caso 2 segundos.
Automao Industrial
36
2.4.2 Temporizador aps a operao Pretende-se com esta configurao que a sada esteja activa apenas durante um determinado perodo de tempo, especificado no temporizador, aps a entrada de controlo tenha deixado de estar activa. Um exemplo da necessidade deste tipo de configurao do temporizador caso do controlo de uma luz de um parque automvel subterrneo. Neste caso, pretende-se que a luz que ilumina o parque, apenas esteja acesa 30 segundos aps o carro ter entrado no parque.
10.0 0.0 TIM 10 #50 0.0 TIM 10
10.0 10.0
Neste caso, a sada 10.0 ficar no estado OFF aps 5 segundos a condio de execuo ter ficado OFF. Na figura que se segue, possvel verificar a evoluo temporal da entrada e da sada e concluir que a sada 10.0 apenas permanece em ON 5 segundos aps a entrada ter passado a OFF.
0.0
10.0 5 seg.
Exemplo de aplicao Uma lmpada de sinalizao deve permanecer a piscar, com perodo de 20 segundos, durante todo o tempo em que um carro se movimenta. O carro comandado a partir de um boto premido continuadamente durante todo o movimento. A atribuio de endereos a seguinte: IR 00.00 IR 10.08 TIM 000 e 001 carro lmpada temporizadores para a onda quadrada
A representao dos estados que os temporizadores para formar a onda quadrada devero tomar est ilustrada na figura que se segue.
Automao Industrial
37
TIM 000
TIM 001
Na figura que se segue, encontra-se representado o programa que implementa a onda quadrada.
TIM 001 TIM 000 #100 TIM 000 TIM 001 #100 TIM 000 carro lampada
2.4.3 Temporizador de alta velocidade Este temporizador, designado por TIMH, semelhante ao TIM, exceptuando o facto daquele ter como unidades de medida as centsimas de segundo (0,01 s).
0.0 TIM H 000 #150 TIM 000 10.0
Na figura anterior, a sada 10.0 estar a ON aps 1,5 segundos a entrada 0.0 ter passado a ON. 2.5 CONTADORES Os contadores so utilizados para contar o nmero de eventos associados a uma determinada condio. 2.5.1 CNT A instruo CNT usada para contar de forma decrescente desde um valor prdefinido (VC), quando a condio de execuo em CP passa de OFF para ON, isto , o valor corrente (PV) ser decrementado de 1 unidade sempre que CNT executado, com CP=ON, e que a condio de execuo tenha sido OFF na ltima execuo.
Automao Industrial
38
CP
CNT N VC
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
O contador 001 conta o nmero de vezes que o clock (SR 25502) vai de OFF a ON. A entrada 0.0 utilizada para controlar o tempo quando o contador est em operao (1seg x 700 =11 minutos e 40 segundos). 2.5.2 Contador reversvel CNTR O contador reversvel, designado por CNTR, permite contar de forma crescente ou decrescente, isto , utilizado para contar entre 0 e VC de acordo com duas condies de execuo, na entrada incremental (EI) e na entrada decremental (ED). O valor corrente ser incrementado de uma unidade quando a condio de execuo para EI ON e a ltima condio de execuo OFF.
EI CNTR ED R N VC
Se simultaneamente as entradas EI e ED passarem a ON, o valor corrente no se alterar. O contador desactivado atravs da entrada R. Quando chegar a zero, o contador fica a ON. Este tipo de contador circular, pois se o valor actual do contador coincidir com o valor pr-definido do contador, e se a entrada EI passar a ON, ento o prximo valor do contador passar a ser 0.
...
VC
Automao Industrial
39
2.5.3 Exemplo de aplicao Considere um posto de embalamento de produtos. Os produtos chegam ao posto atravs de um tapete rolante.
Figura 5.9 - Sistema de embalamento com peas semelhantes Existe um sensor no referido posto, que permite a deteco dos produtos. Sempre que existam 100 produtos no contentor deve ser colocado um novo contentor utilizando um actuador pneumtico. Atribuio de endereos: IR 00.00 IR 10.00 TC 120 detector actuador contador
Contentor
Pretende-se efectuar algumas melhorias no sistema: se uma pea estiver mais de 5 segundos em frente ao posto, ento gera alarme; quando chega a 100, o tapete deve parar, para dar tempo mudana de contentor; aps 10 segundos, o tapete deve voltar a funcionar; possibilidade de detectar dois tipos de peas A e B (contentor A - 100 peas e contentor B - 50 peas), tal como se mostra na prxima figura.
Automao Industrial
40
Actuador pneumtico
Figura 5.10 - Seleco de diferentes tipos de peas 2.6 INSTRUES DE MANIPULAO DE DADOS A soluo de determinados problemas requer a necessidade de manipular no apenas um bit mas sim um conjunto de bits agrupados numa palavra (word), constituda por dois bytes, ou seja 16 bits. 2.6.1 MOVE Esta instruo permite copiar o contedo de uma palavra origem para uma palavra destino, sempre que a condio de execuo for verdadeira.
MOV S D
em que S a palavra origem, que pode pertencer s reas IR, SR, AR, DM, HR, TC, LR ou ser um valor numrico, e D a palavra destino, que pode pertencer s reas IR, SR, AR, DM, HR e LR.
preciso ter em ateno que os DM 6144 a DM6655 no podero ser utilizados para a palavra destino, pois pertencem a uma rea de memria reservada apenas a leitura.
Palavra Origem ... MOV Palavra Destino ...
O estado dos bits da palavra origem preservado durante a realizao da instruo MOV.
0.0 MOV 001 HR 05
Neste caso, quando a entrada 0.0 estiver em ON, o contedo de IR 001 copiado para HR05. Por exemplo se IR 001 contiver o valor 01101011111, ento HR05 passar a conter esse valor.
Automao Industrial
41
IR 000 :
0110 0110
1011 1011
HR 05 :
2.6.2 MOVE NOT Esta instruo semelhante ao MOV, com a diferena de quando a condio de execuo for verdadeira, copiado para a palavra destino o contedo invertido da palavra origem. Se a palavra origem for um valor numrico, ento dever estar no formato hexadecimal.
0.0 MVN #F8C5 DM 0010
Uma vez que # F8C5 em hexadecimal semelhante a 111 1000 1100 0101 em binrio, ento o valor que ser transferido para o DM 0010 ser 0000 0111 0011 1010, que o complementar de #F8C5. 2.6.3 Instrues Diferenciais Algumas instrues permitem tanto a forma no diferencial como a diferencial. As instrues so distinguidas atravs da colocao do smbolo @ imediatamente antes da mnemnica da instruo. Uma instruo no diferencial executada sempre que a condio de execuo ON. Uma instruo diferencial executada apenas aps a condio de execuo passar de OFF a ON. Se a condio de execuo no se alterou ou se mudou de ON para OFF, a instruo no ser executada.
0.0 MOV HR 10 DM 0000 Diagrama A Diagrama B 0.0 @MOV HR 10 DM 0000
No diagrama A, que apresenta a instruo MOV no diferencial, o contedo de HR10 copiado para DM 0000 sempre que o programa execute a linha de instruo. Se o tempo de ciclo 80 ms e 0.0 permanece em ON por 2,0 segundos ento a operao MOV executada 25 vezes, sendo apenas preservado o ltimo valor que copiado para DM 0000. No diagrama B, a instruo diferencial @MOV move o contedo de HR 10 para DM 0000 apenas quando 00.00 passa a ON. Mesmo que 00.00 se mantenha em ON durante
Automao Industrial
42
2 segundos com o mesmo tempo de ciclo (80 ms), a instruo s ser executada uma vez, aquando do primeiro ciclo, no qual 00.00 passa de OFF para ON. 2.6.4 Endereamento Indirecto Quando a rea DM especificada para um operando, um endereo indirecto poder ser utilizado, vulgarmente designado por apontador. Um apontador diferencia-se de um endereo normal por ter um asterisco antes do prefixo DM: *DM XXXX. Quando se utilizam apontadores, o DM especificado conter o endereo da palavra DM que contm a informao que ser usada como operando da instruo.
...
DM 1111 DM 1112 DM 1113 5555 2506 D541 o valor 5555 copiado para LR00
Figura 5.11 - Utilizao de apontadores no endereamento de memria No exemplo anterior, *DM 0001 utilizado como 1 operando da instruo MOV, sendo o seu contedo o apontador para a posio de memria DM 1111, cujo contedo ser copiado para o segundo operando, neste caso, o LR 00. Importante: Quando se trabalha com endereos indirectos, o contedo do DM que ir especificar a palavra que contm a informao, dever estar em formato BCD e compreendido entre 0000 e 1999. 2.7 INTERRUPES Uma interrupo um tipo de entrada especial que permite o tratamento imediato do acontecimento, deixando por instantes de executar o programa principal. Aps ter sido tratada a interrupo, o ciclo de execuo volta ao programa principal. O autmato programvel CPM1 possui trs tipos de interrupes, descritas de seguida: Entradas de interrupo - o processamento da interrupo executada quando uma das entradas de interrupo passa a ON a partir de uma fonte externa. Interrupes temporizadas - o processamento da interrupo executado a partir de um temporizador com preciso de 0,1 ms. Interrupes de contadores - o processamento da interrupo executado quando o contador atinge o valor especificado no contador.
Automao Industrial
43
As entradas de interrupo tem prioridade sobre os outros dois tipos de interrupo. Quando 2 entradas de igual prioridade so actuadas simultaneamente, executada a entrada de interrupo 0, no que se segue a entrada de interrupo 1, etc. O CPM1 possui as entradas 0003 a 0006 como entradas de interrupo, que podem ser definidas como entradas de interrupo utilizando o DM 6628.
Bit 15 Bit 0
Palavra
DM 6628
Valores
0 : entrada normal 1: entrada interrupo 2: entrada de resposta rpida
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
Se pretendermos configurar as entradas que se pretendem que sejam interrupes, deveremos utilizar o valor 000 no parmetro CC (permite colocar uma mscara nas entradas de interrupo). No parmetro D dever ser colocado o valor que corresponda activao das entradas de interrupo; por exemplo, se pretendermos configurar a entrada 0.4 como entrada de interrupo, devemos colocar o valor #D (1 1 0 1).
Automao Industrial
44
Exemplo de aplicao Vamos considerar o diagrama que se segue, em que se representa a activao de uma interrupo a partir da entrada 0.3.
0.3 INT 000 000 #000E
. . .
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
Na figura que se segue possvel verificar que a instruo SBS 000 permite realizar um salto no programa principal para a subrotina 0, representada pela instruo SBN 00.
Automao Industrial
45
Programa Principal
SBS 00
Programa Principal
SBN 00
Subrotina
RET END
Figura 5.13 - Principio de funcionamento das subrotinas O final da subrotina representado pela instruo RET, que retorna a execuo do programa para a instruo seguinte a da chamada da subrotina.
Automao Industrial
46
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
t2
Transio
3
Aco
t3
Receptividade
Figura 6.1- Exemplo de um Grafcet A utilizao da ferramenta Grafcet oferece algumas vantagens, das quais se destacam as seguintes: Suportado por um Standard - suportado pelo standard IEC 848 da International Electrotechnical Commission, representativo de todas as empresas que suportam o Grafcet de modo a manter a sua integridade e universalidade. Grfico Orientado ao Processo - desenvolvido para aplicaes de processo, o Grafcet possui caractersticas que no so suportadas pelas outras ferramentas similares, tais como processamento paralelo.
Automao Industrial
47
Desenvolvimento independente do autmato programvel - o trabalho de especificao realizado com o Grafcet completamente independente do tipo de autmato programvel que ser utilizado na aplicao de automao. Tarefa de concepo facilitada - o formato grfico torna mais fcil a tarefa de identificao de erros de concepo. Mais importante, o Grafcet diminui o custo dos erros de interpretao, quer sejam originrios de construtores, fornecedores ou equipas de concepo. Reduo do tempo de desenvolvimento de aplicaes - o Grafcet o desenvolvimento de um mtodo para a implementao de cdigo para autmatos programveis. Actualmente, o GRAFCET a linguagem mais produtiva e flexvel desenvolvida para automao de processos.
3.2 ESPECIFICAO FUNCIONAL E TECNOLGICA A especificao de automatismos industriais requer a considerao dos seguintes pontos: funcional e tecnolgico [Novais, 94]. 3.2.1 Especificao Funcional A especificao funcional engloba as seguintes caractersticas: Descreve as interaces entre as partes de Comando e Operativa. Define as funes, informaes e comandos implicados no automatismo. independente das opes tecnolgicas. 3.2.2 Especificao Tecnolgica A especificao tecnolgica engloba as seguintes caractersticas: Descreve fisicamente as trocas de informao entre as partes operativas e de comando. Define os meios de comunicao entre o operador e o automatismo.
3.3 CONCEITOS BSICOS DO GRAFCET 3.3.1 Etapas O princpio fundamental do Grafcet a reduo do processo de controlo a etapas simples. Uma etapa corresponde a uma situao do sistema, ou de parte dele, em que o comportamento permanece invariante. A etapa representada por um quadrado com
Automao Industrial
48
um nmero no interior. A entrada efectuada na parte superior do quadrado e a sada na parte inferior.
LIGA_BROCA; BAIXA_BROCA SE T/X2/3s/
Figura 6.2 - Etapa e Aco Uma etapa est activa ou inactiva. Uma etapa activa assinalada com um ponto (.) na parte inferior do seu smbolo.
2 LIGA_BROCA; SOBE_BROCA
Figura 6.3 - Etapa activa ou validada O estado actual do sistema caracterizado pelo conjunto das etapas activas. A cada etapa esto associadas aces. As aces so executadas enquanto a etapa est activa, e controlam as sadas que tem por objectivo a execuo de diversas funes. Quando uma etapa est activa, so executadas as aces associadas etapa. As vrias aces esto separadas pelo smbolo ; ou ento por um trao horizontal. 3.3.2 Transies As etapas do grfico so separadas por transies. As transies representam a possibilidade de evoluo entre etapas.
1 INICIO.BROCA_UP
Figura 6.4 - Transio e Receptividade A cada transio est associada uma condio lgica denominada por receptividade. A evoluo no GRAFCET requer que a etapa esteja activa e a receptividade associada transio seja 1. A utilizao de operadores lgicos AND e OR representa-se na receptividade pelo uso dos smbolos e +. Assim, a condio lgica verdadeira se INICIO e BROCA_UP so condies verdadeiras. 3.4 PRINCPIO DE FUNCIONAMENTO Na definio do Grafcet existem vrias regras que governam o seu comportamento, e que sero descritas de seguida.
Automao Industrial
49
3.4.1 Inicializao As etapas activas aps a inicializao so assinaladas duplicando o contorno dos respectivos smbolos.
1 SOBE_BROCA SE /BROCA_UP
Figura 6.5 - Etapa Inicial Neste caso, a aco da etapa 1 contm apenas um elemento de controlo: furao. 3.4.2 Validao Uma transio est validada ou no validada. Est validada se todas as etapas de entrada estiverem activas. 3.4.3 Disparo de uma transio Uma transio disparada se estiver validada (a etapa anterior est activada) e a receptividade tomar o valor 1. O disparo de uma transio provoca a activao das etapas de sada e a desactivao das etapas de entrada.
2 2 3
LIGA_BROCA; BAIXA_BROCA SE T/X2/3s/ BROCA_BAIXO LIGA_BROCA; SOBE_BROCA
2 2 3
Etapa 2 activa
2 2 3
Figura 6.6 - Disparo de uma Transio Exemplo: Prensa de compresso A prensa de compresso consiste num puno inferior (fixo) e num puno superior e matriz (mveis). Existem adicionalmente dispositivos de colocao de material e
Automao Industrial 50
evacuao da pea. O princpio de funcionamento pode-se resumir aos seguintes pontos: com o puno superior e a matriz nas suas posies altas colocada a matria prima na matriz; o puno superior desce comprimindo a matria prima aps o que regressa posio inicial; a matriz desce permitindo retirar a pea; a matriz regressa posio inicial, podendo ser iniciado um novo ciclo.
Subida da matriz
Aps a realizao desta especificao funcional, colocam-se as seguintes questes: 1. Como colocado o material? O material dever ser colocado manualmente pelo operador. O sinalizador luminoso V permanece aceso durante o tempo de colocao. O operador inicia o ciclo premindo o boto d. 2. Como so accionados o puno e a matriz? Accionamento por mbolos hidrulicos de duplo efeito. 3. Como so detectadas as posies extremas dos movimentos? As posies alta e baixa so detectadas pelos interruptores de fim de curso a1, a0, b1 e b0.
Automao Industrial
51
4. Como retirada a pea? A pea retirada atravs de um jacto de ar, comandado pela electrovlvula E, com uma durao de 1 segundo. As novas especificaes provocam o aparecimento de novas entradas, sadas e temporizaes, originando um novo grafcet. Entradas:
d : autorizao de arranque de ciclo a1 : posio baixa do puno a0 : posio alta do puno b0 : posio baixa da matriz b1 : posio alta da matriz
Sadas:
V: sinalizao luminosa a+ : descida do puno a- : subida do puno b+ : subida da matriz b- : descida da matriz E : evacuao
Temporizadores:
LT1 : ligar a temporizao de evacuao fT1 : fim da temporizao de evacuao
1 d 2 a1 3 b1 4 b0 5 a0
a+
a-
b-
E ; LT1 ft1
b+
Exemplo: Transporte e descarga de peas Consideremos o seguinte sistema, constitudo por um carro, C, que tem por objectivo o transporte de peas entre os postos A e B, nos sentidos direito (direito) e esquerdo (esquerdo). Em repouso, o carro encontra-se no posto A. Nesta posio, aps receber ordem do operador, o carro transporta uma pea at ao posto B, regressando de seguida ao posto A. A presena do carro nos postos A e B sinalizada. As peas depositadas no posto B so retiradas, duas de cada vez, atravs de um alapo, que se abre durante 20 segundos. Qualquer avaria no funcionamento do alapo sinalizada. Esta sinalizao mantm-se at ao operador a reconhecer.
Automao Industrial 52
Posto A
Posto B
Aps ter sido realizada a especificao funcional do sistema, necessrio elaborar a sua especificao tecnolgica: a presena do carro nas posies A e B detectada, respectivamente, pelos interruptores fim de curso a e b; a presena do carro na posio de repouso sinalizada atravs da lmpada V; o inicio do movimento comandado pelo operador atravs do boto m. Se aps ter terminado o movimento, o boto continuar premido, no se iniciar novo movimento; a abertura do alapo accionada por um mbolo com mola de chamada (AA); o contacto t0 assinala o alapo aberto; o alarme correspondente avaria no alapo transmitido pela sirene S; o arranque aps avaria comandado atravs do boto r; o accionamento do carro realizado por um motor elctrico com 2 sentidos de marcha (D e E). O motor protegido por um dispositivo, que quando activo implica a paragem momentnea do motor. Esta situao sinalizada pela lmpada L. 3.5 REPRESENTAO DE SEQUNCIAS SIMULTNEAS E ALTERNATIVAS 3.5.1 Sequncias Simultneas - Paralelismo Estrutural (N AND) O incio e o termo de sequncias simultneas so representados no Grafcet tal como se ilustra de seguida.
1 2 3
t1
Automao Industrial
53
O disparo da transio t1 s realizado quando as etapas 1,2 e 3 estiverem activas e a condio t1 seja verdadeira. Nesse caso, as etapas de entrada so desactivadas e as de sadas so activadas. Considere a seguinte unidade de furao e roscagem:
Posto 2: Furao
Posto 3: Roscagem
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.
11
21
31
12
22
32
13
23
33
24
34
35
3.5.2 Sequncias Alternativas - Paralelismo Interpretado (N OR) O incio e o termo de sequncias alternativas representado por:
Automao Industrial
54
ti1
ti2
tin
to1
to2
tom
Figura 6.9 - Sequncias Alternativas Para uma dada estrutura do grfico, o paralelismo (execuo simultnea de operaes) depende do resultado lgico das receptividades envolvidas: incompatveis - num dado instante apenas uma receptividade pode tomar o valor verdadeiro: evoluo exclusiva; idnticas - sempre verdadeiras em simultneo: paralelismo estrutural; compatveis - podem ser ou no, verdadeiras ou falsas em simultneo: evoluo qualquer.
Estabelecimentos de prioridades 1 a 2 3 a 2 3 /a . b
Evoluo Exclusiva 1 a
Figura 6.10 - Evoluo Exclusiva e Estabelecimento de Prioridades Exemplo: Atendimento de vrios postos Considere o seguinte exemplo, onde existe trs postos de atendimento para um dado veiculo.
Posto 1
Posto 2
Posto 3
Automao Industrial
55
garra aberta 11
pedido do posto 1 e carro em 2 ou 3 fechar garras garra fechada 12 transf. esquerda chegada posto 1 22 21
pedido do posto 2 e carro em 1 ou 3 fechar garras carro em 1 AND garra fechada 23 transf. direita chegada posto 2 32 31
pedido do posto 3 e carro em 1 ou 2 fechar garras garra fechada transf. direita chegada posto 3
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
Automao Industrial
56
No exemplo anterior a transio disparada 1 minuto depois da etapa 5 estar activa. Nessa altura, a transio disparada e a etapa 5 desactivada. Outra possvel implementao est ilustrada na figura que se segue.
Sobe_broca SE T / X2 / 3seg
Figura 6.13 - Evoluo Exclusiva Neste caso, a aco Sobe_broca executada enquanto a etapa 2 estiver activa e o temporizador estiver a 1, o que acontece 3 segundos aps a validao da etapa 2. 3.7 COOPERAO ENTRE PROCESSOS 3.7.1 Sincronizao Existem situaes em que necessria a sincronizao entre vrios processos. O conceito de sincronizao entre vrios processos significa ter um mecanismo que assegure que a evoluo do grafcet s seja possvel quando todas as condies necessrias para a sua evoluo estiverem reunidas. Sincronizao pela estrutura do Grafcet Considere o seguinte sistema, constitudo pelo carros C1 e C2.
a1 C1 b1 a2 C2 b2
Posto A1
Posto B1
Posto A2
Posto B2
Os carros C1 e C2 deslocam-se nos sentidos direito (D) e esquerdo (E), entre os postos a1 e b1 para C1, e a2 e b2 para C2. Os dois carros efectuam o movimento a-b-a, encontrando-se simultaneamente nas suas posies de repouso (postos a1 e a2) quando o operador der ordem de partida (boto p).
Automao Industrial
57
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.
3 a1
Esquerda
de notar que a evoluo do grafcet condicionada pela actividade da etapa 1. Vamos considerar uma nova alterao: C2 no pode iniciar o regresso ao seu posto de repouso b2 antes de C1 atingir o posto b1.
Automao Industrial
58
p 2 b1 Direita 5 b2 Direita
3 a1
Esquerda
1 6 a2 Esquerda
A evoluo do grafcet condicionada pela no actividade da etapa 8. Sincronizao pela interpretao do Grafcet possvel implementar os grafcets elaborados no ponto anterior, utilizando a interpretao do grafcet. A interpretao do grafcet consiste em utilizar o estado das etapas como condies de disparo de uma transio. No exemplo anterior, apenas nos dois ltimos casos, utilizado o estado de uma etapa para fazer dispara uma transio. No segundo dos grafcets, utilizado o estado da etapa 1 para fazer evoluir o gracet da etapa 5 para a etapa 6. Utilizando a interpretao, possvel redesenhar o gracfet e represent-lo da seguinte forma.
1 4
Na terceira verso do grafcet do ponto anterior, utilizado o estado da etapa 8 para fazer evoluir o grafcet da etapa 7 para a 6, e da 2 para a 3. O grafcet equivalente, utilizando interpretao ser o seguinte.
Automao Industrial
59
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
O ciclo correspondente a cada carro o seguinte: aps a ordem de partida, o carro dirige-se para o troo comum das vias; quando atinge a respectiva posio de espera, o carro pra se o troo comum estiver ocupado, ou prossegue em direco ao posto b se estiver livre; aps atingir o posto b, o carro imobiliza-se durante 2 minutos, iniciando de seguida o regresso ao posto de repouso. O grafcet para o problema, utilizando a estrutura de grafcet o que se segue.
Automao Industrial
60
Recuar posto A1
de realar que a etapa 1 sinaliza a disponibilidade do recurso (etapa activa troo livre; etapa inactiva troo ocupado). Em caso de os carros chegarem simultaneamente aos pontos de espera, o primeiro a passar o carro 1, devido a ter a transio associada evoluo do grafcet sempre validada (1). Atravs do mtodo da Interpretao do Grafcet possvel elaborar uma outra soluo para o problema.
Carro 1 Carro 2
1 partida 1 2 Avanar espera 1 3 /(X13+X14+X15) 4 Avanar posto B 5 t/X5/2 min 6 Recuar espera 1 7 Recuar posto a1
10 partida 2 11 Avanar espera 2 12 /(X3+X4+X5+X6) 13 Avanar posto B 14 t/X14/2 min 15 Recuar espera 2 16 Recuar posto a2
A organizao hierrquica de Grafcets permite a simplificao do grafcet atravs da desacoplao das vrias actividades associadas entre si.
Automao Industrial 61
10 partida 1 11 Avanar espera 1 12 X1 13 Avanar posto B 14 t/X14/2 min 15 Recuar espera 1 16 Recuar posto a1
20 partida 2 21 Avanar espera 2 22 X1 . /X12 23 Avanar posto B 24 t/X24/2 min 25 5 26 Recuar espera 2 Recuar posto a2
3.7.3 Subtarefas Uma subtarefa pode ser definida como uma sequncia de operaes que podero ser repetidas vrias vezes dentro de um grafcet. Sempre que se pretende executar o conjunto de operaes constituintes da subtarefa, a evoluo do grafcet salta para a subtarefa. No acesso a essa subtarefa poder existir situaes de conflito ou no, dependendo do nmero de processos que a invocam. Acesso sem Conflito No acesso sem conflito a uma subtarefa, nunca existe a possibilidade de a mesma subtarefa ser invocada simultaneamente por dois ou mais processos.
Estrutural Interpretado
10 a
Chamada 1 Chamada 2
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
Automao Industrial
62
Acesso com Conflito No caso de existir a possibilidade de uma subtarefa ser chamada por mais do que um processo simultaneamente, necessrio criar uma etapa auxiliar, cujo objectivo gerir o acesso subtarefa.
13
25
14
31 n 1 32 1
26
15 39
27
Processo 1
Sub-tarefa
Processo 2
Figura 6.15 - Acesso com conflito a uma subtarefa A etapa 0 regula o acesso de vrios processos a uma mesma subtarefa. Se essa etapa estiver activa, ento o acesso subtarefa autorizado; por outro lado, se estiver inactiva, o acesso subtarefa recusado. Exemplo: Sistema de descarga comum Consideremos o sistema que se representa de seguida.
RE RD SP a1 C1 FP Posto A1 Posto B Tapete de Evacuao DP AP Posto A2 C2
Os carros C1 e C2 transportam peas entre os postos a1 e a2 e o posto b, partilhando o mesmo sistema de descarga comum em b. O movimento dos carros o seguinte:
Automao Industrial 63
com os dois carros nos postos de repouso (a1 e a2), aps a ordem de partida (p), o carro C1 desloca-se at b onde descarregado. Terminada a operao de descarga, C1 regressa ao posto a1. De seguida, o carro C2 desloca-se at ao posto b onde por sua vez, descarregado aps o quer regressa ao posto a2. O sistema de descarga constitudo por uma pina que pode subir (SP) e descer (DP) entre as posies superior (superior) e inferior (inferior); rodar direita (RD) e rodar esquerda (RE) entre as posies direita (direita) e esquerda (esquerda). O fecho da pina (FP) comandado por um mbolo de efeito simples, sendo detectado pelo contacto pf. O ciclo de operaes envolvido na descarga o seguinte: inicialmente a pina est na posio superior direita e aberta; aps ser solicitada a descarga de um carro, a pina desce, agarra o objecto, sobe, roda esquerda e abre depositando o objecto no tapete de evacuao. De seguida, regressa posio inicial. de reparar que a descarga uma tarefa que comum, pelo que pode ser considerada como uma subtarefa.
1 p 2 b1 inferior 3 11 pf 1 4 a1 5 b2 Esquerda C2 Esquerda C1 13 12 SP; FP superior RD; FP direita 14 /pf 6 15 RE esquerda 1 7 a2 Direita C2 16 /FP FP Direita C1 10 DP
NOTA: A etapa 3 simboliza a descarga do carro C1 e a etapa 6 a descarga do carro C2. Considere-se agora, que os carros C1 e C2 possuem sistemas de comando autnomos, cada um com o seguinte ciclo de operaes: aps a ordem de partida o carro desloca-se at ao posto b, onde aguarda imobilizado at o sistema de descarga estar disponvel;
Automao Industrial
64
depois de terminada a descarga, o carro regressa ao seu posto de repouso. O grafcet, considerando estas especificaes adicionais o que se representa de seguida.
1 p1 2 b1 3 23 Direita C1 0 22 b1 21 P2 Esquerda C2
/X3
10
DP inferior
24
1 Esquerda C1 a1
11 pf 12
FP
SP; FP superior
25 b2
Direita C2
13
RE; FP esquerda
14 /pf 15 RD direita 16
Neste caso, aplicou-se a etapa 0 para resolver o conflito de acesso subtarefa. 3.8 ANLISE E VALIDAO DE GRAFCET Os objectivos da anlise e validao de Grafcet so: Determinar o comportamento da parte de comando quando ligada parte operativa: Fase de anlise das especificaes. Estudar esse comportamento, tendo por objectivo detectar eventuais erros: Fase de Validao das especificaes. Pretende-se assegurar, ainda durante a fase de projecto, elevada probabilidade de o automatismo estar isento de erros de concepo.
Automao Industrial
65
3.8.1 Introduo Anlise de Grafcet A anlise de grafcet pode basear-se no grfico das situaes acessveis. Este grfico descreve as situaes que podem ser alcanadas a partir da situao inicial. A partir deste grfico possvel determinar as propriedades do grafcet. A evoluo da situao do grafcet determinada pela sua estrutura e pela sua interpretao (conjunto de receptividades). A interpretao do grafcet pode ser decomposta nas interpretaes interna e externa. A interpretao interna est associada ao estado das etapas e a externa a condies exteriores. 3.8.2 Grafcet Autnomo O grafcet autnomo obtido, considerando no grafcet original, apenas a interpretao interna e atribuindo a todas as receptividades externas o valor (valor indiferente).
1 b.c 2
1 2
a 3
/c . /X3
. /X3
/X1
/X1
Grafcet Original
Grafcet Autnomo
Figura 6.16 - Grafcet Autnomo O grafcet autnomo constitui o ncleo do grafcet e independente do exterior do circuito de comando. As propriedades prprias do circuito de comando podem ser estudadas a partir do grfico das situaes acessveis do grafcet autnomo. 3.8.3 Grfico das situaes acessveis O grfico das situaes acessveis obtido a partir da situao inicial explicitando para cada transio todas as combinaes possveis de disparo das transies. s variveis que substituem as receptividades externas so atribudos os valores 0 ou 1. Consideremos o seguinte grafcet.
Automao Industrial
66
1 t1
2 t2 4
3 t3 5 G
t4
O grfico de situaes acessveis e que representa a evoluo da grafcet perante o disparo das transies o que se segue.
1 t1 t2 3 ,4 t3 3, 2 t2, t3 4, 5 t3 t2 2, 5 t4
Alternativamente ao grfico, possvel utilizar uma tabela que represente a evoluo do grafcet.
Situao Actual 1 2,3 Transies Sensibilizadas t1 t2, t3 Transies Disparadas t1 t2 t3 t2, t3 t3 t2 t4 Situao Seguinte 2,3 4, 3 2, 5 4, 5 4, 5 4, 5 1
4, 3 2, 5 4, 5
t3 t2 t4
3.8.4 Anlise de Grafcet Atravs do grfico das situaes acessveis possvel detectar situaes de bloqueio no grafcet elaborado para o automatismo. Exemplo: Fabrico de Iogurtes O leite e o fermento so preparados, em separado, nos aparelhos A1 e A2, antes de serem misturados em A4. Em simultneo so produzidos dois boies em A3. De
Automao Industrial
67
seguida, os boies so enchidos em paralelo nos aparelhos A5 e A6, e colocados em estufa. O grafcet que soluciona este problema encontra-se representado na figura que se segue.
1 t1 arranque
A3 pronto
11
12
t10 14 t12 15
t1
1
t14
t15 18 t16
12, 15
evoluo bloqueada
t12
14,16 t14
11, 17
evoluo bloqueada
Automao Industrial
68
O erro consiste no facto da etapa 13 validar as transies t10 e t11. Estas transies ocorrendo em momentos diferentes provocam o bloqueio do grafcet. A soluo correcta consiste em validar t10 e t11 por duas etapas distintas (13 e 19).
t6 9 t8 A4 pronto Mistura mistura pronta t9 t7 10 A3 pronto Produz boies boies prontos
11
12
19
13
t10 14 t12 15
A5 pronto
t11 16
A6 pronto
boio cheio
t14 17
boio cheio
Considere-se agora que a mistura de leite e fermento pode resultar imprpria para consumo. Nesta situao a mistura rejeitada e o processo re-inicializado.
Automao Industrial
69
1 t1 arranque
A3 pronto
10 7
Produz boies
t9
boies prontos
13
t10 14 t12 15
A5 pronto
t1
1
boio cheio
t14
t15 18 t16
estufa pronta
iogurte pronto
O erro consiste em as etapas 13 e 19 serem reactivadas aps a rejeio da mistura. Assim, so produzidos novos boies antes dos anteriores terem sido consumidos. A soluo correcta consiste em reinicializar apenas o processo de fabrico do leite e do fermento (etapas 2 e 5).
Automao Industrial
70
1 t1 arranque
Automao Industrial
71
4 SENSORES
O controlo de processos industriais recorre cada vez mais utilizao de PC e PLCs. Os PLCs so muito mais rpidos e precisos de que um operador na execuo de tarefas montonas e repetitivas, razo pela qual se justifica a sua utilizao. No entanto, O PLC no pode ver, ouvir, sentir e cheirar o que se passa durante o processo produtivo, pelo qual no se apercebe do estado em que se encontram as grandezas envolvidas no controlo do processo. Os sensores so utilizados para dar ao PLC as capacidades de sentir o que se passa no processo que est a controlar. Assim, os sensores tem por funo a aquisio do estado do mundo real, pelo que se pode definir o sensor como um dispositivo que converte grandezas fsicas que se pretendem medir em grandezas elctricas que podero ser processadas e transmitidas [Hauptmann, 91]. As grandezas fsicas capazes de serem adquiridos por sensores ultrapassam as centenas, existindo deste modo, uma vasta gama de diferentes tipos de sensores no mercado.
Grandeza fsica
Sensor
Condicionamento do sinal
Autmato Programvel
cujas funes se destacam, a amplificao, filtragem, linearizao, converso analgico-digital, etc. A ligao dos sensores pode ser realizada de duas formas distintas: a dois fios, utilizando o mesmo fio para a alimentao e para o sinal; a trs fios, utilizando um fio para a alimentao, outro para o sinal e o restante para a massa.
Alim/Sinal
Alimentao
Sensor
Comum
PLC
Sensor
Sinal Comum
PLC
Figura 4.2 - Ligao de um sensor Os sensores podem ser classificados de acordo com o tipo de sinal que fornecem sada, ou seja sensores digitais ou analgicos. Os sensores digitais so os de utilizao mais fcil, pois apenas apresenta dois estados. Encontram neste grupo os sensores que detectam a proximidade de objectos, a contagem de peas, a intruso de pessoas, o controlo do nvel de lquidos, etc.
Automao Industrial
72
Os sensores analgicos fornecem na sada um sinal analgico, proporcional grandeza fsica que esto a medir. So exemplos deste tipo de sensores, os sensores de temperatura e de luminosidade, Neste estudo apenas se vo referir os diferentes sensores digitais, vulgarmente utilizados em aplicaes industriais, como sejam sensores para a medir a proximidade, existncia de objectos, etc. De fora deste estudo ficam um vasto conjunto de diferentes tipos de sensores, tais como, temperatura, presso, luminosidade, posio, velocidade, etc. 4.1 SENSORES CAPACITIVOS O elemento sensor constitudo por um condutor cilndrico e por uma bainha exterior metlica. A capacidade assim formada alterada pela presena de um objecto.
Cp(x) C1
Ce B
C(x)
R C1 R
Cp(x)
C(x)
~ es
Figura 4.3 - Modelo de um sensor capacitivo A deteco da presena do objecto baseada na medida da capacidade, por exemplo atravs de uma ponte. Os sensores capacitivos so sensveis virtualmente a qualquer material, como por exemplo madeira, vidro, gua, etc. As aplicaes tpicas deste tipo de sensores so a deteco de objectos, controlo de nvel de lquidos, posicionamento de objectos, deteco de fluxo, etc.
Mximo Minim o
Deteco/Contagem de Objectos
Controlo de nvel
Deteco de fluxo
Automao Industrial
73
4.2 SENSORES INDUTIVOS Os sensores indutivos assemelham-se aos sensores capacitivos quanto ao tipo de aplicaes, diferindo no facto de estes apenas detectarem objectos metlicos, enquanto os capacitivos detectam qualquer tipo de objecto. Existem dois tipos de sensores indutivos, diferenciados quanto ao seu princpio de funcionamento: relutncia varivel e correntes de Foulcault. 4.2.1 Relutncia Varivel Trata-se de um transformador cujo circuito magntico inclui o objecto a detectar que deve apresentar propriedades ferromagnticas. O intervalo entre o detector e o objecto comporta-se como um entreferro varivel.
Superficie ferromagntica
Blindagem magntica
Primrio
Secundrio
Figura 4.5 - Modelo de um sensor indutivo A medida do fluxo no enrolamento secundrio, que varia com o entreferro, permite detectar a presena do objecto. 4.2.2 Correntes de Foucault Uma bobina no interior do sensor percorrida por uma corrente de frequncia elevada que produz um campo magntico na sua proximidade. Um objecto metlico nesta zona ser sede de correntes de Foucault que se opem ao campo criado pela bobina e alteram o valor da sua auto-inductncia. A bobina est inserida num circuito oscilante LC, pelo que a presena do objecto faz cessar as oscilaes. Como j foi referido, o sensor indutivo apenas sensvel a objectos metlicos, dependendo a sua sensibilidade das formas e propriedades fsicas do objecto.
Automao Industrial
74
4.3 SENSORES FINS DE CURSO Os fins de cursos so os sensores mais vulgares nos processos produtivos, devido sua facilidade de utilizao, associada ao seu baixo custo. Os fins de curso so interruptores electromecnicos accionados pelo objecto a detectar. Existem vrios tipos de fins de curso: horizontais, verticais, de roldana, de boto, etc. Devido ao seu princpio de funcionamento, este tipo de interruptor est sujeito ao desgaste do contacto mvel. Das suas aplicaes tpicas destacam-se a contagem de peas, a deteco de passagem de objectos, deteco de intruso, sistemas de segurana, etc. 4.4 SENSORES FOTOELCTRICOS Os sensores fotoelctricos so constitudos por um elemento emissor de luz, vulgarmente um fotododo, e por um elemento sensvel luz incidente, como seja uma fotoresistncia.
Resistncia ( ) Incidncia de luz V
Figura 4.7 - Dependncia da Resistncia com a Luz A incidncia de luz est associada libertao de cargas elctricas e ao correspondente aumento de condutividade. Este fenmeno provoca a variao da resistncia do elemento em funo da luz incidida. As clulas fotoelctricas podem ser apresentadas em diferentes tipos de deteco: Barreira, reflexo e reflexo no objecto. 4.4.1 Barreira Neste tipo de configurao, o elemento emissor emite uma onda luminosa com uma frequncia tal que invisvel ao olho humano e que no seja afectada por outras fontes de iluminao existentes na sua proximidade.
Receptor
Emissor
Automao Industrial
75
A recepo do feixe de luz efectuada por outro elemento, posicionado na mesma direco do emissor. A interrupo deste feixe de luz, por parte de um objecto, permite a sua deteco. 4.4.2 Reflexo Neste tipo de configurao, o emissor e o receptor encontram-se concentrados num s dispositivo, sendo necessrio a utilizao de um painel reflector que permita a reflexo da onda incidente da luz.
Figura 4.9 - Clulas fotoelctricas do tipo reflexo A interrupo do feixe de luz por um objecto, desvia o feixe do receptor, que ao no receber o feixe de luz detecta a existncia de um objecto. 4.4.3 Reflexo no objecto Neste tipo de deteco, o objecto que interrompe o feixe de luz, detectado sempre que o receptor receba uma incidncia de luz.
Figura 4.10 - Clulas fotoelctricas do tipo reflexo no objecto Existem variadas aplicaes para as clulas fotoelctricas, das quais se destacam, sistemas de segurana, contagem de peas, deteco de objectos, deteco de nvel de liquido, etc. 4.5 SENSORES DE ULTRASONS O sensor de ultrasons, baseia o seu funcionamento na emisso e recepo de ondas de frequncia acima de 20 KHz. Este tipo de sensor apresenta duas aplicaes distintas: determinao de distancias a que se encontram objectos e a deteco de objectos.
Emissor Receptor
Emissor Receptor
Automao Industrial
76
4.5.1 Distncia de um Objecto O sensor emite uma onda, que ser reflectida pelo objecto a ser medido, e que ser recebida pelo mesmo ou por outro sensor. O tempo decorrido entre a emisso e a recepo da onda, determina a distncia a que se encontra o objecto.
Onda transmitida
Figura 4.11 - Sensor de ultrasons 4.5.2 Deteco de Objectos Os sensores de ultrasons podem igualmente ser utilizados na deteco de objectos. Neste caso, os sensores so previamente configurados para detectar a uma determinada distncia a existncia de objectos. A aplicao de detectores capacitivos na monitorizao do nvel de produto em silos pode no ser possvel se puder verificar a adeso de materiais, por exemplo poeiras superfcie sensora do detector.
Sensor de Ultrasons
Figura 4.11 - Exemplo de uma aplicao de sensores de ultrasons Nestes casos, a utilizao de um sensor de ultrasons deve ser prefervel, pois devido ao seu principio de funcionamento, a superfcie sensora est sempre em vibrao, o que impede a adeso de quaisquer materiais. 4.6 SENSORES ESPECIAIS 4.6.1 Leitores de Cdigos de Barras Dispositivos que permitem a leitura de cdigos de barras, e que permitem efectuar um controlo de processos e identificao de produtos.
Automao Industrial
77
4.6.2 Dispositivos de Escrita/Leitura de Etiquetas Permitem ler a informao armazenada em etiquetas que acompanham os produtos ao longo do processo produtivo. Possuem de igual modo a funcionalidade de escrita de informao nas etiquetas ou pastilhas. O tipo de informao a armazenar previamente configurada, diferindo de aplicao para aplicao. Por exemplo, uma etiqueta que armazene a informao relativa a uma ferramenta, dever ter a seguinte estrutura de dados: identificao cdigo dimenso X dimenso Z desgaste na dimenso X desgaste na dimenso Z tempo de vida as integer as string[4] as float as float as float as float as integer
Automao Industrial
78
N de N
Dados
FCS
Terminador
Automao Industrial
80
Esta estrutura composta por campos de informao, em que: @: caracter de inicio de frame; N do N: identifica a comunicao entre o PC e o autmato, sendo especificado no setup do PLC (DM 6653 no CPM1); Cdigo do Cabealho: estes dois caracteres indicam a funo do comando e a rea de memria onde se pretende executar essa funo; Dados: indica os parmetros do comando, tais como o endereo da rea de memria em causa e o nmero de palavras envolvidas; FCS (Frame Check Sequence): estes dois caracteres controlam os erros de transmisso; Terminador: o caracter * e o CHR$(13), carriage return, indicam o fim do comando; A frame de resposta apresenta o formato representado na figura que se segue.
@ x10^1 x10^0 Cdigo do Cabealho x16^1 x16^0 *
N de N
Cdigo de Fim
Dados
FCS
Terminador
Figura 5.3 - Frame de resposta Esta frame apresenta os mesmos parmetros da frame de comando, excepo do Cdigo de Fim, que indica se ocorreu algum erro de transmisso, atravs de um cdigo associado a cada tipo de erro [CPM1, 96]. Na transmisso de informao entre duas entidades, um dos erros que podem ocorrer a alterao do estado de algum bit. Uma tcnica para controlar este tipo de erro, usar um procedimento baseado na operao lgica XOR (OR exclusivo). Para calcular o FCS, cada caracter convertido no seu cdigo ASCII. efectuada a operao lgica XOR entre os dois primeiros caracteres, sendo este resultado usado para efectuar o XOR com o caracter seguinte, e assim sucessivamente at ao fim da rea de dados. Quando a frame de comando recebida, o FCS calculado de forma anloga e comparado com o cdigo recebido. Caso o cdigo recebido seja diferente do cdigo FCS calculado, significa que algum bit alterou o seu valor, ou seja, ocorreu um erro na transmisso da frame. Para calcular o FCS, utilizada a seguinte subrotina:
{ Private Sub Calc_fcs(msg As String) fcs = 0 For i = 1 To Len(msg) fcs = fcs Xor Asc(Mid$(msg, i, 1)) Next i fcs = Hex$(fcs) End Sub } De seguida apresenta-se a subrotina que configura o protocolo de comunicao com o PLC.
Automao Industrial
81
{ Private Sub Form_Load() ' 9600 baud rate, no parity, 7 data, and 2 stop bit MSComm1.Settings = "9600,e,7,2" MSComm1.CommPort = 2 MSComm1.PortOpen = True End Sub } A rotina que se apresenta de seguida, l os dados do autmato continuamente e verifica se ocorreu algum erro de comunicao. Os dados lidos, referentes ao estado do semforo so apresentados na janela da aplicao desenvolvida. { Private Sub monitorizar_Click() Do msg = "@00RR00100001" MSComm1_OnComm If (Mid$(mensg_recebida, 6, 2) = "00") Then texto.Text = "Exito" Else status.Text = "Erro" End If aux = Mid$(mensg_recebida, 10, 2) If (aux = 01) Then vermelho.visible = True amarelo.visible = False verde.visible = False End If If (aux = 04) Then vermelho.visible = False amarelo.visible = True verde.visible = False End If If (aux = 02) Then vermelho.visible = False amarelo.visible = False verde.visible = True End If Loop While (True) End Sub } A subrotina MSComm1_OnComm() realiza a sequncia de operaes necessrias ao envia de todos os comandos para o autmato, ou seja, efectua a comunicao propriamente dita. { Private Sub MSComm1_OnComm() Dim fim As String fim = "*" & Chr$(13) mensag_recebida = "" Resultado.Text = msg Calc_fcs (msg) MSComm1.Output = msg & fcs & "*" & Chr$(13) ' Espera que chegue informao porta srie. Do Dummy = DoEvents() Loop Until MSComm1.InBufferCount >= 11 Automao Industrial 82
' L o comando de resposta Do mensag_recebida = mensag_recebida + MSComm1.Input Loop Until Right(mensag_recebida, 2) = fim Resultado.Text = mensag_recebida End Sub } Em paralelo com a funcionalidade de monitorizao pretende-se tambm ter na aplicao a funcionalidade de controlo remoto sobre o processo, pelo que vamos efectuar o arranque e a paragem atravs do PC. { Private Sub arranque_Click() 'Activar variavel Arranque msg = "@00WR00000001 MSComm1_OnComm End Sub } { Private Sub paragem_Click() 'Activar variavel Paragem msg = "@00WR00000002 MSComm1_OnComm End Sub }
Automao Industrial
83
6 REFERNCIAS BIBLIOGRFICAS
[Asfahl, 92] [Fu, 87] [Almeida, 93] C. Ray Asfahl, Robots and Manufacturing Automation, Wiley, 1992 K. Fu, R.C. Gonzalez, C.S.G. Lee, Robotics: Control, Sensing, Vision and Intelligence, McGraw-Hill, 1987 Adriano Almeida, Anbal Oliveira e Eurico Magos, Autmatos Programveis, Tecnologias e Esquemas de Electricidade, Edies ASA, 1993 K. Clements-Jewery, W. Jeffcoat, The PLC Workbook, Prentice Hall, 1996 CPM1 Programmable Controller - Programming Manual, Omron, 1996 Maria de Ftima Chouzal, Controlo Digital de Motores Passo a Passo, Dissertao de Mestrado, FEUP, 1991 Peter Hauptmann, Sensors, Principles & Applications, Prentice Hall, 1993 Jos Novais, Programao de Autmatos, Mtodo Grafcet, Fundao Calouste Gulbenkian, 2 Edio, 1994 Gustaf Olsson, G. Piani, Computer Systems for Automation and Control, Prentice Hall, 1992 Colin D. Simpson, Programmable Logic Controllers, Regents/Prentice Hall, 1994 Jon Stenerson, Fundamentals of Programmable Logic Controllers, Sensors, & Communications, Regents/Prentice Hall, 1993 Technical information on stepping motors Ian G. Warnock, Programmable Controllers, Operation and Application, Prentice Hall, 1988
[Clements, 96] [CPM1, 96] [Chouzal, 91] [Hauptmann, 93] [Novais, 94] [Olsson, 92] [Simpson, 94] [Stenerson, 93] [Vexta] [Warnock, 88]
Automao Industrial
84
Representao Externa
Codificao
Representao Binria
Processamento Armazenamento
Representao Externa
Descodificao
Representao Binria
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
Automao Industrial
85
o valor da posio que ocupa no conjunto (peso), que representa o significado do digito na palavra ou grupo de dgitos. Para o clculo deste peso consideram-se os seguintes parmetros: Base - nmero mximo de smbolos que podem ser utilizados para codificar a informao. Um sistema de base n admite n smbolos diferentes: 0, 1, 2, ..., n -1. Por exemplo, o sistema decimal admite 10 dgitos diferentes (de 0 a 9). Peso - representao da posio relativa do smbolo no conjunto das posies, variando a partir da primeira posio da direita (a menos significativa) aumentando de 1 unidade por cada posio sucessivamente mais esquerda. Exemplo: Para o nmero 324567 na base n, o peso do smbolo 4 3 ser n .
Sistema Decimal
A codificao de nmeros no sistema decimal utiliza combinaes de 10 dgitos, compreendidos entre 0 e 9. Uma vez que utiliza 10 dgitos, o peso de cada dgito dentro da palavra dado em funo de potncias de 10 (10i). A decomposio de um nmero decimal possvel, multiplicando o valor intrnseco de cada posio pelo seu peso e somando os produtos obtidos.
. 3 3 * 10 0 2 * 10 1 1 * 10 2 5 * 10
-1
Valor Intrinseco
Automao Industrial
86
1 2 0 8 Peso 11
Valor Intriseco
0 0 * 16 1 15 * 16 2 10 * 16 3 1 * 16
0
Valor Intrinseco
Decimal 0 1 2 3 8 9 10 11 14 15
Hexadecimal 0 1 2 3 . . . 8 9 A B . . . E F
Binria 0000 0001 0010 0011 1000 1001 1010 1011 1110 1111
Automao Industrial
87
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)
Automao Industrial
88
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)
Automao Industrial
89
Na tabela que se segue esto ilustrados os cdigos BCD de alguns nmeros decimais. Decimal 0 1 2 3 4 5 6 7 8 9 10 11 ... BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 0001 0000 0001 0001 ...
Cdigo GRAY
O cdigo Gray um tipo de codificao binria em que no so utilizadas as posies pesadas. O cdigo tem a particularidade de a transio de um numero para o prximo requerer a mudana de apenas um digito.
Decimal 0 1 2 3 4 5 6 7 8 9
Cdigo Gray 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101
A grande desvantagem da codificao Gray a confuso para a contagem normal. No entanto, existem algumas regras para a construo do cdigo Gray. Por exemplo, verifica-se na tabela anterior, que para posio do nmero existe uma sequncia alternada e peridica de 1s e 0s. Assim, para a posio i, existe uma sequncia de 2 (i+1) 1s seguidos de 2 (i+1) 0s, de forma alternada; a sequncia inicia-se por 2i zeros. A sua aplicao tpica em sistemas de codificao de posio (encoders).
Cdigo ASCII
O cdigo ASCII (American Standard Code for Information Interchange) um cdigo alfanumrico que inclui smbolos, letras e nmeros. Cada um dos cdigos constitudo por 7 bits. 90
Automao Industrial
LGEBRA DE BOOLE
A manipulao de informao codificada no sistema binrio, atravs de algumas regras e teoremas conhecida pela lgebra de Boole. O sistema binrio apresenta apenas dois dgitos 0 e 1, que correspondem a dois estados lgicos, que so o Falso (0) e o Verdadeiro (1).
Operadores
De forma a ser possvel a manipulao destes valores necessrio a existncia de operadores. Os operadores lgicos mais vulgares so: AND (.) - que corresponde ao E lgico de dois valores, ou seja, o resultado Verdadeiro quando a condio X e a condio Y forem Verdadeiras. X 1 1 0 0 Y 1 0 1 0 X AND Y 1 0 0 0
OR (+) - que corresponde ao OU lgico de dois valores, ou seja, o resultado Verdadeiro quando a condio X ou a condio Y forem Verdadeiras. X 1 1 0 0 Y 1 0 1 0 X OR Y 1 1 1 0
NOT (-) - que corresponde negao do valor inicial, ou seja, o resultado Verdadeiro se a condio de entrada for Falsa. X 1 0 NOT X 0 1
XOR - que corresponde ao OU exclusivo dos dois valores de entrada, ou seja, o resultado Verdadeiro se a condio X ou a condio Y forem Verdadeiras, mas no simultaneamente. X 1 1 0 0 Y 1 0 1 0 X XOR Y 0 1 1 0
Automao Industrial
91
Teoremas
A partir da definio de cada um dos operadores, possvel estabelecer alguns teoremas para a manipulao dos operandos lgicos. Assim, podemos escrever: Comutatividade X+Y = Y+X X.Y = Y.X Distributividade X.(Y+Z) = X.Y+X.Z Associatividade X+(Y+Z) = (X+Y)+Z = X+Y+Z X (Y.Z) = (X.Y).Z = X.Y.Z A partir dos teoremas referidos e das caractersticas de cada operador, possvel retirar algumas regras importantes na manipulao de expresses lgicas: X OR 0 = X, X OR 1 = 1, X OR /X = 1, X AND 0 = 0, o OU de uma varivel com Falso ser o valor da varivel. o OU de uma varivel com Verdadeiro sempre Verdadeiro. o OU de uma varivel com a sua negada sempre Verdadeiro. o AND de uma varivel com Falso sempre Falso.
X AND 1 = X, o AND de uma varivel com Verdadeiro ser o valor da varivel. X AND X = X, o AND de uma varivel com ela prpria ser o valor dessa varivel. Y.X + /X.Y = Y X + XY = X
Exerccio
Simplifique a seguinte expresso utilizando os teoremas da lgica. (X1+X3)(X1+/X3)(/X2+X3)
Leis de Morgan
As leis de Morgan so de importncia fundamental na lgica binria, e resumem-se a duas leis: 1. /(X + Y) = /X . /Y Que significa que a negao do OU lgico das variveis X e Y equivalente ao E lgico das variveis X e Y negadas.
Automao Industrial
92
2. /(X.Y) = /X + /Y Que significa que a negao do E lgico das variveis X e Y equivalente ao OU lgico das variveis X e Y negadas. As leis de Morgan so vulgarmente utilizadas na simplificao de expresses lgicas.
Exerccios
1. 2. /(/A + /B) (A + /B).(/A + B)
Automao Industrial
93