Partilhar: WhatsApp
aulify
UC UC02944 · T. Mecatrónica

Ficha 01 · Tipos, programação, integração

Robôs, RAPID/KRL, PLC, visão
Versão · Aluno
Tempo · 60 minutos
Cotação · 100 pontos
Aluno(a)
Turma
Data
Objectivos da ficha

Parte I · Tipos de robôs

Exercício 1 · Selecção (15 pts)

Para cada aplicação, indica o tipo de robô e justifica:

a) Soldadura de chassis automóvel. b) Pick-and-place de produtos farmacêuticos em embalagem (300 picks/min). c) Pintura de carroçarias. d) Manipulação delicada em linha de produção com operador próximo. e) Paletização de sacas de cimento 25 kg.

a) Soldadura de chassis automóvel: - Robô articulado 6 eixos de grande capacidade. - Carga útil: 30-50 kg (tocha + suporte). - Alcance: 2-3 m. - Standard: ABB IRB 4400, FANUC R-2000iC, KUKA KR Quantec. - Em jaula com cortina óptica.

b) Pick-and-place farmacêutica 300 picks/min: - Robô Delta. - Velocidade extrema (300+ picks/min em pequenos produtos). - Carga: < 2 kg. - Standard: ABB FlexPicker IRB 360, FANUC M-1iA. - Frequentemente com visão computacional.

c) Pintura de carroçarias: - Robô articulado 6 eixos com pulso especial (geometria adaptada). - Carga: 10-30 kg (pistola + tubo). - Alcance: 2,5-3,5 m. - À prova de explosão (ATEX devido aos solventes). - Standard: FANUC P-250iB Paint, ABB IRB 5350P, KUKA KR 90 Painting.

d) Manipulação delicada com operador: - Cobot (colaborativo). - Sensores de força integrados. - Velocidade limitada. - Sem jaula necessária. - Standard: Universal Robots UR5e/UR10e, KUKA LBR iiwa.

e) Paletização sacas 25 kg: - Robô articulado 4 ou 6 eixos de grande capacidade. - Carga: 50-150 kg (saca + pinça/garra). - Alcance: 2,5-3 m (para alcançar topo da palete). - Standard: ABB IRB 660 (paletização específica), FANUC M-410iC, KUKA KR 700 PA. - Pinça customizada (vácuo ou paralela com 4 dedos).

Exercício 2 · Cobots (10 pts)

a) O que distingue um cobot? b) Vantagens vs robô tradicional? c) Aplicações típicas? d) Limitações?

a) Cobots — características distintivas:

Conforme ISO/TS 15066.

b) Vantagens vs robô tradicional:

  1. Sem jaula necessária (em zona segura) → economia de espaço e custo.
  2. Trabalho lado-a-lado com humanos → automação parcial.
  3. Programação fácil (operador comum pode programar).
  4. Reconfiguração rápida (mudar de tarefa em minutos).
  5. Custo de implementação menor (~50% de robô industrial equivalente).
  6. Vendido com formação incluída.

c) Aplicações típicas:

d) Limitações:

  1. Carga reduzida: 3-25 kg típico (vs 100s kg robôs industriais).
  2. Alcance limitado: 0,5-1,5 m.
  3. Velocidade baixa: 250 mm/s em modo cooperativo.
  4. Não para aplicações brutas: soldadura pesada, manipulação rápida.
  5. Custo por kg de carga: mais alto que robôs industriais grandes.
  6. Em ambientes hostis (alta temperatura, poeira): standards podem requerer adaptações.

Decisão: - Cobots: tarefas leves com humanos próximos. - Robôs industriais: alta velocidade, alta carga, em jaula.

Tendência: crescimento explosivo de cobots, especialmente em PMEs onde robôs tradicionais eram inviáveis.

Parte II · Programação

Exercício 3 · RAPID program (15 pts)

Escreve programa RAPID (ou descrição) para pick-and-place simples: 1. Robô em home. 2. Mover para posição A (objecto). 3. Activar vácuo. 4. Esperar 0,5s. 5. Mover para posição B (largar). 6. Desactivar vácuo. 7. Voltar a home.

Programa RAPID — Pick-and-Place:

MODULE PickPlaceModule

    ! ====== Declarações ======

    CONST robtarget Home := [[400,0,500],[1,0,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
    CONST robtarget pA := [[600,-200,200],[1,0,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
    CONST robtarget pB := [[600,200,200],[1,0,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];

    CONST jointtarget JointHome := [[0,0,0,0,90,0],[9E9,9E9,9E9,9E9,9E9,9E9]];

    ! Velocidades
    CONST speeddata vFast := v1000;
    CONST speeddata vSlow := v300;

    ! ====== Programa principal ======

    PROC Main()
        ! Inicializar
        TPWrite "Programa Pick-and-Place iniciado";
        SetDO doVacuum, 0;  ! Vácuo desligado
        SetDO doInOperation, 1;  ! Sinal a PLC

        ! Ir para home
        MoveAbsJ JointHome, vFast, fine, tGripper;

        ! Loop principal
        WHILE diStartCycle = 1 DO

            ! 1. Esperar sinal de start
            WaitDI diStartCycle, 1;
            TPWrite "Iniciando ciclo";

            ! 2. Mover para posição A (objecto)
            MoveJ Offs(pA,0,0,150), vFast, z10, tGripper;  ! Approach
            MoveL pA, vSlow, fine, tGripper;  ! Ponto exacto

            ! 3. Activar vácuo
            SetDO doVacuum, 1;

            ! 4. Esperar 0,5s
            WaitTime 0.5;

            ! Subir
            MoveL Offs(pA,0,0,150), vSlow, z10, tGripper;

            ! 5. Mover para posição B
            MoveJ Offs(pB,0,0,150), vFast, z10, tGripper;
            MoveL pB, vSlow, fine, tGripper;

            ! 6. Desactivar vácuo
            SetDO doVacuum, 0;
            WaitTime 0.3;  ! Garantir solta

            ! Subir
            MoveL Offs(pB,0,0,150), vSlow, z10, tGripper;

            ! 7. Voltar a home
            MoveAbsJ JointHome, vFast, fine, tGripper;

            ! Sinal a PLC: ciclo completo
            PulseDO doCycleDone;

            ! Contar ciclos
            cycle_count := cycle_count + 1;
            TPWrite "Ciclo " + ValToStr(cycle_count) + " completo";

        ENDWHILE

        SetDO doInOperation, 0;
        TPWrite "Programa terminado";

    ENDPROC

    ! ====== Tratamento de emergência ======

    TRAP EmergencyStop
        ! Em caso de emergência
        SetDO doVacuum, 0;
        Stop;
        TPWrite "EMERGÊNCIA - Programa parado";
    ENDTRAP

ENDMODULE

Explicação:

  1. Constantes: pontos pré-definidos (Home, A, B).
  2. Tool: tGripper (definido com TCP da pinça).
  3. Movimentos:
  4. MoveJ: rápido, articular (deslocações longas).
  5. MoveL: linear (aproximações precisas).
  6. Offs(pA,0,0,150): ponto pA com offset Z=+150mm (approach acima).
  7. Zona: fine em pontos exactos, z10 em zonas de transição (mais rápido).
  8. Vácuo: controlado por doVacuum (digital output 0 ou 1).
  9. Esperar: WaitTime para tempo, WaitDI para sinal externo.
  10. Comunicação com PLC: doInOperation, doCycleDone, diStartCycle.
  11. Tratamento de emergência: TRAP routine.

Tempo total de ciclo: - Estimativa: 4-6 segundos. - 600-900 ciclos/hora.

Em programa real: - Adicionar verificações (sensor confirma peça em A?). - Tratamento de erros. - Logs detalhados. - Receitas para diferentes peças.

Exercício 4 · TCP (10 pts)

a) O que é TCP? b) Como calibrar TCP? c) Que acontece se TCP estiver mal calibrado?

a) TCP (Tool Center Point):

Ponto de referência da ferramenta, geralmente a ponta da ferramenta (pinça, soldadura, etc.).

Coordenadas no robô: - XYZ offset desde a flange até à ponta. - Orientação (Rx, Ry, Rz) — direcção da ferramenta.

Quando se programa um ponto, robô move-se até o TCP chegar ao ponto especificado.

b) Calibração de TCP:

Método clássico — 4-point:

  1. Definir ponto fixo de referência no espaço (ex: ponta de uma vareta fixa na mesa).
  2. Mover o robô com a ferramenta para tocar o ponto de referência em 4 (ou mais) orientações diferentes:
  3. Orientação 1: ferramenta vertical.
  4. Orientação 2: ferramenta inclinada 30° X.
  5. Orientação 3: inclinada 30° Y.
  6. Orientação 4: outra inclinação.
  7. Gravar posição dos eixos em cada caso.
  8. Software calcula o offset XYZ que mantém a ponta no mesmo ponto independente da orientação.
  9. Adicionar orientação (5-point method) para calibrar Rx/Ry/Rz.
  10. Validar: girar o robô em volta do TCP — ponta deve permanecer fixa.

Tempo: 15-30 min para calibração precisa.

c) TCP mal calibrado — consequências:

1. Precisão degradada: - Robô pensa que está no ponto X, mas na verdade ferramenta está em Y. - Erro pode ser de milímetros (não aceitável em montagem).

2. Colisões: - Movimentos baseados em TCP errado podem fazer ferramenta bater em obstáculos. - Cálculo de trajectória falha.

3. Orientação errada: - Em soldadura, tocha pode não estar a 90° da peça → cordão de soldadura defeituoso. - Em pintura, pistola não está perpendicular → camada irregular.

4. Forças inesperadas: - Em montagem com sensor de força, robô pode aplicar força errada.

5. Pinças fora de centro: - Pinça pega em posição ligeiramente desviada. - Pode largar peça incorrectamente.

6. Programas falham: - Ciclo automático pode parar com "alarme de posição" se desvio for grande.

Quando re-calibrar: - Após qualquer colisão (mesmo leve). - Após substituição da ferramenta. - Periodicamente (semestral / anual). - Se aparece desvio sistemático.

Métodos modernos: - Auto-calibração com câmara: robô faz ele próprio o procedimento. - Calibração com peça padrão: peça com geometria conhecida.

Padrões de precisão: - TCP bem calibrado: erro < 0,1 mm. - Em servomotores premium (com encoder de alta resolução): até 0,01 mm.

Parte III · Integração e segurança

Exercício 5 · Robô-PLC (10 pts)

Como integrar robô ABB com PLC Siemens via Profinet:

Integração ABB Robot ↔ Siemens PLC via Profinet:

Hardware necessário: - Robô ABB com DSQC1031 ProfiNet IRT ou equivalente. - PLC Siemens com porta Profinet (S7-1500 ou similar). - Switch industrial (Scalance, Hirschmann). - Cabos Ethernet industrial (Cat6 blindado).

Configuração no robô ABB:

  1. RobotWare com opção PROFINET Device instalada.
  2. Configurar IP do robô: ex: 192.168.0.20.
  3. Definir nome do dispositivo: "ROBOT_01".
  4. Ficheiro GSDML do robô (fornecido pela ABB): importar no TIA Portal.
  5. Mapping de I/Os: definir 32 ou 64 bits de entrada e saída.

Configuração no PLC Siemens (TIA Portal):

  1. Hardware Configuration → Network View.
  2. Importar GSDML do robô ABB (Catalog → Other field devices).
  3. Arrastar robô para a rede Profinet.
  4. Atribuir IP e nome (mesmos que no robô).
  5. Configurar telegramas (escolher tamanho de I/O).
  6. Compilar e descarregar ao PLC.
  7. Atribuir nome ao robô via TIA Portal (caso não tenha sido atribuído no robô).

Programa do PLC:

// I/O do robô mapeado a memória:
// Robô  PLC: IB100 a IB103 (32 bits)
// PLC  Robô: QB100 a QB103 (32 bits)

// Comandar robô
"Robot_StartCycle" := M0.0;  // = PLC envia bit ao robô

// Ler status
"Robot_InOperation" := I100.0;  // robô em operação
"Robot_CycleDone" := I100.1;     // ciclo completo
"Robot_Fault" := I100.2;         // alarme

// Exemplo: arrancar robô se peça pronta
IF "Sensor_PartReady" AND NOT "Robot_InOperation" THEN
    "Robot_StartCycle" := TRUE;
END_IF;

// Contar peças
IF "Robot_CycleDone" THEN
    "Production_Counter" := "Production_Counter" + 1;
END_IF;

Programa do robô (RAPID):

WHILE TRUE DO
    ! Esperar sinal de start do PLC
    WaitDI diStartCycle, 1;

    ! Sinal: estou em operação
    SetDO doInOperation, 1;

    ! Executar ciclo
    PickPlace();

    ! Sinal: ciclo completo
    PulseDO doCycleDone;

    ! Sinal: parei de operar
    SetDO doInOperation, 0;
ENDWHILE

Mapping de I/Os típico (exemplo):

Bit Direcção Função
0 PLC → Robô Start cycle
1 PLC → Robô Stop
2 PLC → Robô Reset alarm
3 PLC → Robô Selecção de receita bit 0
4 PLC → Robô Selecção de receita bit 1
... ... ...
0 Robô → PLC In operation
1 Robô → PLC Cycle done (pulse)
2 Robô → PLC Robot in fault
3 Robô → PLC Position at Home
... ... ...

Dados analógicos (em telegrama maior): - Velocidade do robô. - Coordenadas TCP em tempo real (X, Y, Z). - Contador de ciclos. - Tempo do último ciclo.

Verificação: 1. Diagnóstico no TIA Portal: confirmar que robô aparece como dispositivo Profinet activo. 2. Diagnóstico no robô: ver que recebe sinal do PLC. 3. Teste: forçar um bit no PLC e verificar que robô vê (com Force ou via programa).

Cybersegurança: - Rede industrial separada. - Passwords nos painéis. - VPN para acesso remoto.

Exercício 6 · Segurança em célula robótica (15 pts)

Tens uma célula com robô industrial 6 eixos + cinta de transporte + estação de carga/descarga. Como projectar segurança?

Projecto de Segurança — Célula Robótica

Análise de risco prévia (ISO 12100 + ISO 10218):

Perigos identificados: 1. Esmagamento entre robô e equipamento. 2. Impacto com pessoa. 3. Ejecção de peça em movimento. 4. Aprisionamento entre robô e parede. 5. Eléctrico: tensões altas no quadro. 6. Pneumático: ar comprimido pinças. 7. Térmico: motores podem aquecer.

Risco: alto (operação 24/7 com pessoal próximo).

Categoria de segurança: PLe (ISO 13849, mais alto).

Medidas de segurança:

1. Jaula (cell):

2. Porta de acesso:

3. Cortina óptica (para zonas de carga/descarga):

4. Botões de emergência:

5. Sistemas auxiliares:

6. Hardware de segurança:

7. Procedimentos:

8. Documentação:

9. Treinamento:

10. Marcação CE da célula:

A célula robótica é uma máquina segundo Directiva 2006/42/CE. - Análise de risco completa. - Declaração CE assinada. - Manual em português. - Marcação visível.

Investimento típico em segurança (célula com 1 robô médio):

Item Custo
Jaula completa (10-15 m perímetro) 5 000-15 000 €
Porta com interbloqueio Schmersal 800-2 000 €
Cortina óptica Sick 2 000-5 000 €
4-6 Botões emergência 300-800 €
Relé de segurança Pilz 500-1 200 €
PLC de segurança (se necessário) 2 000-5 000 €
Sinalização luminosa + sonora 200-500 €
Engenharia + análise de risco 3 000-10 000 €
Cabos e instalação 2 000-5 000 €
Total ~16 000-44 000 €

ROI da segurança: - Custo de um acidente fatal: investigação criminal + processos + multa ACT + paragem prolongada + danos morais + reputação = facilmente 500 000 € ou mais. - Investimento em segurança paga-se ao evitar um único acidente.

Cobots simplificam tudo isto — operador pode trabalhar lado-a-lado sem jaula (em condições). Por isso o crescimento de cobots.

Parte IV · Aplicação

Exercício 7 · Selecção de ferramenta (10 pts)

Para cada produto, indica end effector adequado:

a) Componentes electrónicos em PCB (SMD). b) Garrafas de vidro (linha de embalagem). c) Sacos de cimento 25 kg. d) Chapa metálica (estampagem). e) Embalagens de plástico de variadas formas.

a) Componentes electrónicos SMD: - Pinça de vácuo com bocal específico (pequeno). - Pressão de sucção controlada (não esmagar). - Cobot com sensor de força para colocação delicada. - Ref: SMC ZP series, Schmalz suction cups.

b) Garrafas de vidro: - Pinça de vácuo com ventosas grandes (Ø50-80 mm). - Forma anatómica (adaptada ao gargalo ou parede). - Sensor de presença (verificar agarrou). - Standard em embalagem alimentar/farmacêutica.

c) Sacas de cimento 25 kg: - Pinça mecânica com 4-6 dedos articulados. - Aperto adaptativo (saco deforma-se). - Alternativa: vácuo com membrana (para sacos selados). - Capacidade: > 30 kg (margem de segurança).

d) Chapa metálica: - Pinça magnética (electromagnética): - Activar/desactivar electricamente. - Boa para chapas grandes e pesadas. - Cuidado: chapas finas podem "ondular". - Alternativa: vácuo com ventosas grandes (chapas planas, lisas).

e) Embalagens plástico variadas: - Pinça adaptiva (universal gripper): - Dedos articulados ou material macio (membrana com fluido granular). - Adapta-se à forma do objecto. - Marcas: Festo MultiChoiceGripper, Soft Robotics. - Alternativa: visão computacional + escolha de pinça apropriada de uma "garagem".

Princípios de selecção:

  1. Material da peça (rígido, flexível, frágil, ferromagnético).
  2. Geometria (planar, complexa, variável).
  3. Peso.
  4. Acessibilidade (precisar de dedos finos).
  5. Velocidade desejada.
  6. Custo do end effector.
  7. Manutenção (vida útil das peças móveis).

Sensores adicionais: - Confirmação de pega: sensor de vácuo, sensor de força. - Visão: identificar peça antes de pegar. - Conformidade: detectar peça em posição correcta.

Exercício 8 · Manutenção (15 pts)

Elabora plano de manutenção anual para um robô industrial KUKA 6 eixos operando 24/7:

Plano de Manutenção — KUKA Robot 6 Eixos 24/7

Vida útil esperada com manutenção: 60-100 000 horas (10-15 anos).

DIÁRIA (operador, 2 min): - Inspecção visual: sem objectos estranhos, sem fugas. - Ruído anormal: rangidos, ranger. - End effector: limpo, sem danos. - Cabos da ferramenta: sem desgaste visível.

SEMANAL (técnico, 30 min): - Limpeza geral com pano seco (sem solventes agressivos). - Verificar parafusos críticos visíveis (sem soltos). - Cabos do braço: especial atenção a zonas que dobram mais. - Limpeza da estação de carga das ferramentas.

MENSAL (técnico qualificado, 1h): - Lubrificação dos eixos conforme manual KUKA: - Massa específica KUKA (não substituir por outras). - Quantidade exacta (mais não é melhor). - Pontos: cada eixo tem nipple próprio. - Verificação dos cabos do braço com lente (rachaduras?). - Backup do programa (em PC + servidor). - Verificar bateria do controlador (mantém memória — substituir a cada 5 anos).

TRIMESTRAL (técnico + supervisão, 2h): - Termografia dos motores em operação. - Análise de vibração (acelerómetro em cada eixo). - Verificação da calibração TCP: - Tocar ponto fixo de referência. - Confirmar que coordenadas estão corretas. - Inspecção do redutor (folga, ruído).

SEMESTRAL: - Substituição preventiva de cabos do braço se sinais de envelhecimento (5-10 anos vida útil). - Verificação de folga nos redutores (movimentos minúsculos manuais). - Análise de óleo dos redutores (se modelo com banho de óleo). - Calibração de sensores adicionais (visão, força).

ANUAL (paragem programada, 1-2 dias): - Calibração geométrica completa: - Verificar todos os eixos. - Software KUKA WorkVisual ou similar. - Substituição de filtros (se aplicável). - Verificação dos travões: - Desligar electricidade. - Travão deve segurar a posição. - Termografia detalhada do controlador. - Backup completo (programas + parâmetros + configuração). - Documentação actualizada. - Inspecção dos cabos principais (do controlador ao braço).

A CADA 5 ANOS: - Substituição preventiva: - Bateria do controlador. - Filtros de ar do controlador (se aplicável). - Avaliação dos redutores (vida útil próxima do fim?). - Cabos do braço: substituir se envelhecidos. - Software: actualizar firmware se relevante.

A CADA 10 ANOS (revisão major): - Substituição de redutores principais (10-30 000 h vida útil). - Renovação completa de cabos. - Possível upgrade do controlador.

KPIs a monitorizar:

Documentação:

Custos anuais estimados:

Comparação: - Custo de uma paragem catastrófica: 10 000-50 000 € em peças + 1-2 semanas paragem. - Manutenção preventiva paga-se largamente.

Indicadores de problema:

Sintoma Acção
Vibração crescente Verificar redutor, balanceamento da ferramenta
Erro de posição repetitivo Calibrar TCP, verificar encoder
Aquecimento anormal Lubrificação, ventilação, motor
Ruído metálico Inspeccionar imediatamente — pode ser rolamento
Imprecisão Verificar parafusos, calibração geral

Backup do programa:

Formação: