Вы находитесь на странице: 1из 161

Treinamento

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

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)


rogerio.vitalli@motoman.com.br

São Bernardo do Campo - SP


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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.

: Modo de Operação

: Modo de Edição

: Modo de Gerenciamento
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.

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


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

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
SELECT JOB

JOB CREATE NEW JOB


JOB CAPACITY NA
MASTER JOB

BYTE
INTEGER
DOUBLE

VARIABLE REAL
POSITION (ROBOT)
POSITION (BASE)
(Se aplicável)
POSITION (STATION)
(Se aplicável)
EXTERNAL INPUT NA
EXTERNAL OUTPUT NA
UNIVERSAL INPUT NA
UNIVERSAL OUTPUT
SPECIFIC INPUT NA
SPECIFIC OUTPUT NA
REGISTER NA
AUXILIARY RELAY NA
IN/OUT
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)

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


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

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

MENU SUB MENU DISPLAY EDIÇÃO


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
ROBOT
USER COORDINATE

OVERRUN & S-SENS

LIMIT RELEASE

HOME POSITION

ARM CONTROL

CUBIC INTERFERENCE

ANALOG MONITOR

SERVO MONITOR NA
MONITORING TIME

ALARM HISTORY

SYSTEM INFO I/O MSG HISTORY

VERSION NA
ALARM (Se aplciável)

LOAD

SAVE

VERIFY
FD/CF
DELETE

FORMAT

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

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


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

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

MENU SUB MENU DISPLAY EDIÇÃO


TEACHING COND

SET WORD

RESERVE JOB NAME

USER ID
SETUP
KEY ALLOCATION

DATE/TIME

SET SPEED

OPERATE COND

S1CxG

S2C

S3C

S4C

A1P

A2P (Se aplicável)


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

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


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

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:

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


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

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

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


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

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;

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


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

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

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


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

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:

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


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

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.

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


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

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.

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


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

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)

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


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

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)

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


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

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:

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


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

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.

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


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

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

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


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

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!

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


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

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.

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


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

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

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


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

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

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


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

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

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


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

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;

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


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

• 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:

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


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

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

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


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

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

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


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

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:

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


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

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.

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


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

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.

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


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

Tabela 3-1: Parâmetros Comuns


# do Parâmetro Explicação Comentários
026=Baixo
027=Médio
S1CXG026-029 Linear Jogging Speeds
028=Alta
029=Alta Velocidade
030=Pulse
S1CXG030-032 Inching Dimensions 031=Linear XYZ
032=Rotação deg
033=PL1
S1CXG033-040 PL Level Dimensions -
040=PL8
Velocidade em unidades de
S1CXG044 Velocidade Baixa Velocidade Inicial 0.01%
1000=10%
045=Baixa
046=Média
S1CXG045-048 Joint Jogging Speeds
047=Alta
048=Alta Velocidade
Velocidade em unidades de
S1CXG056 Velocidade de Retorno à Posição Home 0.01%
1000=10%
Permitir bit para
S1CXG065 Inversão de Sinal Mirror Shift
0,0,T,B,R,U,L,S
200-207 Max
S1CXG200-215 Limites Pulse Soft (SLURBT)
208-215 Min
Permitir bit para 0, 0, 0, 0, R4,
S2C001 Limite Cube Soft
R3, R2, R1
Permitir bit para 0, 0, 0, 0, R4,
S2C002 Checagem de Interferência S-Axis
R3, R2, R1
0=Operation Mode
S2C147 Modo de Segurança ao Ligar 1=Editing Mode
2=Managemente Mode
0=Todas as Coordenadas
disponíveis
1=Coordenadas Tool não
S2C149 Switching Coordenado disponíveis
2=Coordenadas User não
disponíveis
3=Tool e User não disponíveis
0=Para em cada Line
S2C150 Execução na operação “FWD”
1=Para em cada Step
0=Executa com FWD +
Interlock
S2C151 Execução da Instrução (exceto _MOV) em “FWD”
1=Executa com FWD
2=Instrução não executada
Mantém coordenada
S2C152 Mantém Coordinate Status selecionada mesmo com
mudança de job
0=como selecionado com
Special Run
S2C169 Velocidade Inicial Baixa
1=Condição inicial após
qualquer edição em um job
Registro de Passo na Tool No. 0=Permitido
S2C186
Mudança 1=Proibido
S2C234 Condição Inicial após Absolute Data 0=Necessária checagem de

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


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

Ocorre Intervalo Permitido posição


1=Velocidade Inicial Baixa
0=Proibido
S2C333 Tool No. Switching (Tool List)
1=Permitido
806=intervalo máximo em
microns
S2C806 A S2C808 Dimensões das Função PAM 807=limite da velocidade em
0.01%
808=corrigindo coordenadas
Saída TOOLON é mantida
Aplicação Geral
AxP009 após interrupção do job
Continuação de trabalho Proibida
durante a instrução TOOLON
Marca saída de sinal
Handling Application
AxP002,AxP004 designado para tecla f1
Função da Tecla F1
(HAND1)
Marca saída de sinal
Handling Application
AxP003, AxP005 designado para tecla f2
Função da Tecla F2
(HAND2)
Aplicação de Arc Welding Define uso de velocidade ASF
AxP005
Prioridade de Velocidade de Soldagem ou velocidade do job
Especifica a condição
Aplicação de Spot Welding antecipada (tempo) quando da
AxP007
Tempo de Antecipação 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
Reverse Path para colar EDIT 0= Desabilitado
S2C274
BUFFER 1= Habilitado
0= Desabilitado
S2C292 Melhora da função PMT
1= Habilitado
I/O Codinome para todas as 0= Desabilitado
S2C297
instruções em jobs 1= Habilitado
Codinome variável para todos os 0= Desabilitado
S2C298
usos em jobs 1= Habilitado
Cursor azul cyan coloca holder
0= Desabilitado
S2C339 para o último local do Play
1= Habilitado
Mode.
Antecipação de Output por 0= Desabilitado
S2C508
distância definível 1= Habilitado
Shift de job paralelo com 0= Desabilitado
S2C514
arquivo variável Pxxx 1= Habilitado
Frame do usuário definida com
input numérico. Número do 0= Desabilitado
S2C562
frame aparece no ícone de linha 1= Habilitado
de status

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


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

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.

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


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

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

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


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

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.

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


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

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

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


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

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.

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


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

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.

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


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

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.

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


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

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);

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


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

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;

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


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

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


Robô Parâmetro Definição Parâmetro Definição
S3C000 X MÁX S3C003 X MÍN
R1 S3C001 YMÁX S3C004 YMÍN
S3C002 Z MÁX S3C005 Z MÍN
S3C006 X MÁX S3C009 X MÍN
R2 S3C007 YMÁX S3C010 YMÍN
S3C008 Z MÁX S3C011 Z MÍN
S3C012 X MÁX S3C015 X MÍN
R3 S3C013 YMÁX S3C016 YMÍN
S3C014 Z MÁX S3C017 Z MÍN
S3C018 X MÁX S3C021 X MÍN
R4 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”.

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


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

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.

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


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

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

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


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

“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;

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


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

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

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


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

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)

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


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

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.

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


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

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;

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


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

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;

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


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

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.

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


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

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;

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


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

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.

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


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

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

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


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

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.

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


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

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 .

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


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

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.

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


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

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.

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


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

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.

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


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

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:

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


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

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.

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


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

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

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


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

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.

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


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

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

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


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

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

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


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

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.

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


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

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.

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


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

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.

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


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

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.

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


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

Tabela 10-1: Variáveis Aritméticas


DATA TYPE GLOBAL LOCAL RANGE
VARIABLE VARIABLE
BYTE B000 à B099 LB000 à LB099 0 à 255
INTEGER I000 à I099 LI000 à LI099 -32.768 à 32.767
DOUBLE D000 à D099 LD000 à LD099 -2.147.483.648 à
PRECISION 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 LOCAL
VARIABLE VARIABLE
POSITION PULSE/XYZ P000 à P127 LP000 à LP255
(ROBOT)
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

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


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

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
$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
Variável tipo $B Tipo Byte
$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.

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


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

Tabela 10-4: Exemplos de Variáveis do tipo $PX


System Variable Tipo No. Explicação
$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)
Tipo de $PX005 Posição de Teaching (tipo Pulse)
Posição
$PX006 Posição alvo de operação (tipo Pulse)
Para
Variável tipo $PX $PX011 Local no sistema do REFPT #1
Grupos de
$PX012 Local no sistema do REFPT #2
Controle
$PX013 Local no sistema do REFPT #3
de Eixos
$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

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


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

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

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


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

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)

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


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

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.

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


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

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)

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


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

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.

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


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

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:

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


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

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.

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


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

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:

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


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

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);

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


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

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;

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


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

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

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


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

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

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


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

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    
SET
EXPRESSION
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
MUL     
vetor 6x1)
divide por
constante/variável
(elementos simples ou
todos elementos de um
DIV     
vetor 6x1)
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 
(de
cria User Frame #( ) a três
partir de três posições MFRAME PX)
PX para ORG, XX e XY

coloca o valor de P em D GETE (de) (para)

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


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

 
(para) (de)
coloca o valor de D em P SETE
 
(paraP
retorna o status da (de) (para) (para)
GETS X)
variável do sistema    
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

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


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

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)

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


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

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)

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


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

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)

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


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

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)

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


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

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)

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


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

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)

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


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

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.

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


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

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]

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


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

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]

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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.

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


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

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;

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


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

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.

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


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

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;

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


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

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;

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


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

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);

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


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

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.

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


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

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

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


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

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

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


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

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.

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


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

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.

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


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

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 “STANDARDRELATIVE”;
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.

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


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

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.

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


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

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

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


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

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)

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


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

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

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


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

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):

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


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

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.

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


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

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.

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


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

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.

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


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

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;

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


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

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;

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


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

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
128 64 32 16 8 4 2 1
Binário

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.

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


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

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

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


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

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.

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


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

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:

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


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

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.

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


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

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.

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


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

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

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


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

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

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


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

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.

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


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

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;

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


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

• 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


CONTROLE DE
TIPO DO JOB GRUPO DE
GRUPOS DE CALL TIPO DO SUB-JOB POSSIBILIDADE
MESTRE EIXOS
EIXOS
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.

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


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

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.

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


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

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.

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


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

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.

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


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

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.

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


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

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.

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


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

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;

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


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

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

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


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

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.

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


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

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.

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


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

ANEXOS
Soluções propostas pela MOTOMAN ROBÓTICA DO BRASIL

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


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


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


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


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


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


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


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


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