Professional Documents
Culture Documents
Automação e Robótica
Engenharia Informática
1 AUTOMAÇÃO DE PROCESSOS 5
1.3 Funcionamento 14
2.4 Temporizadores 34
2.4.1 Temporizador ao Impulso 36
2.4.2 Temporizador após a operação 37
2.4.3 Temporizador de alta velocidade 38
2.5 Contadores 38
2.5.1 CNT 38
2.5.2 Contador reversível CNTR 39
2.5.3 Exemplo de aplicação 40
Automação e Robótica 2
2.6.1 MOVE 41
2.6.2 MOVE NOT 42
2.6.3 Instruções Diferenciais 42
2.6.4 Endereçamento Indirecto 43
2.7 Interrupções 43
2.8 Subrotinas 45
4.1 Introdução 72
Automação e Robótica 3
4.2.6 Tipos de Controlo de Movimento 78
5 REFERÊNCIAS BIBLIOGRÁFICAS 89
Sistemas de Numeração 90
Sistema Decimal 91
Sistema Binário 91
Sistema Hexadecimal 92
Álgebra de Boole 96
Operadores 96
Teoremas 97
Leis de Morgan 97
Automação e Robótica 4
1 AUTOMAÇÃO DE PROCESSOS
Nos últimos anos, tem-se assistido a uma mudança drástica dos esquemas de
produção. Isto deve-se, por um lado à crescente competição entre as empresas, por
outro, ao enorme desenvolvimento das tecnologias que envolvem micro-
controladores, robôs, máquinas de controlo numérico, redes de comunicação,
inteligência artificial, etc.
Em abstracto, todas as estratégias de produção visam um conjunto de objectivos,
que na realidade corresponde a um só mais lato: o aumento da competitividade. Não
é correcto dizer-se que o objectivo é o aumento da produtividade, pois de que serve
produzir mais se não houver clientes para os produtos?
Assim, automatização industrial poderá ser definida pelo conjunto de tecnologias
relacionadas com a aplicação de equipamentos (mecânicos, electrónicos, baseados em
computador, etc.) em sistemas industriais de produção, e que com ela é conseguido
um aumento de competitividade (em termos de custos, qualidade, disponibilidade e
inovação).
Um sistema automatizado pode contribuir para o aumento da competitividade da
empresa através da:
− Redução de custos de pessoal: a redução de custos de pessoal obtém-se, por
exemplo, com a automatização das máquinas (tem o seu custo...) ou com a
automatização do controlo e planeamento da produção.
− Redução de custos de stock (intermédios e terminais): devido ao controlo e
planeamento da produção, que visa, entre outros aspectos, atingir stocks
intermédios mantidos ao mínimo (stock zero), disponibilidade de produtos
(atraso zero), optimização de compras graças ao controlo de produção em tempo
real, etc.
− Aumento da qualidade dos produtos: utilização de máquinas mais precisas do
que o homem, o que garantem melhores características de repetibilidade
(qualidade constante, não dependente de turnos particulares).
− Maior disponibilidade dos produtos: redução do número de avarias.
− Aumento da evolutibilidade: menos tempo necessário para o projecto,
planeamento e fabrico de novos produtos, associado à utilização de máquinas
programáveis aptas a desempenhar diferentes operações.
− Aumento da flexibilidade da produção: resposta rápida às solicitações do
mercado e capacidade de operar diferentes variantes de produtos.
Automação e Robótica 5
de controlo e a complexidade de realizar manutenção (por exemplo, detectar o
estado de um sistema que engloba 1000 sensores e actuadores, é bastante complexo
em lógica cablada, pois é necessário verificar localmente cada um dos dispositivos).
Automação e Robótica 6
contínua da tecnologia e aos protocolos de comunicação incompatíveis, faz com que
as comunicações entre PLC´s sejam um pesadelo.
Nos anos 80 houve um esforço para normalizar as comunicações entre PLCs, com a
General Motors a desenvolver um protocolo standard para a indústria da manufactura,
o MAP (Manufacturing Automation Protocol). Mais tarde, tentou-se desenvolver um
novo protocolo não tão pesado do que o anterior, designado por Fieldbus, mas a falta
de normalização deu origem a vários standards de facto, desenvolvidos por diferentes
fabricantes de tecnologia de automação.
Nos anos 90 a grande novidade foi a tentativa de normalizar as várias linguagens de
programação de PLC´s. Deste modo, existe a possibilidade de programar PLCs
utilizando diagramas de blocos, lista de instruções, C e texto estruturado ao mesmo
tempo.
Actualmente existem mais de 50 fabricantes diferentes de autómatos
programáveis, cada um dos quais apresenta diferentes gamas de autómatos com
diferentes funcionalidades, diferentes linguagens de programação e diferentes
protocolos de comunicação. Dos diversos fabricantes de autómatos programáveis,
destacam-se: Siemens, Omron, Schneider, Rockwell, Mitsubishi, Telemecanique, AEG,
Allen-Bradley, Fagor, Saia e Fatrónica.
O rápido crescimento do mercado (principalmente a partir da década de 80),
associado à grande variedade de PLCs disponíveis, fez com que os sistemas de
controlo previamente utilizados na indústria, se tornassem rapidamente obsoletos,
principalmente devido ao facto de apresentarem pouca flexibilidade. Actualmente, os
autómatos programáveis são os componentes fulcrais no desenvolvimento de
aplicações de automação industrial, dadas as suas características, das quais se
destacam:
Automação e Robótica 7
processamento, memória, módulos de entrada e saída, fonte de alimentação e
unidade de programação.
Basicamente, o módulo de entrada adquire o estado do mundo exterior e armazena
esses valores na memória. A execução do programa, também ele armazenado na
memória, permite de acordo com os valores das entradas tomar decisões de acções a
realizar, através do módulo de saída. O programa de software que gere o
funcionamento do sistema de controlo que se pretenda que o PLC realize, é criado
utilizando uma linguagem de programação adequada e transferido para o PLC através
de uma unidade de programação.
A potencialidade de cada autómato programável pode ser analisada atrás da
capacidade de endereçamento, conjunto de instruções, número de entradas e saídas,
número de cartas especiais, assim como o tempo de ciclo, as suas capacidades de
comunicação e a facilidade de utilização.
Fonte de
Alimentação
CPU
Entradas
Saídas
Mundo Mundo
Exterior Exterior
Memória
Unidade de
Programação
Cada um destes blocos será abordado mais aprofundadamente nos pontos que se
seguem, sendo para cada um deles referidas as suas principais funcionalidades.
Automação e Robótica 8
• Operação de entrada e saída, que permitem ao PLC comunicar com o mundo
exterior, através da transferência de dados para os módulos de entrada e saída;
• Operações aritméticas e lógicas, que são executadas na Unidade de Lógica
Aritmética (ALU). A ALU é capaz de executar, entre outras, as operações de
adição, subtracção e comparação. Para efectuar uma operação, a ALU
necessita que lhe sejam fornecidos dois operandos e um operador, sendo os
resultados armazenados na memória temporária ou utilizados de imediato para
o processamento, conforme as instruções do programa;
• Leitura e actualização do conteúdo da memória, que podem ser dados sobre o
estado do sistema ou instruções contidas no programa;
• Operação de salto, que permitem que na execução de um programa, seja
possível saltar algumas porções desse programa sem que estas sejam
executadas.
1.2.2 Memória
Automação e Robótica 9
Endereço 0 1 2 3 4
Informação 5 6 7 8 9
10 11 12 13 14
15 16 17 18 19
Automação e Robótica 10
Programmable Read Only Memory (PROM)
É um tipo especial de ROM que pode ser programada. Normalmente é utilizada para
guardar de forma permanente os dados armazenados na RAM.
Computador
Automação e Robótica 11
se o protocolo de comunicação do PLC com o PC falhar é necessário o uso da consola
para estabelecer de novo o protocolo.
Isolamento Óptico
Dispositivo de
Entrada
Este isolamento garante que não existe ligação eléctrica entre o mundo exterior e o
CPU. Um isolamento óptico consiste num díodo emissor de luz e num fototransistor,
formando um acoplador óptico, que permite a transmissão de sinais de pequena
tensão e o isolamento de sinais de elevados valores de tensão. Por exemplo, a entrada
fornece um sinal eléctrico que é transformado em luz. A luz emitida é recebida pelo
receptor que é de novo transformada num sinal eléctrico. O isolamento óptico é usado
para entradas e saídas.
Cada entrada/saída possui um endereço que o identifica univocamente, e que é
utilizado ao longo do programa de controlo, sempre que se pretende manipular essa
entrada/saída. Normalmente, os módulos de E/S possuem a indicação do estado de
cada entrada/saída através de leds, o que torna simples a verificação do estado do
processo. As entradas/saídas estão disponíveis através de cartas de expansão que
comunicam com o CPU através de um barramento, designado de bus, de dados e de
endereços.
Existem dois tipos de entradas/saídas: digitais e analógicas. As entradas e saídas
digitais apresentam apenas dois valores: ON e OFF (1 e 0). Por exemplo, se um sensor
de proximidade detectar a presença de um objecto, na entrada aparecerá o sinal
lógico 1; caso contrário estará o valor 0.
Quando o sinal a adquirir pode tomar uma gama de valores determinada e de forma
contínua, está-se na presença de sinais analógicos, que requerem o uso de módulos de
entrada/saída analógicos. Por exemplo, um sensor de luminosidade pode ser
considerado como sendo uma entrada analógica, porque produz uma tensão que é
proporcional à luz que detecta.
Automação e Robótica 12
Um módulo de entradas analógicas executa a conversão analógico-digital (A/D),
ficando o sinal em formato digital e disponível para ser processado pelo CPU. O
módulo de saída analógico efectua o processo inverso e converte o sinal digital para
um valor analógico (D/A). A resolução da conversão é um factor importante para a
precisão de controlo quando se utilizam PLCs. Os conversores que usam palavras de 8
bits terão uma resolução de 1:128. Desta forma, um sinal de valor máximo 5V pode
ser convertido num valor digital com um intervalo entre valores de 0,02V. O aumento
da resolução passa pelo aumento do numero de bits utilizados pelo conversor.
Módulo de Entrada
Este módulo interliga o PLC ao mundo exterior, adquirindo sinais que reflectem o
estado do mundo exterior, através da utilização de sensores, interruptores, etc. O
módulo de entrada converte o nível lógico do mundo real para o nível lógico requerido
pelo CPU, ao mesmo tempo que executa o isolamento.
Existem no mercado uma vasta gama de sensores que poderão implementar as
entradas de um PLC, das quais se destacam os sensores indutivos, capacitivos, fins de
curso, células fotoeléctricas, etc.
Módulo de Saída
O módulo de saída disponibiliza uma conexão ao mundo real, permitindo a
actualização do processo, de acordo com a informação obtida pelas entradas e com a
execução do programa. As saídas podem ser disponibilizadas através de relé,
transístor ou triac.
Os dispositivos de saída vulgarmente utilizados no controlo de processos são os
motores passo a passo, lâmpadas, válvulas pneumáticas, etc.
• Fuzzy Logic
A lógica fuzzy foi desenvolvida para criar uma lógica que melhorasse a
tradicional lógica binária que apenas admite dois valores lógicos: 0 e 1. A
Automação e Robótica 13
lógica fuzzy pretende copiar o raciocínio humano e desenvolver processos
lógicos a partir de expressões pouco precisas ou difusas que variam entre
dois valores lógicos (0 e 1). Por exemplo, utilizando lógica fuzzy não se diz
que uma pessoa é alta ou baixa, mas sim que essa pessoa tem uma
determinada probabilidade de ser alta.
• Carta ASCII
Este módulo é utilizado para manipulação e transmissão de dados
alfanuméricos entre o PLC e dispositivos periféricos, tais como impressoras,
monitores, etc.
• PID
Utilizadas para solucionar problemas complexos, em que é necessário
implementar controlo integral, derivativo e proporcional.
1.3 FUNCIONAMENTO
Execução do programa
Automação e Robótica 14
• Tempo de resposta de entrada;
• Tempo de processamento;
• Tempo de resposta de saída.
Quando a água chegar ao nível pretendido, os olhos enviam essa informação para o
cérebro que a deverá processar. O tempo que o cérebro demora a receber a
informação proveniente dos olhos é designada por tempo de resposta de entrada. O
cérebro tendo a informação de que a água está num determinado nível irá processar a
informação e decidir qual a acção ou acções a tomar. Este tempo é designado por
tempo de processamento.
Finalmente, o cérebro irá dar ordens às mãos para fechar a torneira. O tempo que
decorre até que as mãos recebam a ordem é designado por tempo de resposta de
saída.
• Aplicações de robótica
Automação e Robótica 15
• Controlo de células de fabrico ou montagem
• Sistemas de transporte e manuseamento de materiais.
Automação e Robótica 16
2 PROGRAMAÇÃO BÁSICA DE AUTÓMATOS PROGRAMÁVEIS
A linguagem de programação, assim como a estrutura e definição de endereços e
mapeamento da memória difere de fabricante para fabricante, o que associado com a
vasta diversidade de fabricantes de autómatos existentes no mercado, torna
limitativo o estudo genérico que se pretende efectuar. Apesar de ser intenção deste
texto fornecer os princípios básicos da programação de autómatos programáveis, irá
utilizar-se como referência o autómato programável CPM1 da Omron para testar e
desenvolver todas as aplicações referidas neste texto.
Problema
Fase da resolução
do problema
Passo difícil
Solução em forma
de algoritmo
Fase da
Solução como
programa de
implementação
computador
Automação e Robótica 17
de um algoritmo ou fluxograma para resolver o problema proposto. Apenas, quando a
formulação de um algoritmo adequado e satisfatório, é que se passa para a
implementação do algoritmo numa qualquer linguagem de programação. Dado um
algoritmo suficientemente preciso, a codificação num programa de computador é
quase directa.
Um algoritmo pode ser definido como uma sequência ordenada e sem ambiguidade,
de passos elementares que levam à solução de um dado problema. Apesar de o termo
ser novo em si, o conceito é bastante familiar. As indicações 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.
É necessário 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 substituição de uma lâmpada queimada. A operação básica pode ser
expressa em dois passos simples:
Apesar de esta solução parecer resolver o problema, de facto estes passos não são
suficientemente claros para um robot, pois cada um dos passos envolve alguns
pressupostos que um robot não conhece. Assim, é necessário especificar cada um dos
passos anteriores.
Em primeiro lugar, o que é necessário para remover a lâmpada queimada?
Vamos admitir que ela esteja pendurada num tecto. Este facto envolve uma
escada, posicioná-la correctamente e subi-la. De seguida é necessário remover a
lâmpada. Para a remoção, é necessário girar a lâmpada no sentido anti-horário até
que se solte. Assim, o simples passo remova a lâmpada queimada foi expandido nos
seguintes passos:
Para colocar uma lâmpada nova, é necessário seleccionar uma outra de mesma
potência (o que deve ser feito antes de se subir na escada), posicionar a lâmpada,
girá-la no sentido horário até que esteja completamente colocada e finalmente descer
da escada. Deste modo, o passo coloque a nova lâmpada foi expandido para:
Automação e Robótica 18
Apesar do algoritmo ter já sete passos, ainda não tem uma especificação
suficientemente precisa. Por exemplo, o passo escolha uma nova lâmpada de mesma
potência da queimada deve ser melhor especificado. Suponhamos que temos uma
caixa com lâmpadas novas. Devemos examiná-las uma a uma até encontrarmos uma
com a mesma potência da queimada. Isto exige as seguintes operações:
Automação e Robótica 19
2.1.2 Linguagens de Programação para Autómatos
• lista de instruções;
• diagrama de blocos (ladder).
LD I 0.1
AND I 0.2
SET O 1.0
0.0 10.0
Automação e Robótica 20
• Criar tabelas de endereços de temporizadores e contadores, assim como
endereços de salto a usar no programa (apenas se podem usar de 01 a 99).
• Desenhar o diagrama de contactos.
• Verificar o programa da existência de erros de sintaxe e tentar corrigi-los.
• Transferir o programa para o autómato.
• Executar o programa no autómato.
Automação e Robótica 21
Área LR LR 00 a LR 15 Utilizado para ligações 1:1 a outro PLC.
(Relés ligação)
Área Contadores e TC 000 a TC 127 Os mesmos endereços são utilizados para os
Temporizadores temporizadores e contadores.
Leitura/Escrita DM00 a DM 099 Podem ser usados livremente no programa.
DM 1022 a DM 1023
Área DM Log de erros DM 1000 a DM 1021 Utilizados para guardar o tempo e o código
de erro da ocorrência.
(Módulo Apenas leitura DM 6144 a DM 6599 Não podem ser escritos a partir do
de Dados) programa.
Setup PC DM 6600 a DM 6655 Utilizados para guardar os vários
parâmetros que controlam a comunicação
com o PC.
normalmente normalmente
aberto fechado
...
2.3.1 LOAD
A primeira condição que inicia qualquer bloco lógico corresponde à instrução LOAD,
cuja mnemónica é LD. Se esta instrução é a única na linha de instruções então a saída
é ON se o operando for ON e OFF se o operando for OFF. O resultado desta instrução
pode ser conjugada com outra entrada através de uma relação lógica ou
imediatamente transferida para o exterior, actualizando uma saída.
2.3.2 OUTPUT
Automação e Robótica 22
Esta instrução pode actualizar saídas do autómato, mas também flags internas, tais
como as áreas SR, AR, HR, etc.
0.0 10.0
0.0 10.0 ON ON
OFF OFF
0.0 10.0
0.0 10.0 ON OFF
OFF ON
Vamos considerar o seguinte caso de aplicação: existe uma bomba de tirar água
que funciona de acordo com o estado de um botão de accionamento, isto é premindo
o botão a bomba funciona, e libertando o botão a bomba deixa de funcionar.
Pretende-se elaborar um programa que execute o controlo da bomba.
Assim, supondo que o botão está associado à entrada 0.0 e que a bomba está
associada à saída 10.1, é possível realizar o programa de controlo, utilizando listra de
instruções.
LD 0.0
OUT 10.0
2.3.3 AND
Automação e Robótica 23
10.0 = 0.0 AND 1.0 AND 0.1
A saída 10.0 será activada, apenas se as três condições forem verdadeiras, isto é,
quando 0.0 é ON, 1.0 é OFF e 0.1 é ON.
A aplicação da instrução AND pode ser analisada no seguinte exemplo:
A utilização de maquinaria pesada, como por exemplo, quinadoras ou máquinas de
corte, requer a instalação de sistemas de segurança, para precaver a integridade
física dos operadores que trabalham com essas máquinas. O sistema de segurança
mais vulgar nesses casos é a implementação de dois botões de início de
funcionamento (um para cada mão do operador). Desta forma, a máquina só executa
a tarefa, por exemplo o corte de chapa, se os dois botões estiverem premidos.
LD 0.0
AND 0.1
OUT 10.0
Neste caso, temos duas entradas, 0.0 e 0.1, e uma saída 10.0, que representa o
accionamento da máquina para executar a sua tarefa.
2.3.4 OR
No ponto anterior referiu-se a instrução lógica AND. No entanto, existe uma outra
instrução lógica básica, designada por OR, que é fundamental na manipulação de
operandos lógicos. Quando duas ou mais condições estão separadas em linhas de
instruções diferentes e a correr em paralelo, a primeira condição corresponde à
instrução LD; as restantes condições correspondem à instrução OR.
1.1 10.0
1.0
0.1
A saída 10.0, para o caso da figura anterior, será ON quando uma das três
condições for ON, isto é, quando 1.1 é OFF ou 1.0 é OFF ou 0.1 é ON.
2.3.5 END
Automação e Robótica 24
0.0 0.1 10.0
END
Se não existir a instrução END no fim do programa, este não poderá ser executado.
Exemplo de aplicação
Líquido A Líquido B
Vamos supor agora, que o botão de movimento é substituído por dois outros botões
distintos, que representam a presença de diferentes tipos de líquidos no dispositivo, e
que se pretende que o misturador inicie o seu funcionamento sempre que exista pelo
menos um dos líquidos no dispositivo (um dos botões premido).
Desta forma iremos ter entradas e uma saída:
Automação e Robótica 25
• botão de emergência - IR 0.1 emergência;
• motor do dispositivo - IR 10.0 motor.
0.4
A instrução lógica que implementa esta funcionalidade é o OR, pelo que basta
efectuar o OR entre as entradas líquido_A e líquido_B, seguido do AND com a entrada
de emergência negada.
0.1 0.3
LD 0.0
OR 0.1
LD 0.2
OR NOT 0.3
AND LD
Automação e Robótica 26
A instrução AND LD permite armazenar o resultado da primeira condição e realizar
o AND com a segunda condição.
Vamos considerar agora o caso de se pretender implementar a seguinte expressão
lógica:
0.2 0.3
Neste caso não se trata de realizar o AND de duas condições constituídas por mais
do que uma condição, mas sim o OR, pelo que a instrução adequada é o OR LD.
LD 0.0
AND NOT 0.1
LD 0.2
AND 0.3
OR LD ← executa o OR dos dois blocos
OUT 0.0
Bloco 3
0.4 0.5
Bloco 1 Bloco 2
LD NOT 0.0
AND 0.1
LD 0.2
AND NOT 0.3
Automação e Robótica 27
LD NOT 0.4
AND 0.5
OR LD
AND LD
OUT 10.3
Exemplo de aplicação
Bloco 3
Bloco 5
LD 0.0
LD 0.1
AND 0.2
LD 0.3
AND 0.4
LD 0.5
LD 0.6
AND 0.7
OR LD ← blocos 4 e 5
AND LD ← bloco 3 com resultado anterior
OR LD ← bloco 2 com resultado anterior
AND LD ← bloco 1 com resultado anterior
OUT 10.0
Automação e Robótica 28
2.3.8 Execução de Várias saídas
Existem situações em que é necessário executar mais do que uma acção, para as
mesmas condições de entrada. Neste caso, as saídas são codificadas sucessivamente a
seguir à última instrução da linha.
0.2 10.0
0.4 10.7
LD 0.1
OR 0.2
AND 0.3
OUT HR0.1
OUT 10.0
AND 0.4
OUT 10.7
Condição Condição
SET
RESET
(saída)
(saída)
Automação e Robótica 29
Para implementar esta funcionalidade é necessário utilizar as instruções SET para
por o motor em funcionamento quando se prime o botão verde, e a instrução RSET
para parar o motor quando se prime o botão vermelho.
Botão verde
SET 10.0
Botão vermelho
RSET 10
Assim quando se pressiona o botão verde, este vale o estado lógico ON, pelo que o
motor inicia o seu funcionamento; quando se pressiona o botão vermelho, a instrução
RSET é executada, parando de imediato o motor.
As instruções DIFU e DIFD são utilizadas para forçar um bit a ON durante apenas um
ciclo de funcionamento. Sempre que é executado, DIFU compara a condição corrente
com a condição anterior. Se a condição anterior era OFF e a condição corrente é ON,
então DIFU tornará o bit a ON. Se a condição anterior é ON e a condição corrente é
ON ou OFF, então DIFU tornará o bit a OFF ou manterá o bit a OFF (com esta instrução
o bit apenas se manterá em ON durante um ciclo).
Quando executada, DIFD compara a execução corrente com a condição anterior. Se
a condição anterior era ON e a condição corrente é OFF, a instrução DIFD tornará o bit
a ON. Se a condição anterior é OFF e a corrente é ON ou OFF, DIFD tornará o bit a OFF
ou manterá o bit a OFF.
1.0
DIFU 10.
1.1
DIFD 10.
Quando uma linha de instrução se divide em mais do que 2 linhas, é necessário usar
bits temporais para armazenar o resultado da condição na bifurcação.
TR 0
0.0 0.1 10.0
0.2 10.1
Automação e Robótica 30
É necessário no ponto de bifurcação colocar um bit TR, de modo a manter
temporariamente o resultado da última condição, e assim ser utilizada
posteriormente.
LD 0.0
OUT TR 0
AND 0.1
OUT 10.0
LD TR 0
AND 0.2
OUT 10.1
2.3.12 KEEP
A instrução KEEP é usada para manter o estado do bit, baseado em duas condições.
Para tal, a instrução é conectada a duas linhas de instrução. Quando a condição da
primeira linha é ON, o bit operando torna-se igual a ON. Quando a condição da
segunda linha é ON, o bit operando da instrução KEEP torna-se OFF.
O bit operando para a instrução KEEP manterá o seu estado (ON ou OFF) mesmo
quando colocado numa secção diferente do diagrama.
0.2 0.3
KEEP (1
0.4 HR 0000
0.5
arranque
S bomba O
paragem
R
caudal S motor ON
R
Automação e Robótica 31
No entanto, para a implementação em autómato programável, é necessário
efectuar a atribuição de endereços:
IR 00.00 - arranque
IR 00.01 - paragem
IR 00.02 - caudal
IR 10.00 - motor ON
IR 10.01 - bomba ON
A representação da evolução temporal das várias variáveis em jogo, ajuda a
apreender o problema e a conceber uma solução. Para este caso, a evolução temporal
está ilustrada na figura que se segue.
Arranque
Paragem
Caudal
Bomba ON
Motor ON
Arranque Paragem
SET Bomba ON
Bomba ON Caudal
SET Motor
Paragem
RSET Bomba ON
Paragem
RSET Motor
Arranque
KEEP (11
Paragem
Bomba ON
Bomba ON Caudal
KEEP (1
Paragem
Motor ON
Automação e Robótica 32
Nesta última solução, a entrada Arranque coloca a Bomba em funcionamento
enquanto a activação do botão Paragem desliga a Bomba. Para que o Motor funcione é
necessário que a Bomba esteja em funcionamento e que já exista Caudal a alimentar
o Motor.
O programa que solucione este problema está ilustrado na figura que se segue.
Automação e Robótica 33
ent_abrir modo aberto inibição
SET abrir
flag_abrir modo
flag_parar modo
inibição
RSET abrir
RSET fechar
aberto abrir
RSET abrir
fechado fechar
RSET fechar
2.4 TEMPORIZADORES
Condição
A
Temporizador
TIM N
VT < VT VT
Automação e Robótica 34
Exemplo de aplicação
bot_ch2
piso2
bot_ch1 piso1
IR 00.00 - bot_ch1
IR 00.01 - bot_ch2
IR 00.02 - piso1
IR 00.03 - piso2
IR 10.00 - motor_up
IR 10.01 - motor_down
bot_ch2 piso1
SET motor_u
bot_ch1 piso2
SET
motor_down
piso2
RSET motor_u
piso1
RSET
motor_down
IR 00.04 - porta_aberta
IR 00.01 - porta_fechada
IR 10.02 - abre_porta
Automação e Robótica 35
IR 10.03 - fecha_porta
bot_ch2 piso1
SET motor_u
SET
fecha_porta
bot_ch1 piso2
SET
motor_down
SET
fecha_porta
piso2 motor_up
RSET motor_
piso1 motor_down
RSET
motor_down
piso1
TIM
piso2 000
#50
porta_aberta
RSET
abre_porta
0.0
TIM
16
#20
10.2
TIM 16 10.2
Para o caso da figura anterior, a saída 10.2 estará ON apenas durante o tempo
especificado, neste caso 2 segundos.
Automação e Robótica 36
2.4.2 Temporizador após a operação
Pretende-se com esta configuração que a saída esteja activa apenas durante um
determinado período de tempo, especificado no temporizador, após a entrada de
controlo tenha deixado de estar activa. Um exemplo da necessidade deste tipo de
configuração do temporizador é caso do controlo de uma luz de um parque automóvel
subterrâneo. Neste caso, pretende-se que a luz que ilumina o parque, apenas esteja
acesa 30 segundos após o carro ter entrado no parque.
10.0 0.0
TIM
10
#50
0.0 TIM 10
10.0
10.0
Neste caso, a saída 10.0 ficará no estado OFF após 5 segundos a condição de
execução ter ficado OFF. Na figura que se segue, é possível verificar a evolução
temporal da entrada e da saída e concluir que a saída 10.0 apenas permanece em ON
5 segundos após a entrada ter passado a OFF.
0.0
10.0
5 seg.
Exemplo de aplicação
IR 00.00 - carro
IR 10.08 - lâmpada
TIM 000 e 001 - temporizadores para a onda quadrada
Automação e Robótica 37
TIM 000
TIM 001
TIM 001
TIM
000
#100
TIM 000
TIM
001
#100
TIM 000 carro
lampada
0.0
TIM H
000
#150
TIM 000
10.0
Na figura anterior, a saída 10.0 estará a ON após 1,5 segundos a entrada 0.0 ter
passado a ON.
2.5 CONTADORES
2.5.1 CNT
A instrução CNT é usada para contar de forma decrescente desde um valor pré-
definido (VC), quando a condição de execução 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 condição de execução tenha sido OFF na última execução.
Automação e Robótica 38
CP
CNT em que N é o numero do contador e VC é o valor
N
inicial do contador.
R
VC
0.0 255.02
CP
CNT
0.1 001
R #700
CNT 001
10.0
O contador 001 conta o número 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 operação
(1seg x 700 =11 minutos e 40 segundos).
EI
CNTR
ED
N
R VC
0 ... VC
Automação e Robótica 39
2.5.3 Exemplo de aplicação
Contentor
Existe um sensor no referido posto, que permite a detecção dos produtos. Sempre
que existam 100 produtos no contentor deve ser colocado um novo contentor
utilizando um actuador pneumático.
Atribuição de endereços:
IR 00.00 - detector
IR 10.00 - actuador
TC 120 - contador
detector
CP
CNT
CNT 120 120
R #100
CNT 120
DIFU actuad
Automação e Robótica 40
B
Actuador
pneumático
2.6.1 MOVE
Esta instrução permite copiar o conteúdo de uma palavra origem para uma palavra
destino, sempre que a condição de execução for verdadeira.
É preciso ter em atenção que os DM 6144 a DM6655 não poderão ser utilizados para
a palavra destino, pois pertencem a uma área de memória reservada apenas a leitura.
0.0
MOV
001
HR 05
Neste caso, quando a entrada 0.0 estiver em ON, o conteúdo de IR 001 é copiado
para HR05. Por exemplo se IR 001 contiver o valor 01101011111, então HR05 passará a
conter esse valor.
Automação e Robótica 41
IR 000 : 0110 1011 111
...
⇓ ⇓ ⇓
HR 05 : 0110 1011 111
...
0.0
MVN
#F8C5
DM 001
Uma vez que # F8C5 em hexadecimal é semelhante a 111 1000 1100 0101 em
binário, então o valor que será transferido para o DM 0010 será 0000 0111 0011 1010,
que é o complementar de #F8C5.
0.0 0.0
MOV @MOV
HR 10 HR 10
DM 0000 DM 000
Diagrama A Diagrama B
Automação e Robótica 42
2 segundos com o mesmo tempo de ciclo (80 ms), a instrução só será executada uma
vez, aquando do primeiro ciclo, no qual 00.00 passa de OFF para ON.
2.7 INTERRUPÇÕES
Automação e Robótica 43
As entradas de interrupção tem prioridade sobre os outros dois tipos de
interrupção. Quando 2 entradas de igual prioridade são actuadas simultaneamente, é
executada a entrada de interrupção 0, no que se segue a entrada de interrupção 1,
etc.
O CPM1 possui as entradas 0003 a 0006 como entradas de interrupção, que podem
ser definidas como entradas de interrupção utilizando o DM 6628.
Bit 15 Bit 0
0 : entrada normal
0006
DM 6628 1: entrada interrupção 0005
2: entrada de resposta rápida 0004
0003
Programa Programa
Principal Principal
Programa de Interrupção
Entrada de
interrupção
Automação e Robótica 44
Exemplo de aplicação
000
000
. #000E
.
.
SBN 000
Programa de
interrupção
RET
0. 0. 0. 0.
6 5 4 3
1 1 1 0
2.8 SUBROTINAS
SBS N
em que N é o numero da subrotina.
Na figura que se segue é possível verificar que a instrução SBS 000 permite realizar
um salto no programa principal para a subrotina 0, representada pela instrução SBN
00.
Automação e Robótica 45
Programa Principal
SBS 00
Programa Principal
SBN 00
Subrotina
RET
END
Automação e Robótica 46
3 MODELAÇÃO DE SISTEMAS COMPLEXOS CONDUZIDOS POR EVENTOS
Uma etapa é ligada sempre a uma transição e uma transição é sempre ligada a uma
etapa, através de ligações orientadas.
1 SOBE_BROCA SE /BROCA_UP
t1 INICIO.BROCA_UP
Etapa
LIGA_BROCA;
2 BAIXA_BROCA SE T/X2/3s/
t2 BROCA_BAIXO Acção
Transição
LIGA_BROCA;
3
SOBE_BROCA
t3 BROCA_UP Receptividade
Automação e Robótica 47
• Desenvolvimento independente do autómato programável - o trabalho de
especificação realizado com o Grafcet é completamente independente do tipo
de autómato programável que será utilizado na aplicação de automação.
• Tarefa de concepção facilitada - o formato gráfico torna mais fácil a tarefa de
identificação de erros de concepção. Mais importante, o Grafcet diminui o custo
dos erros de interpretação, quer sejam originários de construtores, fornecedores
ou equipas de concepção.
• Redução do tempo de desenvolvimento de aplicações - o Grafcet o
desenvolvimento de um método para a implementação de código para autómatos
programáveis. Actualmente, o GRAFCET é a linguagem mais produtiva e flexível
desenvolvida para automação de processos.
3.3.1 Etapas
Automação e Robótica 48
um número no interior. A entrada é efectuada na parte superior do quadrado e a saída
na parte inferior.
LIGA_BROCA;
2 BAIXA_BROCA SE T/X2/3s/
Uma etapa está activa ou inactiva. Uma etapa activa é assinalada com um ponto (.)
na parte inferior do seu símbolo.
2 LIGA_BROCA; SOBE_BROCA
•
3.3.2 Transições
1 1 INICIO.BROCA_UP
Automação e Robótica 49
3.4.1 Inicialização
1 SOBE_BROCA SE /BROCA_UP
3.4.2 Validação
Uma transição está validada ou não validada. Está validada se todas as etapas de
entrada estiverem activas.
LIGA_BROCA; LIGA_BROCA;
2 BAIXA_BROCA SE T/X2/3s/ 2 BAIXA_BROCA SE T/X2/3s/
2 BROCA_BAIXO 2 BROCA_BAIXO
LIGA_BROCA; LIGA_BROCA;
3 SOBE_BROCA 3 SOBE_BROCA
LIGA_BROCA;
2 BAIXA_BROCA SE T/X2/3s/
2 BROCA_BAIXO
LIGA_BROCA;
3 SOBE_BROCA
Etapa 2 desactivada
Etapa 3 activada
A prensa de compressão consiste num punção inferior (fixo) e num punção superior
e matriz (móveis). Existem adicionalmente dispositivos de colocação de material e
Automação e Robótica 50
evacuação da peça. O princípio de funcionamento pode-se resumir aos seguintes
pontos:
• com o punção superior e a matriz nas suas posições altas é colocada a matéria
prima na matriz;
• o punção superior desce comprimindo a matéria prima após o que regressa à
posição inicial;
• a matriz desce permitindo retirar a peça;
• a matriz regressa à posição inicial, podendo ser iniciado um novo ciclo.
1 Colocação do material
fim da compressão
4 Descida da matriz
5 Evacuação da peça
evacuação terminada
6 Subida da matriz
Automação e Robótica 51
4. Como é retirada a peça?
A peça é retirada através de um jacto de ar, comandado pela electroválvula E,
com uma duração de 1 segundo.
Entradas: Saídas:
d : autorização de arranque de ciclo V: sinalização luminosa
a1 : posição baixa do punção a+ : descida do punção
a0 : posição alta do punção a- : subida do punção
b0 : posição baixa da matriz b+ : subida da matriz
b1 : posição alta da matriz b- : descida da matriz
E : evacuação
Temporizadores:
LT1 : ligar a temporização de evacuação
fT1 : fim da temporização de evacuação
1 V
2 a+
a1
3 a-
b1 a0
4 b-
b0
5 E ; LT1
ft1
6 b+
Automação e Robótica 52
a b
Posto A Posto B
1 2 3
t1
4 5
Automação e Robótica 53
O disparo da transição t1 só é realizado quando as etapas 1,2 e 3 estiverem activas
e a condição t1 seja verdadeira. Nesse caso, as etapas de entrada são desactivadas e
as de saídas são activadas.
Considere a seguinte unidade de furação e roscagem:
Posto 2: Posto 3:
Furação Roscagem
Posto 1:
Evacuação e
carga das peças
1 rotação de 1/3
fim de rotação
evacuação da
11 peça 21 descida rápida 31 descida rápida
24 34 subida rápida
posição alta
35
Automação e Robótica 54
ti1 ti2 tin
Estabelecimentos de
Evolução Exclusiva
prioridades
1 1
a a a /a . b
2 3 2 3
Automação e Robótica 55
0
1 abrir garras
10 Sobe_broca SE /broca_up
3.6.2 Temporização
T / X5 / 1min
Automação e Robótica 56
No exemplo anterior a transição é disparada 1 minuto depois da etapa 5 estar
activa. Nessa altura, a transição é disparada e a etapa 5 é desactivada.
Outra possível implementação está ilustrada na figura que se segue.
2 Sobe_broca SE T / X2 / 3seg
3.7.1 Sincronização
a1 b1 a2 b2
C1 C2
Automação e Robótica 57
1 4
2 Direita 5 Direita
b1 b2
3 Esquerda 6 Esquerda
a1 a2
1 4
2 Direita 5 Direita
b1 b2 1
3 Esquerda 6 Esquerda
a1 a2
Automação e Robótica 58
1 8 4
2 Direita 5 Direita
b1 b2
3 Esquerda 7
a1
1
6 Esquerda
a2
1 4
2 Direita 5 Direita
b1 b2 + X1
3 Esquerda 6 Esquerda
a1 a2
Automação e Robótica 59
1 4
2 Direita 5 Direita
b1 b2 . /X2
3 Esquerda 6 Esquerda
a1 a2
Posição de
espera 1
Posto A1 Carro 1
Posto B
Posto A2 Carro 2
Posição de
espera 2
Automação e Robótica 60
2 9
partida 1 partida 2
3 Avançar 10 Avançar
espera 1 1 espera 2
4 11
1 /espera 1
5 Avançar 12 Avançar
posto B posto B
6 13
7 Recuar 14 Recuar
espera 1 espera 2
15 Recuar
8 Recuar
posto A2
posto A1
1 10
partida 1 partida 2
2 Avançar 11 Avançar
espera 1 espera 2
3 12
/(X13+X14+X15) /(X3+X4+X5+X6)
4 Avançar 13 Avançar
posto B posto B
5 14
6 Recuar 15 Recuar
espera 1 espera 2
7 Recuar 16 Recuar
posto a1 posto a2
Automação e Robótica 61
10 20
1
partida 1 partida 2
X13 + X23
11 Avançar 21 Avançar
2
espera 1 X15 . espera1 espera 2
12 X25 . espera2 22
X1 X1 . /X12
13 Avançar 23 Avançar
posto B posto B
14 24
15 Recuar 25 Recuar
espera 1 espera 2
16 Recuar 26 Recuar
posto a1 posto a2
3.7.3 Subtarefas
Uma subtarefa pode ser definida como uma sequência de operações que poderão
ser repetidas várias vezes dentro de um grafcet. Sempre que se pretende executar o
conjunto de operações constituintes da subtarefa, a evolução do grafcet salta para a
subtarefa. No acesso a essa subtarefa poderá existir situações de conflito ou não,
dependendo do número de processos que a invocam.
Estrutural Interpretado
10 Chamada 1 10
a Chamada 2 a 0
21
C 39
21
39
22 retorno 1 C
SP1 X12 + X23
retorno 2 22
X39
Processo Sub-tarefa
Sub-tarefa
Principal Processo
Principal
Automação e Robótica 62
Acesso com Conflito
No caso de existir a possibilidade de uma subtarefa ser chamada por mais do que
um processo simultaneamente, é necessário criar uma etapa auxiliar, cujo objectivo é
gerir o acesso à subtarefa.
13 0 25
a c
14 31 26
n
1 32 1
15 27
39
RE
RD
SP
a1
DP
C1 C2
FP AP
Tapete de
Evacuação
Automação e Robótica 63
seguinte: com os dois carros nos postos de repouso (a1 e a2), após a ordem de partida
(p), o carro C1 desloca-se até b onde é descarregado. Terminada a operação de
descarga, C1 regressa ao posto a1. De seguida, o carro C2 desloca-se até ao posto b
onde é por sua vez, descarregado após o quer regressa ao posto a2.
O sistema de descarga é constituído por uma pinça que pode subir (SP) e descer
(DP) entre as posições superior (superior) e inferior (inferior); rodar à direita (RD) e
rodar à esquerda (RE) entre as posições direita (direita) e esquerda (esquerda). O
fecho da pinça (FP) é comandado por um êmbolo de efeito simples, sendo detectado
pelo contacto pf. O ciclo de operações envolvido na descarga é o seguinte:
• inicialmente a pinça está na posição superior direita e aberta;
• após ser solicitada a descarga de um carro, a pinça desce, agarra o objecto,
sobe, roda à esquerda e abre depositando o objecto no tapete de evacuação. De
seguida, regressa à posição inicial.
É de reparar que a descarga é uma tarefa que é comum, pelo que pode ser
considerada como uma subtarefa.
2 Direita C1
10 DP
b1
inferior
11 FP
3
pf
12 SP; FP
1
Esquerda superior
4 C1
13 RD; FP
a1
Esquerda direita
5
C2
14 /FP
b2
/pf
6 15 RE
esquerda
1 16
7 Direita C2
a2
Automação e Robótica 64
• depois de terminada a descarga, o carro regressa ao seu posto de repouso.
O grafcet, considerando estas especificações adicionais é o que se representa de
seguida.
1 21
p1 P2
2 Direita C1 22 Esquerda C2
0
b1 b1
3 23
1 /X3
4 24
10 DP
inferior
1
1 11 FP
pf
Esquerda
5 C1 12 SP; FP 25 Direita C2
a1 superior b2
13 RE; FP
esquerda
14
/pf
15 RD
direita
16
Automação e Robótica 65
3.8.1 Introdução à Análise de Grafcet
A análise de grafcet pode basear-se no gráfico das situações acessíveis. Este gráfico
descreve as situações que podem ser alcançadas a partir da situação inicial.
A partir deste gráfico é possível determinar as propriedades do grafcet. A evolução
da situação do grafcet é determinada pela sua estrutura e pela sua interpretação
(conjunto de receptividades). A interpretação do grafcet pode ser decomposta nas
interpretações interna e externa.
A interpretação interna está associada ao estado das etapas e a externa a
condições exteriores.
1 1
b.c φ
2 2
a /c . /X3 φ φ . /X3
3 3
/X1 /X1
Automação e Robótica 66
1 V
t1
2 D 3
t2 t3
4 5 G
t4
1
t1
t2 3, 2
t3
t4
3 ,4 t2, t3 2, 5
t2
t3 4, 5
Automação e Robótica 67
seguida, os boiões são 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.
t1 arranque
2 5 8
t2 A1 pronto t4 A2 pronto
4 7
10 Produz boiões
t6 A4 pronto
t9 boiões prontos
9 Mistura
t8 13
mistura pronta
12
11
15 17
t12 evolução
12, 15
bloqueada
12, 14
t10 t12 15, 16 t14
Automação e Robótica 68
O erro consiste no facto da etapa 13 validar as transições t10 e t11. Estas transições
ocorrendo em momentos diferentes provocam o bloqueio do grafcet. A solução
correcta consiste em validar t10 e t11 por duas etapas distintas (13 e 19).
t6 A4 pronto t7 A3 pronto
11 12 19 13
15 17
Considere-se agora que a mistura de leite e fermento pode resultar imprópria para
consumo. Nesta situação a mistura é rejeitada e o processo re-inicializado.
Automação e Robótica 69
1
t1 arranque
2 5 8
t2 A1 pronto t4 A2 pronto
t6 A4 pronto
t9 boiões prontos
t18 /boa 9 Mistura
20
mistura t17 t mistura pronta.boa
8
rejeitada
12 19 13
11
15 17
18
t2
t1 t4
t18 1, 13, 19 2, 5, 8, 13, 19
Automação e Robótica 70
1
t1 arranque
2 5
8
t2 A1 pronto t4 A2 pronto
4 7
t6 A4 pronto
Automação e Robótica 71
4 INTRODUÇÃO À ROBÓTICA INDUSTRIAL
A robótica e a sua implementação na automatização de processos surgem com a ideia de
aumentar os índices de produtividade e competitividade por parte de uma empresa.
Neste capítulo pretende-se fazer uma breve introdução à robótica, classificando os
vários tipos de robôs e analisando algumas áreas bastante importantes associadas a
esta problemática.
4.1 INTRODUÇÃO
• Factores técnicos
− Colmatam as capacidades humanas, insuficientes em termos de precisão,
robustez, rapidez, uniformidade e no suportar de ambientes hostis;
− Garantem flexibilidade na gama de produtos manufacturados;
− Melhoram índices de qualidade e de peças rejeitadas.
• Factores económicos
− Utilização eficiente de unidades de produção intensiva;
− Aumento de produtividade devido à inexistência de interrupções,
absentismos, etc;
− Redução do tempo de inventário durante a produção;
− Redução do tempo de preparação de fabrico.
Automação e Robótica 72
• Factores sociológicos
− Redução do número de acidentes;
− Afastamento do ser humano de locais perigosos para a saúde;
− Redução de horários de trabalho;
− Aumento do poder de compra.
Uma unidade básica de um robô é o seu braço manipulador. Este é constituído por
uma base, um corpo, um braço e um punho. O punho, localizado na extremidade do
braço, é formado por múltiplos componentes que lhe permite orientar-se numa
multiplicidade de posições. O movimento relativo dos diferentes componentes do
braço manipulador é proporcionado por juntas ou articulações. O movimento de cada
um dos componentes do braço manipulado, designados por eixos, é realizado através
de um sistema de accionamento, por exemplo um motor eléctrico, devidamente
comandado através de um sistema de controlo.
Automação e Robótica 73
4.2.1 Robôs Cartesianos ou Rectangulares
Este tipo de robôs é caracterizado por o braço manipulador se mover de uma forma
rectilínea nas direcções X, Y e Z. As três juntas são lineares e os três movimentos
podem designar-se por deslocamento, alcance e elevação.
A configuração cilíndrica utiliza uma coluna vertical e um suporte que pode ser
movido verticalmente. O braço do robô está ligado ao suporte para que possa ser
movido radialmente face à coluna. Os pontos do espaço de trabalho podem ser
especificados em coordenadas cilíndricas (r, φ e z). Os três movimentos podem
designar-se por alcance, rotação e elevação.
Automação e Robótica 74
Figura 8.4 - Robô Cilíndrico
Quando o braço pode mudar a sua configuração através de duas juntas rotativas e
uma ligação deslizante, a sua posição pode ser descrita em termos de coordenadas
esféricas (r, φ e θ).
Os robôs articulados são caracterizados por ter as ligações conectadas por juntas
rotacionais.
Automação e Robótica 75
Figura 8.6 - Robô do tipo SCARA
Automação e Robótica 76
Figura 8.8. - Movimentos do Punho
Accionamento Eléctrico
Os robôs eléctricos são utilizados em trabalhos de precisão, uma vez que podem ser
controlados eficazmente e orientados a seguir trajectórias.
Os robôs eléctricos podem ser divididos em dois grupos, consoante o tipo de
accionadores eléctricos: motores passo a passo e servomotores CC. Os primeiros
podem ser controlados em malha fechada ou aberta enquanto que os segundos apenas
podem ser controlados em malha aberta. Apesar desta característica, os servomotores
são os mais utilizados, uma vez que aproveitam a sua característica continua para
possibilitar movimentos controláveis de forma contínua e suave.
Accionamento Hidráulico
Os robôs hidráulicos são os robôs mais potentes sob o ponto de vista físico. Este
tipo de robô consegue aplicar grandes forças directamente às garras e às juntas. A sua
grande desvantagem é o seu elevado custo.
Uma aplicação típica deste tipo de robôs é a pintura, devido à necessidade de se
usarem robôs à prova de explosão nas áreas de pintura.
Automação e Robótica 77
Accionamento Pneumático
O accionamento pneumático é geralmente utilizado em robôs de menor porte que
possuam poucos graus de liberdade. Estes tipos de robôs são os mais económicos para
as operações simples de manuseamento (tipo pick and place).
Sequência Fixa
Este tipo de controlo é o menos sofisticado, mas o mais económico. O controlo de
movimento é feito através de deslocamento entre dois pontos extremos, com ajuste de
velocidade quase inexistente.
Trajectória Contínua - CP
Neste tipo de controlo de movimento, a trajectória é total ou parcialmente
contínua. Isto permite o controlo do movimento e velocidade de cada eixo em
simultâneo, sendo esta característica essencial para aplicações de pintura, soldadura,
etc.
Controlo Inteligente
Este tipo de controlo de movimento permite ao robô ajustar as trajectórias por
interacção com o meio ambiente. Estas tomadas de decisões lógicas baseiam-se na
informação recebida por sensores.
• Monitorização e segurança;
• Inspecção de peças para controlo de qualidade;
• Interligação no controlo de células;
• Determinação de posições e orientações de peças.
Automação e Robótica 78
Os actuadores permitem actuar sobre o mundo exterior de forma a conseguirem
alcançar os seus objectivos de uma forma o mais eficaz possível. Existem dois tipos de
actuadores: Garras e ferramentas.
Sensores de Toque
Este tipo de sensores é utilizado para indicar que houve contacto entre dois
objectos sem tomar em consideração a amplitude da força desse contacto. Exemplos
deste tipo de sensores são os interruptores de fim de curso, os micro-interruptores,
etc.
As aplicações típicas destes sensores são quando se pretende saber se o robô tocou
em algum objecto.
Sensores de Força
Indicam se existe contacto entre dois objectos e também a amplitude do valor
dessa força.
A implementação de um sensor deste tipo passa pela utilização de uma célula de
carga entre o punho do robô e a garra ou ferramenta.
A sua utilização visa aplicações de manipulação de peças frágeis e de montagem
(auxiliam a inserção de peças e no aparafusamento de forma correcta).
Automação e Robótica 79
4.3.3 Sistemas de visão artificial
As garras são actuadores finais que são geralmente utilizadas para pegar e segurar
em objectos. Uma garra mecânica é um actuador final que utiliza dedos mecânicos
actuados por um mecanismo para realizar o movimento de abertura e fecho dos
dedos.
Os dedos, também designados por pinças, são os apêndices das garras que
efectuam o contacto com os objectos a agarrar.
O mecanismo das garras deve ser capaz de:
• Abrir e fechar os dedos da garra.
• Exercer uma força suficiente, quando fechado, para segurar as peças que foram
agarradas.
Automação e Robótica 80
4.3.5 Garras Magnéticas
As garras de sucção são utilizadas para manusear objectos planos, lisos e limpos
(condições necessárias para que se forme um vácuo satisfatório), sendo um tipo de
garras relativamente leves. Exige apenas uma superfície disponível da peça para esta
poder ser manipulada, aplicando uma distribuição uniforme da pressão na superfície
da peça.
As ventosas são utilizadas neste tipo de garras e baseiam-se na existência do vácuo.
Na criação do vácuo utiliza-se frequentemente os métodos do principio de Venturi
e/ou uma bomba de vácuo.
Este tipo de garras é aplicável a uma grande variedade de materiais, como por
exemplo no manuseamento de placas de vidro.
Automação e Robótica 81
• Garras insufláveis ou de diafragma
Indicadas para aplicações que envolvam a manipulação de objectos frágeis.
• Garras com dedos articulados
Indicados para o manuseamento de objectos frágeis.
• Garras para a inserção de O-Ring’s
Específicas para uma operação concreta e que se destinam à inserção de O-
Ring’s noutras peças.
• Garra universal ou mão de Standford/JPL
Desenvolvimento de uma garra que permita pegar e manusear uma grande
variedade de objectos com diferentes geometrias, se possível apresentando
características semelhantes à da mão humana.
As ferramentas são actuadores finais cuja finalidade é realizar trabalho sobre uma
peça em vez de pegar nelas. Dos vários tipos de ferramentas destacam-se os
seguintes:
Pistolas de pintura
As pistolas de pintura tem por função vaporizar a tinta, podendo ser do tipo
eléctrico ou pneumático.
Automação e Robótica 82
• Norma ANSI/IRIA R15.06-1986.
• Norma Alemã DIN EN 775.
Automação e Robótica 83
4.5 OPERAÇÃO E PROGRAMAÇÃO DE ROBÔS INDUSTRIAIS
Automação e Robótica 84
4.5.3 Programação “off-line”
Automação e Robótica 85
Figura 8.9 - Transferência de Materiais
4.6.2 Pintura
Automação e Robótica 86
Figura 8.12 - Pintura numa Linha de Fabrico
4.6.3 Soldadura
Existem dois tipos de soldadura: por pontos e por arco eléctrico. A robotização da
soldadura é uma aplicação que representa uma grande fatia das aplicações industriais
da robótica. As industrias eléctrica, automóvel e do mobiliário metálico, tem sido os
principais clientes para estes tipos de sistemas.
A robotização na soldadura vantagens:
• Racionalização do processo de soldadura.
• Incremento da qualidade e segurança.
Automação e Robótica 87
automáticos customizados para a aplicação. Torna-se necessário a implementação de
sistemas flexíveis que incluam robôs, para este tipo de aplicações.
Os sistemas de montagem podem ser divididos em dois grandes grupos: células de
montagem e linhas de montagem.
Nas células de montagem, o movimento do produto está restrito à célula.
Automação e Robótica 88
5 REFERÊNCIAS BIBLIOGRÁFICAS
[Asfahl, 92] C. Ray Asfahl, Robots and Manufacturing Automation, Wiley, 1992
[Fu, 87] K. Fu, R.C. Gonzalez, C.S.G. Lee, Robotics: Control, Sensing, Vision and
Intelligence, McGraw-Hill, 1987
[Chouzal, 91] Maria de Fátima Chouzal, Controlo Digital de Motores Passo a Passo,
Dissertação de Mestrado, FEUP, 1991
[Hauptmann, 93] Peter Hauptmann, Sensors, Principles & Applications, Prentice Hall,
1993
[Olsson, 92] Gustaf Olsson, G. Piani, Computer Systems for Automation and Control,
Prentice Hall, 1992
Automação e Robótica 89
ANEXO - REPRESENTAÇÃO DA INFORMAÇÃO
A representação da informação consiste sempre numa materialização física capaz de
temporária ou permanente registar a informação pretendida.
Representação Representação
Externa Codificação Binária
Processamento
Armazenamento
Representação Representação
Externa Descodificação
Binária
À informação contida numa variável física de dois estados dá-se o nome de BIT, abreviatura
de BInary digiT, e que é para o computador a unidade elementar de informação. Ao
agrupamento de oito bits dá-se o nome de BYTE. Cada Byte tem possibilidade de armazenar
n
256 informações diferentes (2 ).
SISTEMAS DE NUMERAÇÃO
A representação de informação pode ser vista como um agrupamento de dígitos (no caso do
sistema binário designam-se por bits), a que se dá o nome de palavra (no caso do sistema
binário dá-se o nome de Byte).
Posição 1
...
Posição 0
O sistema posicional é um sistema de numeração em que cada dígito tem associados dois
valores:
Automação e Robótica 90
• o valor da posição que ocupa no conjunto (peso), que representa o significado do
digito na palavra ou grupo de dígitos. Para o cálculo deste peso consideram-se os
seguintes parâmetros:
− Base - número máximo de símbolos que podem ser utilizados para codificar a
informação. Um sistema de base n admite n símbolos diferentes: 0, 1, 2, ..., n
-1. Por exemplo, o sistema decimal admite 10 dígitos diferentes (de 0 a 9).
− Peso - representação da posição relativa do símbolo no conjunto das posições,
variando a partir da primeira posição da direita (a menos significativa)
aumentando de 1 unidade por cada posição sucessivamente mais à esquerda.
3
Exemplo: Para o número 324567 na base n, o peso do símbolo 4 será n .
Sistema Decimal
5 1 2 . 3
-1
3 * 10 0,3
0
2 * 10 2
1
1 * 10 10
2
5 * 10 500
512,3
Valor Intrinseco Peso
Sistema Binário
O sistema binário utiliza apenas dois dígitos para codificar a informação: 0 e 1. Isto
significa que apenas dois níveis de tensão são requeridos para representar os diferentes
dígitos do sistema binário, em que normalmente os 5V representam o digito 0 e os 0V o digito
binário 0. Este sistema é o que corresponde ao código interno do computador, vulgarmente
designado por linguagem máquina.
A representação de qualquer número no sistema binário processa-se por uma sequência de
0 e 1, em que o peso de cada dígito é dado em função de potências de 2 (2i), uma vez que o
sistema binário admite dois dígitos.
Automação e Robótica 91
1 0 1 1
0
1*2 1
1
1*2 2
2
0*2 0
3
1*2 8
Sistema Hexadecimal
1 A F 0
0
0 * 16 0
1
15 * 16 240
2
10 * 16 2560
3
1 * 16 4096
Automação e Robótica 92
CONVERSÃO ENTRE BASES
Parte Inteira
Para se efectuar a passagem do sistema decimal para um sistema diferente, utiliza-se o
método das divisões sucessivas. Este método consiste em dividir, sucessivamente, o número
decimal pela base de conversão (2 no sistema binário e 16 no sistema hexadecimal)
aproveitando-se os restos e o último quociente.
13 2
1 6 2
0 3 2
1 1
Figura 2.6 - Conversão da parte inteira dum numero decimal para binário
O número 13 no sistema decimal, pode ser convertido para o sistema binário, de acordo
com a figura 2.6, e ser escrito da seguinte forma:
Parte Fraccionária
Para representar a parte fraccionária de um número decimal, numa qualquer base deve-se
multiplicar a base pela parte fraccionária e guardar a parte inteira do resultado. Tal processo
deve ser repetido até que a parte fraccionária seja nula.
Por exemplo, se tivermos o número 0,5875 em decimal e quisermos converte-lo para o
sistema binário, o processo seria o que mostra a figura 2.7. O resultado final será 0,1011 (2)
2 * 0,6875 = 1,375
2 * 0,375 = 0,750
Lê-se neste sentido
2 * 0,750 = 1,500
2 * 0,500 = 1,000
Automação e Robótica 93
Conversão de Outra Base para Decimal
Se quisermos passar de qualquer base para a decimal, bastará utilizar o método das
multiplicações sucessivas, ou seja, multiplicar o valor intrínseco de cada posição pelo seu
peso e somar todos os produtos obtidos.
n n-1 n-2 1 0 -1 -2
an * b + an-1 * b + an-2 * b +... + a1 * b + a0 * b + a-1 * b + a-2 * b +...
Exercícios
O BCD é uma codificação que apresenta uma pequena modificação ao sistema decimal
onde os dígitos decimais são codificados independentemente como números binários de 4 bits.
Por exemplo, os dígitos 3 e 9 são codificados em BCD por:
3 → 0011
9 → 1001
Automação e Robótica 94
Na tabela que se segue estão ilustrados os códigos BCD de alguns números decimais.
Decimal BCD
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
10 0001 0000
11 0001 0001
... ...
Código GRAY
O código Gray é um tipo de codificação binária em que não são utilizadas as posições
pesadas. O código tem a particularidade de a transição de um numero para o próximo
requerer a mudança de apenas um digito.
Código ASCII
Automação e Robótica 95
ÁLGEBRA DE BOOLE
Operadores
X Y X AND Y
1 1 1
1 0 0
0 1 0
0 0 0
X Y X OR Y
1 1 1
1 0 1
0 1 1
0 0 0
X NOT X
1 0
0 1
X Y X XOR Y
1 1 0
1 0 1
0 1 1
0 0 0
Automação e Robótica 96
Teoremas
• 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 características de cada operador, é possível retirar
algumas regras importantes na manipulação de expressões lógicas:
Exercício
(X1+X3)(X1+/X3)(/X2+X3)
Leis de Morgan
1. /(X + Y) = /X . /Y
Que significa que a negação do OU lógico das variáveis X e Y é equivalente ao E
lógico das variáveis X e Y negadas.
Automação e Robótica 97
2. /(X.Y) = /X + /Y
Que significa que a negação do E lógico das variáveis X e Y é equivalente ao OU
lógico das variáveis X e Y negadas.
Exercícios
1. /(/A + /B)
2. (A + /B).(/A + B)
Automação e Robótica 98