treinamento em programação de nível avançado para o controlador nx-100

161
As informações contidas neste manual são de uso exclusivo da MOTOMAN INC, não podem ser copiadas, reproduzidas e transmitidas por qualquer meio sem autorização documentada pela MOTOMAN ROBÓTICA DO BRASIL. Revisão Técnica: Rogério Vitalli (Eng. Mecatrônico, Msc) [email protected] São Bernardo do Campo - SP Treinamento em Programação de Nível Avançado para o Controlador NX-100 Curso: TP-10

Upload: gerson-roberto-da-silva

Post on 21-Feb-2017

225 views

Category:

Engineering


66 download

TRANSCRIPT

Page 1: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

As informações contidas neste manual são de uso exclusivo da

MOTOMAN INC, não podem ser copiadas, reproduzidas e

transmitidas por qualquer meio sem autorização documentada pela

MOTOMAN ROBÓTICA DO BRASIL.

Revisão Técnica: Rogério Vitalli (Eng. Mecatrônico, Msc)

[email protected]

São Bernardo do Campo - SP

Treinamento

em Programação de

Nível Avançado

para o Controlador

NX-100

Curso: TP-10

Page 2: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 2 Curso: TP-10

SUMÁRIO

Página

1.0 SISTEMA DE SEGURANÇA ..................................................................... 14

1.1 Modos Padorões de Segurança .................................................................. 14

1.2 Sistema de Segurança (LOGON-LOGOFF) .................................................... 17

1.3 Job Atual – Edit Menu (Lado de Endereços) ................................................ 19

1.3.1 Buscando uma LINE/STEP ....................................................................... 20

1.3.2 Buscando uma LABEL .............................................................................. 21

1.3.3 Buscando uma INSTRUCTION ................................................................. 21

1.3.4 Buscando um TAG ................................................................................... 22

1.3.5 Habilitando SPD TAG e PL TAG ............................................................... 22

1.3.6 Habilitando o UNDO ................................................................................ 23

1.4 Job Atual – Edit Menu (Lado de Instruções) ................................................ 25

1.4.1 Copiar / Recortar ..................................................................................... 26

1.4.2 Colar, Colar Reverso ................................................................................ 26

1.4.3 Mudança de Velocidade ......................................................................... 26

1.4.4 Tempo de Job (TRT) ................................................................................ 27

1.5 Job List – Edit Menu .................................................................................. 28

1.6 Job Capacity – Job Menu ........................................................................... 28

1.6.1 Deletando uma Linha de Edição ............................................................. 29

1.6.2 Apagando Dados de Calibração de Feramenta ....................................... 30

1.6.3 Apagando Dados de Coordenadas de Usuário ....................................... 30

1.6.4 Edição do Job Header: ON-OFF ............................................................... 31

2.0 CONFIGURAÇÕES DE ÍCONES ............................................................... 32

2.1 Condições de Aprendizagem ...................................................................... 32

2.1.1 Retangular / Cilíndrica............................................................................. 32

Page 3: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 3 Curso: TP-10

2.1.2 Nível de Linguagem ................................................................................. 33

2.1.3 Instruções de Entrada ............................................................................. 33

2.1.4 Instruções de Movimento ....................................................................... 33

2.1.5 Instruções de Posição ............................................................................. 34

2.2 Senha de Usuário ...................................................................................... 34

2.3 Tabela de Jobs .......................................................................................... 35

2.4 Alocação de Teclas .................................................................................... 35

2.4.1 Alocação Física Individual ....................................................................... 35

2.4.2 Alocação Simulacional ............................................................................ 36

2.4.3 Alocação Mista ........................................................................................ 38

2.5 Relógio e Data ........................................................................................... 38

2.6 Velocidade Fixa ......................................................................................... 38

2.7 Condições de Operação ............................................................................. 39

2.7.1 Operação Permitida / Proibida ............................................................... 39

2.7.2 Forma de Dados de Velocidade .............................................................. 39

2.7.3 Chave em Ciclo ........................................................................................ 40

3.0 FAMÍLIAS DE PARÂMETROS ............................................................... 41

3.1 Família S1CxG ......................................................................................... 44

3.2 Família S2C ............................................................................................. 45

3.3 Família S3C ............................................................................................. 49

3.4 Família S4C ............................................................................................. 49

3.5 Família AxP ............................................................................................. 49

3.6 Família RS ............................................................................................... 50

4.0 LIMITE DE SOFT ...................................................................................... 51

4.1 Limite de Soft dos Eixos (S,L,U,R,B,T) ....................................................... 51

4.1.1 Determinando Dados de Limite de Soft ................................................ 51

4.1.2 Modificando Dados de Limite de Soft ................................................... 51

4.2 Criando Limite de Soft da Ferramenta (Cubo do TCP) ............................... 52

4.2.1 Definindo Posição da Base (XYZ) ........................................................... 52

Page 4: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 4 Curso: TP-10

4.2.2 Definindo Posição da Ferramenta (TCP) ............................................... 52

4.3 Liberação Temporária de Limite de Soft ................................................... 53

5.0 HOME, SECOND E WORK POSITIONS .............................................. 55

5.1 Home Position Calibration ....................................................................... 55

5.2 Second Home Position............................................................................. 55

5.3 Work Home Position ............................................................................... 57

6.0 ZONA DE INTERFERÊNCIA ................................................................... 59

6.1 Métodos de Criação de Cubos ................................................................. 59

6.1.1 Posição Central ....................................................................................... 60

6.1.2 Máximo e Mínimo ................................................................................... 61

6.1.3 Work Home Position ............................................................................... 62

6.1.4 Modificando Dados de Interferência ...................................................... 62

6.2 Monitorando Saída Específica de Cubo .................................................... 63

6.3 Programando Saída de Cubo com WAIT ................................................... 63

6.4 Definindo Cubo de Eixo Externo ............................................................... 64

6.5 Checando Cubo de Eixo Externo ............................................................... 65

6.6 Esfera de TCP .......................................................................................... 66

7.0 MENSAGENS E ALARMES .................................................................... 68

7.1 Instrução de Mensagem .......................................................................... 68

7.2 Mensagem de Usuário ............................................................................. 69

7.3 Alarme de Usuário .................................................................................. 70

7.4 Acessando o Sistema de Mensagens e Alarmes ........................................ 71

7.5 Monitorando I/O ..................................................................................... 71

7.6 Monitorando Ladder ............................................................................... 72

8.0 VELOCIDADE PADRÃO ......................................................................... 73

9.0 NWAIT, CWAIT E UNTIL INSTRUCTIONS ......................................... 75

9.1 Programando com NWAIT ....................................................................... 75

9.2 Programando com CWAIT........................................................................ 76

Page 5: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 5 Curso: TP-10

9.3 Saída Antecipada .................................................................................... 76

9.3.1 Tabela de Saída Antecipada .................................................................. 76

9.3.2 Instruções de Saída Antecipada ............................................................ 77

9.4 Programando com UNTIL ......................................................................... 77

10.0 TIPOS DE VARIÁVEIS E ENDEREÇOS............................................... 79

10.1 Variável Local e Global .......................................................................... 79

10.2 Endereço Escalar e Matricial .................................................................. 79

10.3 Variável Aritmética................................................................................ 80

10.4 Variável de Posição ............................................................................... 81

10.5 Variável de Sistema ............................................................................... 81

10.5.1 Variável de Sistema tipo Byte ($B-type) ............................................. 81

10.5.2 Variável de Sistema tipo Position ($PX-type)...................................... 81

11.0 VARIÁVEl DE POSIÇÃO ...................................................................... 84

11.1 Acessando Variáveis de Posição ............................................................. 84

11.2 Estabelecendo Tipos de Dados ............................................................... 84

11.3 Sistemas de Coordenadas (FRAMES) ...................................................... 85

11.3.1 Frame do Robô (RF) .............................................................................. 85

11.3.2 Frame da Base (BF) ............................................................................... 86

11.3.3 Frame do Usuário (UF) .......................................................................... 86

11.3.4 Frame da Ferramenta (TF) .................................................................... 87

11.3.5 Frame Mestre da Ferramenta (MTF) ................................................... 88

11.3.6 Selecionando Múltiplas Ferramentas (TCPs) ........................................ 88

11.3.7 Eixo Externo (ST) ................................................................................... 89

11.4 Variável de Posição em Pulso ................................................................. 89

11.5 Variável de Posição em XYZ ................................................................... 90

11.6 Checando Varável de Posição ................................................................ 91

11.7 Editando Variável de Posição em Pulso .................................................. 91

11.8 Editando Variável de Posição em XYZ ..................................................... 92

11.9 Programando com Variável de Posição .................................................. 92

Page 6: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 6 Curso: TP-10

11.10 Movimento Incremental (IMOV) .......................................................... 93

11.11 Tipo de Dados ..................................................................................... 94

12.0 INSTRUÇÕES ARITMÉTICAS .............................................................. 96

12.1 Status do Sistema .................................................................................. 97

12.2 Funções de Variável de Posição ............................................................. 98

12.2.1 CNVRT ................................................................................................... 98

12.2.2 GETE ...................................................................................................... 98

12.2.3 SETE ....................................................................................................... 99

12.2.4 MFRAME ............................................................................................... 99

12.3 Funções de Cálculo ................................................................................ 99

12.3.1 ADD ....................................................................................................... 99

12.3.2 SUB ........................................................................................................ 100

12.3.3 MUL ....................................................................................................... 100

12.3.4 DIV ......................................................................................................... 101

12.4 Funções de Valores ............................................................................... 101

12.4.1 SET ......................................................................................................... 101

12.4.2 CLEAR .................................................................................................... 102

12.5 Funções de Contagem ........................................................................... 103

12.5.1 INC ......................................................................................................... 103

12.5.2 DEC ........................................................................................................ 103

12.6 Funções Trigonométricas ....................................................................... 104

12.6.1 SQRT ...................................................................................................... 104

12.6.2 SIN ......................................................................................................... 104

12.6.3 COS ........................................................................................................ 104

12.6.4 ATAN ..................................................................................................... 104

12.7 Funções de Lógica Booleana .................................................................. 105

12.7.1 AND ....................................................................................................... 105

12.7.2 OR .......................................................................................................... 105

12.7.3 XOR ........................................................................................................ 106

Page 7: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 7 Curso: TP-10

12.7.4 NOT ....................................................................................................... 106

13.0 FUNÇÕES DE DESLOCAMENTO ....................................................... 107

13.1 SFTON e SFTOF ...................................................................................... 107

13.2 MSHIFT ................................................................................................. 108

13.3 PARALLEL SHIFT ..................................................................................... 109

13.4 MIRROR SHIFT ....................................................................................... 112

13.5 DYNAMIC EDITING (PAM) ...................................................................... 113

14.0 RELATIVE JOB ....................................................................................... 119

14.1 Conversão de Relative Job para Edição Off-Line ..................................... 119

14.2 Conversão de Relative Job para Deslocamento 3D .................................. 122

14.3 Conversão XYZ Relative Job para Dados de TCP ...................................... 124

15.0 COMPENSAÇÃO DA FERRAMENTA (PMT) ................................... 126

15.1 Salvando Novos Dados de TCP .............................................................. 126

15.2 Compensando Dados com PMT.............................................................. 127

16.0 MÚLTIPLAS FERRAMENTAS ............................................................. 129

16.1 Programando com TCPON ..................................................................... 129

16.2 Programando com TCPOF ...................................................................... 130

17.0 INTERRUPÇÃO DE PROGRAMA (JOB) ........................................... 131

17.1 Configurando a Tabela de Interrupção de Job ......................................... 131

17.2 Programando EI e DI .............................................................................. 132

18.0 BUSCA RÁPIDA (SRCH RIN#) ............................................................ 134

18.1 Programando MOV L com SRCH ............................................................. 134

18.2 Programando MOV L Pxxx com SRCH ..................................................... 136

18.3 Programando IMOV Pxxx com SRCH ...................................................... 136

19.0 JOB CONCORRENTE OU SIMULTÂNEO ....................................... 138

19.1 Sistema Concorrente ou Simultâneo .................................................... 138

19.2 Estrutura do Job .................................................................................. 138

19.2.1 PSTART .................................................................................................. 138

Page 8: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 8 Curso: TP-10

19.2.2 Programando com PSTART ................................................................... 139

19.2.3 PWAIT .................................................................................................... 139

19.2.4 Programando com PSTART ................................................................... 140

19.2.5 Modo Vários Jobs x Modo Único Job .................................................. 140

19.2.6 TSYNC .................................................................................................... 140

19.2.7 Programando com TSYNC ..................................................................... 141

19.2.8 SYNC ...................................................................................................... 141

19.2.9 Uso do CALL com Job Simultâneo ......................................................... 142

19.2.10 Cuidados de Operação ........................................................................ 143

20.0 CONTROLE DE MOVIMENTO COORDENADO............................ 145

20.1 Programa com Movimento Coordenado .............................................. 145

20.2 Controle de Movimento Sincronizado .................................................. 146

21.0 SENSOR INTERNO DE CHOQUE ..................................................... 148

21.1 Configuração do Sensor Interno de Choque .......................................... 148

21.2 Programando com SHKSET................................................................... 149

21.3 Recuperação da Detecção pelo Sensor Interno de Choque .................... 149

21.4 Ação do Sensor Externo de Choque e Recuperação .............................. 151

ANEXOS.....................................................................................153

Page 9: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 9 Curso: TP-10

TABELAS

Página

Tabela 1.1: Níveis de Segurança ............................................................................ 15

Tabela 3.1: Parâmetros Comuns ............................................................................ 42

Tabela 3.2: Parâmetros Disponíveis para Versão de Software 3.11 ou Superior ...... 43

Tabela 4.1: Parâmetros de Soft Limits do Cubo ...................................................... 53

Tabela 10.1: Variáveis Aritméticas......................................................................... 81

Tabela 10.2: Variáveis Globais / Locais de Posição ................................................. 81

Tabela 10.3: Exemplos de Variáveis do Tipo $B ...................................................... 82

Tabela 10.4: Exemplos de Variáveis do Tipo $PX .................................................... 83

Tabela 12.1: Lista Informativa ............................................................................... 96

Tabela 19.1: Uso da Instrução CALL ....................................................................... 143

Page 10: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 10 Curso: TP-10

LISTA DE FIGURAS

Página

Figura 1.1: Ícones dos Níveis de Segurança .............................................................. 14

Figura 1.2: Acesso LOGON ....................................................................................... 18

Figura 1.3: Usuário Padrão para LOGON .................................................................. 18

Figura 1.4: Entrada de Senha no LOGON .................................................................. 19

Figura 1.5: LOGOFF ................................................................................................. 19

Figura 1.6: Menu Edit (Lado de Endereços) .............................................................. 20

Figura 1.7: Undo Habilitado .................................................................................... 23

Figura 1.8: Endereço do Undo ................................................................................. 23

Figura 1.9: Undo Ativo ............................................................................................ 24

Figura 1.10: Redo Ativo ........................................................................................... 24

Figura 1.11: Menu Edit (Lado de Instruções) ............................................................ 25

Figura 1.12: Job List – Menu Edit ............................................................................. 28

Figura 1.13: Job Capacity com Edit Buffer: Used ....................................................... 29

Figura 1.14: Job Capacity com Edit Buffer: Delete .................................................... 29

Figura 1.15: Job Capacity com Edit Buffer: Not Used ................................................ 30

Figura 2.1: Teaching Condition ................................................................................ 32

Figura 2.2: Tela User ID ........................................................................................... 34

Figura 2.3: Tela do Reserved Job Name ................................................................... 35

Figura 2.4: Tela da Key Allocation (EACH) ................................................................ 36

Figura 2.5: Tela da Key Allocation (SIM) ................................................................... 37

Figura 2.6: Tela de Configuração de Date / Clock ..................................................... 38

Page 11: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 11 Curso: TP-10

Figura 4.1: Limites de Trabalho ............................................................................. 52

Figura 5.1: Tela do Home Position ......................................................................... 55

Figura 5.2: Second Home Position ......................................................................... 56

Figura 5.3: Work Home Position ............................................................................ 57

Figura 6.1: Desaceleração no Fim de Zona ............................................................. 59

Figura 6.2: Método da Posição Central .................................................................. 60

Figura 6.3: Método de Máximo e Mínimo .............................................................. 61

Figura 6.4: Work Home Position (Cubo 32) ............................................................ 62

Figura 6.5: Cubo de Eixo Externo ........................................................................... 65

Figura 6.6: Checando Cubo de Eixo Externo ........................................................... 65

Figura 6.7: Interferência Esférica ........................................................................... 67

Figura 7.1: Inform List Msg .................................................................................... 68

Figura 7.2: Conteúdo de Job com Instruções de MSG ............................................. 69

Figura 7.3: Tela de Mensagem de Usuário ............................................................. 70

Figura 7.4: Tela de Alarme de Usuário ................................................................... 71

Figura 9.1: Tabela de Saída Antecipada ................................................................. 76

Figura 9.2: Tabela Detalhada de Saída Antecipada ................................................. 77

Figura 11.1: Variável de Posição (padrão, tipo de dado) ......................................... 84

Figura 11.2: Robot Frame (RF) ............................................................................... 85

Figura 11.3: Base Frame (BF) ................................................................................. 86

Figura 11.4: User Frame (UF) ................................................................................. 87

Figura 11.5: Tool Frame (TF) .................................................................................. 87

Figura 11.6: Tela do Tool Number .......................................................................... 88

Figura 11.7: Eixo Externo....................................................................................... 89

Figura 11.8: Tela de Variável de Posição ................................................................ 90

Page 12: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 12 Curso: TP-10

Figura 11.9: Tela XYZ da Variável de Posição .......................................................... 91

Figura 12.1: Elementos de uma Variável de Posição ............................................... 98

Figura 12.2: Expressão SET .................................................................................... 102

Figura 13.1: Tecla do Parallel Shift ......................................................................... 110

Figura 13.2: Pontos de Partida / Destino ............................................................... 111

Figura 13.3: Job Espelhado .................................................................................... 112

Figura 13.4: Tela do Mirror Shift ............................................................................ 113

Figura 13.5: Enable Step Number .......................................................................... 114

Figura 13.6: Acesso à Função PAM ........................................................................ 114

Figura 13.7: Tela da Função PAM ........................................................................... 115

Figura 13.8: Escolha de Coordenadas PAM ............................................................ 115

Figura 13.9: Entrada de Número do PAM ............................................................... 116

Figura 13.10: Menu de Edição PAM ....................................................................... 117

Figura 13.11: Aceitar Alterações ............................................................................ 118

Figura 13.12: Aceitar o UNDO ................................................................................ 118

Figura 14.1: Exemplo de Job com Posições Comandadas ....................................... 119

Figura 14.2: Conversão de Job Relativo .................................................................. 120

Figura 14.3: Tela de Posição em Formato XYZ ........................................................ 121

Figura 14.4: Exemplo de Job com XYZ .................................................................... 121

Figura 14.5: Exemplo de Job com XYZ de Tool ........................................................ 125

Figura 15.1: Tela do PMT de Backup ...................................................................... 126

Figura 15.2: Tela do PMT com Dados de Ferramenta .............................................. 127

Figura 15.3: Telas de Conversão do PMT ................................................................ 128

Figura 17.1: Tabela do Interrupt Job ...................................................................... 132

Page 13: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 13 Curso: TP-10

Figura 18.1: Detail Edit MOV L ............................................................................... 134

Figura 18.2: SRCH Detail Edit ................................................................................. 135

Figura 19.1: Job Mestre ....................................................................................... 139

Figura 19.2: Fluxo TSYNC .................................................................................... 141

Figura 19.3: Instrução do Tag .............................................................................. 142

Figura 20.1: Indicador Síncrono ........................................................................... 147

Figura 21.1: Tela do Sensor de Choque: VALID ..................................................... 148

Figura 21.2: Tela do Sensor de Choque: INVALID .................................................. 150

Figura 21.3: Sensor de Choque ............................................................................ 150

Figura 21.4: Alarme do Sensor de Choque ........................................................... 151

Page 14: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 14 Curso: TP-10

1.0 SISTEMA DE SEGURANÇA

1.1 Modos Padrão de Segurança O Controlador NX100 é protegido por um sistema de segurança que permite a operação, edição e modificação das configurações de acordo com três modos de SEGURANÇA. Um ícone no Status Area indica o nível de segurança atual.

Figura 1-1 Ícones dos Níveis de Segurança O OPERATION MODE é o nível de acesso mais baixo e nunca requer um número de senha (User ID). Os modos EDITING e MANAGEMENT são protegidos separadamente por um número User ID com 4 à 8 dígitos. Certifique-se de que os usuários possuam o treinamento correto para cada nível que eles possam acessar. A senha/User ID padrão de fábrica para o EDITING MODE é 00000000 (8 zeros), e para o MANAGEMENT MODE é 99999999 (8 noves). NOTA: Não é necessário senha para mudar para um nível de segurança melhor. Para alterar a configuração do nível de Segurança para EDITING ou MANAGEMENT, faça o seguinte:

1. No MAIN MENU, selecione SYSTEM INFO; 2. Selecione SECURITY; 3. Com o cursor no MODE, pressione SELECT, mova o cursor para o nível

desejado (EDITING ou MANAGEMENT, e pressione SELECT; 4. Forneça a senha apropriada através do teclado; pressione ENTER.

NOTA: Quando estamos no EDITION MODE, a Linha Edit Buffer aparece, e o menu EDIT fica acessível em ambos os lados e no JOB CONTENT.

: Modo de Operação

: Modo de Edição

: Modo de Gerenciamento

Page 15: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 15 Curso: TP-10

Tabela 1-1: Níveis de Segurança

Modo de Operação = , Modo de Edição = Modo de Gerenciamento =.

MENU SUB MENU DISPLAY EDIÇÃO

JOB

JOB SELECT JOB

CREATE NEW JOB JOB CAPACITY NA

MASTER JOB

VARIABLE

BYTE INTEGER DOUBLE

REAL POSITION (ROBOT) POSITION (BASE)

(Se aplicável) POSITION (STATION)

(Se aplicável)

IN/OUT

EXTERNAL INPUT NA

EXTERNAL OUTPUT NA

UNIVERSAL INPUT NA

UNIVERSAL OUTPUT SPECIFIC INPUT NA

SPECIFIC OUTPUT NA

REGISTER NA

AUXILIARY RELAY NA

CONTROL INPUT NA

PSEUDO INPUT SIG NA

ANALOG OUTPUT NA

NETWORK INPUT NA

SV POWER STATUS NA

LADDER PROGRAM I/O ALARM

I/O MESSAGE Tabela 1-1: Níveis de Segurança (continuação)

Page 16: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 16 Curso: TP-10

Modo de Operação = , Modo de Edição = e Modo de Gerenciamento = .

MENU SUB MENU DISPLAY EDIÇÃO

ROBOT

CURRENT POSITION NA

COMMAND POSITION NA SHOCK SENS LEVEL (Se

aplicável)

OPE ORIGIN POS SECOND HOME POS POWER ON/OFF POS NA

SHIFT VALUE (Se aplicável)

TOOL USER COORDINATE OVERRUN & S-SENS

LIMIT RELEASE HOME POSITION ARM CONTROL

CUBIC INTERFERENCE ANALOG MONITOR SERVO MONITOR NA

SYSTEM INFO

MONITORING TIME ALARM HISTORY I/O MSG HISTORY

VERSION NA

ALARM (Se aplciável)

FD/CF

LOAD SAVE

VERIFY DELETE FORMAT DEVICE

Tabela 1-1: Níveis de Segurança (continuação)

Page 17: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 17 Curso: TP-10

Modo de Operação = , Modo de Edição = e Modo de Gerenciamento = .

MENU SUB MENU DISPLAY EDIÇÃO

SETUP

TEACHING COND SET WORD

RESERVE JOB NAME USER ID

KEY ALLOCATION DATE/TIME SET SPEED

OPERATE COND

PARAMETER

S1CxG S2C S3C S4C A1P

A2P (Se aplicável) A3P (Se aplicável)

RS S1E (Se aplicável) S2E (Se aplicável) S3E (Se aplicável) S4E (Se aplicável)

1.2 Sistema de Segurança (LOGON-LOGOFF) O controle NX100 pode conter até 100 usuários com senhas diferentes. Quando o controle é ligado, é exigido o LOGON. Um usuário pode executar o LOGOFF e deixar que o sistema altere o nível para o padrão. Uma configuração adicional pode executar o LOGOFF se o sistema ficar sem nenhuma operação pendente por um determinado número de minutos. O menu LOGON está localizado no ícone System Info no Main Menu.

Page 18: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 18 Curso: TP-10

Figura 1-2 Acesso LOGON O usuário padrão é Administrator, sendo a senha formada apenas por noves (99999999). Todos os outros usuários e senhas devem ser criados. NOTA: Os nomes dos usuários são sensíveis às letras maiúsculas e minúsculas.

Figura 1-3 Usuário Padrão para LOGON

A entrada da senha requer de 4 à 8 dígitos numéricos:

Page 19: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 19 Curso: TP-10

Figura 1-4 Entrada de Senha no LOGON NOTA: As listas de histórico de alarmes contém o LOGON do usuário que estava ativo

quando o alarme ocorreu. A função LogOFF também é acessada pelo ícone SYSTEM INFO.

Figura1-5 LOGOFF

1.3 JOB ATUAL – EDIT MENU (Lado de Endereço) A habilidade para editar, assim como os menus disponíveis, depende do nível de segurança assim como do idioma do INFORM LIST. Em uma tela de JOB CONTENT com o cursor no lado de endereços, o menu EDIT oferece um acesso rápido à uma linha específica, passo, instrução, indicador ou tag. Durante a busca de uma instrução, indicador ou tag, o NX100 automaticamente exibe a mensagem “Search mode”. Buscas

Page 20: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 20 Curso: TP-10

continuadas entre as instruções NOP e END podem ser executadas com as teclas de cursor. A partir do menu EDIT pode-se também alterar a linha de Input Buffer de modo que o Speed Tag ou o Position Level Tag fiquem habilitados ou desabilitados. O menu lado de endereços em EDIT encontra-se da seguinte maneira: TOP LINE Posiciona o cursor no primeiro endereço L:0000 NOP; END LINE Posiciona o cursor no último endereço L:XXXX END; SEARCH LINE Posiciona o cursor no endereço da linha desejada;

STEP Posiciona o cursor no endereço do passo desejado, cujo número é exibido no topo da tela;

LABEL Inicializa o “Search mode” em busca de caracteres em um LABEL ou em uma instrução JUMP;

INST Inicializa o “Search mode” em busca da instrução desejada;

TAG Inicializa o “Search mode” em busca do tag desejado; ENABLE SPD TAG Habilita VJ= e V= na linha de edição; END LINE Habilita PL=0 na linha de edição; SEARCH Habilita UNDO e REDO para a última edição.

Figura 1-6 Menu EDIT (Lado de Endereços) 1.3.1 Buscando uma LINE/STEP Para procurar por uma linha/passo na tela de um JOB CONTENT desejado no modo TEACH, faça o seguinte:

1. Na área de endereços, selecione EDIT no Menu Área;

Page 21: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 21 Curso: TP-10

2. Selecione SEARCH; 3. Mova o cursor para LINE/STEP SEARCH e pressione SELECT; 4. Utilizando o teclado numérico, entre com o número da linha/passo desejado;

pressione ENTER. O cursor será movido até o endereço da linha/passo se existir. Se o endereço da linha não existir, aparecerá a mensagem “ERROR 1020 Enter correct value”. 1.3.2 Buscando por LABEL Para procurar por um indicador na tela de um JOB CONTENT desejado no modo TEACH, faça o seguinte:

1. Na área de endereços, selecione EDIT; 2. Selecione SEARCH; 3. Mova o cursor para LABEL SEARCH e pressione SELECT; 4. Forneça alguns ou todos os caracteres do indicador a partir da tela

alfanumérica. O cursor será movido até a primeira linha encontrada com o indicador contendo os caracteres desejados. Ainda no “Search mode”, mova o cursor para baixo para continuar a busca à próxima ocorrência no job (se existir novamente); mova o cursor para cima para voltar à ocorrência anterior no job. Para sair do “Search mode”, pressione a tecla CANCEL ou selecione END e depois END SEARCH. Se a Label não existir será exibida a mensagem, “ERROR 2050 Address not found”.

NOTA: As LABELS são usadas principalmente com a instrução JUMP em jobs no modo PLAY. No entanto, no modo TEACH as LABELS podem ser usadas em um programa como um “marcador” para encontrar pedaços específicos de um job ou como um comentário para o qual a função SEARCH não se aplica. 1.3.3 Buscando uma INSTRUCTION Para procurar por uma instrução na tela de um JOB CONTENT desejado no modo TEACH, faça o seguinte:

1. Na área de endereços, selecione EDIT; 2. Selecione SEARCH; 3. Mova o cursor para INSTRUCTION SEARCH e pressione SELECT. A

INFORM LIST aparece à direita; 4. Escolha a instrução desejada.

O cursor será movido até a primeira linha encontrada com o indicador contendo os caracteres desejados. Ainda no “Search mode”, mova o cursor para baixo para continuar a busca à próxima ocorrência no job (se existir novamente); mova o cursor para cima para voltar à ocorrência anterior no job. Para sair do “Search mode”, pressione a tecla

Page 22: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 22 Curso: TP-10

CANCEL ou selecione END e depois END SEARCH. Se a instrução não existir será exibida a mensagem, “ERROR 2050 Address not found”. 1.3.4 Buscando um TAG Para ativar o modo de busca por uma tag na tela de um JOB CONTENT no modo TEACH, faça o seguinte:

1. Na área de endereços, selecione EDIT; 2. Selecione SEARCH; 3. Selecione TAG SEARCH e pressione SELECT; 4. A INFORM LIST irá aparecer. Mova o cursor até o tipo da instrução que

utiliza o TAG e pressione SELECT. Uma lista de tags para a instrução irá aparecer;

NOTA: Selecione o MOVL do menu MOTION para tags de passos como V=, VR=, PL=,

CR=, NWAIT ou UNTIL.

5. Mova o cursor para a tag desejada e pressione SELECT. O cursor será movido até a primeira linha encontrada com o indicador contendo os caracteres desejados. Ainda no “Search mode”, mova o cursor para baixo para continuar a busca à próxima ocorrência no job (se existir novamente); mova o cursor para cima para voltar à ocorrência anterior no job. Para sair do “Search mode”, pressione a tecla CANCEL ou selecione END e depois END SEARCH. Se o tag não existir será exibida a mensagem, “ERROR 2050 Address not found”. 1.3.5 Habilitando SPD TAG e PL TAG O Input Buffer Line, por padrão, possui o Speed Tag habilitado e o Precision Level Tag desabilitado nas instruções MOV_. O SPD TAG deve ser desabilitado apenas se a velocidade for controlada em outro ponto do passo. O POS LVL TAG pode ser habilitado para facilitar quando diversos passos novos consecutivos necessitarem do tag. Para adicionar ou remover um TAG na linha padrão de um MOV_, faça o seguinte:

1. Em TEACH na tela JOB CONTENT, selecione EDIT; 2. Selecione ENABLE SPD TAG ou ENABLE POS LVL TAG, alternando o

asterisco e o tag ON/OFF. NOTA: As configurações acima do TAG não são alteradas quando o controle é ligado

ou desligado. 1.3.6 Habilitando o UNDO Ao habilitar o UNDO, a tecla ASSIST fica habilitada para o UNDO e o REDO. Para habilitar a função UNDO, siga os passos a seguir:

Page 23: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 23 Curso: TP-10

1. Na tela JOB CONTENT em TEACH no Address Side, selecione EDIT. 2. Selecione ENABLE UNDO no menu Edit.

Figura 1-7 Undo Habilitado

Para utilizar a função UNDO após qualquer alteração no JOB CONTENT (inserir, modificação de posições, deletar, colar, alterações rápidas etc.), faça o seguinte:

1. Na tela JOB CONTENT no modo TEACH pressione a tecla ASSIST;

Figura 1-8 Endereço do UNDO Os endereços serão cobertos pela palavra UNDO.

2. Pressione SELECT para desfazer a última entrada/mudança.

Page 24: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 24 Curso: TP-10

Figura 1-9 UNDO Ativo O comando UNDO pode ser desfeito apertando novamente a tecla ASSIST para que a opção REDO apareça. Para usar a função REDO, faça o seguinte:

1. Em TEACH na tela JOB CONTENT, pressione ASSIST KEY. Os endereços serão cobertos com a palavra REDO;

Figura 1-10 REDO Ativo

2. Pressione SELECT para restaurar a última entrada/mudança.

Page 25: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 25 Curso: TP-10

1.4 JOB ATUAL – EDIT MENU (Lado das Instruções) Em uma tela JOB CONTENT, o menu EDIT do lado das instruções permite acesso rápido à uma linha, passo instrução, indicador ou tag específico assim como no lado de endereços. O menu também oferece a conveniência dos comandos COPY, CUT, PASTE e REVERSE PASTE assim como as funções de modificação de velocidade CHANGE SPEED e TRT. O menu Instruction Side em EDIT encontra-se da seguinte maneira: TOP LINE Posiciona o cursor no primeiro endereço L:0000 NOP; END LINE Posiciona o cursor no último endereço L:XXXX END; SEARCH LINE Posiciona o cursor no endereço da linha desejada;

STEP Posiciona o cursor no endereço do passo desejado, cujo número é exibido no topo da tela;

LABEL Inicializa o “Search mode” em busca de caracteres em um LABEL ou em uma instrução JUMP;

INST Inicializa o “Search mode” em busca da instrução desejada;

TAG Inicializa o “Search mode” em busca do tag desejado; COPY Copia os itens selecionados; CUT Recorta os itens selecionados; PASTE Cola o conteúdo da memória; REVERSE PASTE Cola o conteúdo da memória na ordem inversa;

PATH PASTE Cola apenas COMMAND POSITIONS na memória como tipos de movimento invertidos. (Configurar o parâmetro S2C274=1 para habilitar);

CHANGE SPEED Modifica vários tipos de velocidade por um valor ou uma porcentagem;

TRT Ajusta a velocidade de acordo com o tempo configurado.

Figura 1-11 Menu EDIT (Instruction Side)

Page 26: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 26 Curso: TP-10

1.4.1 Copiar / Recortar Para executar um COPY ou CUT (remove) em uma linha/passo específico de um job, faça o seguinte:

1. No modo Teach na área de instruções do JOB CONTENT, mova o cursor até a primeira linha do trecho a ser copiado/recortado, então segure a tecla SHIFT e pressione SELECT;

2. Se for necessário copiar/recortar mais do que uma linha, mova o cursor até a última linha do trecho desejado. Os números das linhas selecionadas serão destacados;

3. Selecione EDIT; 4. Para copiar a(s) linha(s) para a memória, selecione COPY;

O menu desaparece. Para acessar o último endereço ativo sublinhado em JOB CONTENT pode-se pressionar a tecla AREA ou tocar a General Display Area;

ou Para cortar a(s) linha(s) para a memória, selecione CUT. Selecione [YES] na tela “Delete?”. Para acessar o último endereço ativo sublinhado em JOB CONTENT pode-se pressionar a tecla AREA ou tocar a General Display Area.

NOTA: O conteúdo da EDIT MEMORY BUFFER fica incluído no uso dos bytes e dos

passos na tela JOB CAPACITY. 1.4.2 Colar / Colar Reverso Para executar os comandos PASTE REVERSE PASTE OU PATH REVERSE no conteúdo atual da memória, faça o seguinte:

1. No modo Teach na área de instruções do JOB CONTENT, mova o cursor até o local acima de onde o conteúdo da memória será colado; (Para o PATH REVERSE, o cursor deve estar em cima ou após o primeiro passo de movimento do job);

2. Selecione EDIT; 3. Selecione a função desejada, PASTE, REVERSE PASTE ou PATH REVERSE; 4. Se o conteúdo estiver correto, selecione [YES] na tela “Paste?” e pressione

SELECT. NOTA: A função Path Reverse pode ser aplicada apenas à COMMAND POSITIONS. (Todas as instruções que não envolvam movimentos e MOV_ com variáveis P não serão coladas). 1.4.3 Mudança de Velocidade O menu CHANGE SPEED disponibiliza dois métodos para alterar as velocidades:

• SPEED KIND (VJ, V, VR e VE) • RELATIVE (Aumento/Diminuição de todos os tipos de velocidade)

Page 27: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 27 Curso: TP-10

NO CONFIRM – Caso não tenha sido selecionado o NO CONFIRM, todos os passos serão alterados simultaneamente até que seja selecionado o EXEC. CONFIRM – Selecionando o CONFIRM, cada passo pode ser alterado individualmente, até a seleção do EXEC, utilizando a tecla ENTER ou movendo o cursor para baixo para pular o passo. Para executar a função CHANGE SPEED, siga os passos a seguir:

1. No modo TEACH, com o cursor na área de instruções, selecione EDIT no Menu Area;

2. Selecione CHANGE SPEED; 3. Mova o cursor para SPEED KIND; pressione SELECT; 4. Mova o cursor para o tipo de velocidade desejado (VJ, V, VR ou VE) ou

selecione RELATIVE e pressione SELECT; 5. Mova o cursor para o dado padrão e pressione SELECT; 6. Forneça o dado desejado no teclado numérico; pressione ENTER; 7. Selecione EXEC.

NOTA: Para confirmar, use a tecla ENTER para aceitar ou mova o cursor para baixo para pular. Para sair da função “Modifying speed”, pressione CANCEL. 1.4.4 Tempo de JOB (Traverse Run Time -TRT) A função TRT reescreve as velocidades para atingir o Moving Time desejado para um intervalo de passos ou para o job inteiro. Não são permitidas instruções CALL e JUMP no job. O job selecionado deve ser executado antes da execução do TRT para estabelecer o MOVING TIME existente. Para usar a TRT, siga os passos abaixo:

1. No modo Teach, mova o cursor para a primeira linha do intervalo desejado na área de instruções da tela;

2. Segure SHIFT e pressione SELECT; 3. Mova o cursor para baixo para selecionar todas as linhas de endereço que serão

medidas; 4. Selecione EDIT no Menu Area; 5. Selecione TRT; 6. Mova o cursor para SETTING TIME e pressione SELECT; 7. Forneça o SETTING TIME desejado em segundos pelo teclado numérico e

pressione ENTER; 8. Selecione EXEC. A tela MOVING TIME será alterada automaticamente; 9. Ao finalizar o TRT, selecione CANCEL para retornar à tela JOB CONTENT.

1.5 JOB LIST – Edit Menu Na tela JOB LIST o menu EDIT contém as seguintes funções:

Page 28: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 28 Curso: TP-10

SELECT ALL Posiciona um indicador ao lado de todos os jobs para salvar, copiar ou deletar, sendo que o comando deve ser confirmado individualmente pela janela YES?/NO?

CANCEL SELECT Remove todos os indicadores dos jobs selecionados. JOB SEARCH COND Permite encontrar os nomes dos jobs inserindo um ou mais

caracteres. É conveniente para encontrar rapidamente um job digitando apenas as primeiras letras. Vários jobs que comecem com os mesmos caracteres podem ser facilmente encontrados.

RELEASE JOB SEARCH Esta seleção aparece apenas durante a Search. Ela cancela

o modo de busca. Pode-se também pressionar a tecla CANCEL para cancelar o modo.

Figura 1-12 JOB LIST – Menu EDIT

1.6 JOB CAPACITY – Job Menu O menu JOB da tela JOB CAPACITY permite que a memória do EDIT BUFFER Copy/Cut seja limpa. A memória total padrão do NX é 84264 BYTES. Se for exibido o status EDITING BUFFER: USED, então o EDIT BUFFER contém as linhas do COPY ou CUT mais recente de um job. Cada passo no buffer consome memória do total de 4872 passos disponíveis no ROBOT AXIS. Cada passo contém um mínimo de 7 bytes e pode chegar até 44 bytes caso a instrução do passo possuir diversos tags adicionais. Uma instrução sem movimento utiliza no mínimo 3 bytes, ou dependendo na complexidade, até 62 bytes.

Page 29: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 29 Curso: TP-10

Figura 1-13 Job Capacity com Edit Buffer: USED 1.6.1 Deletando uma Linha de Edição Para deletar os conteúdos do Editing Buffer, faça o seguinte:

1. No modo TEACH da tela JOB CAPACITY, selecione o menu JOB; 2. Selecione DELETE EDIT BUFFER; 3. Selecione YES na tela “Delete Editing Buffer?”

Figura 1-14 Job Capacity Editing Buffer DELETE

Page 30: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 30 Curso: TP-10

NOTA: Os dados de TOOL Calibration para cada ferramenta também gastam cinco STEPS de memória, e cada USER FRAME COORDINATE definido gasta três STEPS. No entanto, estes passos não estão inclusos nos BYTES consumidos da memória.

Figura 1-15 Job Capacity com Editing Buffer: NOT USED

1.6.2 Apagando Dados de Calibração de Ferramenta NOTA: Limpar a tela TOOL CALIBRATION não afeta os dados armazenados da

ferramenta. Para limpara cada tela Tool Calibration, faça o seguinte:

1. Em TEACH no MAIN MENU, selecione ROBOT; 2. Selecione TOOL; 3. Havendo diversas ferramentas disponíveis, mova o cursor para o TOOL NO.

desejado e pressione SELECT; 4. Selecione UTILITY; 5. Selecione CALIBRATION; 6. Selecione DATA; 7. Selecione CLEAR DATA; 8. Selecione YES na tela Clear data?

1.6.3 Apagando Dados de Coordenadas de Usuário Para limpar uma USER FRAME, faça o seguinte: CUIDADO: Limpar um USER FRAME fará com que o frame perca a definição!

Page 31: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 31 Curso: TP-10

1. No Modo TEACH/Management no MAIN MENU selecione ROBOT; 2. Selecione USER COORDINATE; 3. Mova o cursor para o número do USER COORDINATE FRAME desejado e

pressione SELECT; 4. Selecione DATA; 5. Selecione CLEAR DATA; 6. Selecione YES na tela Clear data?

1.6.4 Edição do Job Header: ON-OFF Para alterar a funcionalidade Job Header Edit Lock é necessário setar o nível de segurança em Management Mode. NOTA: A proteção Edit Lock é local em um job. Jobs escravos devem ser protegidos individualmente em cada Job Header. Para configurar o JOB HEADER Edit Lock para ON ou OFF, siga os passos a seguir:

1. No modo TEACH/Management Mode na tela do JOB CONTENT desejado, selecione DISPLAY;

2. Selecione JOB HEADER; 3. Mova o cursor para a linha para EDIT LOCK; pressione a tecla SELECT para

alternar entre ON e OFF. NOTA: O SETUP para o item STEP ONLY CHANGING da lista Teaching Condition pode ser configurado para PERMIT para que os comandos servos de posições possam ser modificados. Se configurado como PROHIBIT, os jobs com EDIT LOCK: ON não terão mais seus servos comandos de posição modificados.

Page 32: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 32 Curso: TP-10

2.0 CONFIGURAÇÕES DE ÍCONES O ícone SETUP torna-se acessível o EDITING MODE estiver no Nível de Segurança. Em Editing, apenas as quatro escolhas a seguir estão disponíveis:

• TEACHING COND; • USER ID; • RESERVE JOB NAME.

No nível de segurança do MANAGEMENT MODE, outras quatro escolhas ficarão disponíveis:

• KEY ALLOCATION; • DATE/TIME; • SET SPEED; • OPERATE COND.

2.1 Condições de Aprendizagem A lista TEACHING COND permite a seleção de configurações para uso de funções relacionadas apenas a teaching.

Figura 2-1 Teaching Condition 2.1.1 Retangular/Cilíndrico A tecla COORD dá acesso apenas a RECT ou CYL, mas não aos dois juntos. A seleção que irá aparecer na Linha de Status depende da configuração da TEACHING

Page 33: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 33 Curso: TP-10

CONDITION. É possível mover-se entre RECT e CYL com a tecla SELECT. Selecione a configuração COORD desejada mais apropriada para o ambiente do robô. 2.1.2 Nível de Linguagem A linguagem INFORM possui três níveis de jogos de instruções. Eles vão desde instrução reduzida para facilidade de programação até um jogo completo de instruções. SUBSET A instrução de Linguagem Subset reduz o número de instruções

na INFORM LIST para MOTION, IN/OUT, ARITH, CONTROL, SHIFT, e DEVICE para aqueles mais usados por todas as aplicações. A seleção e a programação são mais rápidas e mais fáceis, já que há menos instruções na INFORM LIST.

STANDARD A instrução de Linguagem Standard permite o uso de todas as

instruções standard de menu da INFORM LIST. (Menu de opções de software aparecerão na instalação.

EXPANDED Todas as escolhas de programação estão disponíveis na

Linguagem Expanded, que inclui as seguintes adições: • JOB HEADER expandido para reservar Variáveis

Locais; • Array addressing para todos os tipos de variáveis; • Inform List totalmente expandida para acessar

todas as instruções. (Por ex. CWAIT não está disponível em STANDARD ou SUBSET).

NOTA: as instruções existentes num job serão executadas como playback, independente do nível de linguagem atual nas instruções. 2.1.3 Instruções de Entrada O controlador irá mostrar marcas default nas instruções na Linha do Edit Buffer quando for ligado. Quando a LEARNING SELECTION for marcada para INVALID, estas seleções default serão mostradas todas as vezes que a instrução for selecionada na Linha do Edit Buffer. Se for em VALID, o controlador “aprende” como uma instrução foi usada da última vez. A versão “aprendida” mais recente de cada instrução será mostrada da próxima vez que a instrução for selecionada na Linha do Edit Buffer. 2.1.4 Instruções de Movimento

O conjunto de instruções de movimento é o conjunto de instruções de não-movimento consecutivo imediatamente após a instrução MOV_ num job. São consideradas como aderidas à essa posição pois esse é o local onde deverão ocorrer. Configurar este item para STEP estabelece a relação e só permitirá que uma nova instrução MOV_ seja inserida num job após o conjunto (acima do próximo STEP no job). Se esta seleção

Page 34: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 34 Curso: TP-10

estiver em LINE, instruções de movimento serão inseridas diretamente abaixo do cursor como a próxima LINE no job. 2.1.5 Instruções de Posição A marcação PERMIT permite apenas um novo ensinamento de posições, usando MODIFY e ENTER para todos os jobs que tenham JOB HEADER marcado com EDIT LOCK:ON. A marcação PROHIBIT protege totalmente todos os jobs protegidos de edição.

2.2 Senha de Usuário Isto permite que apenas o pessoal autorizado que tenha a(s) senha(s) modifique os números existentes dos User ID nos Modos EDITING e/ou MANAGEMENT. NOTA: Quando o User Password é habilitado, o User ID é desabilitado. Para alterar o User ID registrado em EDITING ou MANAGEMENT, faça o seguinte:

1. No MAIN MENU, selecione SETUP; 2. Selecione USER ID; 3. Mova o cursor para o modo no qual o ID será alterado; pressione SELECT.

NOTA: No Modo EDITING, é possível trocar apenas o Editing Mode User ID. Já no Modo Management, podem ser trocados ambos os User IDs.

4. Entre com o número de ID atual através do teclado numérico; pressione ENTER. 5. Forneça o número ID desejado com 4-8 dígitos usando o teclado; pressione

ENTER. Se não for desejada nenhuma senha para os modos EDITING e MANAGEMENT, pressione ENTER (sem nenhum caractere no campo “Password=”) para ativar a opção PASSWORD NONE.

Figura 2-2 Tela User ID

Page 35: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 35 Curso: TP-10

NOTA: Lembre-se de anotar a(s) nova(s) senha(s)!

2.3 TABELA DE PROGRAMAS A lista RESERVED JOB NAME pode ter até 10 nomes de jobs registrados. Estes nomes são referenciados quando o teclado possui uma tecla designada à instrução JOB CALL. O número (NO. 1-10) para o JOB CALL explicita quando nome reservado da lista aparecerá na linha edit buffer para a instrução CALL JOB. Para registrar o nome de um job na lista, faça o seguinte:

1. No MAIN MENU, selecione o ícone SETUP; 2. Selecione RESERVE JOB NAME; 3. Mova o cursor para o número desejado; pressione SELECT; 4. Mova o cursor para o nome do job desejado na lista dos jobs existentes;

pressione SELECT.

Figura 2-3 Tela do Reserved Job Name

2.4 Alocação de Teclas O NX100 permite que o teclado numérico trabalhe como teclas de atalho para acesso rápido à funções usadas freqüentemente. As teclas também podem ser alocadas para simular a operação de saídas. 2.4.1 Alocação Física Individual Cada função pode ser configurada em uma das quatro categorias a seguir:

• MAKER – Usada para funções específicas como ajuste de tensão/corrente em Arc Welding;

Page 36: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 36 Curso: TP-10

• INSTRUCTION – Coloca uma instrução freqüentemente usada na linha Edit buffer a partir da INFORM LIST;

• JOB CALL – Pressionar uma tecla específica de atalho irá inserir uma linha CALL com nome específico do job no Input Buffer. O NO. (1-10) faz referência ao nome na lista RESERVE JOB NAME;

• DISPLAY – Uma tecla de atalho pode ser usada para mostrar uma tela do PP (veja a Seção 2.4.3 para configurações).

Para configurar a KEY ALLOCATION (EACH) para fins de edição, faça o seguinte:

1. No MAIN MENU, selecione SETUP; 2. Selecione KEY ALLOCATION;

Figura 2-4 Tela da Key Allocation (EACH)

3. Mova o cursor para a tecla que será dedicada; pressione SELECT; 4. Mova o cursor para a função desejada; pressione SELECT; 5. O novo tipo de função aparece com o dado padrão. Mova o cursor para o

dado; pressione SELECT para mudar se necessário. NOTA: Enquanto estiver na tela JOB CONTENT nos modos EDITING ou MANAGEMENT, pressionar a tecla alocada irá fazer com que a instrução desejada apareça na linha edit buffer. 2.4.2 Alocação Simulacional A KEY ALLOCATION poder ser usada também para designar uma tecla de atalho à uma operação customizada. Esta função é denominada ALLOCATE SIM KEY. As funções podem ser configuradas em uma das nove categorias abaixo:

Page 37: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 37 Curso: TP-10

• MAKER – Usada para funções específicas; • ALTERNATE OUTPUT – Alterna uma saída entre ON/OFF; • MOMENTARY OUTPUT – a saída fica em ON enquanto a tecla for

pressionada; • PULSE OUTPUT – a saída permanece em ON por um período de tempo

designado em segundos (TIME: 0.01 s a 665.35 s); • 4 BIT OUTPUT – configura o status de saída de metade do grupo; • 8 BIT OUTPUT – configura o status do grupo de saída (0 a 255); • ANALOG OUPUT – configura um canal analógico de saída para uma voltagem

específica (0.00 a +14.00) ou (0.00 a -14.00); • ANALOG INC OUTPUT – aumenta/diminui a voltagem de saída por um valor

já designado (1.00 a -1.00) cada vez que a tecla é pressionada; • DISPLAY – Pode-se usar uma tecla de atalho para mostrar uma tela do PP (veja

Seção 2.4.3 para configurações). Para configurar a KEY ALLOCATION (SIM), faça o seguinte:

1. No menu SETUP, selecione KEY ALLOCATION; 2. Selecione o menu DISPLAY e selecione ALLOCATE SIM KEY; 3. Mova o cursor para uma tecla desejada; pressione SELECT; 4. Mova o cursor para outras especificações dependendo numero da seleção,

TIME:, sec, OUT: ou INC: e pressione SELECT. Forneça os dados necessários; pressione ENTER.

Figura 2-5 Tela da Key Allocation (SIM) NOTA: Para ativar as funções ALLOCATE SIM KEY, segure a tecla INTERLOCK, depois pressione a tecla alocada desejada.

Page 38: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 38 Curso: TP-10

2.4.3 Alocação Mista Para alocar o DISPLAY a partir de [EACH] ou [SIM], faça o seguinte:

1. Na key Allocation tanto para [EACH] ou [SIM], configure a tecla selecionada para DISPLAY;

2. Selecione a tela desejada no PP; 3. Segure INTERLOCK e pressione a tecla a ser alocada para reservar a tela atual.

NOTA: O “DISPLAY” irá alocar o uso de ambas as teclas [EACH] e [SIM].

2.5 RELÓGIO E DATA As configurações de dia e hora no NX100 estão em formato numérico. Esta informação é usada quando jobs são criados ou modificados e quando acontecem alarmes. O tempo é mostrado no formato de 24 horas e a data é no formato Ano-Mês-Dia. Para configurar a hora ou a data o NX100 deve estar no MANAGEMENT MODE, então, faça o seguinte:

1. No ícone SETUP, selecione DATE/TIME; 2. Mova o cursor para DATE ou TIME; pressione SELECT; 3. Utilize o teclado numérico para entrar com a data ou a hora utilizando o ponto

decimal [.] como os dois pontos entre a hora e os minutos; 4. Pressione ENTER.

Figura 2-6 Tela de Configuração de Date/Clock

2.6 VELOCIDADE FIXA A lista PLAY SPD na programação do PP pode ser customizada com 8 entradas de velocidades Joint freqüentemente utilizadas (%) e 8 velocidades lineares (cm/min.,

Page 39: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 39 Curso: TP-10

mm/s., in/min., mm/min.). Pode-se conseguir isto usando simplesmente o menu SET SPEED para fornecer os valores. As configurações das Speeds são gravadas nos parâmetros de sistema (S1C1G002 a S1C1G009 para Joint [%]; S1C1G010 a S1C1G017 para Linear [.01 mm/s]). Para alterar qualquer uma ou todas as 8 velocidades pré-definidas no menu SET SPEED, faça o seguinte:

1. No ícone SETUP, selecione SET SPEED; 2. Pressione SELECT para alterar a lista correta (JOINT ou LNR/CIR); 3. Mova o cursor para o item desejado; pressione SELECT; 4. Entre com o valor desejado (0.01 a 100.00%, 1 a 9000 cm/min., 0.1 a 1500.0

mm/sec., a 3543 in./min., ou 1 a 90000 mm/min.); 5. Pressione ENTER.

NOTA: Deve-se digitar um número (0-9) antes de digitar o valor decimal (0.78 ao invés de .78)

2.7 Condições de Operação 2.7.1 Operação Permitida / Proibida As seguintes operações podem ser habilitadas ou desabilitadas a partir da lista Operating Conditions escolhendo a configuração desejada PERMIT ou PROHIBIT:

• External Start; • P P Start; • External Mode Switch; • External Cycle Switch; • P P Cycle Switch; • External Servo On; • P P Servo On; • Check/Machine Lock; • Master Calling Up; • Master Job Change; • Reserved Start; • Reserved Start Job Change.

2.7.2 Forma de Dados de Velocidade A unidade de V=Control_point_speed pode ser configurada como mm/sec., cm/min., in/min. Ou mm/min. Quando um tag V=speed for identificado como uma variável B, I ou D, a unidade estará em milímetros por segundo. Por exemplo, se V=I099 e o conteúdo for 1500, então a velocidade resultante será de 1500mm/sec. Para alterar a unidade da velocidade linear no menu OPERATING CONDITION, faça o seguinte:

Page 40: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 40 Curso: TP-10

1. No MAIN MENU, selecione SETUP. 2. Selecione OPERATING CONDITIONS. 3. Mova o cursor para SPEED DATA INPUT FORM; pressione SELECT. 4. Utilize o cursor e pressione SELECT para escolher a unidade desejada:

• mm/s; • cm/min; • in./min; • mm/min.

NOTA: Não importa a configuração, todas as V=_Control_point_speeds são expressas em mm/s quando for executado um SAVE para FDE ou CompactFlashTM. 2.7.3 Chave em Ciclo Até ser ligado ou durante a troca de modos, a configuração do PP pode ser forçada a ser trocada para STEP, CYCLE ou AUTO. Isto pode ser conveniente se, por exemplo, o operador normalmente seleciona AUTO no modo PLAY e CYCLE no modo TEACH. As configurações podem ser:

• STEP; • CYCLE; • AUTO; • NONE.

Pode-se selecionar as seguintes opções:

• CYCLE SWITCH IN TEACH; • CYCLE SWITCH IN PLAY; • CYCLE SWITCH IN LOCAL; • CYCLE SWITCH IN REMOTE; • SET CYCLE ON POWER ON.

Page 41: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 41 Curso: TP-10

3.0 FAMÍLIA DE PARÂMETROS Para o controlador, os parâmetros definem o sistema, e dão instruções de como operá-lo. Alguns parâmetros estão disponíveis para o usuário, enquanto outros estão disponíveis apenas para o fabricante. O ícone PARAMETER mostra as seguintes seleções, que podem ser acessadas apenas no modo Management:

• S1CxG (Parâmetros específicos do robô; o “x” representa R1, R2, R3, ou R4); • S2C (Parâmetro comum do sistema, tipo Byte); • S3C (Parâmetro comum do sistema; 4-BIT); • S4C (Parâmetro comum do sistema; tipo Byte); • AxP (Parâmetro de aplicação; 4-BIT); • RS (Parâmetro de transmissão; tipo Byte).

A maior parte dos parâmetros é definida no manual do operador da NX100 para a aplicação específica. Os parâmetros podem ser classificados em grupos funcionais como: Configuração de Parâmetros para Velocidade de Movimento Determina a velocidade de movimento do manipulador para operações de movimento, teste ou playback. Configuração de Parâmetros para Modo Operação Faz a configuração para várias operações no modo teach ou remoto. Parâmetros de acordo com a Área de Interferência Configura as áreas de interferência para zonas de interferência cúbicas ou do eixo. Parâmetros de acordo com o Status I/O Configura checagem de paridade ou configuração I/O para sinais do usuário de input e output. Parâmetros de acordo com Operação Coordenada ou Sincronizada Faz a configuração de operações coordenadas ou sincronizadas entre manipuladores ou entre manipuladores e estações. Parâmetros para Outras Funções ou Aplicações Faz a configuração para outras funções ou aplicações. Parâmetros de Controle do Hardware Faz a configuração de hardware para alarme de ventilador, operação de relay, etc.

Page 42: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 42 Curso: TP-10

Tabela 3-1: Parâmetros Comuns # do Parâmetro Explicação Comentários

S1CXG026-029 Linear Jogging Speeds

026=Baixo 027=Médio 028=Alta 029=Alta Velocidade

S1CXG030-032 Inching Dimensions 030=Pulse 031=Linear XYZ 032=Rotação deg

S1CXG033-040 PL Level Dimensions 033=PL1 - 040=PL8

S1CXG044 Velocidade Baixa Velocidade Inicial Velocidade em unidades de 0.01% 1000=10%

S1CXG045-048 Joint Jogging Speeds

045=Baixa 046=Média 047=Alta 048=Alta Velocidade

S1CXG056 Velocidade de Retorno à Posição Home Velocidade em unidades de 0.01% 1000=10%

S1CXG065 Inversão de Sinal Mirror Shift Permitir bit para 0,0,T,B,R,U,L,S

S1CXG200-215 Limites Pulse Soft (SLURBT) 200-207 Max 208-215 Min

S2C001 Limite Cube Soft Permitir bit para 0, 0, 0, 0, R4, R3, R2, R1

S2C002 Checagem de Interferência S-Axis Permitir bit para 0, 0, 0, 0, R4, R3, R2, R1

S2C147 Modo de Segurança ao Ligar 0=Operation Mode 1=Editing Mode 2=Managemente Mode

S2C149 Switching Coordenado

0=Todas as Coordenadas disponíveis 1=Coordenadas Tool não disponíveis 2=Coordenadas User não disponíveis 3=Tool e User não disponíveis

S2C150 Execução na operação “FWD” 0=Para em cada Line 1=Para em cada Step

S2C151 Execução da Instrução (exceto _MOV) em “FWD”

0=Executa com FWD + Interlock 1=Executa com FWD 2=Instrução não executada

S2C152 Mantém Coordinate Status Mantém coordenada selecionada mesmo com mudança de job

S2C169 Velocidade Inicial Baixa

0=como selecionado com Special Run 1=Condição inicial após qualquer edição em um job

S2C186 Registro de Passo na Tool No. Mudança

0=Permitido 1=Proibido

S2C234 Condição Inicial após Absolute Data 0=Necessária checagem de

Page 43: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 43 Curso: TP-10

Ocorre Intervalo Permitido posição 1=Velocidade Inicial Baixa

S2C333 Tool No. Switching (Tool List) 0=Proibido 1=Permitido

S2C806 A S2C808 Dimensões das Função PAM

806=intervalo máximo em microns 807=limite da velocidade em 0.01% 808=corrigindo coordenadas

AxP009 Aplicação Geral Continuação de trabalho Proibida

Saída TOOLON é mantida após interrupção do job durante a instrução TOOLON

AxP002,AxP004 Handling Application Função da Tecla F1

Marca saída de sinal designado para tecla f1 (HAND1)

AxP003, AxP005 Handling Application Função da Tecla F2

Marca saída de sinal designado para tecla f2 (HAND2)

AxP005 Aplicação de Arc Welding Prioridade de Velocidade de Soldagem

Define uso de velocidade ASF ou velocidade do job

AxP007 Aplicação de Spot Welding Tempo de Antecipação

Especifica a condição antecipada (tempo) quando da execução do GUNCL ou instrução SPOT com NWAIT

Tabela 3-2: Parâmetros Disponíveis para Versão de Software 3.11 ou Superior Parâmetro Explicação Valores

S2C274 Reverse Path para colar EDIT BUFFER

0= Desabilitado 1= Habilitado

S2C292 Melhora da função PMT 0= Desabilitado 1= Habilitado

S2C297 I/O Codinome para todas as instruções em jobs

0= Desabilitado 1= Habilitado

S2C298 Codinome variável para todos os usos em jobs

0= Desabilitado 1= Habilitado

S2C339 Cursor azul cyan coloca holder para o último local do Play Mode.

0= Desabilitado 1= Habilitado

S2C508 Antecipação de Output por distância definível

0= Desabilitado 1= Habilitado

S2C514 Shift de job paralelo com arquivo variável Pxxx

0= Desabilitado 1= Habilitado

S2C562

Frame do usuário definida com input numérico. Número do frame aparece no ícone de linha de status

0= Desabilitado 1= Habilitado

Page 44: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 44 Curso: TP-10

3.1 Família S1CxG NOTA: A lista S1C1G é para R1; a tecla PAGE permitirá acesso aos parâmetros S1C2G para R2, S1C3G para R3, e S1C4G para R4. 3.1.1 S1CxG026 até S1CxG029: Velocidade de Operação de Movimento Linear Estes parâmetros configuram os valores de LOW, MEDIUM, HIGH e HIGH SPEED para operação de movimentos com coordenadas RECT/CYL, TOOL, ou USER em unidades de 0,1mm/s. S1CxG026: Velocidade manual LOW; S1CxG027: Velocidade manual MEDIUM; S1CxG028: Velocidade Manual HIGH; S1CxG029: tecla HIGH SPEED. NOTA: Cheque os manuais ANSI e RIA para limite máximo de velocidade manual do robô. 3.1.2 S1CxG030 até S1CxG032: Incremento de Movimento Estes parâmetros especificam a quantidade de movimento em operações inching para as teclas Axis. S1CxG030: Operação das juntas com teclas +/- SLURBT (unidades de 1 pulso); S1CxG031: Operação cartesiana com teclas +/- X, Y, Z (unidades de 0,01mm); S1CxG032: Movimento de rotação com teclas +/- Rx, Ry, Rz (unidades de 0,1 grau) . 3.1.3 S1CxG033 até S1CxG040: Zona de Posicionamento Estes parâmetros especificam a taxa de aproximação em relação ao ponto ensinado. Para um passo com num Nivel de Posicionamento em unidades de 1µm. (1000 microns = 1mm). S1CxG033: Nível de Posição de distância da zona para PL=1; S1CxG034: Nível de Posição de distância da zona para PL=2; S1CxG035: Nível de Posição de distância da zona para PL=3; S1CxG036: Nível de Posição de distância da zona para PL=4; S1CxG037: Nível de Posição de distância da zona para PL=5; S1CxG038: Nível de Posição de distância da zona para PL=6; S1CxG039: Nível de Posição de distância da zona para PL=7; S1CxG040: Nível de Posição de distância da zona para PL=8.

Page 45: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 45 Curso: TP-10

NOTA: O valor de PL=0 não pode ser customizado, pois ele sempre deve se mover para a posição exata de comando. 3.1.4 S1CxG044: Velocidade de LOW SPEED START Este parâmetro especifica a velocidade em unidades de 0,01% para todos os usus de LOW SPEED START. Isto inclui ativação do seguinte:

• Menu SETUP SPECIAL RUN com LOW SPEED START configurado em VALID;

• Parâmetro S2C169=1 LOW SPEED START após toda edição de job; • Parâmetro S2C234=1 LOW SPEED START após Alarme: 4107 ao invés de

executar “Check Position” confirme na SECOND HOME. 3.1.5 S1CxG045 até S1CxG048: Link de Velocidade para Operação de Movimento Estes parâmetros configuram os valores de LOW, MEDIUM , HIGH E HIGH SPEED para operações de movimento, com coordenadas de juntas em unidades de 0,01%. S1CxG045: Link de velocidade da operação de movimento em “ LOW; ” S1CxG046: Link de velocidade da operação de movimento em “ MEDIUM; ” S1CxG047: Link de velocidade da operação de movimento em “ HIGH; ” S1CxG048: Link de velocidade da operação de movimento com tecla “ HIGH SPEED.” 3.1.6 S1CxG056: Velocidade de Retorno à Posição Work Home Este Parâmetro especifica (em unidades de 0,01%) a porcentagem de velocidade máxima usada na execução da função “RETORNO À POSIÇÃO WORK HOME” .

3.2 Família S2C Os parâmetros S2C customizam o uso das Teclas Axis, FWD e outras funções. Além disso, alguns parâmetros S2C simplesmente habilitam/desabilitam conjuntos de parâmetros S3C. 3.2.1 S2C147: Modo Segurança com Controle Ligado Este parâmetro determina o nível de segurança quando o controlador NX100 está ON. 0: MODO OPERAÇÃO; 1: MODO EDIÇÃO; 2: MODO MANAGEMENT (GERENCIAMENTO).

Page 46: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 46 Curso: TP-10

3.2.2 S2C149: Seleção de Coordenada Ferramenta e/ou Usuário Proibida Este parâmetro permite/proíbe a seleção COORD para TOOL ou USER ou ambos. 0: Seleção permitida para coordenadas TOOL e USER; 1: Seleção proibida para coordenadas TOOL; 2: Seleção proibida para coordenadas USER; 3: seleção proibida para coordenadas TOOL e USER. 3.2.3 S2C150: Unidades de Execução com Operação da Tecla FWD Este parâmetro especifica as unidades de execução no modo passo com operação da tecla FWD. 0: Pára em todas as linhas de instrução; 1: Pára apenas em todos os passos de movimento. 3.2.4 S2C151: Configuração da Execução de Instrução de Não-Movimento com a tecla FWD Este parâmetro especifica o método de execução para linhas de instrução de não-movimento com operação da tecla FWD. A configuração de S2C150 efetiva o resultado. 0: Executado apertando [INTERLOCK] + [FWD]; 1: Executado apertando apenas a tecla [FWD]; 2: Instrução de não-movimento não executada (configuração S2C150 é irrelevante). 3.2.5 S2C152: Status de Manter Coordenada Este parâmetro mantém a seleção atual de COORD quando a mudança de tela mostra função DIRECT OPEN, etc. 0: Muda para operação de movimento da junta (SLURB) na mudança de tela; 1: mantém a seleção atual de COORD na mudança de tela. 3.2.6 S2C186: Registro de Passo na Mudança do Número da Ferramenta (Tool) Este parâmetro impede que possa haver mais de número de ferramenta (Tool No.) num job. Quando S2C186=1, a tentativa de INSERT, MODIFY ou DELETE com um número de ferramenta (Tool No.) diferente do existente, resultará em mensagem de ERROR.

Page 47: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 47 Curso: TP-10

0: TOOL NO. Diferente permitido para todos os passos; 1: TOOL NO. Diferente proibido. 3.2.7 S2C274 Caminho Reverso (Path Reverse) Este parâmetro leva em consideração o caminho original (tipos de movimento) daquilo que foi copiado no EDIT BUFFER, para que, na realização de PATH REVERSE (ao invés de Colar Reverso), os resultados sejam um reverso exato daquele caminho. NOTA: Esta função aplica-se apenas a COMMAN POSITIONS. Ela não cola nenhuma instrução de não-movimento ou MOV_ com variáveis P, incluídas no buffer.O cursor deve estar no lado Instrução do JOB CONTENT sobre ou além do primeiro passo de movimento do job. 0:Desabilitado; 1: Habilitado. 3.2.8 S2C297: Codinome de Input/Output Este parâmetro permite que um codinome de até 16 caracteres seja usado em todas as instruções I/O, no lugar do Universal IN# ( ) ou Universal OT# ( ). Instruções I/O previamente programadas também serão mostradas em JOB CONTENT. 0: Desabilitado; 1: Habilitado. 3.2.9 S2C298: Codinome de Variável Este parâmetro permite que um codinome de até 16 caracteres seja usado em todas as instruções envolvendo Aritmética e tipo de Posição, ao invés do número de endereço do arquivo. Endereços variáveis previamente programados que receberam um codinome serão mostrados em JOB CONTENT. 0: Desabilitado; 1: Habilitado. 3.2.10 S2C333: Disponibilidade da Seleção do Número de Ferramenta (Tool No.) e Calibração Este parâmetro especifica a disponibilidade da lista de seleção de ferramenta quando se aperta as teclas [SHIFT] + [COORD], assim como o acesso ao menu TOOL para calibração no ícone ROBOT. 0: Apenas STANDART TOOL No. 00 disponível (não aparece nenhuma lista); 1: TOOL No. 00-23 disponível (aparece lista de seleção).

Page 48: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 48 Curso: TP-10

NOTA: O Tool No. não é default para TOOL NO. 00 quando o parâmetro é mudado de 1 para 0. A última ferramenta ativa torna-se a única ferramenta disponível. 3.2.11 S2C339: Cursor no Modo Play quando da Parada da

Execução de um Job Este parâmetro permite que um cursor apareça na última linha de execução quando um job foi interrompido no Modo Play. O cursor salienta o endereço em Azul Cyan. Aparece um aviso no reinício deste job, ou mesmo de outro job ou para reiniciar execução do job interrompido ou para iniciar onde o operador colocou o cursor enquanto em Modo Teach. 0: Desabilitado; 1: Habilitado. 3.2.12 S2C430: Nome com Instrução de Job para IN#( ) e OT#( ) Este parâmetro ativa o NAME registrado para Universal I/O individual para mostrar nas instruções do job, como mostra o exemplo a seguir: WAIT IN#(1)=ON // Nome aparece aqui! DOUT OT#(1) OFF // Apenas 16 caracteres 0: Desabilitado; 1: Habilitado. 3.2.13 S2C508: Antecipação OUT (ANTOUT) Este parâmetro permite uma instrução de Antecipação de Output (definido pela distância ou pelo tempo) 0: Desabilitado; 1: Habilitado. 3.2.14 S2C514: Parallel Job Shift com XYZ ou Variável de Posição Este parâmetro configura o Parallel Job Shift para referenciar as telas UTILITY para dados BASE POINT (Fonte) a (Destino) ou dados PULSE ou para configurar a referência a um endereço de variável de Posição para seis elementos de deslocamento. 0: dados da tela UTILITY usados para deslocamento; 1: Endereço de Variável de Posição referenciada para deslocamento.

Page 49: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 49 Curso: TP-10

3.3 Família S3C Os parâmetros S3C especificam funções auxiliares dos parâmetros S2C. 3.3.1 S3C000 a S3C005: Limites de Operação do TCP O TCP é limitado a uma área cúbica designada nas coordenadas Base Frame. Unidades de µm (1000 microns = 1mm). Estes parâmetros são ativados pela S2C001. S3C000 Distância Máxima X para R1; S3C001 Distância Máxima Y para R1; S3C002 Distância Máxima Z para R1; S3C003 Distância Mínima X para R1; S3C004 Distância Mínima Y para R1; S3C005 Distância Mínima Z para R1. 3.3.2 S3C806 a S3C808: Correção de Posição Durante Função PAM Estes parâmetros especificam os dados necessários para a função de correção de posição (PAM) durante a operação de playback. S3C806 Especifica o limite da gama de correção de posição (Unidades: µm); S3C807 Especifica o limite da gama de correção de velocidade (Unidades: 0,01%); S3C808 Especifica as coordenadas de correção. 0: Base; 1: Robô; 2: Tool (Ferramenta); 3 a 26: Usuário 1 a 24.

3.4 Família S4C Os parâmetros S4C especificam funções de operação que envolve Eixos de Estação, Eixos de Base e opções de software, tais como Movimento de Coordenadas e job Concurrent. Além disso, há parâmetros S4C que permitem que Grupos UNIVERSAL I/O tenham checagem de paridade e sejam formatados como Binários ou BCD.

3.5 Família AxP Os parâmetros AxP são dedicados à cada aplicação para o NX100. 3.5.1 Amostra de Aplicação Geral AxP009: WORK CONTINUE PROHIBIT.

Page 50: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 50 Curso: TP-10

Este parâmetro especifica se a instrução TOOLON será output ou não no reinício, quando o trabalho foi interrompido por alguma razão durante o output da instrução TOOLON. 3.5.2 Amostra de Manuseio AxP002 & AxP004: f1 KEY FUNCTION OUTPUT SIGNAL; 0: Não especificada; 1 a 4: Outputs específicos para HAND1-1 a HAND4-1; 5: Output do Usuário (o número é especificado por AxP004); AxP003 & AxP005: f2 KEY FUNCTION OUTPUT SIGNAL; 0: Não especificada; 1 a 4: Outputs específicos para HAND1-2 a HAND4-2; 5: Output do Usuário (o número é especificado por AxP005). 3.5.3 Amostra de Arc Welding AxP005: WELDING SPEED PRIORITY Este parâmetro especifica se a velocidade de solda é especificada pela instrução ARCON, pelo arquivo de início da solda, ou pela instrução MOV. 3.5.4 Amostra de Solda num Ponto (Spot Welding) AxP007: ANTICIPATE TIME Na execução da instrução GUNCL ou Spot com NWAIT especificado na instrução anterior, mas se o tempo não for especificado pela instrução ATT no GUNCL ou SPOT, este parâmetro especifica a condição antecipada (tempo). A marcação inicial é “0”, com a qual cada instrução será executada assim que a posição da instrução anterior de movimento for atingida, como operação normal.

3.6 Família RS Os parâmetros RS definem o protocolo para transmissão de dados. RS059: EXTERNAL MEMORY FILE OVERWRITE SPECIFICATION Este parâmetro irá especificar a aceitação ou não do arquivo sobre-escrito na memória externa.

Page 51: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 51 Curso: TP-10

4.0 LIMITE DE SOFT Os Soft Limits restringem o envelope de operação do manipulador. Conforme a informação do codificador é processada, o controlador irá parar o movimento quando a contagem de pulsos aproximar-se dos valores soft limit. A gama de trabalho do manipulador é restringida, baseada nos três limites seguintes:

• Contagem individual máxima/mínima de pulso para gama de trabalho de cada eixo (SLURBT Soft Limits);

• Gama cúbica de trabalho permitida (envelope de operação) acionada e ativada por parâmetros apenas em coordenadas max/min XYZ Base Frame (Soft Limits cúbicos);

• Área de interferência mecânica entre eixos (Hard Limits).

4.1 Limite de Soft dos Eixos (S, L, U, R, B, T) Para determinar se o soft limits SLURBT deve ser mudado para valores diferentes dos valores de default, inicie com o robô em sua posição usual “safe” começo/fim. Depois, usando as coordenadas JOINT, mova cada eixo para o limite positivo de operação desejado, depois para o limite negativo de operação, e anote os dados da posição do pulso, para ser digitado nos arquivos de parâmetro SC. Os valores de pulso S+ e S- devem ser marcados dentro dos limites estabelecidos pela colocação dos parafusos. O L+/L- e U+/U- devem ter o máximo de “liberdade” possível. Também é muito importante que a marcação soft limit positiva e negativa para os eixos R, B e T tenham valores apropriados para que o(s) end-effector(s) possa(m) ser usado(s). 4.1.1 Determinando Dados de Limite de Soft Para mostrar a posição atual do robô em PULSE, faça o seguinte:

1. Do MAIN MENU, selecione ROBOT; 2. Selecione CURRENT POSITION; 3. Selecione PULSE para mostrar dados absolutos de pulso do decodificador de S,

L, U, R, B, T. 4.1.2 Modificando Dados de Limite de Soft

1. Do MAIN MENU, selecione PARAMETER; 2. Selecione S1CxG e use a tecla PAGE para acessar o grupo correto (S1C1G para

Grupo 1, S1C2G para Grupo 2, etc.); 3. Localize o parâmetro desejado, pressionando SELECT, digite o número do

parâmetro do teclado, aperte ENTER, (ou selecione SEARCH do menu EDIT);

Page 52: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 52 Curso: TP-10

NOTA: os parâmetros S1C1G200 até S1C1G205 são os S, L, U, R, B, T máximos; e os parâmetros S1C1G208 até S1C1G213 são os S, L, U, R, B, T mínimos.

4. Coloque o cursor no valor do parâmetro, aperte SELECT; 5. Digite a contagem dos pulsos do valor limite para a operação do eixo na direção

max/min; 6. Aperte ENTER.

Repita os passos 4 a 6 para cada parâmetro de eixo a ser modificado.

Figura 4-1 Limites de trabalho NOTA: Os parâmetros S1C1G206 e S1C1G207 são softlimits máximos e S1C1G214 e S1C1G215 são softlimits mínimos para motores adicionais na flange do robô.

4.2 Criando Limite de Soft da Ferramenta (Cubo do TCP) Um cubo para soft limits para estabelecer todo o envelope de operação da célula do TCP durante a operação de movimento e alarme durante playback só pode ser montado com coordenadas Base Frame. 4.2.1 Definindo Posição da Base (XYZ) Para mostrar a posição atual do robô em BASE, faça o seguinte:

1. Do MAIN MENU, selecione ROBOT; 2. Selecione CURRENT POSITION; 3. Selecione XYZ pressionando SELECT, depois coloque o cursor em BASE,

aperte SELECT. 4.2.2 Definindo Posição da Ferramenta (TCP) Para acessar os parâmetros S3C para montar os soft limits do cubo, faça o seguinte:

1. No MAIN MENU, selecione PARAMETER; 2. Selecione S3C; 3. Coloque o cursor no parâmetro desejado ou aperte SELECT, digite o número, e

aperte ENTER ou use EDIT, SEARCH;

Page 53: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 53 Curso: TP-10

Tabela 4-1: Parâmetros de Soft Limits do Cubo

Robô Parâmetro Definição Parâmetro Definição

R1

S3C000 X MÁX S3C003 X MÍN

S3C001 YMÁX S3C004 YMÍN

S3C002 Z MÁX S3C005 Z MÍN

R2

S3C006 X MÁX S3C009 X MÍN

S3C007 YMÁX S3C010 YMÍN

S3C008 Z MÁX S3C011 Z MÍN

R3

S3C012 X MÁX S3C015 X MÍN

S3C013 YMÁX S3C016 YMÍN

S3C014 Z MÁX S3C017 Z MÍN

R4

S3C018 X MÁX S3C021 X MÍN

S3C019 YMÁX S3C022 YMÍN

S3C020 Z MÁX S3C023 Z MÍN

4. Aperte SELECT no valor do parâmetro; 5. Digite o valor limite da BASE FRAME em microns para o max/min desejado de

X, Y ou Z do cubo. (Por exemplo, 45.900 mm é digitado como 45900); 6. Aperte ENTER; 7. Repita os passos 3 até 6 até que todos os valores XYZ estejam anotados.

Para ativar os soft limits do cubo, o parâmetro S2C001 deve ser o seguinte:

0: Sem checagem; 1: Com checagem.

Se o robô estiver fora dos soft limits do eixo, é possível mover em direção ao Envelope de Operação. A tentativa de movê-lo além do limite do eixo, resultyará na mensagem “PULSE LIMIT...” indicando Min ou Max com os dados do robô e do eixo. Se o robô estiver fora do Soft Limit do Cubo, não será possível movê-lo. O limite deve ser liberado para movê-lo de volta ao Soft Limit do Cubo.

4.3 Liberação Temporária de Limite de Soft Use o seguinte job para liberar temporariamente todos os soft limits (eixos individuais e cubo operante):

1. Do MAIN MENU, selecione ROBOT; 2. Selecione LIMIT RELEASE; 3. Usando SELECT, mude a linha Soft Limit RELEASE para que ela leia

“VALID”. A linha de mensagem deverá ser “Soft limits have been released”.

Page 54: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 54 Curso: TP-10

Agora é possível movê-lo em qualquer sistema de coordenada. Cuidado, pois o robô pode ser movido para qualquer posição dentro dos limites. Gravar posições fora do Envelope de Operação acionará uma ocorrência de Alarme quando o job é iniciado em teste ou realizado. A liberação de todos os limites permite que o robô seja movido para qualquer posição. Ele pode ir além dos limites, e em direção a si mesmo, possivelmente causando danos. Escolha uma das três maneiras a seguir para cancelar o soft limits e a liberação de todos os limites:

• Complete os passos acima, mas no passo 3 usando SELECT mostrará INVALID;

ou

• Mude para o modo PLAY;

ou

• Desligue o interruptor principal, espere 5 segundos, e ligue novamente.

Page 55: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 55 Curso: TP-10

5.0 HOME, SECOND E WORK POSITIONS

5.1 Home Position Calibration A calibração da posição Home é uma operação na qual a posição home (ou robô zero) e a posição zero do codificador coincidem. Embora esta operação seja realizada na fábrica, antes do embarque, mostramos a seguir situações onde a calibração da posição Home pode ser necessária:

• Mudando a combinação do manipulador e controlador; • Após substituir um motor ou codificador; • Após a limpeza de memória armazenada (causada pela substituição da placa

NCP01, uma bateria fraca, etc.); Como a calibração dos robôs afeta todos os programas e movimentos, somente pessoal que tenha sido treinado deve calibrar a Posição Home. Veja o Manual Motoman para saber a técnica. Para acessar a tela HOME POSITION, faça o seguinte:

1. Do MAIN MENU, selecione ROBOT; 2. Selecione HOME POSITION.

Figura 5-1 Tela do Home Position

5.2 Second Home Position

Se o controlador determinar que há uma mudança nos dados do codificador (pulso) entre desligar e ligar, ele irá gerar o “ALARM:4107 OUT OF RANGE (ABSO DATA)”. Após religar o alarme e ligar o servomotor o controlador verá a mensagem

Page 56: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 56 Curso: TP-10

“Check Position”. Isto envolve colocar o robô em posição Second Home, e depois se assegurar que ele esteja na posição correta. O Ponto Especificado default é “Home Position”, onde as setas de alinhamento dos eixos estão alinhadas. A tentativa de executar um job sem colocar em Ponto Especificado e confirmar a posição, irá resultar em “ERROR 0380: Posição not checked”. CUIDADO: Alarmes acionados por queda podem ter casado danos aos drives. Se um erro no gerador de pulso (PG) é suspeito de ter sido a causa, não FWD até checar cada motor em separado, colocando na direção + e – para cada JOINT, para confirmar se me válido antes de continuar. Para checar o Ponto Especificado (Specified Point), faça o seguinte:

1. RESET o alarme; 2. Mude para TEACH; 3. Aperte o botão SERVO ON READY; 4. Ligue o servomotor com o interruptor ENABLE. A linha de mensagem deve

indicar “Check Position”; 5. Do MAIN MENU, selecione ROBOT, depois selecione SECOND HOME POS.

Você verá uma tela com colunas, como mostra a Figura 5-2;

Figura 5-2 Tela Second Home Position (Ponto especificado)

6. Assegure-se que o PP esteja nas coordenadas JOINT, e aumente a velocidade manual para Medium;

CUIDADO: A operação abaixo pode causar uma batida quando a tecla FWD é apertada e há obstáculos entre a posição atual do robô e a posição do Ponto Especificado; use muito cuidado durante este job.

7. Assegure-se que o caminho esteja livre, depois aperte e segure a tecla FWD para mover o robô até a posição Second home. Os dados mudarão todos para zero na coluna DIFFERENCE;

8. Verifique visualmente que o robô esteja na posição Second Home;

Page 57: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 57 Curso: TP-10

NOTA: Se parecer que o robô NÃO está no local correto, pode ser necessário a manutenção do robô.

9. Selecione DATA; 10. Coloque o cursor em CONFIRM POSITION, aperte SELECT. A linha de

mensagem mostrará “Home position checked”.

5.3 Work Home Position A Posição de Origem da Operação (Operation Origin Position) deve ser usada como uma Posição Work Home, que pode ser armazenada e depois facilmente acessada. A equipe pode FWD o robô até este local sempre que desejado. Para acessar a tela WORK HOME / OPE ORIGIN e gravar uma posição, faça o seguinte:

1. Do MAIN MENU, selecione ROBOT; 2. Selecione OPE ORIGIN POS;

CUIDADO: Com o servmotor ON, a tecla FWD pode ser usada para colocar o robô na posição OPEORG. Assegure-se que o caminho esteja livre da posição atual até o ponto desejado.

NOTA: Continue com os passos 3-5 para mudar o local existente.

Figura 5-3 Tela Work Home Operation Origin Position

Page 58: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 58 Curso: TP-10

3. Coloque o robô na posição desejada; 4. Aperte a tecla MODIFY; 5. Com o Servos acionado, aperte ENTER.

NOTA: Se o LADDER PROGRAM contiver a instrução para retornar ao OPEORG/WORK HOME através do SPECIFIC INPUT, a velocidade pode ser marcada em Parâmetro S1CxG056: WORK HOME POSITION RETURN SPEED. O robô voltará ao ponto, usando movimento tipo Joint, portanto as unidades de parâmetro são 0,01% do máximo. CUIDADO: O WORK HOME POSITION [OPE ORIGIN POS] pode ser usado como centro para INTERFERENCE CUBE ZONES 29-32 PARA R4, R3, R2, e R1 respectivamente. A modificação deste ponto mudará a localização dos cubos. )veja seção 6.1.3)

Page 59: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 59 Curso: TP-10

6.0 ZONA DE INTERFERÊNCIA O NX100 pode suportar até 32 zonas de interferência para qualquer combinação de R1, R2, R3, R4, B1, B2, B3, B4, S1 até S12. Cada um pode ser configurado como uma zona CUBE em dados ROBOT, BASE ou USER FRAME XYZ, ou como monitoramento AXIS em dados PULSE. Estas zonas estão internamente unidas a outputs especificados SOUT#057 até SOUT#088. Quando for confirmado que o TCP do robô esteja dentro da zona, ou por Posição de Comando ou por Posição Feedback, o sinal output correspondente está ON. CUIDADO: Quando os cubos estiverem sendo usados para Checagem de Interferência, a função “Sequence Wait” é programada para desacelerar e parar o robô após o sinal SOUT ficar em ON pelo método de COMMAND POSITION. Marque as dimensões da área para permitir o movimento de desaceleração, como mostrado na Figura 6-1.

Figura 6-1 Desaceleração no Fim de Zona

NOTA: A definição da zona de cubo não ativa a Checagem de Interferência. Com base na aplicação, o SYSTEM LADDER inclui 4-7 Cubos para “Sequênce Wait”. O USER LADDER pode ser modificado para o uso de cubos adicionais com o RELAY Operand apropriado (#50080 até #50117).

6.1 Métodos de Criação de Cubos A técnica usada para definir uma Zona de Interferência Cúbica é baseada na preferência do programador, o objetivo do uso e/ou o layout da célula do robô.Se os dados exatos para o local dos vértices Máximo e Mínimo forem conhecidos, os dados podem ser digitados manualmente. Outros métodos de definir um cubo necessitam ligar o servomotor para capturar os vértices do cubo ou a posição do centro do cubo.

Page 60: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 60 Curso: TP-10

Os dados da posição máxima e mínima do vértice para cada zona é automaticamente armazenado nos parâmetros apropriados (S3C032 a S3C543), independente do método usado. 6.1.1 Posição Central Definir os cubos pelo método CENTER POSITION permite que o comprimento das barreiras do cubo sejam digitados manualmente para as dimensões X, Y e Z. Após registrar o ponto desejado da posição central, o controlador calcula o local atual dos “vértices max/min” para o cubo, e os armazena nos parâmetros apropriados S3C.

Figura 6-2 Método da Posição Central

NOTA: Se o ponto central desejado for um local já armazenado num job ou Posição Variável, FWD para este local antes de acessar o menu de configuração do cubo. Para definir um cubo pelo método da Posição Central, faça o seguinte:

1. Do MAIN MENU selecione ROBOT; 2. Selecione INTERFERENCE; 3. Use a tecla PAGE para mostrar o número desejado do cubo;

ou Selecione DIRECT PAGE, digite o número, aperte ENTER;

4. Coloque o cursor em METHOD, aperte SELECT, como necessário, para colocar em CUBIC INTERFERENCE. (Responda YES para “CLEAR DATA?” se já existirem outros dados);

5. Coloque o cursor em CONTROL GROUP, aperte SELECT, depois selecione R1 ou outros como o necessário;

6. Coloque o cursor em CHECK MEASURE, aperte SELECT, depois selecione Command Position ou Feedback Position

7. Coloque o cursor em REF COORDINATE, aperte SELECT; 8. Selecione BASE, ROBOT;

ou selecione USER, digite o UF#, aperte ENTER;

Page 61: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 61 Curso: TP-10

9. Coloque o cursor em TEACHING METHOD, aperte SELECT para mostrar os CENTER POS;

10. Coloque o cursor em dimensão <LENGHT> a ser modificada (X, Y ou Z), aperte SELECT;

11. Digite o valor numérico em mm para a dimensão desejada do cubo, aperte ENTER;

12. Repita os passos 10 e 11 para digitar cada dimensão da barreira; 13. Coloque o TCP no centro desejado, aperte MODIFY, ENTER. O NX100 irá

mostrar os locais máximos e mínimos do cubo. 6.1.2 Máximo e Mínimo Definir os cubos pelo método MAX/MIN permite que dados da posição para os vértices máximo e mínimo do cubo sejam registrados. Isto é feito colocando o TCP no local desejado, e gravando cada ponto (máximo X, Y, Z e mínimo X, Y, Z) com o servomotor ligado.

Figura 6-3 Método Max/Min Para definir um cubo usando o método MAX/MIN, faça o seguinte:

1. Do MAIN MENU, selecione ROBOT; 2. Selecione INTERFERENCE; 3. Use a tecla PAGE para mostrar o número do cubo desejado;

ou Selecione DIRECT PAGE, digite o número, aperte ENTER;

4. Coloque o cursor em METHOD, aperte SELECT, como necessário, para colocar em CUBIC INTERFERENCE. (Responda YES para “CLEAR DATA?” se já existirem outros dados);

5. Coloque o cursor em CONTROL GROUP, aperte SELECT, depois selecione R1 ou outros como o necessário;

6. Coloque o cursor em CHECK MEASURE, aperte SELECT, depois selecione Command Position ou Feedback Position;

7. Coloque o cursor em REF COORDINATE, aperte SELECT;

Page 62: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 62 Curso: TP-10

8. Selecione BASE; ou

Selecione ROBOT; ou

selecione USER, digite o UF#, aperte ENTER; 9. Coloque o cursor em TEACHING METHOD, aperte SELECT para mostrar os

MAX/MIN; 10. Aperte MODIFY, e o cursor irá realçar a posição MAX; 11. Leve o robô para a posição máxima X, Y, e Z, aperte ENTER; 12. Coloque o cursor na coluna de posição MIN, aperte MODIFY; 13. Leve o robô para a posição mínima X, Y, e Z, aperte ENTER.

6.1.3 Work Home Position O NX100 possui quatro cubos específicos que são definidos em software como cubos “seguros”. São eles:

• Cubo 32 (Robot 1; sempre baseado na Posição Work Home); • Cubo 31 (Robot 2, se aplicável; definido pelo usuário); • Cubo 30 (Robot 3, se aplicável; definido pelo usuário); • Cubo 29 (Robot 4, se aplicável; definido pelo usuário).

Figura 6-4 Work Home para R1 (Cubo 32) Os centros são automaticamente definidos pela Posição Work Home [OPE ORIGIN POS] (ver Seção 5.3), e o comprimento de cada lado é marcado pelo parâmetro S3C805 em microns. Embora estes Cubos possam ser modificados usando-se outras técnicas, assim que a Posição Work Home é modificada, o Cubo reverte-se ao local definido pelo software e dimensões para R1 e robôs adicionais, se necessário. 6.1.4 Modificando Dados de Interferência NOTA: Este método é recomendado quando os valores de posição máxima e mínima da zona cúbica de interferência X, Y & Z (ou contagem de pulsos) forem valores conhecidos.

Page 63: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 63 Curso: TP-10

Para digitar dados do cubo ou fazer modificações nas dimensões existentes do cubo usando o teclado numérico, faça o seguinte: (é necessário ligar o servomotor)

1. Do MAIN MENU, selecione ROBOT; 2. Selecione INTERFERENCE; 3. Use a tecla PAGE para mostrar o número do cubo desejado;

ou Selecione DIRECT PAGE, digite o numero, aperte ENTER;

4. Coloque o cursor na posição desejada X, Y, ou Z (ou Pulso) MIN/MAX, aperte SELECT;

5. Digite o valor numérico desejado em mm (ou contagem de pulsos), aperte ENTER.

Repita os passos 3 e 4 para cada dimensão a ser modificada.

6.2 Monitorando Saída Específica de Cubo Para mostrar o status de um Output Especificado de um cubo, faça o seguinte:

1. Do MAIN MENU selecione IN/OUT; 2. Selecione SPECIFIC OUTPUT; 3. Aperte SELECT, digite os números (SOUT #0057-#0088), aperte ENTER.

NOTA: Quando o robô estiver dentro da zona do cubo, o output especificado irá ficar ON. O círculo ficará mais escuro na marca ON. Quando usar o sinal de interferência para parar um movimento do robô antes que o TCP entre em cubo, coloque o método para CHECK MEASURE em “COMMAND POSITION”. Isto irá marcar o SOUT em ON, já que a Command Position irá definir o novo cubo. Quando usar o SOUT para confirmar que o TCP esteja dentro do cubo, use “FEEDBACK POSITION”. Isto irá marcar o SOUT em ON após o feedback de o encoder definir o novo cubo.

6.3 Programando Saída de Cubo com WAIT Para programar a instrução WAIT com condição SOUT, faça o seguinte:

1. Mostre o JOB CONTENT em TEACH com o cursor no lado do endereço; 2. Aperte INFORM LIST e selecione IN/OUT; 3. Selecione WAIT; 4. Aperte SELECT para acessar a tela DETAIL EDIT; 5. Coloque o cursor em WAIT TARGET, aperte SELECT; 6. Coloque o cursor e selecione SOUT#( ); cursor direto para 1, aperte SELECT; 7. Digite o SOUT# desejado, aperte ENTER;

Page 64: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 64 Curso: TP-10

8. Mova o cursor para CONDITION e aperte SELECT. Coloque o cursor em CONSTANT, aperte SELECT. Cursor em status e aperte SELECT para ativar a seleção ON/OFF.

Amostra do job: LINHA INSTRUÇÃO 0000 NOP 0001 MOVJ VJ=25.00 0002 WAIT SOUT #(88)=ON 0003 MOVJ VJ=100.00 0004 MOVL V=138

• • •

0025 MOVJ VJ=100.00 0026 END

6.4 Definindo Cubo de Eixo Externo Uma área de interferência pode ser usada para monitorar os dados MAX/MIN PULSE, escolhendo-se o método AXIS INTERFERENCE. Deste modo, a zona de interferência é moldada pela diferença entre a contagem máxima e mínima de pulsos para cada eixo. Para definir uma zona de interferência usando Interferência do Eixo, faça o seguinte:

1. Do MAIN MENU, selecione ROBOT; 2. Selecione INTERFERENCE; 3. Use a tecla PAGE para mostrar o número do cubo desejado;

ou Selecione DIRECT PAGE, digite o número, aperte ENTER;

4. Coloque o cursor em METHOD, aperte SELECT, como necessário, para ir até AXIS INTERFERENCE. (Responda YES para “CLEAR DATA?” se já existirem outros dados);

5. Coloque o cursor em CONTROL GROUP, aperte SELECT, depois selecione R1 ou outros, como necessário;

6. Coloque o cursor em CHECK MEASURE, aperte SELECT para escolher COMMAND POSITION OU FEEDBACK POSITION;

7. Aperte MODIFY, o cursor irá realçar a posição MAX; 8. Coloque o robô na posição máxima, aperte ENTER; 9. Coloque o cursor na coluna de posição MIN, aperte MODIFY; 10. Coloque o robô na posição mínima, aperte ENTER.

Page 65: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 65 Curso: TP-10

Colocando na posição Máxima e Mínima, pelos passos 7-10 acima, montará a área de relato para o controlador. Se um (ou mais) dos eixos tiver dados que sejam os mesmos para Max. e Min., o sinal só existirá quando esse eixo estiver na contagem dos pulsos. NOTA: Se a colocação dos eixos não for conveniente, podem ser digitados dados usando-se o teclado numérico. O valor máximo deve ser maior que o valor mínimo.

Figura 6-5 Cubo de Eixo Externo

6.5 Checando Cubo de Eixo Externo A checagem de interferência do Eixo-S é separada das Zonas de Interferência 32 Cubo/Eixo. Ela serve para colocar um sinal quando o Eixo-S estiver na área Esquerda/Direita, independente da orientação/localização dos outros eixos. Este sinal pode ser usado como qualquer outro sinal de interferência.

Figura 6-6 Checando Cubo de Eixo Externo

Page 66: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 66 Curso: TP-10

O parâmetro S2C002 especifica se é necessário checar a interferência com cada manipulador. Se “WITH CHECK” (S2C002=1) for selecionado, os parâmetros devem ser S3C024 até S3C031 para oferecer a Máxima e Mínima zona de checagem do eixo-S para cada robô. Os seguintes parâmetros S3C armazenam os dados PULSE para o robô designado: S3C024 R1 Máximo; S3C025 R1 Mínimo; S3C026 R2 Máximo; S3C027 R2 Mínimo; S3C028 R3 Máximo; S3C029 R3 Mínimo; S3C030 R4 Máximo; S3C031 R4 Mínimo. NOTA: O valor máximo não precisa ser um número positivo, e o valor Mínimo não precisa ser um número negativo. O Máximo deve simplesmente ser maior que o Mínimo.

6.6 Esfera de TCP A zona de interferência do Robô cria uma esfera ao redor do TCP dos robôs. As esferas não podem ocupar a mesma área. Esta checagem serve para impedir que os TCPs entrem em colisão quando trabalhando próximo um ao outro. Cada raio de esfera é definido pelo parâmetro a seguir: (A Unidade é mícron) S3C801 Raio da Esfera do Robô 1; S3C802 Raio da Esfera do Robô 2; S3C803 Raio da Esfera do Robô 3; S3C804 Raio da Esfera do Robô 4.

Page 67: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 67 Curso: TP-10

Figura 6-7 Interferência Esférica

Os seguintes parâmetros ativam a checagem de interferência; (1=ON, 0=OFF) S2C188 Checagem da Esfera R1 e R2 ; S2C189 Checagem da Esfera R1 e R3; S2C190 Checagem da Esfera R1 e R4; S2C191 Checagem da Esfera R2 e R3; S2C192 Checagem da Esfera R2 e R4; S2C193 Checagem da Esfera R3 e R4 .

Page 68: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 68 Curso: TP-10

7.0 MENSAGENS E ALARMES

7.1 Instrução de Mensagem O grupo Controle de instruções oferece uma instrução MSG. Esta instrução coloca uma mensagem na Linha de Mensagem quando a instrução é executada. Para programar uma instrução MSG, faça o seguinte:

1. Com o cursor no lado Address do Job Content, abra a Inform List; 2. Selecione Control e MSG;

Figura 7-1 Inform List MSG

3. Coloque o cursor nos caracteres em parêntesis, e aperte SELECT; 4. Na tela Character, cancele os caracteres existentes, digite os caracteres desejados

e aperte ENTER; NOTA: Até 32 caracteres podem ser digitados.

5. Insira a instrução de Mensagem no conteúdo de job; A mensagem permanecerá até ser reescrita por outra MSG. Para remover a mensagem, overwrite com outra MSG, sem usar caracteres.

Page 69: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 69 Curso: TP-10

Figura 7-2 Conteúdo de Job com Instruções de MSG

7.2 Mensagens de Usuário O controlador do robô NX100 possui um LADDER PROGRAM sempre funcionando nos “bastidores”, que monitora todas as operações I/O. Todas as Mensagens e Alarmes do Sistema estão definidos no SYSTEM LADDER, baseados nas aplicações. O USER LADDER permite que sejam definidos 64 Mensagens de Usuário e 64 Alarmes de Usuário. Para registrar um USER MESSAGE, faça o seguinte:

1. Do MAIN MENU, selecione IN/OUT; 2. Selecione I/O MESSAGE; 3. PAGE, se necessário, para mudar de SYSTEM para USER, e depois coloque o

cursor no número desejado de MESSAGE; aperte SELECT; 4. Crie a mensagem selecionando até 32 caracteres da tela de caracteres; 5. Aperte ENTER.

Page 70: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 70 Curso: TP-10

Figura 7-3 Tela de Mensagem de Usuário

7.3 Alarmes de Usuário Para registrar um USER ALARM, faça o seguinte:

1. Do MAIN MENU selecione IN/OUT; 2. Selecione I/O ALARM; 3. PAGE, se necessário, para mudar de SYSTEM para USER, e depois coloque o

cursor no número desejado do ALARM; aperte SELECT; 4. Crie a mensagem NAME, selecionando até 32 caracteres do USER WORD

LIST ou do display alfanumérico; 5. Aperte ENTER.

NOTA: USER ALARMS param a execução de um job, mas o servomotor continua ON. Eles são religados do mesmo modo que um alarme menor.

Page 71: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 71 Curso: TP-10

Figura 7-4 Tela de Alarme de Usuário

7.4 Acessando o Sistema de Mensagens e Alarmes O System Section Concurrent I/O Messages e Alarme não podem ser editados, mas pode ser acessado e lido com o ícone IN/OUT. Há 24 mensagens SYSTEM possíveis e 24 alarmes SYSTEM possíveis. Para visualizar as listas de Mensagens e Alarmes SYSTEM I/O, faça o seguinte:

1. Do MAIN MENU selecione IN/OUT; 2. Selecione I/O MESSAGE ou I/O ALARM, como desejado; 3. PAGE, se necessário, para mudar para SYSTEM, depois coloque o cursor na

linha desejada para visualizar a mensagem ou o alarme;

7.5 Monitorando I/O A tela do Monitor I/O mostra o status de todos os sinais I/O. O display DETAIL da I/O Universal e Específica inclui o status de apenas um grupo de oito por “página”, e também mostra o número OPERAND e NAME. O display SIMPLE mostra grupos múltiplos por tela, mas não permite forçar outputs ON/OFF como o display DETAIL para Outputs Universais. Para mostrar as Telas do Monitor I/O, faça o seguinte:

Page 72: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 72 Curso: TP-10

1. Do MAIN MENU selecione IN/OUT; 2. Selecione UNIVERSAL INPUT, UNIVERSAL OUTPUT, EXTERNAL

INPUT, EXT OUTPUT, SPECIFIC INPUT, SPECIFIC OUTPUT, RIN (Inputs Rápidos), AUXILIARY INPUT, CONTROL INPUT, REGISTER ou outros intens;

3. Selecione DISPLAY na Área de Menu, depois selecione DETAIL ou SIMPLE. NOTA: Cada vez que você pressionar a tecla PAGE, o display irá avançar para o próximo GROUP NO. mais alto. Para voltar uma página para um GROUP NO. mais baixo, segure a tecla SHIFT e aperte a tecla PAGE.

7.6 Monitorando Ladder Para mostrar a USER SECTION do LADDER PROGRAM, faça o seguinte:

1. Do MAIN MENU, selecione IN/OUT; 2. Selecione LADDER PROGRAM; 3. Se a tela inicial for SYSTEM LADDER (apenas leitura), PAGE para acessar a

USER LADDER; Para encontrar um número relay, número de linha, número de bloco ou Registro específico, faça o seguinte:

4. Selecione EDIT, e depois coloque o cursor até a função SEARCH desejado: RELAY NO., LINE NO., BLOCK NO., ou REGISTER; aperte ENTER;

5. Digite o número no teclado. Aperte ENTER. CUIDADO: Não tente editar o LADDER PROGRAM sem treinamento e conhecimentos próprios. Isto pode resultar em condições de operação perigosas! Para mostrar a USER SECTION do LADDER EDITOR, faça o seguinte:

1. Do MAIN MENU selecione IN/OUT; 2. Selecione LADDER EDITOR; 3. Desligue o MAIN MENU. Botões adicionais deverão aparecer para novas

seleções.

Page 73: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 73 Curso: TP-10

8.0 VELOCIDADE PADRÃO

As instruções MOV_ podem ou não utilizar o Speed Tag. Quando programada com o tag (MOVL V= 459), a velocidade para aquela instrução é definida pelo respectivo tag. Se o Speed Tag não estiver presente na instrução, o controle fará referência à um registrador chamado Registrador de Velocidade Padrão para a velocidade. O registrador é programado utilizando uma instrução SPEED. Esta instrução é capaz de programar todos os tipos de velocidade, VJ=Joint_speed, V=Control_point_speed, VE=External Axis speed, ou VR=Angle_speed (velocidade de rotação ou velocidade angular). Deve preceder quaisquer passos padronizados por este SPEED. Para que um passo do movimento utilize o SPEED padrão, ele deve ser inserido no job sem a linha de comando que programa valores em VJ ou V desmarcando o *ENABLE SPD TAG no menu EDIT ou individualmente fazendo:

1. Posicione o cursor no espaço dos endereços do job; pressione SELECT para mover o cursor para a linha Edit Buffer;

2. Pressione novamente SELECT para acessar a tela DETAIL EDIT; 3. Mova o cursor para “VJ” (ou “V”); pressione SELECT; 4. Mova o cursor para UNUSED; pressione SELECT.

Para remover um Speed Tag de uma linha, ou para programar uma nova instrução sem o tag, pode-se usar a tela Detail Edit, programando o SPEED para UNUSED. No exemplo abaixo, o robô se moverá com a velocidade padrão VJ=50.00(%) para o MOVJ nas linhas 0003 e 0009. Entre as linhas 0005 e 0007, o robô se moverá com a velocidade padrão V=1125(cm/min) durante o movimento no caminho circular e no MOVL seguinte. Note também que, se for necessário ajustar a velocidade para esse passo, é necessário editar apenas uma linha, ao invés de cada passo.

LINE INSTRUCTION 0000 NOP 0001 SPEED VJ=50.00 V=1125 0002 MOVJ VJ=25.00 0003 MOVJ 0004 MOVC V= 138 0005 MOVC 0006 MOVC 0007 MOVL 0008 MOVL V=138 0009 MOVJ 0010 END

Outra vantagem da instrução SPEED está ilustrada abaixo. Se o TCP do robô não está“caminhando” nas linhas 0019, 0021 e 0023, mas “pivotando“ a orientação da

Page 74: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 74 Curso: TP-10

ferramenta, cada MOVL requer uma valor para VR=Angle_speed(velocidade angular de 0.1 – 360.0 graus por segundo). Como VR está disponível apenas em DETAIL EDIT, cada tag de VR teria que ser programado separadamente. Mas, para diminuir o tempo de programação, a instrução SPEED foi usada.

LINE INSTRUCTION 0015 MOVJ VJ=100.00 0016 SPEED VJ=50.00 VR=120.0 0017 MOVJ 0018 MOVL V=558 0019 MOVL 0020 MOVL V=558 0021 MOVL 0022 MOVL V=558 0023 MOVL 0024 MOVJ 0025 END

Para acessar a instrução SPEED, siga os seguintes passos:

1. Na exibição JOB CONTENT, pressione a tecla INFORM LIST; 2. Mova o cursor para MOTION e pressione SELECT; depois SPEED; pressione

SELECT; 3. Com o cursor na linha do Input Buffer posicionado em SPEED, pressione

SELECT; 4. Ative Joint (VJ), TCP (V) ou ANGEL (VR) SPEED selecionando UNUSED em

cada item; 5. Pressione SELECT em [�] para habilitar o controle variável da velocidade;

ou Pressione SELECT nos dígitos de velocidade para alterar a velocidade à uma nova constante;

6. Pressione ENTER (o dado é movido para a linha do buffer de entrada); 7. Repita os passos 4-6 para cada valor padrão de velocidade desejado; 8. Pressione ENTER (a instrução é movida para o job).

NOTA: A velocidade padrão também pode ser programada como variáveis do tipo B, I ou D.

0016 SPEED VJ=I038 V=I039 VR=I037 No exemplo na linha 0016, se I038=5000, então VJ=50.00%; se I039=7500, então V=750.0mm/s (apesar de configurações pendentes), se I037=1800, então VR=180.0 graus/s.

Page 75: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 75 Curso: TP-10

9.0 NWAIT, CWAIT E UNTIL INSTRUCTIONS O tag de movimento NWAIT (Não Espere) executa completamente a INSTRUCTION SET de um passo do movimento enquanto o robô se move para a sua posição. (A INSTRUCTION SET consiste de todas as linhas de instrução das ações sem movimentos programadas entre o passo com o NWAIT e o próximo passo do job.) O NWAIT termina quando a instrução MOV_ é completada. Se as instruções NWAIT demorarem mais do que o percurso do robô, este irá hesitar no passo até que as instruções sejam cumpridas. Se apenas uma parte da INSTRUCTION SET for executada durante o movimento do robô, faz-se necessário inserir a instrução CWAIT (Espere o Comando) para anular o NWAIT e continuar a operação normal. A instrução NWAIT termina na execução do CWAIT dentro da INSTRUCTION SET. O exemplo abaixo ilustra o uso de NWAIT e do opcional CWAIT. A instrução DOUT na linha 0013 será executada enquanto o robô trafega da linha 0011 até a posição da linha 0012. O comando DOUT na linha 0015 não será executado até que o robô complete o MOVL da linha 0012.

LINE INSTRUCTION 0011 MOVL V=138 0012 MOVL V=138 NWAIT 0013 DOUT OG#(1) 240 0014 CWAIT 0015 DOUT OT#(2) OFF 0016 MOVL V=276

NOTA: Evite utilizar as instruções CALL ou JUMP no INSTRUCTION SET executado no NWAIT pois pode resultar em alarmes de operação.

9.1 Programando com NWAIT Para acessar o tag NWAIT, siga os passos a seguir:

1. Posicione o cursor na área de endereços para a programação inicial de uma nova instrução de movimento, ou posicione o cursor ao lado da instrução MOV_ que requer o tag NWAIT;

2. Pressione SELECT duas vezes para acessar a tela DETAIL EDIT; 3. Mova o cursor para a linha do tag NWAIT; pressione SELECT; 4. Mova o cursor para o NWAIT; pressione SELECT; 5. Pressione ENTER para sair da tela DETAIL EDIT; 6. Pressione ENTER para aceitar a linha de buffer de edição no job.

NOTA: O tag de movimento NWAIT também está disponível no DETAIL EDIT em MOTION com Variáveis de Posição (MOV_ Pxxx) e movimentos incrementais (IMOV Pxxx).

Page 76: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 76 Curso: TP-10

9.2 Programando com CWAIT Para programar a instrução CWAIT, siga os passos a seguir:

1. Na tela do job no modo Teach, coloque o cursor no endereço acima da linha que receberá a instrução CWAIT;

2. Pressione a tecla INFORM LIST e selecione CONTROL; 3. Selecione CWAIT; 4. Pressione INSERT, ENTER.

NOTA: A instrução CWAIT está disponível apenas no Exoanded Language Level.

9.3 Saída Antecipada Algumas vezes, é necessário saber o tempo exato de uma instrução de saída ON ou OFF. Como o NWAIT controla DOUT, a instrução é executada enquanto o robô se movimenta em direção ao ponto. A Saída Antecipada (habilitada pelo parâmetro S2C508=1) resulta em um tempo ou uma distância específica a partir do ponto de ensino. 9.3.1 Tabela de Saída Antecipada A Saída Antecipada é inicialmente configurada na Tabela de Saída Antecipada. Para acessar a tabela, pressione as seguintes teclas:

1. IN/OUT; 2. ANT. OUTPUT.

Figura 9-1 Tabela de Saída Antecipada

Page 77: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 77 Curso: TP-10

Os números das Saídas Universais e os Grupos de Saídas Universais estão indicados na tabela como referência às instruções ANTOUT. 9.3.2 Instruções de Saída Antecipada NOTA: O tag NWAIT deve estar no passo de movimento anterior. Para programar a instrução ANTOUT faça o seguinte:

1. Com o cursor na área de endereços do JOB CONTENT, abra o Inform List; 2. Selecione IN/OUT; 3. Selecione ANTOUT.

Na tela Detail Edit pode-se escolher entre distância (Distance) e tempo (Time). Uma entrada negativa faz com que a saída anteceda o ponto e uma entrada positiva faz a saída proceder ao ponto.

Figura 9-2 Tabela Detalhada da Saída Antecipada

9.4 Programando com UNTIL

O tag UNTIL faz com que o robô se mova em direção à uma determinada posição até que um sinal de entrada seja recebido ou até que a posição programada seja alcançada. Apenas os tipos de movimento Linear e Joint podem ser programados com o tag UNITL. Isso inclui o uso de Variáveis de Posição e movimentos de incremento. No exemplo abaixo, o controlador considera a instrução de movimento em direção à posição da linha 0025 completa assim que IN#(3) permanecer em ON. Se a entrada nunca receber o sinal de ligado, o robô continuará até a posição do comando original. Se a entrada já estiver em ON quando a instrução é executada, o robô passará diretamente do local da linha 0024 para aquele da linha 0026.

Page 78: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 78 Curso: TP-10

LINE INSTRUCTION 0024 MOVL V=1125 0025 MOVL V=66 UNTIL IN#(3)=ON 0026 MOVL V=138

Se o job não possuir um passo após a linha com o tag UNTIL, o robô irá parar quando o input for ON. Para acessar o tag UNTIL, siga os seguintes passos:

1. Posicione o cursor na área de endereços para uma nova programação dos comandos MOVJ ou MOVL, ou posicione o cursor na área de endereços de um comando MOVJ ou MOVL existente que requer o tag UNTIL;

2. Pressione SELECT duas vezes para acessar a tela DETAIL EDIT; 3. Mova o cursor até o a linha do tag UNTIL; pressione SELECT; 4. Mova o cursor até o tag UNTIL; pressione SELECT; 5. Se o número de input for o desejado (como uma CONSTANT ou as variáveis B,

I ou D) pule para o passo 6. Caso contrário, mova o cursor para [�] e pressione SELECT, então mova o cursor para a escolha desejada (CONSTANT ou as variáveis B, I ou D) e pressione SELECT;

6. Mova o cursor até o valor do dado para o IN#( ); pressione SELECT. 7. Entre com o número de input (uma CONSTANT ou endereços das variáveis B, I

ou D); pressione ENTER; 8. Mova o cursor para a linha DATA;

Se a condição existente for ON (ou OFF) pressione SELECT para alternar para a escolha oposta OFF (ou ON);

ou para seleciona um endereço da variável tipo Byte para o status da entrada, mova o cursor para [�], pressione SELECT, mova o cursor para B, pressione SELECT; então, mova o cursor para o endereço, pressione SELECT, entre com o número do endereço e pressione ENTER.

9. Pressione ENTER para sair da tela UNTIL, depois ENTER novamente para sair do DETAIL EDIT;

10. Pressione ENTER para posicionar a linha inteira no job.

Page 79: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 79 Curso: TP-10

10.0 TIPOS DE VARIÁVEIS E ENDEREÇOS Todos os tipos globais de endereçamento estão disponíveis em qualquer nível de linguagem, no entanto, as Variáveis Locais ficam disponíveis apenas no nível EXPANDED. O JOB HEADER para todos os outros programas pode ser alocado em Variáveis Locais de memória. Não existem referências às Variáveis Locais nas instruções INFORM LIST a não ser que essas tenham sido alocadas.

10.1 Variável Local e Global As variáveis LOCAL diferem das GLOBAL nos seguintes aspectos:

• Uma variável local pode ser usada apenas no job que a define. As Variáveis Globais podem ser usadas em todos os jobs. A variável Global B001 é “vista” e pode ser usada em todos os jobs, mas a Local LB001 é específica de cada job que a define e utiliza independentemente;

• O número de endereços locais é definido no JOB HEADER. A quantidade de endereços disponíveis varia de acordo com a versão do software;

NOTA: Na ocorrência do alarme 4441, LACK OF LOCAL-VARIABLE AREA, retorne ao cabeçalho e certifique-se de que foram configurados o número e o tipo correto das variáveis.

• Os arquivos com variáveis locais podem ser exibidos na opção VARIABLE/LOCAL VARIABLE. Para monitorar diferentes tipos de Variáveis Locais, utilize os cursores LEFT e RIGHT.

10.2 Endereço Escalar e Matricial As variáveis GLOBAL e LOCAL podem possuir endereços do tipo SCALAR ou ARRAY . Um endereço do tipo Scalar é uma constante, como I000. Um endereço do tipo Array varia de acordo com uma única outra variável local/global B, I ou D, como em I[B000]. Exemplos (utilizando variável Byte) de TODAS as combinações de tipos de endereços: B039 (Global B, endereço Scalar); LB001 (Local B, endereço Scalar); B[D011] (Global B, endereço Array determinado pela global D011); LB[I017] (Local B, endereço Array determinado pela global I017); B[LI000] (Global B, endereço Array determinado pela local LI000); LB[LD002] (Local B, endereço Array determinado pela local LD002). NOTA: Quando configurado no nível de linguagem EXPANDED, os endereços das Variáveis Locais ficam habilitados, mas o número desejado deve ser alocado em cada JOB HEADER.

Page 80: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 80 Curso: TP-10

10.2.1 Alocando Variáveis Locais no Cabeçalho Para configurar o nível de linguagem em EXPANDED, faça o seguinte:

1. No modo TEACH/Management do MAIN MENU, selecione SETUP; 2. Selecione TEACHING CONDITION; 3. Selecione LANGUAGE LEVEL; 4. Pressione SELECT, mova o cursor para EXPANDED; pressione SELECT.

Para acessar o JOB HEADER e alocar endereços para LOCAL, faça o seguinte:

1. Em TEACH, no JOB CONTENT desejado, selecione DISPLAY; 2. Selecione JOB HEADER; 3. Mova o cursor para a área LOCAL VAR NUM, e para o tipo específico da

variável; 4. Pressione SELECT; 5. Entre com o número de variáveis desejado pelo teclado; 6. Pressione ENTER.

Repita os passos 3-6 para cada tipo desejado Ainda que seja possível registrar até 255 tipos, o bloco da memória dedicado ao número total de Local Variables pode não ser grande o suficiente; se for o caso, um alarme menor irá ocorrer quando o job for executado nos modos TEACH ou PLAY. NOTA: Uma mensagem aparece repetidamente, afirmando “Reconstruct local variable from next start...”. A memória alocada para o armazenamento de Variáveis Locais apenas existe enquanto o job estiver em Play, START. Uma vez que o número de endereços Local for alocado, passa a ser responsabilidade do programador reconstruir os valores armazenados em cada endereço da estrutura do job utilizando as instruções SET, SETE, DIN ou GETS do menu ARITH. O programador também deve utilizar os endereços corretos; se, por exemplo, se 9 endereços Local Byte forem reservados, estarão disponíveis para o job LB000 à LB008. As instruções mais comuns utilizadas para configurar valores nas Variáveis Locais estão no menu ARITH.

10.3 Variável Aritmética Existem 4 tipos básicos de Global/Local Arithmetic Variables disponíveis para programação do NX100; Byte, Integer, Double Precision Integer, e Real.

Page 81: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 81 Curso: TP-10

Tabela 10-1: Variáveis Aritméticas

DATA TYPE GLOBAL VARIABLE

LOCAL VARIABLE

RANGE

BYTE B000 à B099 LB000 à LB099 0 à 255 INTEGER I000 à I099 LI000 à LI099 -32.768 à 32.767 DOUBLE

PRECISION D000 à D099 LD000 à LD099 -2.147.483.648 à

2.147.483.648 REAL R000 à R099 LR000 à LR099 -3,400000E+38 à

3,400000E+38 (precisão para valores entre -1 e +1:

-9,99999E-38 à 9,99999E-38)

10.4 Variável de Posição As variáveis POSITION (ROBOT), tipo P, armazenam 6 elementos de dados em PULSE como S, L, U, R, B, T ou como dados X, Y, Z, Rx, Ry, Rz em ROBOT, BASE, TOOL ou USER FRAME. Variáveis POSITION (ST), tipo EX, armazenam apenas dados PULSE e são comumente usadas para aplicações com eixo externo. Cada tipo pode possuir um endereço Scalar ou Array. No modo Teach, os dados de posição podem ser gravados para todos os tipos de Variáveis Globais com o servomotor ligado, exceto para funções de ferramentas (TCP). Os dados para todos os tipos podem ser imputados manualmente utilizando o método SELECT para shifitar ou deslocar dados de posição e incrementar dados de movimentação.

Tabela 10-2 Variáveis Globais/Locais de Posição

DATA TYPE DATA FORMAT GLOBAL VARIABLE

LOCAL VARIABLE

POSITION (ROBOT)

PULSE/XYZ P000 à P127 LP000 à LP255

POSITION (ST) PULSE EX000 à EX127 LEX000 à LEX255 POSITION (BASE) PULSE/XYZ BP000 à BP127 LBP000 à LBP255

NOTA: Diferentes versões do software podem não permitir o reconhecimento de todas as Local Variables alocadas. Na ocorrência do alarme 4210 “System Eror (Local Variable), o número de Local Variables alocadas no Job Header deve ser reduzido.

10.5 Variável de Sistema As Variáveis de sistema são designadas pelo símbolo “$”. Cada tipo de endereço é dedicado a um tipo específico de status. A instrução GETS no menu ARITH é usada para se obter o status atual do sistema. 10.5.1 Variável de Sistema tipo Byte

Page 82: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 82 Curso: TP-10

As variáveis do tipo $B representam o atual status de várias opções selecionadas como a função Rapid Input Search, Conveyor Tracking e Hand Sense for Material Handling.

Tabela 10-3: Exemplos de Variáveis do tipo $B

System Variable Tipo No. Explicação

Variável tipo $B Tipo Byte

$B002 Detectado/Não Detectado pela instrução opcional SRCH

0: Não detectado, 1: Detectado $B003 O número de RIN#(1) detectado pelo

opcional NSRCH $B004 O número de RIN#(2) detectado pelo

opcional NSRCH $B005 O número de RIN#(3) detectado pelo

opcional NSRCH $B006 O número de RIN#(4) detectado pelo

opcional NSRCH $B007 O número de RIN#(5) detectado pelo

opcional NSRCH $B008 Resultado da instrução opcional SYSTART

1: Terminação normal, 0: Terminação anormal

$B009 Resultado da instrução SETFILE/GETFILE

0: Terminação normal, Diferente de 0: Terminação anormal

$B014 Resultado da instrução opcional HSEN 1: Setting Status completo, 0: Outros

10.5.2 Variável de Sistema tipoPosição As variáveis do tipo $PX representam o status de um tipo específico de dado para o atual CONTROL GROUP AXES do job que contém a instrução GETS. Esta informação, quando armazenada, pode expandir em tipos de endereços de variáveis com múltiplas posições.

Page 83: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 83 Curso: TP-10

Tabela 10-4: Exemplos de Variáveis do tipo $PX

System Variable Tipo No. Explicação

Variável tipo $PX

Tipo de Posição

Para Grupos de Controle de Eixos

$PX000 Valor Atual (tipo Pulse) $PX001 Valor Atual (tipo XYZ) $PX002 Posição detectada pela instrução opcional

SRCH (tipo Pulse) $PX003 Posição detectada pela instrução opcional

SRCH (tipo XYZ) $PX004 Valor Atual de dados deslocados (tipo XYZ) $PX005 Posição de Teaching (tipo Pulse) $PX006 Posição alvo de operação (tipo Pulse) $PX011 Local no sistema do REFPT #1 $PX012 Local no sistema do REFPT #2 $PX013 Local no sistema do REFPT #3 $PX014 Local no sistema do REFPT #4 $PX015 Local no sistema do REFPT #5 $PX016 Local no sistema do REFPT #6 $PX017 Local no sistema do REFPT #7 $PX018 Local no sistema do REFPT #8 $PX040 Quantidade de correção de caminho

(disponível apenas com a função COMARC) As variáveis SYSTEM POSITION AXES ($PX) são utilizadas com a instrução GETS para obter a posição atual para o CONTROL GROUP definido no JOB HEADER. A instrução GETS PX126 $PX000, dependendo do grupo de controle dos eixos, pode expandir para os seguintes endereços de posições:

• Se R1+R2, então PX126 indica P126 (escravo) e P127 (mestre); • Se R1+B1, então PX126 indica P126 e BP126; • Se R1+B1+S1, então PX000 indica P126, BP126 e EX126; • Se R1+R2+ B1+B2+S1 for um programa cooperativo com coordenadas mestres

R1+B1, então PX126 indica: P126 = R2 (escravo); P127 = R1 (mestre); BP126 = B2 (escravo); BP127= B1 (mestre); EX126= S1 (eixo externo).

CUIDADO: O programador deve permitir que a expansão dos endereços armazene os dados da posição atual em jobs com múltiplos robôs, bases ou eixo externo

Page 84: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 84 Curso: TP-10

11. VARIÁVEL DE POSIÇÃO O NX100 possui 128 endereços de variáveis de posição, #P000 à #P127, que podem ser utilizados para armazenar dados de posição, dados shifitados ou dados de movimentos incrementais.

11.1 Acessando Variável de Posição Para acessar a tela de variável de posição, siga os passos à seguir:

1. No MAIN MENU, selecione VARIABLE; 2. Selecione POSITION (ROBOT); 3. Toque em “PAGE” no display da tela de variável de posição entre com o

número de endereço desejado e pressione ENTER; ou

Use a tecla PAGE para ir para o próximo endereço; use SHIFT+PAGE para ir para o endereço anterior;

ou Selecione EDIT, selecione SEARCH, entre com o endereço desejado e pressione ENTER;

Figura 11-1 Variável de posição (padrão, tipo de dado [********])

11.2 Estabelecendo Tipos de Dados Para deletar um dado e/ou alterar o tipo do endereço da variável exibida, siga os seguintes passos:

Marque com o cursor o tipo de dado existente; pressione SELECT. Selecione YES com o cursor na pergunta “CLEAR DATA?”; pressione SELECT.

ou

Page 85: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 85 Curso: TP-10

Selecione DATA; selecione CLEAR DATA; pressione SELECT. NOTA: O tipo de dado desejado (PULSE, ROBOT, BASE, USER ou TOOL) deve ser definido para cada endereço utilizado.

11.3 Sistemas de Coordenadas (FRAMES) O NX100 suporta quatro tipos de frames cartesianos para dados de posição XYZ: ROBOT Frame (RF), BASE Frame (BF), USER Frame (UF) & TOOL Frame (TF). Os dados de posição na base XYZ, ROOT, ou USER podem ser exibidos seguindo os seguintes passos:

1. Em MAIN MENU, selecione ROBOT; 2. Selecione CURRENT POS; 3. Pressione SELECT se desejar outro frame diferente de XYZ; 4. Mova o cursor para BASE, ROBOT; pressione SELECT. ou

Mova o cursor para USER e SELECT, entre com o UF#(1-24); pressione ENTER.

Com relação às variáveis de posição, apenas a referêcniado tipo BASE, ROBOT e USER podem ser usados para registrar posições com o servomotor ligado. Contudo, TOOL, assim como BASE, ROBOT e USER, são permitidas como escolhas de tipo de dado COORD quando elementos para troca de dados e IMOV forem utilizados. 11.3.1 Frame do Robô (RF) O sistema de coordenadas Cartesianas XYZ ROBOT Frame (RF), como ilustrado abaixo, mostra a posição zero assim como as direções dos eixos +X, +Y e +Z, sendo estas as direções de operação dos eixos quando o robô em coordenadas [RECT]. Cada robô, R1, R2, R3, e R4, possuirão seu próprio RF de referência.

Figura 11-2 Robot Frame (RF)

Page 86: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 86 Curso: TP-10

11.3.2 Frame da Base (RF) A BASE Frame difere-se do ROBOT Frame apenas quando o robô é montado sobre um trilho e controlado pelo controlador do NX100. Com a adição deste eixo controlado, o “envelope de trabalho” do BF é aumentado para incluir a área alcançável pelo robô. As direções XYZ permanecem as mesmas, mas a posição zero é definida por um lugar no eixo da Base assim como uma localização do robô. Até quatro BF de referência estão disponíveis, B1, B2, B3 e B4.

Figura 11-3 Base Frame (BF)

NOTA: Em um sistema sem nenhum eixo de base, o dado de posição da BASE Frame (BF) será igual ao dado do ROBOT Frame (RF). 11.3.3 Frame do Usuário (UF) Existem 24 User Frames disponíveis no NX100, UF#(1) à UF#(24). Todos os User Frames tomam como base três pontos: ORG, XX e XY, informados pelo usuário para formar um plano no espaço. Este plano pode ser desviado do Robot Frame XYZ, ou pode ser usado para fornecer uma posição zero em um ORIGIN desejado para facilitar os dados de posição XYZ.

Page 87: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 87 Curso: TP-10

Figura 11-4 User Frame (UF) O User Frame pode ser usado tanto para trabalhar com o robô nas USER Coordinates como o tag UF#() pode ser usado nas instruções de programação com variáveis de posições, estas, considerando IMOV ou com a instrução CALL, para executar o job em diferentes User Frames. Ainda mais, executar edições dinâmicas com a função PAM ou uma mudança 3-D com a opção Relative Job que leva em conta os User Frames. 11.3.4 Frame da Ferramenta (TF) Os dados para movimentos shifitados ou deslocados podem ser fornecidos pelo teclado numérico não apenas em BR, RF e UF#(), mas em TF com qualquer Tool de 00-23. NOTA: Ainda que a direção do TOOL FRAME esteja sempre mudando conforme o TCP move-se, a localização do TCP no TF é sempre 0.000 mm para X, Y e Z. Portanto, o software não exibe os dados das posições no TOOL, assim como não armazena pontos com variáveis de posição.

Figura 11-5 Tool Frame (TF)

Page 88: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 88 Curso: TP-10

Quando o robô trabalha nas coordenadas TOOL, a direção efetiva da aplicação (corte de arame, laser, jato d’água etc) deve ter a mesma direção do eixo +Z. As configurações do TF para o TCP são feitas por entradas manuais em graus dos valores Rx, Ry e/ou Rz. 11.3.5 Frame Mestre da Ferramenta (MTF) O Master Tool Frame refere-se à uma célula múltipla de GROUP AXIS onde uma parte dos GROUP AXES é “mestre” e o outro é “escravo”. Dados de posição para o escravo tomam como base sua distância e orientação no Master Tool Frame. 11.3.6 Selecionando Múltiplas Ferramentas (TCPs) Cada vez que um passo é carregado de uma linha de controle, o TOOL:(00-23) para aquele STEP NO. é exibido no lado direito da tela, como mostra a Figura 11-6 abaixo.

Figura 11-6 Tela do Tool No. No JOB CONTENT Conseqüentemente, a primeira preocupação é escolher o número de ferramenta correto não apenas para novos passos, mas também para modificar pontos ou armazenar dados de posição em endereços de variáveis de posição. NOTA: Para o uso de múltiplos TCPs, configure o parâmetro S2C333=1 para ativar a lista para o TOOL No.00-23. O Tool No. é selecionado no PP pressionando [COORD] para selecionar coordenadas TOOL, JOINT ou RECT/CYL (não a USER), Assim, pressione [SHIFT]+[COORD] para exibir a lista. Mova o cursor para o número desejado. (Assumindo que o dado TCP tenha sido fornecido manualmente ou automaticamente armazenado anteriormente). Então, será possível acrescentar ou editar os passos para o Tool desejado. Para escolher a lista, pressione [SHIFT]+[COORD] novamente. Selecione qualquer sistema de coordenadas desejado par efeitos de trabalho e/ou operação.

Page 89: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 89 Curso: TP-10

NOTA: A ferramenta atualmente ativada permanecerá como a Tool No. selecionada na lista de ferramentas até que seja alterada como descrito acima. NOTA: O Parâmetro S2C186=1 inibe a programação e/ou a edição acidental de todos os jobs com a Tool No. errada. Isto significa que todas os passos de um job devem ser configuradas com o mesmo Tool No. como o primeiro passo de movimento do job; caso contrário, aparecerá na tela “ERROR 0070: Program and current tool different”. Enquanto o parâmetro estiver ativo (1=ON), cada job individual fica limitado à apenas um Tool para todos os passos de movimento, entretanto, a instrução CALL pode ser usada para trabalhar com job´s pai e filho, respectivamente. O Parâmetro S2C186=0 permite que todos os jobs tenham Tool No. individuais para cada passo. 11.3.7 Eixo Externo (ST) O NX100 possui a capacidade de controlar quatro robôs com quatro bases (R1 utilizando B1, etc) e doze estações (S1 à S12); podem-se configurar três eixos para cada base.

Figura 11-7 Eixo Externo

11.4 Variável de Posição Pulso Para armazenar a posição atual do robô em uma Variável de posição no tipo PULSE, siga os passos a seguir no modo TEACH:

Page 90: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 90 Curso: TP-10

1. Selecione o endereço desejado e, caso não esteja no tipo PULSE, execute um CLEAR DATA (veja a seção 11.1). Se o endereço já estiver no tipo PULSE, pule para o passo 4;

2. Mova o cursor para o tipo [********]; pressione SELECT; 3. Mova o cursor para PULSE; pressione SELECT; 4. Mova o TCP do robô para a posição desejada; 5. Pressione MODIFY e então ENTER com o servomotor no estado ON.

Figura 11-8 Tela de variável de posição [Pulse]

11.5 Variável de Posição em XYZ Para armazenar a posição atual do robô em uma variável de posição no tipo ROBOT, BASE ou USER siga os passos a seguir no modo TEACH:

1. Selecione o endereço desejado. Se já estiver no tipo desejado, pule para o passo 4; caso contrário, veja a seção 11.2 e execute um CLEAR DATA;

2. Mova o cursor para o tipo [********]; pressione SELECT; 3. Mova o cursor para ROBOT ou BASE; pressione SELECT e pule para o passo

4; ou

Mova o cursor para USER, entre com o número de User Frame; pressione ENTER;

4. Mova o cursor TCP do robô para a posição desejada; 5. Pressione MODIFY e então ENTER com o servomotor no estado ON.

Page 91: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 91 Curso: TP-10

Figura 11-9 Tela XYZ da variável de posição [ROBOT]

11.6 Checando de Variável de Posição CUIDADO: Certifique-se de que o caminho esteja livre antes de prosseguir. Como uma variável de posição não pode especificar um “tipo de movimento” para a operação FWD, o NX irá controlar o movimento do TCP em uma linha reta caso as Coordenadas RECT, TOOL ou USER forem selecionadas. Nunca tente executar um FWD para uma variável de posição com dados shifitados e/ou modificados ou com movimentos incrementais (IMOV) Para verificar o local armazenado em um endereço de uma variável de posição, faça o seguinte:

1. Selecione o endereço da posição da variável desejada; 2. No modo TEACH, selecione uma velocidade manual apropriada; 3. Configure as coordenadas para JOINT de modo que o TCP não terá que seguir

um caminho reto até o local desejado a não ser que seja desejado; 4. Habilite o servomotor e pressione FWD até que o número do endereço da

variável de posição pare de piscar e o robô pare.

11.7 Editando Variável de Posição em Pulso Para entrar com dados PULSE em uma variável de posição utilizando o teclado numérico, siga os seguintes passos:

Page 92: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 92 Curso: TP-10

1. Selecione o endereço correto da variável que será editada e, se necessário, execute um CLEAR DATA para selecionar PULSE;

2. Mova o cursor para o valor do eixo S, L, U, R, B ou T desejado; pressione SELECT;

3. Entre com o Pulse Counts positivo ou negativo correto utilizando o teclado numérico;

4. Pressione ENTER. Repita os passos 2 ao 4 para cada modificação desejada do S, L, U, R, B e T.

11.8 Editando Variável de Posição em XYZ Para entrar com os dados da variável de posição em XYZ (mm) e Rx, Ry, Rz (graus) utilizando o teclado numérico, siga os passos a seguir:

1. Selecione o endereço correto da variável que será editada e, se necessário, execute um CLEAR DATA para selecionar o tipo desejado. Se o dado já for o desejado, pule para o passo 6;

2. Mova o cursor para a direita para [********]; pressione SELECT, ou Mova o cursor para USER, pressione SELECT, entre com o número do User Frame; pressione ENTER;

3. Mova o cursor para BASE, ROBOT ou TOOL; pressione SELECT, ou mova o cursor para USER, pressione SELECT, entre com o número do User Frame; pressione ENTER;

4. Mova o cursor para a dimensão que será configurada ou editada; pressione SELECT;

5. Entre com os valores de X, Y, Z (0,000 ± 99.999,999 mm) ou Rx, Ry, Rz (0,00 ± 180,00 graus);

6. Pressione ENTER. Repita os passos 4 ao 6 para cada dimensão configurada ou alterada.

O dado <TYPE>, no lado direito da tela de variável de posição, FRONT/REAR S<180 ou S> = 180, UP/DOWN R<180 ou R>=180, assim como FLIP/NO FLIP T<180 ou T>=180 não são elementos de posição. São configurações de fábrica do robô como o eixo S montado na parede virado para (REAR) cabos na parede, montagem no teto com o eixo R rotacionado de 180°, etc.

11.9 Programando com Variável de Posição Para programar um passo do movimento em um job utilizando uma variável de posição previamente armazenada, siga os passos a seguir:

1. Selecione o job em TEACH com o cursor na área com os endereços; 2. Pressione a tecla INFORM LIST, selecione MOTION; 3. Selecione o tipo de movimento desejado (MOVJ, MOVL, MOVC ou MOVS);

Page 93: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 93 Curso: TP-10

NOTA: Pressione SELECT novamente para acessar a tela DETAIL EDIT e executar mudanças mais específicas, então vá para o passo 8. Para simplesmente alterar o dado numérico, continue os passos 4 à 8.

4. Mova o cursor até o endereço existente na linha de edição; pressione SELECT; 5. Forneça o endereço da variável de posição desejada (0-127); pressione ENTER; 6. Posicione o cursor na velocidade existente para V ou VJ; pressione SELECT; 7. Entre com o valor desajdo de Control_point_speed ou Joint_speed; pressione

ENTER; 8. Pressione ENTER para colocar a instrução MOV_ no job.

NOTA: Não havendo velocidade desejada, mova o cursor para MOV_ e pressione SELECT. Selecione a área V ou VJ do DETAIL EDIT e selecione UNUSED. Exemplo de job:

LINE INSTRUCTION 0001 MOVJ P000 VJ=25.00 0002 MOVJ VJ=100.00 0003 MOVL P018 V=76 0004 MOVL P126 V=220 PL=0

NOTA: A edição de Variáveis de Posição, seja com servomotor ligado ou com tecla numérica, apenas pode ser feita na tela da variável de posição. Não é possível modificar as variáveis de posição na tela Job Content.

11.10 Movimento Incremental (IMOV) Um INCREMENTAL MOVE (IMOV) é um movimento linear tendo o módulo e direção baseados em uma variável de posição. Os elementos devem ser configurados como números XYZ em milímetros em uma ou mais direções e orientação em Rx, Ry, Rz em graus. Para programar uma instrução IMOV, siga os passos a seguir:

1. Selecione o job em TEACH com o cursor na área de endereços; 2. Pressione a tecla INFORM LIST, selecione MOTION; 3. Selecione IMOV;

NOTA: Para apenas mudar o dado numérico, continue com os passos 4-7. Caso contrário, pressione SELECT para acessar o DETAIL EDIT para outras opções de edição.

4. Mova o cursor para o PXXX existente; pressione SELECT. Forneça o número da variável de posição desejada; pressione ENTER;

5. Mova o cursor para a velocidade existente; pressione SELECT. Entre com o valor desejado de Control_point_speed ou Angle_speed; pressione ENTER;

Page 94: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 94 Curso: TP-10

6. Mova o cursor para a COORDINATE existente e pressione SELECT para selecionar o tipo de frame de referência: BF, RF, TF ou UF. Se selecionar UF#(), mova o cursor para o número existente; pressione SELECT, então forneça o número desejado; pressione ENTER;

7. Pressione ENTER (o conteúdo da linha é movido para o job). NOTA: Um IMOV sem um tag de coordenada fica no padrão Base Frame. A coordenada na variável de posição não é utilizada. No exemplo do job abaixo, o robô irá mover-se em um padrão de escada cinco vezes devido ao comando IF na instrução JUMP. O padrão de escada é criado configurando-se P002 no formato XYZ para Y=-50mm, e P003 para Z=50mm. Todos os outros elementos permanecem com zero milímetros/graus. O USER FRAME especificado nas Lines 0004 e 0005 irão sobrepor qualquer frame especificado em P002 e P003.,

LINE INSTRUCTION 0000 NOP 0001 MOVJ VJ=25.00 0002 SET I000 5 0003 *LABEL 0004 IMOV P002 V=2250 UF#(18) 0005 IMOV P003 V=2250 UF#(18) 0006 DEC I000 0007 JUMP *LABEL IF I000 > 0 0008 MOVJ VJ=100.00 0009 END

11.11 Tipo de Dados O exemplo de job abaixo ilustra como a configuração de variáveis de posição em tipo User Frame cria um retângulo perfeito. Os dados devem ser fornecidos manualmente nos arquivos como UF#( ).

/JOB //NAME FRAMES //POS ///NPOS 0,0,0,5,0,0 ///TOOL 0 ///POSTYPE PULSE ///PULSE P0000=0,0,0,0,-80000,27000 ///USER 9 [Exemplo originalmente no local UF#(9)] ///POSTYPE USER ///RECTAN ///RCONF 0,0,0,0,0,0,0,0 P0100=0.000,0.000,5.000,175.00,45.00,0.00 P0101=90.000,0.000,5.000,175.00,45.00,0.00

Page 95: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 95 Curso: TP-10

P0102=90.000,70.000,5.000,175.00,45.00,0.00 P0103=0.000,70.000,5.000,175.00,45.00,0.00 //INST ///DATE 2004/04/28 16:08 ///ATTR SC,RW ///GROUP1 RB1 NOP MOVJ P000 VJ=50.00 MOVJ P100 VJ=50.00 PL=0 MOVL P101 V=76.5 PL=0 MOVL P102 V=76.5 PL=0 MOVL P103 V=76.5 PL=0 MOVL P100 V=76.5 PL=0 MOVJ P000 VJ=50.00 END

Um job pai pode ser criado para utilizar a instrução CALL com um tag UF#(). Isto irá permitir que o job de um programa filho seja executado em qualquer outro User Frame.

/JOB //NAME CALL_UF# //POS ///NPOS 0,0,0,0,0,0 //INST ///DATE 2004/04/28 16:20 ///ATTR SC,RW ///GROUP1 RB1 NOP *LABEL DIN B000 IG#(1) JUMP *LABEL IF B000=0 CALL JOB:FRAMES UF#(B000) IF B000 <=24 END

Page 96: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 96 Curso: TP-10

12.0 INSTRUÇÕES ARITMÉTICAS Existem muitas instruções aritméticas no NX100. Elas se encontram na tecla INFORM LIST, em ARITH. A tabela a seguir serve como uma referência rápida aos tipos de variáveis aplicáveis à cada função. NOTA: A linguagem SUBSET reduz as instruções no menu ARITH aos comandos INC, SET e CLEAR.

Tabela 12-1: Lista Informativa TIPO DE FUNÇÃO INSTR $PX P/Px I D R B $B limpa (zera) um range,

ou o endereço e todos os seguintes

CLEAR � � � �

incrementa em um INC � � �

decrementa em um DEC � � �

seta Variáveis Arith a partir de uma constante,

variável ou uma EXPRESSION SET

� � � �

coloca uma P-Variable em outra

adiciona uma constante ou variável ADD � � � � �

subtrai uma constante ou variável SUB � � � � �

multiplica por constante/variável

(elementos simples ou todos elementos de um

vetor 6x1)

MUL � � � � �

divide por constante/variável

(elementos simples ou todos elementos de um

vetor 6x1)

DIV � � � � �

converte Pulse/XYZ ‘ XYZ apenas CNVRT �

1 AND 1 = 1(todas as outras combinações = 0) AND �

0 OR 0 = 0(todas as outras combinações = 1) OR �

NOT 1 = 0; NOT 0 =1 NOT �

1 XOR 0 = 1; 0 XOR 1 = 1 (todas as outras combinações = 0)

XOR �

cria User Frame #( ) a partir de três posições

PX para ORG, XX e XY MFRAME

(de três PX)

coloca o valor de P em D GETE (de) (para)

Page 97: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 97 Curso: TP-10

� �

coloca o valor de D em P SETE (para)

(de)

retorna o status da variável do sistema GETS

(de)

(paraPX)

(para)

(para)

seno de uma constante/variável SIN �

co-seno de uma constante/variável COS �

arco-tangente de uma constante/variável ATAN �

raiz quadrada de uma constante/variável SQRT �

NOTA: O resultado de qualquer uma das instruções ARITHMETIC sobrescreve o valor armazenado no endereço da variável programada logo em seguida da instrução original, como em ADD I005 I020, onde o resultado é armazenado em I005. (Se o valor exceder os limites do tipo da variável ocorrerá o ALARM 4446.)

12.1 Status de Sistema GETS A instrução GETS (GET SYSTEM STATUS) armazena o status atual da System Variable em uma variável do mesmo tipo. NOTA: Veja as tabelas 10-3 e 10-4 para as definições de cada ($) System Type Variable. Exemplos: GETS B005 $B002 (Retorna o código atual de retorno do Sistema para MVL SRCH RIN# e

armazena o resultado em B005)

GETS PX000 $PX000 (Retorna a posição atual do Sistema; armazena o dado PULSE em PX000)

Nota: Em um job para R1 + R2, ambos P000 e P001 irão armazenar o dado Pulse atual, ou em R1 + S1, P000 e EX000 irão armazenar o dado Pulse atual.

GETS PX011 $PX001 (Retorna a posição R1 do Sistema em BF; armazena o dado em P011)

Nota: Em um job para R1 + R2, ambos P011 e P012 irão armazenar o dado BF atual.

CUIDADO:Tenha cuidado com as escolhas dos endereços quando utilizar a instrução GETS em jobs envolvendo vários robôs, bases e/ou eixos externos

Page 98: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 98 Curso: TP-10

12.2 Funções de Variável de Posição 12.2.1 CNVRT A instrução CNVRT converte uma variável Posição do tipo Pulse ou qualquer frame XYZ em apenas uma XYZ (BF, RF, UF ou TF). O dado convertido pode ser armazenado no mesmo endereço ou em outro endereço designado. Exemplos: CNVRT PX003 PX003 RF (Converte dado de P003 em RF)

CNVRT LPX004 LPX005 UF#(24) (Converte dado de LP005 em UF em LP004)

CNVRT PX[B006] PX000 BF (Converte dado de P000 em BF no endereços P determinado por B006)

CNVRT LPX[I007] LPX[B009] TF (Converte dado do endereço LP determinado por B009 em TF e armazena no endereço LP determinado por I007)

12.2.2 GETE GET ELEMENT armazena o valor de um único elemento específico de uma variável Position em um endereço de uma variável D. Em PULSE os elementos 1-6 correspondem à SLURBT; para XYZ os elementos 1-6 correspondem à X, Y, Z, Rx, Ry & Rz respectivamente.

Figura 12-1 Elementos de uma Variável de Posição NOTA: Os elementos X, Y & Z são armazenados como milhares de milímetros (microns), e os elementos Rx, Ry & Rz são armazenados com centésimos de grau. Exemplos: GETE D099 P007 (3) (Armazena o valor do terceiro elemento de P007 em D009)

GETE LD000 P[I005] (B099) (Retorna o elementos, determinado por B099, de endereço P, determinado por I005, e armazena o valor em LD000)

Page 99: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 99 Curso: TP-10

12.2.3 SETE SET ELEMENT seta o elemento especificado em uma variável de Posição com um valor constante ou com o valor armazenado em um endereço de uma variável D. EXEMPLOS: SETE P007 (1) 500000 (Seta uma constante no primeiro elemento de P007)

SETE P007 (5) -4500 (Seta uma constante no quinto elemento de P007)

SETE LP005 (B002) LD[B002] (Seta o dado do endereço de LD determinado por B002 no elemento de LP005 determinado por B002)

12.2.4 MFRAME MAKE FRAME cria um User Frame a partir de três variáveis de posição de qualquer tipo de dado. O primeiro endereço designado torna-se o ORG, o segundo fica sendo o XX , e o terceiro é armazenado como XY . Exemplo: MFRAME UF#(4) PX005 PX006 PX007 (Configura o User Frame #(4) com

PX005=ORG, PX006=XX, & PX007=XY)

12.3 Funções de Cálculo 12.3.1 ADD A instrução ADD armazena a soma da variável atualmente armazenada no endereço da variável resultante com uma constante ou um valor armazenado em qualquer outro tipo de endereço que contenha uma variável aritmética. Exemplos: ADD LD008 -81726354 (Soma uma constante à um valor armazenado em LD008)

ADD D006 B018 (Soma o valor em B018 à um valor em D006)

ADD R015 I[B033] (Soma o valor armazenado no endereço “I”, determinado pelo número em B033, ao valor em R015)

Soma os 6 elementos armazenados em um endereço de uma variável de Posição aos elementos resultantes da variável de Posição. (O tipo de dado deve ser o mesmo; Pulse, BF, RF ou UF). Sugestão: esta função é útil para combinar quantidades de dados shifitados. Exemplos: ADD P125 P124 (Soma 6 elementos de P124 aos valores em P125)

ADD LP002 LP004 (Soma 6 elementos de LP004 aos valores em LP002)

ADD P[B001] LP[B001] (Soma 6 elementos do endereço de LP determinado por B001 aos valores armazenados nos endereços de P, também determinados por B001)

Page 100: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 100 Curso: TP-10

12.3.2 SUB A instrução SUB retorna a diferença entre dois valores subtraindo uma constante ou um valor armazenado em qualquer outro endereço com uma variável aritmética do valor atual no endereço da variável resultante. Exemplos: SUB LD008 -45362718 (Subtrai a constante -45362718 de LD008)

SUB R006 B018 (Subtrai o valor de B018 do valor de R006)

SUB D[B000] 27348 (Subtrai a constante 27348 do valor no endereço D, determinado pelo número em B000)

Subtrai os 6 elementos armazenados em um endereço de uma variável de Posição aos elementos resultantes da variável de Posição. (O tipo de dado deve ser o mesmo; Pulse, BF, RF ou UF). Exemplos: SUB P127 P127 (Subtrai todos os valores deles mesmos, zerando todos os valores)

NOTA: Esta função é útil para zera todos os 6 elementos. SUB LP002 LP[I017] (Subtrai de LP002 todos os elementos no endereço LP, determinado pelo

número em I017)

12.3.3 MUL A instrução Multiply armazena o produto da variável atualmente armazenada no endereço da variável resultante e uma constante ou um valor armazenado em qualquer outro endereço. Exemplos: MUL I005 25 (Multiplica 25 pelo valor em I005)

MUL R005 D002 (Multiplica o valor em D002 pelo valor em R005)

MUL D[B005] LI[B004] (Multiplica o valor no endereço LI, determinado por B004, pelo valor no endereço D, determinado por B005)

Multiplica um único elemento ou todos os 6 elementos armazenados em um endereço de uma variável de Posição por uma constante inteira ou qualquer valor da variável D. Exemplos: MUL P009 (2) -1 (Multiplica a constante inteira -1 pelo segundo elemento de P009)

MUL LP007 0 (Multiplica todos os elementos de LP007 por zero)

NOTA: Multiplicar por zero é útil pois inicializa todos os 6 elementos sem limpar o tipo

de dado. MUL P127 (1) D039 (Multiplica o valor em D039 pelo primeiro elemento de P127)

Page 101: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 101 Curso: TP-10

MUL LP002 LD[B001] (Multiplica o valor no endereço LD, determinado por B001, por todos os elementos de LP002)

12.3.4 DIV A instrução DIV divide a variável atualmente armazenada no endereço da variável resultante por uma constante ou um valor aritmético armazenado em qualquer outro endereço. NOTA: Na tentativa de armazenar qualquer valor decimal em uma variável do tipo B, I ou D, a variável será truncada para o número inteiro apropriado. Exemplos: DIV R005 67.854 (Divide o valor em R005 por uma constante)

DIV LR014 D002 (Divide o valor em LR014 pelo valor em D002)

DIV R000 I[B000] (Divide o valor em R000 pelo valor no endereço I, determinado por B000)

Divide uma constante inteira ou qualquer variável D em um único elemento ou em todos os 6 elementos armazenados em um endereço de uma variável de Posição. Exemplos: DIV P026 (1) 2 (Divide o primeiro elemento de P206 por 2)

DIV P018 10 (Divide todos os elementos de P018 por 10)

12.4 Funções de Valores 12.4.1 SET Seta todos os 6 elementos armazenados em um endereço de uma variável de Posição com elementos de outra variável de Posição do mesmo tipo. (Pulse, BF, RF ou UF).

NOTA: O tipo de dado deve ser previamente definido em no arquivo da variável de

posição.

Exemplos: SET P055 P040 (Seta todos os 6 elementos de P040 em P055)

SET P125 LP002 (Seta todos os 6 elementos de LP002 em P125)

SET P[B005] LP[LI003] (Seta todos os 6 elementos do endereço de LP determinado por LI003no endereço de P determinado por B005)

Seta variáveis designadas do tipo GLOBAL/LOCAL, SCALAR/ARRAY Byte, Integer, Double ou Real com uma constante. Exemplos: SET R009 452.2756 (Carrega uma constante em R009)

SET LD008 -81726354 (Carrega uma constante em LD008)

SET B[I000] 255 (Carrega um constante no endereço de B determinado por I000)

Page 102: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 102 Curso: TP-10

Seta variáveis designadas do tipo GLOBAL/LOCAL, SCALAR/ARRAY Byte, Integer, Double ou Real com um mesmo valor armazenado em outro endereço. NOTA: Na tentativa de armazenar qualquer valor decimal em uma variável do tipo B, I ou D, a variável será truncada para o número inteiro apropriado. Exemplos: SET R039 LB009 (Carrega o valor de LB009 em R039)

SET LI001 B003 (Carrega o valor de B003 em LI001)

SET LR[B001] LD[LB003] (Carrega o valor armazenado no endereço de LD determinado por B003 no endereço de LR determinado por B001)

Seta variáveis designadas do tipo GLOBAL/LOCAL, SCALAR/ARRAY Byte, Integer, Double ou Real resultantes de operações envolvendo constantes e/ou outras variáveis. NOTA: Na tentativa de armazenar qualquer valor decimal em uma variável do tipo B, I ou D, a variável será truncada para o número inteiro apropriado. Exemplos: SET I039 I039 + 5 (Soma 5 ao valor em I039 e armazena o resultado em I039)

SET D032 1000 * B005 (Multiplica 1000 pelo times valor em B005; resultado em D032)

SET LR001 (255 - B004)/2 (Divide a diferença entre 255 e o valor em B004 por 2 e armazena o resultado em LR001)

Para construir uma expressão, utilize a função EXPRESS encontrada em DETAIL EDIT no menu SOURCE (TOKEN) [«] para a instrução SET, Figura 12-1. As possibilidades para o parênteses esquerdos são (, ((, (((, -(, -(( e –(((; para os parênteses direitos ), )) e ))). O DADO pode ser + ou – e o SEL.TYPE pode ser uma CONSTANT ou qualquer tipo de VARIABLE. AS escolhas para o operador são + (soma), - (subtrai), * (multiplica) e / (divide).

Figura 12-2 Expressão SET (DETAIL EDIT)

Page 103: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 103 Curso: TP-10

12.4.2 CLEAR Limpa uma seção de qualquer valor GLOBAL/LOCAL, SCALAR/ARRAY Byte, Integer, Double ou Real, zerando-os. Exemplos: CLEAR R007 8 (Limpa 8 endereços “R” consecutivos, R007 à R014)

CLEAR LB000 ALL (Limpa todos os endereços Local Byte reservados)

Limpa o STACK POINTER da pilha para permitir chamada de programas pai e filho com a instrução CALL.. O STACK é limitado a até 10 níveis de alinhamento, portanto limpando os valores dentro Stack os níveis adicionais ficam disponíveis. CUIDADO: Uma vez que o stack estiver limpo e/ou disponível, o controle NÃO IRÁ RETORNAR para qualquer um dos jobs. Exemplos: CLEAR STACK (Este job torna-se disponível o nível 1 de 8. Quando o controle atinge o final

deste job, o ciclo é finalizado no nível 0)

12.5 Funções de Contagem 12.5.1 INC Incrementa o valor armazenado apenas em uma variável GLOBAL/LOCAL, SCALAR/ARRAY Byte, Integer ou Double acrescentando-se um. Exemplos: INC I036 (Incrementa em um o valor armazenado em I036)

INC LB000 (Incrementa em um o valor armazenado no endereço Local Byte)

INC D[LB002] (Incrementa em um o valor armazenado no endereço D, determinado pelo número em LB002)

12.5.2 DEC Decrementa o valor armazenado apenas em uma variável GLOBAL/LOCAL, SCALAR/ARRAY Byte, Integer ou Double subtraindo-se um. Exemplos: DEC I008 (Decrementa em um o valor de I008)

DEC LD001 (Decrementa em um o valor armazenado no endereços Local D)

DEC LI[D001] (Decrementa em um o valor armazenado no endereço de LI determinado pelo número em D001)

Page 104: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 104 Curso: TP-10

12.6 Funções Trigonométricas 12.6.1 SQRT Retorna a raiz quadrada de uma constante positiva ou de um valor positivo armazenado em outro endereço, armazenando o resultado em um endereço desejado de uma variável Real. NOTA: O ALARM 4510 irá ocorrer no caso da execução do comando SQRT de um número negativo em um job. Exemplos: SQRT R008 3 (√3 = 1.732051E+00é armazenado em R008)

SQRT R010 1.2487E-05 (A raiz quadrada de uma constante positiva é armazenada em R010)

SQRT LR005 R[B033] (A raiz quadrada de um valor positive no endereço R, definido por B033, é armazenada em LR005)

12.6.2 SIN Armazena o seno de uma constant emgraus, ou do valor armazenado em outra variável Real apenas no endereço designado. Exemplos: SIN R008 90 (SIN 90° = 1.000000E+00é armazenado em R008)

SIN LR001 -60 (SIN -60° = -8.660254E-01 é armazenado em LR001)

SIN LR009 R012 (Seno dos graus armazenados em R012 é armazenado em LR009)

SIN R[B010] LR[I039] (Seno dos graus no endereço de LR, determinado por I039 armazenado no endereço R determinado por B010)

12.6.3 COS Armazena o co-seno de uma constante em graus, ou do valor armazenado em outra variável Real apenas no endereço designado. Exemplos: COS R008 90 (COS 90° = -2.05103E-10 é armazenado em R008)

COS LR002 -60 (COS -60° = 0.500000E-01 é armazenado em LR002)

COS LR009 R012 (Co-seno dos graus armazenados em R012 é armazenado em LR009)

COS R[B010] LR[I039] (Co-seno dos graus no endereço de LR, determinado por I039 armazenado no endereço R determinado por B010)

12.6.4 ATAN Armazena o arco-tangente de uma constante em graus ou do valor armazenado em outra variável Real apenas no endereço designado.

Page 105: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 105 Curso: TP-10

Exemplos: ATAN R008 1 (ATAN 1 = 45°; 4.500000E+01 é armazenado em R008)

ATAN LR000 -1.73205E+00 (ATAN -√3 = -60°; -6.000000E+01 é armazenado em LR0020

ATAN LR009 R012 (Arco-tangente do valor em R012 é armazenado em LR009)

ATAN R[B010] LR[I039] (Arco-tangente do valor em no endereço de LR, determinado por I039 armazenado no endereço R determinado por B010)

12.7 Funções de Lógica Booleana 12.7.1 AND Armazena o resultado da lógica AND entre uma variável Byte e outra constante positiva ou o valor de outra variável Byte. NOTA: É útil para mascarar o I/O. Para mascarar os inputs 6, 7 e 8 de IG#(1) após o comando DIN B000 IG#(1), utilize AND B000 31 (31=16+8+4+2+1, soma das entradas 1 à 5). Examples: AND B000 7 (Se B000=63, então armazena-se 7 em B000)

0011_1111 [63] AND 0000_0111 [ 7]

0000_0111 [ 7]

AND B000 B001 (Se B000=63, então armazena-se 63 em B000) 0011_1111 [63]

AND 0011_1111 [63] B001 0011_1111 [63]

AND B000 209 (Se B000=63, então armazena-se 17 em B000) 0011_1111 [ 63]

AND 1101_0001 [209] 0001_0001 [ 17]

12.7.2 OR Armazena o resultado da lógica OR entre uma variável Byte e outra constante positiva ou o valor de outra variável Byte. Examples: OR B000 7 (Se B000=63, então armazena-se 7 em B001)

0011_1111 [63] OR 0000_0111 [ 7]

0000_0111 [ 63]

OR B000 B001 (Se B000=63, então armazena-se 63 em B001) 0011_1111 [63]

OR 0011_1111 [63] B002 0011_1111 [63]

OR B000 209 (Se B000=63, então armazena-se 255 em B001) 0011_1111 [ 63]

AND 1101_0001 [209] 0001_0001 [ 17]

Page 106: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 106 Curso: TP-10

12.7.3 XOR Armazena o resultado da lógica XOR (OU EXCLUSIVO ) entre uma variável Byte e outra constante positiva ou o valor de outra variável Byte. Examples: XOR B003 7 (Se B000=63, então armazena-se 56 em B000)

0011_1111 [63] AND 0000_0111 [ 7]

0000_0111 [ 56]

XOR B003 B004 (Se B000=63, então armazena-se 0 em B003) 0011_1111 [63]

AND 0011_1111 [63] B000 0011_1111 [0]

XOR B003 209 (Se B000=63, então armazena-se 238 em B003) 0011_1111 [ 63]

AND 1101_0001 [209] 0001_0001 [ 238]

12.7.4 NOT Armazena o resultado da lógica NOT de uma constante positiva ou o valor de uma variável Byte apenas em endereços do tipo Global/Local Scalar/Array Byte. NOTA: o valor inicial/existente no endereço Byte no qual será armazenado o resultado da lógica é insignificante, pois não é utilizado no processo lógico. Examples: NOT B002 7 (Armazena-se 248 em B002)

NOT 0000_0111 [ 7] 1111_1000 [255-7=248]

NOT B002 B003 (Armazena-se 192 em B002) NOT 0011_1111 [63] B001

1100_0000 [255-63=192]

NOT B002 209 (Armazena-se 17 em B000) NOT 1101_0001 [209]

0010_1110 [ 255-209=46]

Page 107: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 107 Curso: TP-10

13.0 FUNÇÕES DE DESLOCAMENTO 13.1 SFTON e SFTOF Uma Função de deslocamento permite a transferência (translado) de uma ou mais posições programadas ao longo de uma distância orientação especificadas. Ela utiliza variáveis de posição para deslocar pulsos de encoder nas direções X, Y, Z, Rx, Ry e Rz. O valor do translado é a diferença de X, Y ou Z no sistema de coordenadas programado entre a posição programada, a posição tansladada e o deslocamento da ferramenta em gruas de Rx, Ry e Rz. A transferência também pode ser feita utilizando variáveis do tipo PULSE. Ao utilizar a Função de Transferência, um número mínimo de posições do robô são programadas para garantir a execução em vários locais. Isto simplifica e reduz o tempo necessário para programar um job. Esta função é extremamente útil para paletizar, empilhar, carregar/descarregar e outras ações que são executadas repetidas vezes em vários locais. A Função de Deslocamento é ativada programando-se a instrução SFTON (shift on) e especificando-se uma variável de posição em coordenada relativa. Caso nenhum frame de coordenada seja especificado, será considerado como padrão o frame da Base até a execução da linha de programação. NOTA: O dado deslocado na variável de posição pode ser configurado antes da execução do job, através da edição automática, ou durante a execução, utilizando o comando MSHIFT. Quando o SFTON é executado, as posições programadas são trocadas pelos dados indicados na variável de posição especificada. A Função de Deslocamento afetará as posições gravadas dos servomotores e movimentos programados com variáveis de posição. Se uma instrução CALL JOB ou JUMP JOB for executada durante um trecho com SFTON, as posições desses sub-jobs também serão alteradas. A instrução SFTON permanecerá ativada até que seja executada a instrução SFTOF. No exemplo abaixo, os movimentos nas linhas 0013, 0014 e 0015 serão trocados durante a operação no modo Play ou com INTERLOCK + TEST START no modo Teach.

LINE INSTRUCTION 0011 MOVJ VJ=25.00 0012 SFTON P127 UF#(5) 0013 MOVJ P000 VJ=100.00 0014 MOVL V=1250 0015 MOVL V=1250 0016 SFTOF 0017 MOVJ VJ=100.00

Page 108: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 108 Curso: TP-10

Para programar a instrução SFTON, siga os seguintes passos:

1. Selecione o job no modo Teach e posicione o cursor na área com os endereços; 2. Pressione a tecla INFORM LIST e selecione SHIFT; 3. Selecione SFTON; 4. Pressione SELECT com o cursor em SFTON na linha Edit Buffer para acessar a

tela DETAIL EDIT; 5. Posicione o cursor no endereço de P-VAR ROBOT existente, pressione

SELECT, entre com o número desejado; pressione ENTER. NOTA: Quando o número é fornecido da forma SFTON PXXX, o deslocamento será no

frame da Base independente da coordenada programada na variável de Posição.

Se desejar uma coordenada diferente para deslocamento:

1. Com o cursor em SFTON na linha Edit Buffer, pressione SELECT para acessar a tela Detail Edit;

2. Mova o cursor para COORDINATE “UNUSED” e pressione SELECT; 3. Mova o cursor para BF, RF, TF ou UNUSED; pressione SELECT;

ou Selecione UF#( ), forneça o número desejado; pressione ENTER;

4. Pressione ENTER para sair da tela DETAIL EDIT; 5. Pressione ENTER.

Para programar a instrução SFTOF, complete os passos a seguir:

1. Selecione o job no modo Teach com o cursor na área de Endereços; 2. Pressione a tecla INFORM LIST, selecione SHIFT; 3. Selecione SFTOF; 4. Pressione ENTER.

NOTA: O valor atual do dado deslocado na variável de posição pode ser monitorado

quando estiver ativado na tela SHIFT VALUE, acessada através do menu ROBOT.

CUIDADO: Se o cursor for posicionado em um dos passos do movimento, entre as instruções SFTON e SFTOF, e a tecla TEST/START ou FWD for usada, o NX100 irá mover o robô até a posição de comando guiando o TCP para o TOOL No. do passo originalmente gravado.

13.2 MSHIFT A instrução MSFHIFT faz com que o controle calcule a diferença entre duas variáveis de posição e armazene o resultado em uma terceira variável. Isto permite que os valores deslocados em milímetros/graus sejam determinados durante a execução de um job. As duas variáveis de posição usadas para calcular a diferença podem ser configuradas em

Page 109: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 109 Curso: TP-10

PULSE ou XYZ; no entanto, o dado será sempre armazenado na terceira variável com o formato XYZ.No exemplo abaixo, o MSHIFT na linha 0001 irá subtrair o dado em P0001 daquele em P002, armazenando a diferença (resultado) em P003 no formato XYZ. Apenas os passos entre o SFTON na linha 0003 e o SFTOF na linha 0007 serão deslocados e a quantidade calculada será armazenada em P003.

0001 MSHIFT PX003 BF PX001 PX002 0002 MOVJ VJ=25.00 0003 SFTON P003 BF 0004 MOVJ VJ=50.00 0005 MOVL V=4500 0006 MOVL V=66 0007 SFTOF 0008 MOVJ VJ=100.00

Para programar a instrução MSHIFT, siga os passos a seguir:

1. Selecione o job no modo Teach com o cursor posicionado na área de Endereços. 2. Pressione a tecla INFORM LIST key e selecione SHIFT; 3. Selecione MSHIFT; 4. Pressione SELECT para exibir a tela DETAIL EDIT; 5. Mova o cursor até o endereço da linha P-VAR (RESULT); pressione SELECT; 6. Forneça o endereço da variável para o valor deslocado armazenado; pressione

ENTER; 7. Mova o cursor para a linha COORDINATE; pressione SELECT; 8. Mova o cursor para BF, RF ou TF, pressione SELECT, então vá para o passo 9;

Ou SELECT UF#( ), mova o cursor para o número existente, pressione SELECT, forneça o número desejado do User Frame, então pressione ENTER;

9. Mova o cursor para P-VAR (BASE), pressione SELECT, forneça o endereço da variável PX da posição original; pressione ENTER;

10. Mova o cursor para O-VAR (DEST), pressione SELECT, forneça o endereço da variável PX do destino desejado; pressione ENTER;

11. Pressione ENTER para sair da tela DETAIL EDIT; 12. Pressione ENTER.

13.3 PARALLEL SHIFT Um único job pode deslocar dados permanentemente utilizando o PARALLEL SHIFT JOB. O termo “parallel” indica que os pontos são todos alterados nas mesmas direção e distância. Pode-se selecionar um trecho do job; o padrão é selecionar o job inteiro. (Apenas os passos escolhidos no job são deslocados; os pontos em um job CALL não são afetados.). Os passos de movimentos programados com variáveis de posição não serão deslocados e/ou alterados

Page 110: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 110 Curso: TP-10

O deslocamento paralelo pode ser configurado como um dado em pulsos para cada eixo SLURBT do robô, ou como BF, RF, TF ou UF para X, Ye Z em unidades de 0,001 mm. Uma Variável de posição também pode ser deslocada se o parâmetro S2C514 = 1. NOTA: A tela PARALLEL SHIFT JOB permite que um DESTINATION NAME seja fornecido para que o job original não seja alterado; o deslocamento de dados é feito para uma “cópia”. Se um novo DESTINATION NAME não for especificado, o job original será permanentemente reescrito. Para executar o PRALLEL SHIFT JOB, siga os seguintes passos:

1. Selecione UTILITY do JOB CONTENT desejado; 2. Selecione PARALLEL SHIFT JOB;

Figura 13-1 Tela do PARALLEL SHIFT JOB

3. Verifique se o job desejado em SOURCE JOB está correto. Caso contrário, pressione SELECT, selecione o job desejado; pressione SELECT;

4. O número padrão de passos para o programa deslocado é selecionar todas as linhas do job. Caso deseje apenas um trecho do job, forneça o número dos passos do início e do fim posicionando o cursor em STEP SECTION, pressionando SELECT e informando os números; pressione ENTER;

5. Para sobrescrever o job original, pule para o passo 7. Caso contrário, mova o cursor para DESTINATION JOB, pressione SELECT, então forneça um nome novo para o job cancelando o existente e utilize o Character Set, ou altere o nome original do job. Pressione ENTER;

6. Mova o cursor para COORDINATES; pressione ENTER; 7. Mova o cursor para PULSE, BASE, ROBOT ou TOOL; pressione SELECT. Vá

para o passo 8; ou

Page 111: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 111 Curso: TP-10

Mova o cursor para USER, pressione SELECT, então forneça o número do Frame; pressione ENTER;

8. Se souber a quantidade a ser deslocada, mova o cursor para cada SHIFT VALUE individual, pressione SELECT, forneça o dado e pressione ENTER. Vá para o passo 12; ou Para que o NX100 calcule a quantidade deslocada, pode-se ensinar um SOURCE e um DESTINATION BASE POINT no menu TEACH SETTINGS. Mova o cursor para BASE POINT: TEACH SETTING, pressione SELECT;

A tela da Figura 13-2 mostrará dois pontos: BASE POINT (SRC) à esquerda, que deve ser um ponto no job original, e BASE PT (DEST) à direita, sendo o local do mesmo ponto alocado no programa deslocado

Figura 13-2 Pontos de Partida/Destino BASE POINTS (XYZ)

9. Mova o cursor para a BASE PT (SRC), pressione SELECT, mova a ferramenta do robô até o local correto e pressione MODIFY, ENTER. (Sugestão: Antes de iniciar o job Parallel Shift, execute um FWD para um ponto conhecido no job;

10. Mova o cursor para BASE PT (DEST), pressione SELECT, mova a ferramenta do robô para a posição desejada (para o mesmo ponto do job) e pressione MODIFY, ENTER;

11. Selecione EXEC. O SHIFT VALUE é computado e a tela retorna para Parallel Shift Job;

12. Selecione EXEC; 13. Caso nenhum Destination Job esteja marcado, selecione YES na tela

“Overwrite?”. O novo job será exibido como pendente. NOTA: A Função Parallel Shift pode ser programada para atingir pontos ou limites fora da região de trabalho do manipulador robótico. Esses pontos serão exibidos no job como “/OV”. As posições devem ser modificadas. Não execute um job até que este tenha sido testado com a tecla FWD.

Page 112: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 112 Curso: TP-10

13.4 MIRROR SHIFT O MIRROR SHIFT resulta em um job espelhado de outro job, ou seja, todos os pontos serão invertidos em relação à linha central do Robot Frame.

Figura 13-3 Job Espelhado Os eixos do espelho são determinados por S1CxG 065 de acordo com o seguinte padrão de bits:

Valor do Bit 1 0 1 0 0 1 Padrão

Valor Decimal 32 16 8 4 2 1 = 41 para

Eixo T B R U L S S, R & T

O valor padrão de 41 para este parâmetro determina a inversão dos eixos S, R e T no MIRROR SHIFT, enquanto os outros eixos permanecem inalterados. CUIDADO: O MIRROR SHIFT irá inverter a posição dos pontos ensinados mas não garante que a mesma orientação da ferramenta seja mantida. Para executar o Mirror Shift em um job:

1. Em TEACH, a partir de JOB CONTENT, selecione UTILITY; 2. Selecione MIRROR SHIFT;

Page 113: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 113 Curso: TP-10

Figura 13-4 Tela do Mirror Shift

3. Mova o cursor para SOURCE JOB, pressione SELECT; 4. Mova o cursor para o nome do job desejado; 5. Mova o cursor para DESTINATIO JOB; pressione SELECT. O nome do job de

origem aparece na linha Edit Buffer; 6. Renomeie o programa a ser espelhado, ou altere o nome do job original;

pressione ENTER; 7. Mova o cursor para DESTINATIO CONTROL GROUP; pressione SELECT.

Serão exibidos grupos disponíveis de controles como R1, R1 + S1, R1 + R2, etc. Mova o cursor para o grupo desejado; pressione SELECT;

8. Selecione EXEC.

13.5 DYNAMIC EDITING (PAM) Algumas vezes é necessário editar alguns passos em um programa sem entrar no modo Teach. A função PAM (Position Adjustment Modification) permite alterar permanentemente os pontos ensinados e/ou a rotação em qualquer Frame XYZ, mudar a velocidade dos passos ou modificar os níveis de posição associados no modo PLAY ou TEACH. As mudanças são efetivadas na próxima instrução NOP do job selecionado no modo PLAY ou imediatamente no modo TEACH. NOTA: Se o número do passo de cada alteração desejada for desconhecido, ative os endereços para todos os passos selecionando ENABLE STEP NO do menu DISPLAY na tela JOB CONTENT como mostrado na figura abaixo.

Page 114: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 114 Curso: TP-10

Figura 13-5 Enable Step Number Para utilizar a função PAM no modo PLAY, siga os passos a seguir:

1. Com o job sendo executado em PLAY/AUTO, verifique o número do STEP (não o número do LINE) de cada passo que será alterado e qual será o ajuste de posição ou modificação de velocidade/POS LEVEL desejado;

2. Na tela JOB CONTENT, selecione UTILITY; 3. Selecione PAM;

Figura 13-6 Acesso à função PAM

4. Mova o cursor para JOB; pressione SELECT;

Page 115: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 115 Curso: TP-10

Figura 13-7 Tela da Função PAM

5. Mova o cursor para o nome do job desejado; pressione SELECT; 6. Mova o cursor para COORDINATE SYSTEM; pressione SELECT;

NOTA: A quantidade numérica das alterações deve ser em relação à um sistema de coordenadas. As opções do sistema de coordenadas são BASE, ROBOT, TOOL e USER. O sistema de coordenadas padrão fica armazenado em S3C808 (0=Base; 1=Robot; 2=Tool; 3 a 26=User 1-24).

Figura 13-8 Escolha de Coordenadas PAM 7. Mova o cursor para o sistema de coordenadas desejado; pressione SELECT. Se

USER estiver selecionado, entre com o número do User Frame;

Page 116: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 116 Curso: TP-10

Figura 13-9 Entrada de Número do PAM User Frame NOTA: Os dados de alteração não serão aceitos na tela PAM a não ser que o número do STEP tenha sido fornecido.

8. Mova o cursor para uma linha de entrada na coluna STEP; pressione SELECT; 9. Forneça o número do STEP que será editado; pressione ENTER; 10. Repita os passos 8 e 9 para cada passo a ser editado;

NOTA: Pode-se editar até 10 passos de uma vez.

11. Mova o cursor para a coluna de direção, rotação, V (%) ou PL; pressione SELECT;

NOTA: A mudança padrão de posição é de ±10mm e de velocidade ±50% como definido nos parâmetros S3C806 e S3C807. O POS LEVEL pode ser modificado em passos que já possuam um PL definido.

12. Forneça os dados apropriados; pressione ENTER. NOTA: O EDIT permite acesso ao LINE CLEAR (limpa todos os dados daquele passo), LINE COPY (copia todos os dados daquele passo), LINE PASTE (cola todos os dados de outro passo);

Page 117: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 117 Curso: TP-10

Figura 13-10 Menu de Edição PAM

13. Repita os passos 11 e 12 para cada alteração de dado, com máximo de 10 passos;

14. Quando todas as entradas forem fornecidas, selecione COMPLETE; 15. Selecione “YES” na tela “Correct?”.

Figura 13-11: Aceitar Alterações NOTA: No modo PLAY, as alterações permanentes serão efetivadas na próxima vez que o cursor atingir NOP durante a execução; no modo TEACH, as alterações permanentes no job selecionado são executadas imediatamente. Inserir instruções NOP adicionais ao longo do job resulta em uma resposta mais rápida da execução do PAM.

Page 118: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 118 Curso: TP-10

Caso as alterações sejam indesejadas, o UNDO fica habilitado no modo TEACH ou durante uma parada no modo PLAY. O comando UNDO encontra-se no menu EDIT na tela da função PAM, como mostra a figura. Para executar o UNDO em uma execução anterior do PAM, faça o seguinte:

1. Na tela do menu EDIT em PAM, selecione UNDO;

Figura 13-11 Comando Desfazer PAM

2. Selecione YES na caixa de diálogo “Undo?”.

Figura 13-12 Aceitar o UNDO

Page 119: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 119 Curso: TP-10

14.0 RELATIVE JOB O software ou função RELATIVE JOB converte os dados de posição COMMAND do tipo padrão (PULSE) para tipo relativo (XYZ) em coordenadas BF, RF ou UF. A função RELATIVE JOB também converte dados de XYZ para PULSE em operação padrão. Para rapidez na programação off-line, os tipos de dados de User Frame em XYZ facilitam todos dados de movimentação, no formato mais amigável de milímetros/graus em relação ao local definido como zero (ORG). Outras aplicações do RELATIVE JOB consiste em deslocar e/ou alinhar dados no espaço tridimensional em tempo real ou não, além de mudança na posição da ferramenta (TCP) ou utilizar jobs programados em outros robôs. NOTA: O software RELATIVE JOB converte apenas as posições comandadas. Não converte o dado das variáveis de posição.

14.1 Conversão de Relative Job para Edição Off-Line A edição dos dados referentes à posição em pulsos é difícil (ver Figura 14-1). Talvez apenas o primeiro e o último comando do job (C0000 & C0006) sejam de fácil configuração. Se a intenção fosse programar a posição como HOME POSITION, o dado referente poderia ser editado para 0, 0, 0, 0, 0, 0. Todos os outros pontos seriam difíceis de ser calculados como pulsos. Contudo, se o job for convertido para o tipo UF (ver Figura 14-2), todas as posições poderão ser expressas como X, Y, Z, Rx, Ry, Rz, sendo estes os dados da distância/orientação a partir do frame ORG

JOB //NAME TEST //POS ///NPOS 7,0,0,0,0,0 ///TOOL 0 ///POSTYPE PULSE ///PULSE C0000=0,3,-2,0,-1,0 C0001=-3493,45405,-82907,-46521,-12648,81201 C0002=-3275,47936,-84289,-49492,-12068,83122 C0003=7993,60237,-62056,-17950,-21523,57368 C0004=30723,41054,-76587,-8754,-9418,43194 C0005=-3275,47936,-84289,-49492,-12068,83122 C0006=0,3,-2,0,-1,0 //INST ///DATE 2000/09/08 20:00 ///ATTR SC,RW ///GROUP1 RB1 NOP MOVJ C0000 VJ=0.78 MOVJ C0001 VJ=100.00 MOVJ C0002 VJ=25.00 MOVL C0003 V=187.0 MOVL C0004 V=187.0 MOVJ C0005 VJ=50.00 MOVJ C0006 VJ=100.00 END

Figura 14-1 Exemplo de job com posições comandadas em pulso

Page 120: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 120 Curso: TP-10

Para realizar a conversão do RELATIVE JOB, siga os passos a seguir:

1. Na tela do JOB CONTENT desejado, selecione UTILITY; 2. Selecione RELATIVE JOB;

Figura 14-2 Conversão de Job Relativo

3. Com o cursor em SOURCE JOB, pressione SELECT; 4. Mova o cursor para o nome do job desejado; pressione SELECT; 5. O CONVERSION METHOD exibirá “STANDARD ���� RELATIVE”; 6. Mova o cursor para COORDINATE; pressione SELECT; 7. Mova o cursor para USER; pressione SELECT; 8. Entre com a coordenada da posição original em “>User_coord._no.=”; pressione

ENTER; NOTA: Caso não seja selecionado nenhum DESTINATION NAME, o sistema irá

perguntar se o job original pode ser sobrescrito. Para sobrescrever o job original, pule para o passo 10.

9. Mova o cursor para DESTINATION JOB, pressione SELECT e forneça um

nome; pressione ENTER; 10. Mova o cursor para EXEC; pressione SELECT.

As posições comandadas são “convertidos” para uma base XYZ baseada na coordenada selecionada no passo 6.

Page 121: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 121 Curso: TP-10

Figura 14-3 Tela da posição do comando, formato XYZ Os resultados dessa conversão são mostrados no exemplo abaixo:

JOB //NAME TEST-1 //POS ///NPOS 7,0,0,0,0,0 ///USER 6 ///TOOL 0 ///POSTYPE USER ///RECTAN ///RCONF 0,0,0,0,0,0,0,0 C0000=0.005,-0.002,236.883,179.99,-0.21,1.78 C0001=-0.003,0.000,6.449,179.99,-0.21,1.79 C0002=0.000,0.000,0.000,179.99,-0.21,1.79 C0003=112.852,161.006,0.002,179.99,-0.21,1.79 C0004=0.000,0.000,0.000,179.99,-0.21,1.79 C0005=-0.003,0.000,6.449,179.99,-0.21,1.79 C0006=0.005,-0.002,236.883,179.99,-0.21,1.78 //INST ///DATE 2000/09/09 10:00 ///ATTR SC,RW,RJ ////FRAME USER 6 ///GROUP1 RB1 NOP MOVJ C0000 VJ=0.78 MOVJ C0001 VJ=100.00 MOVJ C0002 VJ=25.00 MOVL C0003 V=187.0 MOVL C0004 V=187.0 MOVJ C0005 VJ=50.00 MOVJ C0006 VJ=100.00 END

Figura 14-4 Exemplo de job com posições comandadas em USER RECTAN (XYZ)

Agora que as posições estão em XYZ (mm) e Rx, Ry e Rz (graus), posições comandadas podem ser fornecidos facilmente como a distância exata desejada para as dimensões da parte, assim como o ângulo de orientação.

Page 122: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 122 Curso: TP-10

14.2 Conversão de Relative Job para Deslocamento 3D Para deslocamento 3D, um STANDARD JOB (tipo pulso) uma vez convertido para RELATIVE JOB (tipo UF# XYZ) pode ser realocado tridimensionalmente para qualquer posição e orientação dentro do envelope de trabalho do robô alterando apenas o número do User Frame (plano inclinado) para o TEACH COORDINATE no JOB HEADER. Essa função é extremamente útil para duplicar jobs com múltiplos trabalhos em peças e recriar jobs devido à realocação de peças. O Job Relativo possui capacidade de dinâmica de deslocar em 3-D quando a entrada do sensor da instrução GETS para as variáveis de posição do sistema são usadas para recriar o plano inclinado (MFRAME). Isto permite que o programa possa ser deslocado para uma posição diferente em cada ciclo. NOTA: O RELATIVE JOB pode converter apenas os passos de movimento que foram gravados no job através de pulsos do servomotor. Não é possível converter dados de posições em passos que utilizam variáveis de posições de movimento. Portanto, pode ser vantajoso programar intencionalmente a primeira/última posição no job como MOVJ P000 para que não seja convertida e portanto não seja deslocada cada vez que um User Frame é usado. Para utilizar o Job Relativo para um deslocamento 3D, um User Frame para a posição original e um User Frame para a posição deslocada devem ser ensinadas antes. NOTA: Para resultados deslocados bem acurados ou precisos, a definição das posições deslocadas em ORG, XX e XY deve estar relacionada diretamente com a posição original.

1. Execute a conversão Job Relativo seguindo estes passos: a. Na tela do JOB CONTENT desejado, selecione UTILITY; b. Selecione RELATIVE JOB; c. Mova o cursor para o SOURCE JOB; pressione SELECT; d. Mova o cursor para o nome do job desejado; pressione SELECT. O

CONVERSIONE METHOD estará como “STANDARD�RELATIVE”; e. Mova o cursor para COORDINATE; pressione SELECT; f. Mova o cursor para USER; pressione SELECT; g. Forneça o “>User_coord._no.=” do local original; pressione ENTER;

NOTA: Caso não seja selecionado nenhum DESTINATION NAME, o sistema irá perguntar se o job original pode ser sobrescrito. Para sobrescrever o job original, pule para o passo “i”.

h. Mova o cursor para DESTINATIO JOB, pressione SELECT e forneça um nome; pressione ENTER;

i. Selecione EXEC.

Page 123: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 123 Curso: TP-10

NOTA: Depois de completo, o job estará no User Frame XYZ ao invés do PULSE. Para verificar o tipo de dado, exiba o HEADER do job ou Abra Diretamente um Comando de Posição MOV_.

2. Para deslocar o JOB para o novo USER FRAME, faça o seguinte:

a. Na tela JOB CONTENT, selecione DISPLAY; b. Selecione JOB HEADER; c. Vá para baixo até que TEACH COORD esteja selecionado na tela JOB

HEADER; pressione SELECT; d. Forneça o novo “>User_coord._no.=” para a posição deslocada; pressione

ENTER. O JOB é deslocado para o novo User Frame, mas estando ainda com dados do tipo cartesiano (XYZ). NOTA: O parâmetro S2C332 especifica como operar um job relativo. Um método para converter um job relativo em um padrão (pulse), e um método para calcular a posição desejada (posição pulse) quando um job relativo é operado podem ser especificados como: 0: Passo anterior com prioridade (distância de movimento do eixo B é minimizada) 1: Movimento com prioridade 2:Passo anterior com prioridade (distância de movimento do eixo R é minimizada)

1. Para retornar o JOB deslocado ao tipo PULSE ao invés de deixá-lo no tipo XYZ, realize novamente a conversão do RELATIVE JOB seguindo os seguintes passos: a. Na tela JOB CONTENT, selecione UTILITY; b. Selecione RELATIVE JOB; c. Mova o cursor para o SOURCE JOB; pressione SELECT; d. Mova o cursor para o nome do JOB shifitado pressione SELECT.

Repare que a linha COORDINATE agora contém “PULSE”, e CONVERSION METHOD contém “RELATIVE � STANDARD”;

NOTA: Caso não seja selecionado nenhum DESTINATION NAME, o sistema irá

perguntar se o job original pode ser sobrescrito. Para sobrescrever o job original, pule para o passo “g”.

e. Mova o cursor para DESTINATIO JOB; pressione SELECT; f. Forneça um novo nome para o job; pressione ENTER; g. Mova o cursor para EXEC. Pressione SELECT.

NOTA: Os movimentos que não possuem compatibilidade com o deslocamento serão exibidos nos passos dos jobs como “/OV”. Esses movimentos devem ser modificados.

Page 124: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 124 Curso: TP-10

14.3 Conversão de XYZ Relative Job para Dados de TCP Para executar a conversão para ROBOT, siga os passos abaixo:

1. Na tela JOB CONTENT, selecione UTILITY; 2. Selecione RELATIVE JOB; 3. Mova o cursor para SOURCE JOB; pressione SELECT; 4. Mova o cursor para o nome do job desejado; pressione SELECT;

O CONVERSION METHOD exibirá “STANDATD � RELATIVE”; 5. Mova o cursor para COORDINATE; pressione SELECT; 6. Mova o cursor para ROBOT; pressione SELECT;

NOTA: Caso não seja selecionado um DESTINATION NAME, o sistema irá perguntar se o job original pode ser sobrescrito. Para sobrescrever o job original, pule para o passo 9.

7. Mova o cursor para DESTINATIO JOB; pressione SELECT; 8. Forneça um novo nome para o job; pressione ENTER; 9. Coloque o cursor em EXEC; pressione SELECT (Quando perguntar se deseja

sobrescrever, selecione “YES?”). Aparecerá a mensagem “JOB converting”. Depois de completo, o job estará no tipo XYZ Robot Frame ao invés de PULSE. Repita a conversão do Relative Job para cada Job desejado. NOTA: Para que o(s) Job(s) execute(m) com quaisquer dados existentes em cada TOOL NO. dos passos, o(s) Job(s) deve(m) permanecer no tipo [ROBOT] RELATIVE JOB TYPE.O dado da ferramenta pode ser editado pelo método manual, utilizando o método de calibragem automática TCP ou utilizando o software MotoCAL.

JOB //NAME TEST-2 //POS ///NPOS 8,0,0,0,0,0 ///TOOL 0 ///POSTYPE ROBOT ///RECTAN ///RCONF 0,0,0,0,0,0,0,0 C0000=483.296,42.041,166.901,173.04,-21.76,46.00 C0001=561.725,83.103,-45.851,173.03,-21.76,46.01 C0002=563.921,84.259,-51.803,173.03,-21.76,46.01 C0003=639.225,157.154,-9.965,173.03,-21.76,46.01 C0004=532.564,276.665,-26.218,173.03,-21.76,46.01 C0005=563.921,84.259,-51.803,173.03,-21.76,46.01 C0006=561.725,83.103,-45.851,173.03,-21.76,46.01 C0007=483.296,42.041,166.901,173.04,-21.76,46.00 //INST ///DATE 2000/09/09 20:00 ///ATTR SC,RW,RJ ////FRAME ROBOT ///GROUP1 RB1 NOP MOVJ C0000 VJ=25.00 MOVJ C0001 VJ=100.00

Page 125: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 125 Curso: TP-10

MOVL C0002 V=187.0 MOVL C0003 V=187.0 MOVL C0004 V=187.0 MOVL C0005 V=187.0 MOVJ C0006 VJ=100.00 MOVJ C0007 VJ=25.00 END

Figura 14-5 Exemplo de Job com Comando de Posição ROBOT RECTAN (XYZ)

Page 126: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 126 Curso: TP-10

15.0 COMPENSAÇÃO DA FERRAMENTA (PMT) A opção de Modificação da Posição da Ferramenta (PMT) pode ser usado para alterar os dados de posição COMMAND de uma maneira fácil de eficaz, compensando a deformidade caso uma ferramenta seja dobrada ou perca seu alinhamento depois de uma colisão. Pode ser usado também para substituir uma ferramenta antiga por outra ou para uma ferramenta completamente diferente. O PMT reescreve todos os JOBs depois das alterações. NOTA: Sempre salve uma cópia de todos os jobs e dados antes de executar a função PMT.

15.1 Salvando Novos Dados de TCP Na função PMT, os dados antigos são chamados ORIGINAL TOOL, e os novos dados ORIENTATION TOOL. Qualquer um dos 24 arquivos da ferramenta, TOOL NO. 00-23 pode ser armazenado como a ferramenta original ou a ferramenta de orientação. Configure o parâmetro S2C333 = 1 para ter acesso a todos os 24 dados. Antes que a função PMT possa ser executada, é necessário fornecer manualmente o dado ORIENTATION, ou podem-se calcular automaticamente os valores de X, Y e Z (A opção MotoCAL também pode ser utilizada). A obtenção precisa de dados utilizando a opção PTM depende fortemente na precisão dos dados TCP para a nova ferramenta. Os dados ORIGINAL e ORIENTATION devem ser salvos em um local da memória exclusivo para o PMT (veja o job abaixo) ou carregados de um disco removível. Para restaurar os dados ORIGINAL e ORIENTATION para o PMT, siga os seguintes passos:

1. Na tela JOB CONTENT, selecione UTILITY; 2. Selecione PMT. É mostrada a tela da Figura 15-1;

Figura 15-1 Tela do PMT Tool No. BACKUP

Page 127: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 127 Curso: TP-10

3. Mova o cursor para o TOOL No. Desejado; pressione SELECT; 4. Responda “YES” à questão “Backkp Data?” caso as dimensões da ferramenta

desde a deformação não tenham sido registradas. Caso contrário, responda “NO”. As dimensões para ORINETATION TOOL serão iguais às de ORIGINAL TOOL como mostra a Figura 15-2. Vá para o passo 5 para configurar os dados desejados;

Figura 15-2 Tela do PMT Tool Data NOTA: O dado salvo no espaço de PMT fica armazenado até que o controle seja desligado. Não desligue o NX100 até que a função PMT seja finalizada.

5. Preencha cada dimensão da ORIENTAION TOOL selecionando com o cursor, pressionando SELECT e entrando com os dados a partir do teclado; pressione ENTER;

6. Mova o cursor para EXEC; pressione SELECT.

15.2 Compensando Dados com PMT Para completar a função PMT, siga os seguintes passos (veja a Figura 15-3):

Page 128: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 128 Curso: TP-10

Figura 15-3 Tela da Conversão do PMT

1. Na tela PMT mostrada acima, mova o cursor para CONVERSION MODE; pressione SELECT;

2. Mova o cursor para uma das seguintes opções; pressione SELECT: SINGLE: Selecione para executar o PMT em um único job; ou RELATED: Selecione para executar o PMT em um job mestre e em todos os sub-jobs relacionados; ou ALL: Selecione para executar o PMT em todos os jobs do NX100 (Selecionando ALL, pule para o passo 4);

3. Mova o cursor para JOB NAME, pressione SELECT, mova o cursor para o nome do job que será convertido; pressione SELECT;

4. Mova o cursor para EXEC; pressione SELECT para reescrever o(s) job(s) selecionado(s) com a função PMT.

NOTA: Depois da conversão, confirme o caminho utilizando as teclas FWD e BWD. NOTA: Todos os passos que estiverem fora do volume de trabalho do robô serão mostrados como “/OV” ao invés do tipo de movimento. O “/OV” desaparecera depois que a posição for corrigida. CUIDADO: O Numero da Ferramenta indicado agora possui o Dado da Ferramenta “novo”. Quaisquer jobs programados com esta ferramenta mas não alterados pelo PMT estarão na Posição de Comando original, mas utilizarão o novo dado da Ferramenta.

Page 129: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 129 Curso: TP-10

16.0 MÚLTIPLAS FERRAMENTAS A opção Multiple Tool Path (TCPON/TCPOF) permite que o caminho do robô seja programado através de uma ferramenta, mas executado com a ferramenta original ou com até 23 outras ferramentas. Isso elimina a necessidade de ensinar um caminho idêntico para cada ferramenta. Todos os TCPs necessários devem ser definidos manual ou automaticamente. (Para ativar a ferramenta para Tool No. 00-23, configure o parâmetro S2C 333 como 1) Exemplo:

0005 TCPON TL#(18) 0006 MOVL V=276 0007 MOVL V=350 0008 MOVL V=276 0009 TCPOF

A parte do job entre as instruções acima será executada utilizando as dimensões de ferramenta para o Tool No. 18. No modo TEACH, executar o INTERLOCK/TEST START a partir do NOP executará as instruções TCPON/TCPOF. CUIDADO: Se o cursor for posicionado em um passo entre as instruções TCPON e TCPOF e o botão TEST/START ou FWD for acionado, o NX100 irá mover o robô até a posição comandada do passo original!

16.1 Programando com TCPON Para programar um job ou uma parte de um job de modo a usar uma ferramenta diferente, siga os passos a seguir:

1. No modo TEACH com o cursor na área de Endereços, pressione INFORM LIST;

2. Selecione MOTION; 3. Selecione TCPON;

NOTA: Pode-se acessar CONSTANT ou VARIABLE para TL#( ) na tela DETAIL EDIT,

se necessário, pressionando SELECT, ou continue com os passos 4 e 5 para utilizar a edição geral na linha Edit Buffer.

4. Mova o cursor para TL#( ) na linha Edit Buffer; pressione SELECT; 5. Forneça o “>Tool_file_no.=”; pressione ENTER; 6. Pressione ENTER.

Page 130: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 130 Curso: TP-10

16.2 Programando com TCPOF Para programar um job a fim de retorná-lo à ferramenta originalmente programada, siga os seguintes passos:

1. No modo TEACH com o cursor na área dos Endereços; pressione INFORM LIST;

2. Selecione MOTION; 3. Selecione TCPOF; 4. Pressione ENTER.

Page 131: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 131 Curso: TP-10

17.0 INTERRUPÇÃO DE JOB A opção Job de Interrupção executa um job quando um sinal de interrupção é enviado de algum equipamento periférico. Isso suspende o job atualmente ativo ou outros sistemas e executa o job solicitado pelo sinal. Quando o job estiver completo, o controle retorna ao programa suspenso. CUIDADO: O job suspenso será resumido a partir da instrução na qual o cursor estava antes da interrupção. É necessário preparar uma tabela de interrupções com 8 níveis de prioridade (0-7). Os comandos Enable Interrupt (EI) e Disable Interrupt (DI) são utilizados para designar em qual porção do job a interrupção pode ocorrer.

Exemplo:

LINHA INSTRUÇÃO 0000 NOP 0001 EI LEVEL= 8 0002 MOVJ VJ=25.00 0003 MOVJ VJ=100.00 0004 MOVJ VJ=12.50 0005 EI LEVEL= 3 0006 CALL JOB:PART-A 0007 EI LEVEL= 5 0008 CALL JOB:PART-B • • • 0024 MOVJ VJ=100.00 0025 DI 0026 END

NOTA: Utilizar apenas os comandos EI e DI sem um LEVEL resulta em habilitar ou

desabilitar inteiramente a tabela de interrupções.

17.1 Configurando a Tabela de INTERRUPÇÃO JOB Para configurar a tabela do INTERRUPT JOB, faça o seguinte:

1. A partir do MAIN MENU, selecione JOB; 2. Selecione INTERRUPT JOB;

Page 132: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 132 Curso: TP-10

Figura 17-1 Tabela do INTERRUPT JOB

3. Mova o cursor para o PRIORITY LEVEL desejado em SIGNAL; pressione SELECT;

4. Entre com o número desejado pelo teclado; pressione ENTER; 5. Mova o cursor para JOB NAME; pressione SELECT; 6. Mova o cursor para o nome do job desejado; pressione SELECT. Repita os passos 3-6 para cada nível desejado.

NOTA: Para limpar os dados, mova o cursor para o nível desejado na coluna SINGAL e pressione SELECT, então digite “0” e pressione ENTER. A tela “Clear data?” aparecerá. Mova o cursor para YES e pressione SELECT. NOTA: A tecla Page mostra as tabelas EI 2 e 3destinadas à R2 e R3 ou job´s atuais, se disponíveis. NOTA: Durante a execução PLAY de um job, a coluna PERMIT na tabela JOB INTERRUPT mostra se cada job de interrupção está habilitado ou desabilitado. A coluna EXEC mostra qual job de interrupção está em execução quando marcado como ON. O INTERRUPT JOB funciona apenas na subida do sinal (OFF para ON) da entrada desejada durante o PERMIT.

17.2 Programando EI e DI Para programar as Instruções de Controle EI & DI, siga os seguintes passos:

1. No modo Teach, coloque o job na tela com o cursor, na área de Endereços, na linha acima da parte do job que terá as interrupções habilitadas;

2. Pressione INFORM LIST, selecione CONTROL; 3. Selecione EI;

Page 133: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 133 Curso: TP-10

NOTA: Um simples EI irá habilitar todos os níveis de interrupções. Siga para o passo 10 para usar a instrução mostrada. Caso sejam necessários níveis específicos de prioridade, um marcador numérico deve ser anexado baseado nas teclas e na tabela abaixo.

4. Pressione a tecla SELECT para acessar o DETAIL EDIT; 5. Com o cursor em INT LEVEL UNUSED; pressione SELECT; 6. Mova o cursor para LEVEL=; pressione SELECT; 7. Mova o cursor para o dado padrão (0) ou existente; pressione SELECT; 8. Forneça o valor desejado para “>Interrupt_level=” (veja tabela abaixo);

pressione ENTER;

Nível 7 6 5 4 3 2 1 0

Valor Binário

128 64 32 16 8 4 2 1

Exemplo EI: Para habilitar os níveis 0, 1 & 4 entre com o

valor total 1 + 2 + 16 = 19

Exemplo DI: Para desabilitar os níveis 0 & 4 entre com o valor total 1 + 16 = 17

9. Pressione ENTER para sair do DETAIL EDIT; 10. Pressione INSERT, ENTER para aceitar a instrução EI no job.

Repita o job para desabilitar os níveis de interrupção selecionando DI no passo 3. Uma simples instrução DI desabilita toda a tabela.

Page 134: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 134 Curso: TP-10

18.0 BUSCA RÁPIDA (SRCH RIN#) A função Busca Rápida utiliza Entradas Diretas ao invés de Entradas Universais, as quais necessitam de dois scans no ladder editor antes de reconhecer o sinal. Outra vantagem da função SRCH é a de que ela permite que o robô continue buscando linearmente além da posição de destino por uma distância designada em milímetros. Um tag de tempo designado atrasa o movimento em direção à posição de busca prevenindo o reconhecimento do RIN até que o tempo acabe. O tag SRCH pode ser usado em um Servo Command Position MOVL, em um MOVL para um local de uma Position Variable, assim como em uma instrução IMOV.

18.1 Programando MOVL com SRCH

Exemplos de programa com o tag SRCH em um Comando de Posição MOVL: MOVL V=138 SRCH RIN#(3) = ON T=1.25; MOVL V=558 SRCH RIN#(1) = OFF DIS=50.0; MOVL V=276 SRCH RIN#(B039) = ON T=1.00 DIS=30.8; MOVL V=2250 SRCH RIN#(I015) = LB001 T=0.5 0.

Para editar (DETAIL EDIT) o tag SRCH em uma instrução MOVL, siga os seguintes passos:

1. Em TEACH, na área de endereços, utilize a tecla MOTION TYPE para selecione MOVL; ou mova o cursor para o MOVL desejado na área de instruções;

2. Pressione SELECT (uma vez na área de endereços e duas vezes na área de instruções) para acessar a tela DETAIL EDIT;

3. Mova o cursor para a seleção UNUSED no tag UNTIL; pressione SELECT; 4. Mova o cursor para SRCH; pressione SEELCT;

Figura 18-1 Detail Edit MOV L

Page 135: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 135 Curso: TP-10

5. Mova o cursor para o dado existente em RIN#( ); pressione SELECT; 6. Forneça o “Direct_input_no.=”; pressione ENTER;

Figura 18-2 SRCH Detail Edit

7. Mova o cursor para INPUT STATUS e use SELECT para setar ON ou OFF; 8. Para utilizar um timer de atraso opcional, mova o cursor para TIME, pressione

SELECT, mova o cursor para T=, pressione SELECT, mova o cursor para o dado padrão/existente, pressione SELECT, entre com o valor desejado no teclado (0,01 à 655,35 segundos); pressione ENTER;

NOTA: O atraso é executado no início do MOVL. Isto serve para certificar que a

posição anterior foi alcançada, resultando em um caminho retilíneo preciso para a busca.

9. Para configurar a distância retilínea além da posição programada, mova o cursor

para DIS, pressione SELECT, entre com o valor da “>Distance=” (0,1 à 6.553,5 mm) via teclado; pressione ENTER;

NOTA: O valor DIS= deve ser configurado para a maior distância na qual o objeto possa estar localizado além do alvo do passo do movimento.

10. Pressione ENTER para Said do DETAIL EDIT; 11. Verifique/edite quaisquer outros tags para a atual instrução MOVL; 12. Pressione ENTER quando necessário para aceitar as mudanças e retornar para a

tela JOB CONTENT; 13. Insira/Entre a instrução no job.

NOTA: O código de retorno da função SRCH para o Rapid Input é o endereço da System Variable $B002.

Page 136: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 136 Curso: TP-10

18.2 Programando MOVL Pxxx com SRCH Exemplos de programa do SRCH com MOVL para uma POSITION VARIABLE:

MOVL P000 V=276 SRCH RIN#(LB001)=ON T=I[B027] DIS=D[LB000]; MOVL LP002 V=138 SRCH RIN#(3)=B025 T=LI003; MOVL P[B002] V=558 SRCH RIN#(I001)=OFF DIS=75.3; MOVL LP[I033] V=2250 SRCH RIN#(2)=LB001 T=0.75 DIS=LD005.

Para editar (DETAIL EDIT) o tag SRCH em uma instrução MOVL, siga os seguintes passos:

1. Em TEACH, edite o modo com o cursor na área de endereços para um novo passo;

ou mova o cursor para o MOVL PXXX desejado na área de instruções e pule para o passo 5.

2. Pressione a tecla INFORM LIST; 3. Selecione MOTION; 4. Selecione MOVL; 5. Pressione SELECT para acessar a tela DETAIL EDIT, mova o cursor para a

seleção UNUSED no tag UNTIL; pressione SELECT; 6. Mova o cursor para SRCH; pressione SELECT; 7. Mova o cursor para o dígito de RIN#; pressione SELECT; 8. Forneça o número de entrada rápida (RIN#1-4); pressione ENTER; 9. Mova o cursor para INPUT STATUS e utilize SELECT para setar ON ou OFF; 10. Para utilizar um timer de atraso opcional, mova o cursor para TIME, pressione

SELECT, entre com o valor desejado no teclado (0,01 à 655,35 segundos); pressione ENTER;

11. Para continuar a busca linear além da posição programada, mova o cursor para DIS; pressione SELECT, entre com o valor em mm via teclado; pressione ENTER;

12. Verifique/edite quaisquer outros tags que desejar para esta instrução de movimento;

13. Pressione ENTER quando necessário para aceitar as mudanças e retornar para a tela JOB CONTENT;

14. Insira/Entre a instrução do movimento no job.

18.3 Programando IMOV Pxxx com SRCH

Exemplos de programa com o tag SRCH em uma instrução IMOV: IMOVL P127 V=22.0 UF#(20) SRCH RIN#(1)=ON T=0.50 DIS=7.5; IMOVL LP002 TF SRCH RIN#(3)=ON;

Para editar (DETAIL EDIT) o tag SRCH em uma instrução IMOV, siga os seguintes passos:

Page 137: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 137 Curso: TP-10

1. Em TEACH, edite o modo com o cursor na área de endereços para um novo passo;

ou mova o cursor para o IMOV PXXX desejado na área de instruções e pule para o passo 5;

2. Pressione a tecla INFORM LIST; 3. Selecione MOTION; 4. Selecione IMOV; 5. Pressione SELECT para acessar a tela DETAIL EDIT. Mova o cursor para a

seleção UNUSED no tag UNTIL; pressione SELECT; 6. Mova o cursor para SRCH; pressione SELECT; 7. Mova o cursor para o dígito de RIN#; pressione SELECT; 8. Forneça o número de entrada rápida (RIN#1-4); pressione ENTER; 9. Mova o cursor para INPUT STATUS e utilize SELECT para setar ON ou OFF. 10. Para utilizar um timer de atraso opcional, mova o cursor para TIME, pressione

SELECT, entre com o valor desejado no teclado (0,01 à 655,35 segundos); pressione ENTER;

11. Para continuar a busca linear além da posição programada, mova o cursor para DIS; pressione SELECT, entre com o valor em mm via teclado; pressione ENTER;

12. A partir da linha Edit Buffer, mova o cursor para o número da variável-P; pressione SELECT;

13. Com o teclado, forneça o endereço correto para a referência incremental; pressione SELECT;

14. Verifique/edite quaisquer outros tags que desejar para este movimento incremental;

15. Pressione ENTER quando necessário para aceitar as mudanças e retornar para a tela JOB CONTENT;

16. Insira/Entre a instrução do movimento IMOV no job.

Page 138: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 138 Curso: TP-10

19.0 JOB CONCORRENTE ou SIMULTÂNEO

19.1 Sistema Concorrente ou Simultâneo Em um sistema normal, apenas um único job pode ser executado por vez; a instrução CALL suspende o job pai enquanto o job filho é executada como uma rotina. Contudo, com a opção CONCURRENT JOB vários jobs são executados ao mesmo tempo. As sub-rotinas necessárias são iniciadas em paralelo de dentro da tarefa mestre. Esta função é usada freqüentemente quando vários grupos (robôs, estações e/ou eixos de base) são controlados por um único controle. Qualquer sistema com dois robôs e um eixo externo deve possuir esta opção para que os robôs sejam controlados simultaneamente. NOTA: O NX 100 é capaz de executar 8 jobs paralelamente. Com a opção CONCURRENT JOB, a tela CREATE NEW JOB fica com quatro partes:

• Nome do Job (até 8 caracteres); • Comentários (até 32 caracteres); • Grupo (NO GROUP AXES, R1, R2, R1+R2, R1+S1, etc.); • Tipo de Job (CONCURRENT ou ROBOT).

A seleção do Tipo de Job, sendo ROBOT ou CONCURRENT, indica o que pode ser incluído no job. Para controlar um Grupo de Eixos, deve-se escolher o tipo ROBOT. Um job CONCURRENT não pode controlar nenhum grupo de eixos; apenas instruções que não envolvam movimentos podem ser colocadas em um job do tipo CONCURRENT. Portanto, o Grupo para todos os jobs CONCURRENT deve ser NO GROUP AXES.

19.2 Estrutura do JOB 19.2.1 PSTART (Start Paralelo) Como é necessário executar vários jobs simultaneamente, a instrução CALL não é apropriada. Ao invés dela, a instrução PSTART (Start Paralelo) de CONTROL é utilizada para iniciar e executar jobs em paralelo com a “Tarefa Mestra” em execução. A instrução PSTART deve incluir o número da sub-rotina (SUB 1, SUB 2, etc.). Além disso, deve-se especificar um nome para o job, ou o controle irá nomear a partir de um nome registrado para cada SUB job. Se não quisermos que a Tarefa Mestra seja continuada até que SUB 1 e SUB 2 estejam completas, é necessário uma instrução PWAIT SUB1 e/ou PWAIT SUB2.

Page 139: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 139 Curso: TP-10

Figura 19-1 Job Mestre com PSTART e PWAIT

19.2.2 Programando com PSTART Para programar a instrução PSTART, siga os passos a seguir:

1. Com o job aberto e com o cursor na área de Endereços, abra o Inform List; 2. Selecione CONTROL; 3. Selecione PSTART; 4. Com o cursor na instrução PSTART na Linha Edit Buffer, pressione SELECT

para acessar a tela Detail Edit; 5. Mova o cursor para a linha Target Job e selecione “JOB:”, então selecione o

nome do job desejado; 6. Na tela Detail Edit, selecione a “Sub Task” apropriada; 7. Pressione ENTER para retornar à tela do job com a informação no Edit Buffer; 8. Pressione ENTER.

NOTA: Programar com o “TARGET JOB UNUSED”exige que seja fornecido um nome

para o job mestre na seção “CTRL MASTER”. 19.2.3 PWAIT (Parallel Wait) A instrução PWAIT (espera paralela) está relacionada com a instrução PSTART como ilustrado na Figura 19-1. Deve possuir o número da tarefa correspondente, SUB1 ou SUB2, mas não é necessário o nome do job. A instrução PWAIT faz com que a Tarefa Mestra aguarde até que a sub-rotina designada esteja completa antes de resumir sua execução. Sem o PWAIT, a Tarefa Mestra iria continuar processando suas instruções independente da sub-rotina estar ou não terminada. Isto significa que em AUTO CYCLE, a Tarefa Mestra poderia reiniciar antes que as sub-rotinas se completem. Portanto, caso não tenha sido usado

Page 140: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 140 Curso: TP-10

anteriormente na tarefa mestra, deve haver ao menos um PWAIT para cada sub-tarefa antes do comando END na Tarefa Mestra. 19.2.4 Programando com PWAIT Para programar a instrução PWAIT, siga os seguintes passos:

1. Com o job aberto e o cursor na área de endereços, abra o Inform List; 2. Selecione CONTROL; 3. Selecione PWAIT; 4. Com o cursor na instrução PWAIT na Linha Edit Buffer, pressione SELECT; 5. Na tela Detail Edit, selecione a “Sub Task” apropriada; 6. Pressione ENTER para retornar à tela do job com a informação no Input Buffer; 7. Pressione ENTER.

19.2.5 Modo Vários Jobs x Modo Único Job O modo Multi-Job/Single Job são para o modo de operação TEACH. Enquanto uma Tarefa Mestra é executada utilizando o PSTART, a propriedade padrão Mutli-job irá permitir que todos os jobs executem ao mesmo tempo quando a tecla FWD é pressionada ou quando é usada a operação TEST START. NOTA:Os vários jobs podem ser visualizados utilizando a tecla PAGE. Quando desejado (para edição, verificação de caminho etc.) um único job pode ser avançado ou Test Started configurando o sistema para o modo Single Job. Isto pode ser feito utilizando as Teaching Conditions em SETUP, ou pressionando e segurando as teclas SHIFT e “4”. Este método de atalho irá resultar nas mensagens “Single Job Mode Available” ou “Multi Job Mode Availabel”. No Single Job Mode, apenas o job visualizado é executado. No Multi Job Mode, todos os jobs ativos serão executados. NOTA: Alguns sistemas não permitem o uso de teclas específicas. 19.2.6 TSYNC (Sincronização de Tarefa) Quando as sub-rotinas executam tarefas não sincronizadas (R1 solda a parte A enquanto R2 solda a parte B), pode ser necessário sincronizar essas tarefas em alguma parte dos programas. Como os jobs são diferentes, o tempo deles pode ter que ser sincronizado para permitir o movimento em conjunto ou sincronisado. A utilização da instrução Task Synchronization (TSYNC) é apropriada. Esta instrução é programada em ambas as sub-rotinas. Como existem 8 disponíveis, cada uma é identificada com um número (1-8). O programa que chegar na instrução TSYNC primeiro irá esperar até que o outro job chegue na mesma instrução TSYNC. Então, o controle sincroniza as tarefas. Essas instruções estão disponíveis apenas em job ROBOTS. NOTA: Pode-se sincronizar mais do que dois jobs do tipo ROBOT com o TSYNC. Isto requer um tag “SYNCHRO NUM.” Anexado à instrução TSYNC. Este tag é anexado na

Page 141: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 141 Curso: TP-10

tela Detail Edit e indica quantas instruções TSYNCX serão procuradas dentro dos programas. 19.2.7 Programando com TSYNC Para programar a instrução TSYNC, siga os passos a seguir:

1. Com o job aberto e o cursor na área de Endereços, abra a Inform List. 2. Selecione CONTROL; 3. Selecione TSYNC; 4. Com o cursor na instrução TSYNC na Linha Edit Buffer, pressione SELECT; 5. Na tela DETAIL EDIT, selecione o número do TSYNC; 6. Pressione ENTER para retornar para a tela do job com a informação na Linha

Edit Buffer; 7. Pressione ENTER.

Figura 19-2 Fluxo TSYNC

19.2.8 TSYNC Quando ambos os jobs estão “coordenados” (ou seja, a linha Edit buffer possui as declarações de um Grupo Mestre e de um Sub-Grupo), um tag SYNC deve ser adicionado ao final das instruções PSTART como mostra a Figura 19-3.

Page 142: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 142 Curso: TP-10

Figura 19-3 Instrução do Tag Instruction Este tag SYNC faz com que o controle sincronize o job com o tag com o job sem o tag. Todas as velocidades do job SYNC tornam-se irrelevantes. Cada movimento é sincronizado nos jobs paralelos. Se quaisquer movimentos forem inconsistentes quanto à sua duração, quando dois jobs são comparados lado a lado, as velocidades não serão mais as mesmas. Isto ocorre pois o job sincronizado é executado no TRT (Traverse Run Time) do job controlador. Deve-se tomar cuidado ao modificar os pontos. A não inclusão do tag SYNC resultará em um “Parallel Start” Alarm. 19.2.9 Uso do CALL com JOB SIMULTÂNEO Existem restrições quanto ao uso da instrução CALL em sub-jobs dentro de um CONCURRENT JOB. Os jobs chamados podem ser do tipo CONCURRENT ou do tipo ROBOT com Grupos de Controle diferentes. A regra geral é que o sub-job seja do mesmo tipo do Job Mestre (ROBOT ou CONCURRENT). Se o sub-job for do tipo ROBOT, então seu Grupo de Controle deve ser o mesmo ou deve conter apenas componentes de Grupo do Job Mestre (ou seja R1+S1 pode chamar um job R1+S1, um job R1, um job S1 ou um job sem grupo). Veja as regras a seguir que indicam todos os usos permitidos da instrução CALL. Regras para usar o CALL:

• Um job do tipo ROBOT pode chamar qualquer outro job do tipo ROBOT do mesmo grupo de eixos;

• Um job do tipo ROBOT com um grupo de eixos pode chamar um job do tipo ROBOT do sem um grupo de eixos;

• Um job do tipo ROBOT sem um grupo de eixos pode chamar um job do tipo ROBOT do com um grupo de eixos;

Page 143: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 143 Curso: TP-10

• Um job do tipo CONCURRENT pode chamar qualquer outro job do tipo CONCURRENT;

• Um job do tipo ROBOT não pode chamar um job do tipo CONCURRENT, independente do grupo de eixos;

• Um job do tipo CONCURRENT não pode chamar um job do tipo ROBOT, independente do grupo de eixos.

NOTA: Se um job do tipo ROBOT com um grupo de eixos R1 chamar um job do tipo ROBOT sem um grupo de eixos, este não pode chamar um job do tipo ROBOT com um grupo de eixos R2.

Tabela 19-1: Uso da Instrução CALL

TIPO DO JOB MESTRE

CONTROLE DE GRUPOS DE

EIXOS CALL TIPO DO SUB-JOB

GRUPO DE EIXOS

POSSIBILIDADE

Robot R1 CALL Robot R1 Sim Robot R1 CALL Robot Nenhum Sim Robot Nenhum CALL Robot R1 Sim Robot R1 N/A Robot R2 Não Robot Qualquer N/A Concurrent Nenhum Não

Concurrent N/A CALL Concurrent Nenhum Sim Concurrent N/A N/A Robot Qualquer Não

19.2.10 Cuidados na Operação A edição dos comandos de posições em sub tarefas é feito utilizando a mesma técnica de qualquer outro tipo de job, mas alguns cuidados devem ser tomados durante operação no modo TEACH para realizar uma verificação do caminho com FWD ou TEST START:

• Se o job PSTART do tipo ROBOT for acessado de dentro da Tarefa Mestra usando a tecla Direct Open, deve-se ter cuidado ao reiniciar a partir da Tarefa Mestra. Se o cursor for deixado acidentalmente no meio do job PSTART, realizar um Test Start ou pressionar START no modo Play pode fazer com que a sub-rotina seja iniciada onde o cursor foi deixado. Isto pode causar uma pane;

• Não use Interlock + FWD na instrução PSTART para “executar” o job PSTART na tela. Na operação Multi-job essas teclas executam uma linha de cada job simultaneamente! Para visualizar as sub-rotinas, use a tecla Page. Novamente, tenha cuidado: deixar o cursor no meio da sub-rotina pode resultar na execução fora de sequência de uma operação;

• Uma vez selecionado o job do tipo ROBOT desejado na tela, deve-se ter cuidado caso este possua apenas Grupos R1 ou R2. Se for utilizado FWD para atingir o ponto original, a informação do posicionador para S1 não está inclusa. Portanto, o local atual do posicionador pode não ser preciso.

Page 144: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 144 Curso: TP-10

NOTA: Apenas o pessoal treinado apropriadamente pode operar qualquer célula do robô, mas graças à complexidade dos sistemas com mutli-tarefas, deve-se ter extremo cuidado quando reiniciar a operação depois da edição.

Page 145: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 145 Curso: TP-10

20.0 CONTROLE DE MOVIMENTOS COORDENADOS

A opção Coordinated Motion permite ao robô seguir o movimento da parte. A parte pode estar em uma estação de eixos externa como o posicionador que gira, ou pode estar em outro robô que também está se movendo. Normalmente, o S1 ou o R2 que contém a parte é o “mestre”, e o R1 que coordena o aplicativo com o movimento da parte é a “escrava”.

20.1 Programa com Movimento Coordenado Para Coordinated Motion, é necessário controle absoluto da velocidade combinada de percurso dos dispositivos controlados (R1 + R2, R1 + S1, etc.). O controle coordenado é designado pelo SMOV_ mostrado abaixo nas linhas 0005 e 0007. O “S” indica “slave” (“escravo”).

L: INST: 0003 MOVJ VJ=25.0 0004 + MOVJ VJ=50.0 0005 SMOVL V=66 0006 + MOVJ 0007 SMOVL V=66 0008 + MOVJ

O robô escravo normalmente participa da aplicação com ferramenta o outro dispositivo, R1 ou S1, contém a parte ou segura ela enquanto o escravo trabalha. Portanto, apenas o tag de velocidade do escravo é especificado em um passo do movimento coordenado. Isto representa a taxa de percurso desejada apropriada para uma aplicação complexa e relativa O controle NX move os dispositivos à velocidades necessárias para manter a reação durante o percurso. Os tipos de movimento escravo são SMOVL (Linear), SMOVC (Circular) e SMOVS (Spline ou trajetória cúbica). O tipo de movimento do mestre pode ser apenas MOVJ se for um eixo externo. Se o mestre for um robô, o tipo de movimento normalmente será MOVJ mesmo que os outros tipos de movimento estejam disponíveis. O movimento coordenado cominado é o requerido, portanto a indicação escrava do tipo de movimento passa a ser o fator determinante. Para usar o Coordinated Motion para um grupo de controle R1 + S1, S1 pode ser selecionado como o Master Control Device. Em um grupo R1+S1:S1, o robô é identificado como escravo para o posicionador. No exemplo acima, o robô move-se por um caminho linear em relação ao posicionador, com uma velocidade de 66 cm/min em relação à parte. Para onde quer que o posicionador se mova, o robô deve seguir e manter a relação.

Page 146: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 146 Curso: TP-10

Para acessar o Coordinated Motion o job deve ser nomeado como um Robot Job e o Group Set como R1+S1 com o posicionador sendo o Master (R1+S1:S1). Esta indicação permite que o sistema saiba que combinação está sendo controlada. Uma vez definido, o

Coordinated Motion é selecionado pressionando a tecla (também marcada com “SMOV”) no modo Teach.

Selecionando a tecla (SMOV) altera a linha Edit Buffer de:

MOVJ VJ=25.0 + MOVJ VJ=50.0

para:

SMOVL V=66 + MOVJ

Para desabilitar essa função, pressione novamente a tecla . Os Motion Types permitidos para o ROBOT na situação não coordenada continuam sendo MOVJ (Junta), MOVL (Linear), MOVC (Circular) e MOVS (Spline ou trajetória cúbica). Lembre-se que o movimento será um movimento TCP verdadeiro. Os Motion Types permitidos para os movimentos escravos coordenados são apenas SMOVL (Linear), SMOVC (Circular) e SMOVS (Spline ou trajetória cúbica), sendo eles relativos à superfície da parte (mestre). Por exemplo, o SMOVL (movimento Linear) será a verdadeira interpolação linear fixada, mas não é necessariamente um caminho verdadeiramente linear em pontos aéreos

20.2 Controle de Movimento Sincronizado Para facilitar a programação, outra função foi incluída quando o Group Set possui um “mestre”. Esta função é chamada Synchronous Motion. Ela “casa” o TCP de um dispositivo como o TCP de outro dispositivo. No modo Teach, enquanto o sincronismo estiver selecionado e o External Axes estiver selecionado, pressionar a tecla S+ ou S- irá fazer com que o robô e o posicionador movam-se juntos, mantendo a exata relação entre

eles. Esta função é acessada pressionando a tecla . Para verificar se a opção Synchronous foi selecionada, veja a linha de status no display.

Page 147: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 147 Curso: TP-10

Figura 20-1 Indicador Síncrono

O LED da tecla Ex. Axis irá acender automaticamente quando o sincronismo for selecionado. Pressionando a tecla Robot desligará o LED e permitirá movimento independente do robô. Contudo, se a tecla Ex. Axis for pressionada novamente, o controle Synchronous será ativado novamente. Para desativar completamente o controle

Synchronous Motion, pressione a tecla . Quando a tecla Ex. Axis for selecionada, apenas o indicador S1 é mostrado na Status Line. NOTA: A função Synchronous Motion não tem efeito na reprodução ou na gravação das posições. Serve apenas para facilitar a locomoção. Ambas as funções Synchronous e Coordinated podem ser selecionadas ao mesmo tempo, já que uma controla o movimento e a outra a programação. Apenas a seleção de Coordinated irá afetar o modo como o passo é gravado. Selecionando o Coordinated Motion ou o Synchronous Motion Control irá afetar a

possibilidade de uso das teclas e como dados de (WVON e WVOF). Nestes sistemas os comandos de solda pulsada devem ser acessados na INFORM LIST no menu DEVICE.

Page 148: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 148 Curso: TP-10

21.0 SENSOR INTERNO DE CHOQUE O robô controlado pelo NX100 possui um sistema interno de sensores de choque que podem proteger as ferramentas e o braço do robô de qualquer impacto. Os parâmetros iniciais do sistema ativam mudança nos limiares dos torques dos eixos S, L, U, R, B e T. O arquivo COND NO.9 serve para ativação apenas no modo TEACH. O COND NO.8 (Padrão) é o arquivo padrão para o modo PLAY, mas os arquivos 1-7 servem para ajustar o limiar dentro de um job.

21.1 Configuração do Sensor Interno de Choque O sensor interno de choque pode ser configurado através das seguintes isntruções:

1. No MAIN MENU, selecione ROBOT; 2. Selecione SHOCK SENSOR LEVEL;

Figura 21-1 Tela do Sensor de Choque (VALID)

3. Para acessar um COND NO. (arquivo) específico, use a tecla PAGE, ou pressione SELECT, forneça o número do arquivo desejado pelo teclado e pressione ENTER;

4. Mova o cursor para DETECTION LEVEL; pressione SELECT; 5. Forneça o limiar do Detection Level a partir do teclado (máximo = 500).

NOTA: Configurando um Detection Level muito baixo pode fazer com que o sensor interno seja ativado sem nenhum impacto! O torque do motor manipulador aumenta naturalmente a medida que o braço gira ou inicia um movimento. Quanto maior a velocidade e quanto mais fechada for a curva, mais o torque do motor aumenta, possivelmente excedendo o limiar configurado. Rode o job e configure inicialmente o limiar para um valor no mínimo 20% maior do que aquele mostrado na área de MAX. DISTURBANCE na tela do SHOCK SENSOR LEVEL.

Page 149: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 149 Curso: TP-10

6. Mova o cursor para o R1 “INVALID” e pressione SELECT, alterando o valor para “VALID”, ativando o sensor interno de choque.

21.2 Programando com SHKSET Podem haver casos em que uma propriedade não seja apropriada para a célula do robô. A instrução SHKSET permite o uso dos arquivos 1-7, que podem ser programados com propriedades de detecção diferentes. Para programar a instrução SHKSET com referência à diferentes arquivos, siga os passos a seguir:

1. Como o job desejado no modo TEACH, na área de endereços, pressione INFORM LIST;

2. Selecione OTHER; 3. Selecione SHKSET; 4. Mova o cursor para o número SSL; pressione SELECT; 5. Entre com o número do arquivo desejado; pressione ENTER.

NOTA: A instrução SHKSET irá reativar o arquivo padrão PLAY 8.

21.3 Recuperação da Detecção pelo Sensor Interno de Choque Se o torque exceder o valor especificado, será gerado um alarme. Isto geralmente é causado pela ferramenta ou pelo braço do robô vindo em contato com uma parte, também conhecido como “crash”. Se, após resetar o alarme, a tentativa de religar a energia do motor resultar em alarmes repetidos, o arquivo deverá ser configurado como INVALID para se distanciar da obstrução. Para se afastar de um “distúrbio” residual, siga os passos a seguir:

1. No MAIN MENU, selecione ROBOT; 2. Selecione SHOCK SENSOR LEVEL;

Page 150: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 150 Curso: TP-10

Figura 21-2 Tela do Sensor de Choque (INVALID)

3. Use PAGE para encontrar o arquivo Condition Number no qual o Max Disturbance é maior do que o Detection Level. Os arquivos padrões para uso são COND NO.:8 (Padrão) em PLAY e COND NO.:9 apenas para TEACH. Os arquivos 1-7 são arquivos adicionais que são ativados em PLAY apenas se a instrução dos configurada no job;

4. Mova o cursor para (VALID) e pressione SELECT, alterando a função para INVALID.

Agora o servomotor pode ser ligado pois o controle “monitora” os valores dos torque do motor, permitindo que o robô se mova. NOTA: Assegure-se de que a Condição seja retornada para VALID depois que o robô for recuperado.

Figura 21-3 Sensor de Choque - Válido

Page 151: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 151 Curso: TP-10

NOTA: Algumas situações não necessitam que o robô seja “recuperado”. Em outras situações, soltar os freios e empurrar o robô pode ser mais eficaz.

21.4 Ação do Sensor Externo de Choque e Recuperação Em alguns robôs, existe um dispositivo chamado “sensor de choque” montado entre o braço do robô e a ferramenta. Este dispositivo protege o robô de danos em caso de colisão. NOTA: E-Stop é a configuração padrão para a ativação do sensor de choque. Outras configurações são disponíveis. O controle deve ser programado para monitorar o status do sensor de choque enquanto o robô é afastado do local de impacto. Para fazer isto, a tela apropriada deve ser mostrada. Para mostrar a tela e recuperar da ação do sensor de choque, siga os passos a seguir:

1. No MAIN MENU, selecione ROBOT; 2. Selecione OVERRUN&S-SENSOR;

A tela da Figura 21-4 será mostrada.

Figura 21-4 Alarme de Sensor de Choque NOTA: Esta seção está disponível apenas nos modos de Edição e Administração de

segurança.

3. Selecione “RELEASE”; 4. Selecione “ALM RST”.

O servomotor pode ser religado apenas no modo TEACH. O robô pode ser movido, mas apenas nas coordenadas Joint.

Page 152: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 152 Curso: TP-10

NOTA: O “RELEASE” apenas tem efeito quando a tela é mostrada. Se ela for alterada para qualquer outra antes do Shock Sensor ser resetado, o controle irá retornar para a condiçõa de alarme e irá para para o robô por meio do E-Stop.

Page 153: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 153 Curso: TP-10

ANEXOS

Soluções propostas pela MOTOMAN ROBÓTICA DO BRASIL

Page 154: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 154 Curso: TP-10

Page 155: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 155 Curso: TP-10

Page 156: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 156 Curso: TP-10

Page 157: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 157 Curso: TP-10

Page 158: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 158 Curso: TP-10

Page 159: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 159 Curso: TP-10

Page 160: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 160 Curso: TP-10

Page 161: Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100

Via Anchieta Km 22,5 - № 129, São Bernardo do Campo CEP: 09823-000, Vila Marchi, Fone: (11) 4352-3002

Programação Avançada do NX-100 Página 161 Curso: TP-10