MCS ENGENHARIA
MCSplc
Manual de PLC - Proteo
V1.00
ATENÇÃO
A MCS reserva-se o direito de realizar alterações que julgue pertinentes no
presente manual e nas funções descritas sem prévio aviso.
As instruções, que se encontram no Capítulo 2 referente a operações com
bits (item 2.1), possuem exemplos e ilustrações visando permitir uma melhor
compreensão ao profissional que não está ligado às áreas da Eletrônica
Digital. Este Capítulo deve ser lido com maior cuidado por aqueles
profissionais que não estão familiarizados com programação em linguagem
de lista de instruções.
Caso tenha sugestões, dúvidas ou críticas, por favor entre em contato com
nossa Engenharia de Aplicação:
fone (011) 4191 - 4771
fax (011) 4191 - 4919
suporte técnico : [email protected]
Catálogos, Downloads de Manuais, e outras informações, visitem nosso site
www.cncmcs.com.br
Manual do PLC
V1.00
ÍNDICE GERAL
1 - INFORMAÇÕES GERAIS ........................................................................................................ 22
1.1 - MEMÓRIA DE TRABALHO ................................................................................................ 22
1.2 - FORMATO GERAL DAS INSTRUÇÕES ............................................................................ 22
1.2.1 - Operações lógicas ....................................................................................................... 22
1.2.2 - Desvios de execução .................................................................................................. 22
1.2.3 - Operações diretas ....................................................................................................... 22
1.3 – TIPOS DE OPERAÇÃO ..................................................................................................... 23
1.4 - TIPOS DE OPERANDOS ................................................................................................... 24
1.5 - ENDEREÇOS OU PARÂMETROS ..................................................................................... 24
1.6 – ACUMULADOR (Acc) ........................................................................................................ 25
1.6.1 – Flags .......................................................................................................................... 25
2 - DESCRIÇÃO DOS TIPOS DE OPERAÇÃO DAS INSTRUÇÕES DO PLC ................................ 26
2.1 - OPERAÇÕES COM BIT ..................................................................................................... 26
2.1.1 - Carrega acumulador – Load ........................................................................................ 26
2.1.2 - Carrega acumulador com status negado – Load Not ................................................... 27
2.1.3 - Operação lógica E – And............................................................................................. 28
2.1.4 - Operação lógica E NEGADO – And Not ...................................................................... 29
2.1.5 - Operação lógica OU – Or ............................................................................................ 30
2.1.6 - Operação lógica OU NEGADO – Or Not ..................................................................... 31
2.1.7 - Operação lógica OU EXCLUSIVO – eXclusive Or ....................................................... 32
2.1.8 - Operação lógica OU EXCLUSIVO NEGADO – eXclusive Or Not................................. 33
2.1.9 - Atribuição de resultado energizando o acumulador ...................................................... 34
2.1.10 - Atribuição de resultado mantendo status do acumulador ........................................... 35
2.1.11 - Atribuição negada mantendo status do acumulador ................................................... 36
2.1.12 - SET energizando o acumulador – Set ....................................................................... 37
2.1.13 - SET sem influência no acumulador – Set .................................................................. 38
2.1.14 - SET se lógica negativa – Set Not .............................................................................. 39
2.1.15 - SET FORÇADO sem influência no acumulador – Set Forced.................................... 40
2.1.16 - RESET energizando o acumulador – Reset ............................................................... 40
2.1.17 - RESET sem influência no acumulador – Reset ......................................................... 41
2.1.18 - RESET se lógica negativa – Reset Not...................................................................... 42
2.1.19 - RESET FORÇADO sem influência no acumulador – Reset Forced ........................... 43
2.1.20 - Operação lógica E – Abre parêntesis – And( ............................................................. 44
2.1.21 - Operação lógica OU – Abre parêntesis – Or( ............................................................. 45
2.1.22 - Operação Fecha parêntesis ....................................................................................... 46
2.1.23 - Transição da borda de subida – Edge Up .................................................................. 47
2.1.24 - Transição da borda de descida – Edge Down ............................................................ 47
2.1.25 - Transição de borda – EDGe ...................................................................................... 48
2.2 - OPERAÇÕES COM BYTE OU WORD E RESULTADO BIT .............................................. 49
4
Manual do PLC
V1.00
2.2.1 - Energiza Acumulador se comparação resultar IGUAL.................................................. 50
2.2.2 - Energiza Acumulador se comparação resultar DIFERENTE ........................................51
2.2.3 - Energiza Acumulador se comparação resultar MENOR ............................................... 52
2.2.4 - Energiza Acumulador se comparação resultar MAIOR OU IGUAL ............................... 54
2.2.5 - Operação E (AND) – Compara se IGUAL ....................................................................55
2.2.6 - Operação E (AND) – Compara se DIFERENTE ........................................................... 56
2.2.7 - Operação E (AND) – Compara se MENOR ..................................................................57
2.2.8 - Operação E (AND) – Compara se MAIOR OU IGUAL ................................................. 59
2.2.9 - Operação OU (OR) – Compara se IGUAL ...................................................................60
2.2.10 - Operação OU (OR) – Compara se DIFERENTE ........................................................ 61
2.2.11 - Operação OU (OR) – Compara se MENOR ............................................................... 62
2.2.12 - Operação OU (OR) – Compara se MAIOR OU IGUAL ............................................... 64
2.3 - OPERAÇÕES COM BYTES E WORDS .............................................................................66
2.3.1 - Carrega Acumulador – Load ........................................................................................ 66
2.3.2 - Carrega Acumulador com complemento do conteúdo – Load Not ................................ 67
2.3.3 - Operação lógica E – And ............................................................................................. 68
2.3.4 - Operação lógica E NEGADO – And Not ......................................................................69
2.3.5 - Operação lógica OU – Or ............................................................................................ 70
2.3.6 - Operação lógica OU NEGADA – Or Not ......................................................................72
2.3.7 - Operação lógica OU EXCLUSIVO – eXclusive OR ...................................................... 73
2.3.8 - Operação lógica OU EXCLUSIVO NEGADO – eXclusive Or Not .................................74
2.3.9 - ATribuição incondicional de conteúdo ..........................................................................76
2.3.10 - Atribuição condicional de conteúdo – Caso Flag NZ .................................................. 77
2.3.11 - Atribuição condicional de conteúdo – Caso Flag Z ..................................................... 78
2.3.12 - Comparação com memória ou constante – ComPare ................................................ 79
2.3.13 - Rotação à direita do conteúdo do acumulador – SHift Right ......................................80
2.3.14 - Rotação à esquerda do conteúdo do acumulador – Shift Left.....................................81
2.3.15 - Soma com memória ou constante – ADD ..................................................................82
2.3.16 - Subtração com memória ou constante – SUBtract ..................................................... 83
2.3.17 - Incremento ................................................................................................................ 84
2.3.18 – Decremento .............................................................................................................. 85
2.3.19 – Multiplicação com memória ...................................................................................... 86
2.3.20 - Divisão com memória ................................................................................................ 87
2.4 - OPERAÇÕES DE DESVIO DE EXECUÇÃO ......................................................................88
2.4.1 - Salto incondicional.......................................................................................................88
2.4.2 - Salto se operação lógica resultar IGUAL – Jump Zero ................................................. 88
2.4.3 - Salto se operação lógica resultar DIFERENTE – Jump Not Zero .................................89
2.4.4 - Salto se operação lógica resultar MAIOR OU IGUAL – Jump Positive ......................... 90
2.4.5 - Salto se operação lógica resultar MENOR – Jump Minus ............................................91
2.4.6 - Salto incondicional para endereço dado em tabela ...................................................... 92
2.4.7 - Chamada condicional de sub-rotina – NÃO ZERO ....................................................... 92
5
Manual do PLC
V1.00
2.4.8 - Chamada condicional indireta de sub-rotina – NÃO ZERO .......................................... 93
2.4.9 - Chamada condicional de sub-rotina – ZERO ............................................................... 93
2.4.10 - Chamada condicional indireta de sub-rotina – ZERO ................................................. 93
2.4.11 - Chamada incondicional de sub-rotina apontada por tabela ........................................ 93
2.4.12 - Chamada incondicional indireta apontada por tabela ................................................. 94
2.4.13 - Chamada incondicional de sub-rotina ........................................................................ 95
2.4.14 - Chamada incondicional indireta de sub-rotina............................................................ 95
2.4.15 - Retorno de sub-rotina ................................................................................................ 95
2.5 - OPERAÇÕES COM TIMER ............................................................................................... 94
2.5.1 - Introdução e definições ............................................................................................... 94
2.5.2 - Carrega acumulador – Load ........................................................................................ 96
2.5.3 - Carrega acumulador com status negado – Load Not ................................................... 96
2.5.4 - Operação lógica E – And............................................................................................. 97
2.5.5 - Operação lógica E NEGADO – And Not ...................................................................... 97
2.5.6 - Operação lógica OU – Or ............................................................................................ 97
2.5.7 - Operação lógica OU NEGADO – Or Not ..................................................................... 97
2.5.8 – Operação lógica OU EXCLUSIVO – eXclusive Or ...................................................... 98
2.5.9 - Operação lógica OU EXCLUSIVO NEGADO – eXclusive Or Not................................. 98
2.5.10 - Atribuição de constante de tempo ao timer ................................................................ 98
2.5.11 - SET timer energizando o acumulador ........................................................................ 98
2.5.12 - SET sem influência no acumulador ........................................................................... 99
2.5.13 – SET FORÇADO sem influência no acumulador ........................................................ 99
2.5.14 - RESET energizando o acumulador ............................................................................ 99
2.5.15 - RESET sem influência no acumulador ...................................................................... 99
2.5.16 - RESET FORÇADO sem influência no acumulador .................................................. 100
2.6 - DEMAIS OPERAÇÕES .................................................................................................... 101
2.6 - DEMAIS OPERAÇÕES .................................................................................................... 101
2.6.1 – Energiza o acumulador ............................................................................................. 101
2.6.2 - Carrega endereço – load ADRESS ............................................................................ 101
2.6.3 - Instrução TELA.......................................................................................................... 101
2.6.4 - FINAL da execução do PLC ...................................................................................... 102
3 - Habilitação de Serviços ........................................................................................................... 103
4 - Serviço de Joystick .................................................................................................................. 107
4.2 - Descrição Geral ................................................................................................................ 107
4.3 - Tipos de Dados ................................................................................................................ 108
4.4 - Parâmetros de Configuração Utilizados ............................................................................ 108
4.5 - Parâmetros de PLC Utilizados (P900 – P999) .................................................................. 108
4.6 - Estrutura de Dados e Comandos ( PLC → CNC ) ............................................................. 109
4.6.1 - Eixo Correspondente ao Canal .................................................................................. 109
4.6.2 - Valor Central para Ponto Morto do Canal .................................................................. 110
4.6.3 - Janela para Ponto Morto do Canal ............................................................................ 111
6
Manual do PLC
V1.00
4.6.4 - Janela para Controle do Canal................................................................................... 111
4.6.5 - Velocidade Máxima para o Canal .............................................................................. 111
4.6.6 - Variável para Controle do Canal ................................................................................ 111
4.6.7 - Variável Base para Status ......................................................................................... 112
4.6.8 - Sentido do Vetor de Velocidade do Canal .................................................................. 112
4.6.9 - Fins de Curso para o Eixo Associado ao Canal .......................................................... 112
4.6.10 - Bloqueio de Avanço Sentido Positivo ...................................................................... 112
4.6.11 - Bloqueio de Avanço Sentido Negativo ..................................................................... 112
4.6.12 - Significado da Variável de Controle ......................................................................... 112
4.6.13 - Reinicia serviço ....................................................................................................... 112
4.6.15 - Estrutura de Status (CNC → PLC) ........................................................................... 114
4.7 - Descrição de Funcionamento............................................................................................ 115
4.7.1 - Exemplos....................................................................................................................... 115
5 - Execução de Programa ........................................................................................................... 116
5.1 - Descrição Geral ................................................................................................................ 116
5.2 - Tipos de Dados................................................................................................................. 118
5.3 - Parâmetros de configuração utilizados ............................................................................. 118
5.4 - Parâmetros de PLC utilizados (P900 – P999) ................................................................... 119
5.5 - Estrutura de Dados e Comandos ( PLC → CNC ) ............................................................. 119
5.5.1 - Canal de execução (CANEXE) .................................................................................. 119
5.5.2 - Modo de seleção de programa (SELPRG) ................................................................. 120
5.5.3 - Diretório do programa (DIRPRG) ............................................................................... 120
5.5.4 - Número do programa (NUMPRG) .............................................................................. 121
5.5.5 - Tamanho do bloco de função atômica (TAMBFA) ...................................................... 121
5.5.6 - Índices dos blocos inicial e final (BLOINI e BLOFIM) ................................................. 121
5.5.7 - Endereço da memória I p/ funções atômicas (ENDIFA) ............................................. 121
5.5.8 - Habilita interpretador (HABITP) ................................................................................. 121
5.5.9 - Modo de execução (MODEXE) .................................................................................. 122
5.5.10 - First Start (FSTART) ................................................................................................ 122
5.5.11 - Stop / Pause (STOP) ............................................................................................... 122
5.5.12 - Resume (RESUME) ................................................................................................. 123
5.5.13 - Abort (ABORT) ........................................................................................................ 123
5.6 - Estrutura de Status ( CNC → PLC ) .................................................................................. 124
5.7 - Descrição de Funcionamento............................................................................................ 124
5.8 - Exemplos ......................................................................................................................... 126
Execução de programa com 3 eixos (X,Y,Z) por PLC ........................................................... 126
6 - Serviço de Fotocélula .............................................................................................................. 128
6.1 - Descrição geral ................................................................................................................. 128
6.2 - Tipos de dados ................................................................................................................. 128
6.3 - Parâmetros de Configuração Utilizados ............................................................................ 128
6.4 - Parâmetros de PLC utilizados ........................................................................................... 128
7
Manual do PLC
V1.00
6.5 - Hardware Proteo Mini/LCD ............................................................................................... 129
6.6 - Fotocélula do módulo MCS I/O CANopen......................................................................... 129
6.7 - Estrutura de Dados e Comandos ( PLC → CNC ) ............................................................. 130
6.7.1 - Distancia para a marca do corte (PHOTOTOCUT) .................................................... 130
6.7.2 - Comprimento programado entre marcas (PGMLENGTH) .......................................... 131
6.7.3 - Janela para a detecção de marca (MARKWINDOW)................................................. 131
6.7.4 - Canal do eixo associado à fotocélula (AXISCHANNEL) ............................................. 132
6.7.5 - Número de médias desejadas para o comprimento (NUMMEDCMP) ........................ 132
6.7.6 - Inicia Captura de dados (INITCAP)............................................................................ 132
6.7.7 - Bloqueia fotocélula (BLOCK) ..................................................................................... 132
6.7.8 - Medida da posição da marca (INITMEAS) ................................................................. 132
6.7.9 - Bit de identificação remoto/local (REMOTE) ............................................................. 132
6.7.10 - Bit de habilitação do contador (ENCOUNT) ............................................................. 133
6.7.11 - Bit de reset do contador (RSTCOUNT) .................................................................... 133
6.7.12 - Iniciar comprimento médio com primeiro comprimento medido (INITCMED) ........... 133
6.7.13 - Comprimento do vínculo do eixo com Lfoto_med .................................................... 133
6.7.14 - Incremento de correção máximo (IC_MAX) ............................................................. 133
6.7.15 - Número do módulo CAN da fotocélula remota (MODUL_ADR)................................ 133
6.8 - Estrutura de Status (CNC → PLC) .................................................................................... 134
6.8.1 - Posição da marca de detecção (POSFOTO) ............................................................. 134
6.8.2 - Comprimento médio (MEDLEN) ................................................................................ 134
6.8.3 - Erro da fotocélula (ERROFOTO) ............................................................................... 134
6.8.4 - Contador de marcas falsas seqüenciais (FALSECNT) ............................................... 135
6.8.5 - Contador de pulsos (COUNTER) ............................................................................... 135
6.8.6 - Condição de TAPETE ............................................................................................... 135
7 - Serviço de Came Real............................................................................................................. 136
7.1 - Descrição geral ................................................................................................................ 136
7.2 - Tipos de dados ................................................................................................................. 137
7.3 - Parâmetros de Configuração Utilizados ............................................................................ 137
7.4 - Parâmetros de PLC utilizados .......................................................................................... 137
7.5 - Estrutura de Dados e Comandos ( PLC → CNC ) ............................................................. 137
7.5.1 - Canal do eixo associado ao Came (EIXO) ................................................................. 138
7.5.2 - ator de acoplamento (FACOP) .................................................................................. 138
7.5.3 - Posição para acoplar (POSACOP) ............................................................................ 138
7.5.4 - Posição para desacoplar (POSDESACOP)................................................................ 138
7.5.5 - Capturar referência (CAPREF) .................................................................................. 138
7.5.6 - Acoplar imediato (ACOPIME) .................................................................................... 139
7.5.7- Acoplar após posição (ACOPPOS) ............................................................................. 139
7.5.8 - Desacoplar imediato (DESACOPIME) ....................................................................... 139
7.5.9 - Desacoplar após posição (DESACOPPOS) ............................................................... 139
7.5.10 - Aplica Preset (PRESET) .......................................................................................... 139
8
Manual do PLC
V1.00
7.5.11 - Acoplar MCScame após transição da foto-célula (ACOPFOTO) .............................. 139
7.6 - Estrutura de Status (CNC → PLC) .................................................................................... 140
Esperando posição para acoplar (ACOPLANDO).................................................................. 140
7.6.2 - MCScame acoplado (ACOPLADO)............................................................................ 140
7.6.3 - Esperando posição para desacoplar (DESACOPLANDO) .......................................... 140
MCS7.6.4 - came desacoplado (DESACOPLADO) ............................................................... 140
7.6.5 - Capturando referência (CAPREF) .............................................................................. 141
7.6.6 - Referência OK (REFOK) ........................................................................................... 141
7.6.7 - Velocidade do MCScame em RPM (RPM)................................................................. 141
7.6.8 - Posição do eixo (POSIT) ........................................................................................... 141
8 - Serviço de Came Virtual .......................................................................................................... 142
8.1 - Descrição geral ................................................................................................................. 142
8.2 - Tipos de dados ................................................................................................................. 142
8.3 - Parâmetros de Configuração Utilizados ............................................................................ 142
8.4 - Parâmetros de PLC utilizados ........................................................................................... 142
8.5 - Estrutura de Dados e Comandos ( PLC → CNC ) ............................................................. 142
8.5.1 - Valor para a posição do eixo (PRESET) .................................................................... 143
8.5.2 - Cota de posição (COTA_POS) .................................................................................. 143
8.5.3 - Cota p/ parada programada (COTA_STOP) .............................................................. 143
8.5.4 - Velocidade do eixo (RPM) ......................................................................................... 143
8.5.5 - Aceleração/Desaceleração do eixo do Came Virtual (ACELERAC) ............................ 144
8.5.6 - Preset para cota (PRESET_COTA) ........................................................................... 144
8.5.7 - Rotação com valor programável (ROT_PROG) ......................................................... 144
8.5.8 - Posicionamento (POS_FINAL) .................................................................................. 144
8.5.9 - Parada imediata (STOP) ........................................................................................... 144
8.5.10 - Parada com cota final (STOP_FINAL) ..................................................................... 144
8.6 - Estrutura de Status (CNC → PLC) .................................................................................... 145
8.6.1 - MCScame parado (MESTRE_STOP) ........................................................................ 145
8.6.2 - MCScame girando (MESTRE_RUN).......................................................................... 145
8.6.3 - Velocidade do eixo virtual (RPM)............................................................................... 145
8.6.4 - Posição do eixo virtual (POSIT)................................................................................. 145
9 - Serviço de Came Digital .......................................................................................................... 146
9.1 - Descrição geral ................................................................................................................. 146
9.2 - Tipos de dados ................................................................................................................. 147
9.3 - Parâmetros de Configuração Utilizados ............................................................................ 147
9.4 - Parâmetros de PLC utilizados ........................................................................................... 147
9.5 - Estrutura de Dados e Comandos ( PLC → CNC ) ............................................................. 148
9.5.1 - Tipo do Came (TPCAME) .......................................................................................... 149
9.5.2 - Offset do Came Real (OFFSETREAL) ....................................................................... 149
9.5.3 - Posição para acoplar (POSACOP) ............................................................................ 149
9.5.4 - Posição para desacoplar (POSDESACOP) ................................................................ 149
9
Manual do PLC
V1.00
9.5.5 - Offset do Came Virtual (OFFSETVIRTUAL) .............................................................. 149
9.5.6 - Velocidade máxima (RPM_MAX) .............................................................................. 150
9.5.7 - Grupo de saídas n (GRPOUTn) ................................................................................. 150
9.5.8 - Máscara de atualização das saídas (MASK_OUT)..................................................... 150
9.5.9 - Ângulos iniciais LCAMxx (ANG_INI_C[0..15])............................................................ 150
9.5.10 - Ângulos finais ou tempo para acionamento dos cames DCAMxx (ANG_FIN_C[0..15])
............................................................................................................................................ 151
9.5.11 - Avanços para rotação máxima (SHIFT_C[0..15])..................................................... 151
9.5.12 - Habilita Came Tempo (CAME_TEMPO) .................................................................. 151
9.5.13 - Habilitação dos Cames Digitais Cx (EN_xx) ............................................................ 151
9.5.14 - Tipo de habilitação da máscara de atualização das saídas (TIPHAB) ...................... 152
9.6 - Estrutura de Status (CNC → PLC) .................................................................................... 153
9.6.1 - Cames ligados (CAME_xx)........................................................................................ 153
9.6.2- Transição cames ligados (STT_OFF_ON) .................................................................. 154
9.6.3- Transição cames desligados (STT_ON_OFF) ............................................................ 154
9.6.4 - Estado da habilitação das saídas dos cames digitais (STT_MASK_HAB) .................. 154
10 - Serviço do Came dos Eixos: Vínculos Normais e Controle .................................................... 155
10.1 - Descrição geral............................................................................................................... 155
10.2 - Tipos de dados ............................................................................................................... 155
10.3 - Parâmetros de Configuração Utilizados .......................................................................... 155
10.4 - Parâmetros de PLC utilizados......................................................................................... 155
10.5 - Tabela de Endereços da estrutura de dados e comandos: .............................................. 156
10.6 - Estrutura de Dados e Comandos ( PLC → CNC ) ........................................................... 157
10.6.1 - Eixo associado (EIXOASS)...................................................................................... 159
10.6.2 - Tipo do MCScame (TPMCSCAME) ......................................................................... 159
10.6.3 - Deslocamento entre Came Eixo e MCScame (OFFSET) ......................................... 159
10.6.4 - Posição para acoplar ao MCScame (POSACOP) .................................................... 159
10.6.5 - Posição para desacoplar do MCScame (POSDESACOP) ....................................... 159
10.6.6 - Posição para validar a tabela auxiliar de vínculos (POSTABAUX_OK) .................... 159
10.6.7 - Número da fotocélula (NUMFOTO) ......................................................................... 159
10.6.8 - Número de vínculos do eixo (NUMVINC)................................................................. 159
10.6.9 - Sentido dos vínculos (SENTVINC) .......................................................................... 159
10.6.10 - Valor do recuo (RECUO) ....................................................................................... 160
10.6.11 - Faixa de recuo (DELTA_REC) ............................................................................... 160
10.6.12 - Modo Skip (SKIP) .................................................................................................. 160
10.6.13 - Vínculo complexo associado (VINCPLX) ............................................................... 160
10.6.14 - Ângulo inicial do vínculo (ANG_INI_n) ................................................................... 160
10.6.15 - Ângulo final do vínculo (ANG_FIM_n) ................................................................... 160
10.6.16 - Comprimento do vínculo (COMPR_VINC_n) ......................................................... 160
10.6.17 - Zona de transição para cruzeiro (ZONATRANS).................................................... 160
Acoplar imediato (ACOPIME) ............................................................................................... 160
10
Manual do PLC
V1.00
10.6.18 - Acoplar após posição (ACOPPOS) ........................................................................ 161
10.6.19 - Desacoplar imediato (DESACOPIME) ................................................................... 161
10.6.20 - Desacoplar após posição (DESACOPPOS) ........................................................... 161
10.6.21 - Habilitar vínculo n (HABVINC_n) ........................................................................... 161
10.6.22 - Validar tabela auxiliar no 1º. vínculo (VALTAB_VINC1) ......................................... 161
10.6.23 - Validar tabela auxiliar no próximo vínculo (VALTAB_PVINC) ................................ 161
10.6.24 - Validar tabela auxiliar após posição (VALTAB_POS) ............................................. 161
10.6.25 - Validar tabela auxiliar imediatamente (VALTAB_IME) ........................................... 161
10.6.26 - Programar tabelas auxiliares (PROGVINC) ........................................................... 161
10.6.27 - Habilita recuo (RECUAR)....................................................................................... 161
10.6.28 - Reprograma vínculo usando compensação (COMP_VINC) ................................... 162
10.6.29 - Acoplar came após transição da foto-célula (ACOPFOTO) .................................... 163
11 - Came Eixo Auxiliar ................................................................................................................ 164
11.1 - Estrutura de Status (CNC → PLC) .................................................................................. 165
11.1.1 - Tabela auxiliar programada (TAB_AUX_OK) ........................................................... 165
11.1.2 - abela principal programada (TAB_PRI_OK)............................................................. 165
11.1.3 - Came dentro do vínculo n (VINC_n_IN) ................................................................... 165
11.1.4 - Aguardando recuo (WAIT_R)................................................................................... 166
11.1.5 - Recuando (RECUANDO) ......................................................................................... 166
11.1.6 - Recuado (RECUOU) ................................................................................................ 166
11.1.7 - Aguardando para compensar recuo (WT_COMP_REC)........................................... 166
11.1.8 - Compensando recuo (COMP_REC)......................................................................... 166
12 - Serviço do Came dos Eixos – Vínculos Complexos ............................................................... 167
12.1 - Descrição geral ............................................................................................................... 167
12.2 - Tipos de dados ............................................................................................................... 167
12.3 - Parâmetros de Configuração Utilizados .......................................................................... 167
12.4 - Parâmetros de PLC utilizados ......................................................................................... 167
12.5 - Estrutura de Dados e Comandos ( PLC → CNC ) ........................................................... 167
12.5.1 - Número de vínculos complexos (NUMCPLX) ........................................................... 168
12.5.2 - Número de segmentos do vínculo (NUMSEGCPX) .................................................. 168
12.5.3 - Comprimento do segmento n (LENSEG_n) ............................................................. 168
12.5.4 - Programar vínculo complexo (PROG_VINC) ........................................................... 168
12.6 - Estrutura de Status (CNC → PLC) .................................................................................. 168
12.6.1 - Vínculo programado (VINC_PROG)......................................................................... 169
13 - Serviço de teclado (Proteo/Mini) ............................................................................................ 170
13.1 - Descrição geral ............................................................................................................... 170
13.2 - Tipos de dados ............................................................................................................... 170
13.3 - Parâmetros de Configuração Utilizados .......................................................................... 170
13.4 - Parâmetros de PLC utilizados ......................................................................................... 170
13.5 - Estrutura de Dados (CNC → PLC) .................................................................................. 170
13.5.1 - Código QxRL remoto (CODE_EXT) ......................................................................... 172
11
Manual do PLC
V1.00
13.5.2 - Caracter correspondente à tecla (CODE)................................................................. 172
13.5.3 - Estado shift acionado (SHIFT) ................................................................................. 172
13.5.4 - Estado control acionado (CTRL) .............................................................................. 172
13.5.5 - Tecla pressionada (PRESS/RELEASE) ................................................................... 172
Flag de leitura do PLC (PC).................................................................................................. 172
13.5.6 - Mapa de estados ..................................................................................................... 172
Mapa de estados de transição .............................................................................................. 173
14 - Serviços de teclado (PROTEO) ............................................................................................. 174
14.1 - Estrutura de Dados (PLC → CNC) .................................................................................. 174
14.1.1 - Nova tecla para CNC (NEW_KEY) .......................................................................... 174
14.1.2 - Filtro de teclas para PLC (KEY_FILTER) ................................................................. 174
14.1.3 - Requisição de novo estado de softkey pelo PLC (SFK_STATREQ) ......................... 174
14.1.4 - Filtro de estados da softkey pelo PLC (STAT_FILTER) ........................................... 174
14.1.5 - Altera memória das softkeys (CHG_SFK_MEM)...................................................... 174
14.1.6 - Código de tecla (KEYCODE) ................................................................................... 174
14.1.7 - Nova requisição de status das softkeys Horizontais (SFREQ_H_STT) .................... 175
14.1.8 - Nova requisição de status das softkeys Verticais (SFREQ_V_STT) ......................... 175
14.1.9 - Mapa de 32 bits correspondentes às softkeys desabilitadas (SFK_DISABLE) .......... 175
14.1.10 - Mapa de 32 bits correspondentes à memória das softkeys (SFK_MEMORY)......... 175
14.2 - Estrutura de Status (CNC → PLC) .................................................................................. 176
14.2.1 - Nova tecla para o PLC (NEWKEY) .......................................................................... 176
14.2.2 - Requisição de novo estado de softkey para PLC (SFK_REQ) ................................. 176
14.2.3 - Código de tecla (KEYCODE) ................................................................................... 176
14.2.4 - Requisição de novo estado de softkeys Horizontais (SFK_REQ_H)......................... 176
14.2.5 - Requisição de novo estado de softkeys Verticais (SFK_REQ_V) ............................. 177
14.2.6 - Estado corrente das softkeys Horizontais (SFK_STT_H) ......................................... 177
14.2.7 - Estado corrente das softkeys Verticais (SFK_STT_V) ............................................. 177
14.2.8 - Máscara de 32 bits de habilitação para softkeys (SFK_EN_MSK) ............................ 177
14.2.9 - Máscara de 32 bits de memória para softkeys (SFK_MEM_MASK) ......................... 177
14.2.10 - Memória de 32 bits das softkeys (SFK_MEM) ....................................................... 177
15 - Serviço de display LCD ......................................................................................................... 178
15.1 - Descrição geral............................................................................................................... 178
15.2 - Tipos de dados ............................................................................................................... 178
15.3 - Parâmetros de Configuração Utilizados .......................................................................... 178
15.4 - Parâmetros de PLC utilizados......................................................................................... 178
15.5 - Estrutura de Dados (CNC → PLC) .................................................................................. 178
15.5.1 - Disposição dos caracteres no display ...................................................................... 179
15.6 - Acesso ao display ........................................................................................................... 179
16 - Serviço de Movimento Manual .............................................................................................. 180
16.1 - Descrição geral............................................................................................................... 180
16.2 - Tipos de dados ............................................................................................................... 180
12
Manual do PLC
V1.00
16.3 - Parâmetros de Configuração Utilizados .......................................................................... 180
16.4 - Estrutura de Dados e Comandos (PLC → CNC) ............................................................. 181
16.4.1 - Movimento dos eixos nos sentidos positivo e negativo (EnP/EnN) ........................... 182
16.4.2 - Movimento manual incremental/independente do eixo n (MMAINn/MOVINn) .......... 182
16.4.3 - Posição ou incremento para movimento jog/eixo (POSMJn).................................... 183
16.4.4 - Procedimentos movimento manual .......................................................................... 183
16.5 - Estrutura de Status (CNC → PLC) .................................................................................. 184
16.5.1 - Em movimento (INMOVE) ....................................................................................... 184
16.5.2 - Fins de curso (FC_POS/FC_NEG)........................................................................... 184
16.5.3 - Cota além do fim de curso (OUT_FC_POS/OUT_FC_NEG) .................................... 184
17 - Serviço de busca de referência .............................................................................................. 185
17.1 - Descrição geral ............................................................................................................... 185
17.2 - Tipos de dados ............................................................................................................... 185
17.3 - Parâmetros de Configuração Utilizados .......................................................................... 185
17.4 - Parâmetros de PLC utilizados ......................................................................................... 185
17.5 - Estrutura de Dados e Comandos (PLC → CNC) ............................................................. 186
17.5.1 - Chave de referência do eixo n (CHREFn) ................................................................ 187
17.5.2 - Bloqueio de referência do eixo n (BLOQRn) ............................................................ 187
17.5.3 - Posicionar na marca de referência do eixo n (POMARn) ......................................... 187
17.5.4 - Não reverte movimento (NOREV8) ......................................................................... 187
17.5.5 - Eixo para buscar referência (AXISREF) ................................................................... 187
17.6 - Estrutura de Status (CNC → PLC) .................................................................................. 188
17.6.1 - Inicialização para a referência do eixo (INIREF) ...................................................... 188
17.6.2 - Esperando start para a referência do eixo (STARREF) ............................................ 188
17.6.3 - Aguardando fechar chave de busca de referência do eixo (AFCBRF) ...................... 188
17.6.4 - Aguardando abrir chave de busca de referência do eixo (AACBRF) ........................ 188
17.6.5 - Aguardando marca de referência do eixo (AMRBRF) .............................................. 188
17.6.6 - Atualizando referência do eixo (ATREFF) ................................................................ 189
17.6.7 - Posicionando na referência do eixo (POSREF)........................................................ 189
17.6.8 - Referência em pausa (PAUSRF) ............................................................................. 189
17.6.9 - Referência parada (STOPRF).................................................................................. 189
17.6.10 - Falha na referência do eixo (FALHRF)................................................................... 189
17.6.11 - Referência eixo ok (REFOKF) ............................................................................... 189
17.6.12 - Emergência na referência do eixo (EMERRF) ....................................................... 189
17.7 - Descrição do funcionamento ........................................................................................... 190
17.7.1 - Busca com chave de fim de curso ........................................................................... 190
17.7.2 - Busca sem chave de fim de curso ........................................................................... 190
17.7.3 - Procedimentos Busca de referencia ......................................................................... 190
18 - Serviços/Funções MST .......................................................................................................... 191
18.1 - Estrutura de Controle (PLC → CNC) .............................................................................. 191
18.1.1 - Funções M requisitadas quitadas pelo PLC (MCODE_OK) ...................................... 191
13
Manual do PLC
V1.00
18.1.2 - Função S quitada pelo PLC (SPINDLE_OK) ............................................................ 191
18.1.3 - Função T quitada pelo PLC (TOOL_OK) ................................................................. 191
18.2 - Estrutura de Controle (CNC → PLC).............................................................................. 192
18.2.1 - Requisição de funções M para o PLC (MCODE_REQ) ............................................ 192
18.2.2 - Requisição de função S para o PLC (SPIND_REQ) ................................................. 192
18.2.3 - Requisição de função T para o PLC (TOOL_REQ) .................................................. 192
18.3 - Funções M...................................................................................................................... 192
18.3.1 - Matriz para funções-miscelânia auxiliares (MCODE_n) ........................................... 193
18.3.2 - Bits decodificados do código M (MCODE_BITS_0 e MCODE_BITS_1) ................... 193
18.4 - Funções S ...................................................................................................................... 193
18.4.1 - Código S (SCODE).................................................................................................. 193
18.5 - Funções T ...................................................................................................................... 193
18.5.1 - Código T (TCODE) .................................................................................................. 193
18.6 - Funções S (eixo árvore auxiliar) .................................................................................... 193
19 - Serviço de Mensagens / Alarmes........................................................................................... 194
19.1 - Estrutura de Dados (PLC → CNC) .................................................................................. 194
19.1.1 - Códigos de alarme (ALARME_nn) ........................................................................... 194
19.1.2 - Status de Erro (STT_ERRO) .................................................................................. 194
Mensagens (MSG_nX) ......................................................................................................... 194
20 - Geral S (spindle).................................................................................................................... 195
20.1 - Parâmetros de Configuração Utilizados .......................................................................... 195
20.2 - Variáveis do PLC............................................................................................................ 195
20.3 - Procedimento p/ Configuração do GeralS ....................................................................... 196
20.4 - Estrutura de Dados e Comandos(PLC → CNC) .............................................................. 197
20.4.1 - Eixo associado (AXIS) ............................................................................................. 197
20.4.2 - Velocidade de jogging M3/M4 (JOG_RPM) ............................................................. 197
20.4.3 - Rotação máxima na gama selecionada (GAMA_MAX) ............................................ 197
20.4.4 - Valor a ser programado nas variáveis de programa (PROG) ................................... 198
20.4.5 - Bit M19 (Parada Indexada) ...................................................................................... 198
20.4.6 - Bit Ref ..................................................................................................................... 198
20.4.7 - Bit M119 (Eixo Controlado)...................................................................................... 198
20.5 - Estrutura de Status (CNC → PLC) .................................................................................. 199
20.5.1 - Erro de referência no M19 (REF_ERROR) .............................................................. 199
20.5.2 - S em movimento (IN_MOVE) .................................................................................. 199
20.5.3 - S dentro da janela (IN_WINDOW) ........................................................................... 199
20.5.4 - Velocidade do eixo árvore (S_REAL) ...................................................................... 199
21 - Serviço de temperatura ......................................................................................................... 200
21.1 - Descrição geral............................................................................................................... 200
21.2 - Tipos de dados ............................................................................................................... 200
21.3 - Parâmetros de Configuração Utilizados .......................................................................... 200
21.4 - Parâmetros de PLC utilizados......................................................................................... 200
14
Manual do PLC
V1.00
21.5 - Estrutura de Dados e Comandos ( PLC → CNC ) ........................................................... 201
21.5.1 - Habilitações dos Canais........................................................................................... 201
21.5.2 - Zona de controle do PID (TEMP_ZONE) ................................................................. 202
21.5.3 - Zona de controle do fator integrador do PID (ZONA_INTEGRADOR) ...................... 202
21.5.4 - Fatores Ki, Kd e Kp para canal n (FATOR_Kx) ........................................................ 202
21.5.5 - Potência para desumidificação (DESUM_PWR) ...................................................... 202
21.5.6 - Set point (SETPOINT) ............................................................................................. 202
21.5.7 - Constante K1 para calculo de off Set (K1) ............................................................... 202
21.5.8 - Constante K2 de conversão para graus Celsius(K2)................................................. 202
21.5.9 - Constante K3 para cálculo da temperatura da placa(k3) .......................................... 202
21.5.10 - Programa canal (PROGRAMAR) ........................................................................... 203
21.5.11 - Modo Range (RANGE) ......................................................................................... 203
21.5.12 - Atualiza dados de status (REFRESH) .................................................................... 203
21.5.13 - Salvar parâmetros no módulo (STORE)................................................................. 203
21.5.14 - Lê parâmetros no módulo (LOAD) ......................................................................... 203
21.5.15 - Habilita ou desabilita as saídas do modulo(HABILITA) ........................................... 203
21.5.16 - Calculo Off Set (CALC_OFFSET) .......................................................................... 203
21.6 - Estrutura de Status (CNC → PLC) .................................................................................. 204
21.6.1 - Termopar aberto (OPEN_TRM) ............................................................................... 205
21.6.2 - Canais Habilitados (EN_CHANNEL) ........................................................................ 205
21.6.3 - Porcentagem de potência de saída do canal atual (PROP_PWR + m)..................... 205
21.6.4 - Canal n da faixa de leitura de temperaturas (CHANN_N+m).................................... 205
21.6.5 - Canal selecionado atual (CURR_CHAN).................................................................. 205
21.6.6 - Dados sendo atualizados (WAIT) ............................................................................. 205
21.6.7 - Dados prontos (READY) .......................................................................................... 205
21.6.8 - Indicação de Falha (FAIL)........................................................................................ 205
21.6.9 - Gravando dados na Flash (GRAVANDO) ................................................................ 205
21.6.10 - Gravação efetuada com sucesso (GRAVACAO_OK) ............................................. 206
22 - LEDs do Terminal .................................................................................................................. 206
22.1 - Descrição geral ............................................................................................................... 206
22.1.1 - Estado dos LEDs: .................................................................................................... 206
23 - Serviço de Leitura e Escrita de Parâmetros de Drive ............................................................. 207
23.1 - Descrição geral ............................................................................................................... 207
23.2 - Tipos de dados ............................................................................................................... 207
23.3 - Parâmetros de Configuração Utilizados .......................................................................... 207
23.4 - Parâmetros de PLC utilizados ......................................................................................... 207
23.5 - Estrutura de Dados e Comandos ( PLC → CNC ) ........................................................... 208
23.5.1 - Número do Parâmetro (PAR_ADRESS)................................................................... 208
23.5.2 - Endereço CAN do Driver (DRIVER_ADRESS)......................................................... 208
23.5.3 - Canal de Resposta (RETURN_CHANNEL) .............................................................. 208
23.5.4 - Taxa de Atualização (REFRESH_RATE) ................................................................. 208
15
Manual do PLC
V1.00
23.5.5 - Valor para o Parâmetro (WRITE_VALUE) ............................................................... 208
23.5.6 - Escreve Dado (WRITE_PAR) .................................................................................. 209
23.5.7 - Lê Dado (READ_PAR) ............................................................................................ 209
23.6 - Estrutura de Status (CNC → PLC) .................................................................................. 210
23.6.1 - Dados sendo atualizados (WAITn)........................................................................... 210
23.6.2 - Dados prontos (READYn) ....................................................................................... 210
23.6.3 - Endereço do Driver (DRIVER_ADRESSn) ............................................................... 210
23.6.4 - Número do Parâmetro (PAR_ADRESSn) ................................................................ 211
23.6.5 - Valor do Parâmetro (PAR_VALUEn)........................................................................ 211
24 - Serviço de Acoplamento entre Eixos ..................................................................................... 212
24.1 - Descrição geral............................................................................................................... 212
24.2 - Tipos de dados ............................................................................................................... 212
24.3 - Parâmetros de Configuração Utilizados .......................................................................... 212
24.4 - Parâmetros de PLC utilizados......................................................................................... 212
24.5 - Estrutura de Dados e Comandos ( PLC → CNC ) ........................................................... 213
24.5.1 - Número do Eixo Mestre (EIXO_MESTRE) ............................................................... 213
24.5.2 - Número do Eixo Escravo (EIXO_ESCRAVO) .......................................................... 213
24.5.3 - Fator de Acoplamento (FAT_ACOP) ....................................................................... 213
24.5.4 - Acopla eixos (ACOPLA) ......................................................................................... 213
24.5.5 - Descopla eixos (DESACOPLA) ............................................................................... 214
24.5.6 - Acopla eixo ao Ponto Real (ACOP_REAL) .............................................................. 214
24.5.7 - Ângulo Tangente à trajetória (ANG_TAN) ................................................................ 214
24.5.8 - Incremento no acoplamento (INCR) ........................................................................ 214
24.6 - Estrutura de Status (CNC → PLC) .................................................................................. 215
24.6.1 - Serviço Iniciado (INIT) ............................................................................................. 215
24.6.2 - Serviço Habilitado (OPEN) ...................................................................................... 215
24.6.3 - Falha (FAIL) ............................................................................................................ 215
24.6.4 - Emergência (EMERGENCY) ................................................................................... 215
24.6.5 - Eixo NAcop ............................................................................................................. 215
24.6.6 - Falha do Serviço (SERV_FAIL) ............................................................................... 215
27 - Serviço de Tempo Real (RTC)............................................................................................... 216
27.1 - Descrição geral............................................................................................................... 216
27.2 - Tipos de dados ............................................................................................................... 216
27.3 - Parâmetros de Configuração Utilizados .......................................................................... 216
27.4 - Parâmetros de PLC utilizados......................................................................................... 216
27.5 - Estrutura de Dados e Comandos ( PLC → CNC ) ........................................................... 217
27.5.1 - Segundos (WSECONDS) ........................................................................................ 217
27.5.2 - Minutos (WMINUTS) ............................................................................................... 217
27.5.3 - Horas (WHOURS) ................................................................................................... 217
27.5.4 - Dia da Semana (WWEEKDAY) (1 a 07) .................................................................. 217
27.5.5 - Dia do Mês (WDATE) (1 a 31) ................................................................................ 218
16
Manual do PLC
V1.00
27.5.6 - Mês (WMONTH) ...................................................................................................... 218
27.5.7 - Ano (WYEAR) ......................................................................................................... 218
27.5.8 - Atualiza Data (READ_DATE) ................................................................................... 218
27.5.9 - Memoriza Nova Data (WRITE_DATE) ..................................................................... 218
27.5.10 - Mod 12-24/AM-PM (MODE12-24) .......................................................................... 218
27.5.11 - State AM-PM ......................................................................................................... 218
27.6 - Estrutura de Status (CNC → PLC) .................................................................................. 219
Serviço Iniciado (INIT) .......................................................................................................... 219
27.6.1 - Serviço Habilitado (OPEN) ...................................................................................... 219
27.6.2 - Falha (FAIL) ............................................................................................................ 219
27.6.3 - Bateria Fraca (BAT_LOW)....................................................................................... 219
27.6.4 - Estado AM-PM (/AM-PM) ........................................................................................ 220
27.6.5 - Segundos (SECONDS) ............................................................................................ 220
27.6.6 - Minutos (MINUTS) ................................................................................................... 220
27.6.7 - Horas (HOURS) ....................................................................................................... 220
27.6.8 - Dia da Semana (WEEKDAY) ................................................................................... 220
27.6.9 - Dia do Mês (DATE).................................................................................................. 220
27.6.10 - Mês (MONTH) ....................................................................................................... 220
27.6.11 - Ano (YEAR) ........................................................................................................... 220
28 - Serviço de Encoder Digital ..................................................................................................... 221
28.1 - Descrição geral ............................................................................................................... 221
28.2 - Tipos de dados ............................................................................................................... 221
28.3 - Parâmetros de Configuração Utilizados .......................................................................... 221
28.4 - Parâmetros de PLC utilizados ......................................................................................... 221
28.5 - Estrutura de Dados e Comandos ( PLC → CNC ) ........................................................... 222
28.5.1 - MasK_Encoder1, MasK_Encoder2, MasK_Encoder3 e MasK_Encoder4 ................ 222
28.5.2 - End_Modulo ............................................................................................................ 222
28.5.3 - Send_Mask .............................................................................................................. 222
28.6 - Estrutura de Status (CNC → PLC) .................................................................................. 223
28.6.1 - Serviço Iniciado (INIT) ............................................................................................. 223
28.6.2 - Serviço Habilitado (OPEN) ...................................................................................... 223
28.6.3 - Falha (FAIL) ............................................................................................................ 223
28.6.4 - Valor_Encoder1, Valor_Encoder2, Valor_Encoder3 e Valor_Encoder4 .................... 223
29 - Serviço de comunicação MODBUS ....................................................................................... 225
29.1 - Descrição geral ............................................................................................................... 225
29.2 - Tipos de dados ............................................................................................................... 225
29.3 - Parâmetros de Configuração Utilizados .......................................................................... 225
29.4 - Parâmetros de PLC utilizados ......................................................................................... 225
29.5 - Parâmetros para Drive SV-LG5A. .................................................................................. 225
29.6 - Estrutura de Dados e Comandos ( PLC → CNC ) ........................................................... 227
29.6.1 - ModID :.................................................................................................................... 227
17
Manual do PLC
V1.00
29.6.2 - FunctionID: .............................................................................................................. 227
29.6.3 - AddressReg: ............................................................................................................ 227
29.6.4 - RegValue: ............................................................................................................... 228
29.6.5 - NumBits: ................................................................................................................. 228
29.6.6 - MemSeqBytes: ........................................................................................................ 228
29.6.7 - NumReg: ................................................................................................................. 228
29.6.8 - SENDMSG: ............................................................................................................. 228
29.6.9 - REG: ....................................................................................................................... 228
29.7 - Estrutura de Status (CNC → PLC) .................................................................................. 229
29.7.1 - INIT: ........................................................................................................................ 229
29.7.2 - OPEN: ..................................................................................................................... 229
29.7.3 - FAIL: ....................................................................................................................... 229
29.7.4 - SENDMSG: ............................................................................................................. 229
29.7.5 - WAIT: ...................................................................................................................... 229
29.7.6 - FINISH: ................................................................................................................... 230
29.7.7 - TEST_HDW: ........................................................................................................... 230
29.7.8 - RegValueHI: ............................................................................................................ 230
29.7.9 - RegValueLO: ........................................................................................................... 230
29.8 - Exemplos ....................................................................................................................... 230
29.8.1 - Leitura de Registrador MODBUS: ............................................................................ 230
29.8.2 - Escrita de Registrador MODBUS (Memória do PLC): ............................................. 232
30 - Serviço de comunicação CANBUS ........................................................................................ 234
30.1 - Descrição geral............................................................................................................... 234
30.2 - Tipos de dados ............................................................................................................... 234
30.3 - Parâmetros de Configuração Utilizados .......................................................................... 234
30.4 - Parâmetros de PLC utilizados......................................................................................... 234
30.5 - Estrutura de Dados e Comandos ( PLC → CNC ) ........................................................... 235
30.5.1 - Endereço: ................................................................................................................ 235
30.5.2 - Ìndice: ..................................................................................................................... 235
30.5.3 - SubIndice: ............................................................................................................... 235
30.5.4 - ValorRegistrador:..................................................................................................... 236
30.5.5 - NumeroBytes:.......................................................................................................... 236
30.5.6 - WRITE: ................................................................................................................... 236
30.5.7 - READ: ..................................................................................................................... 236
30.6 - Estrutura de Status (CNC → PLC) .................................................................................. 236
30.6.1 - INIT: ........................................................................................................................ 236
30.6.2 - OPEN: ..................................................................................................................... 237
30.6.3 - FAIL: ....................................................................................................................... 237
30.6.4 - SENDMSG: ............................................................................................................. 237
30.6.5 - WAIT: ...................................................................................................................... 237
30.6.6 - FINISH: ................................................................................................................... 237
18
Manual do PLC
V1.00
30.6.7 - ReadValorObjeto: .................................................................................................... 237
31 - Modo Manual – Objeto de Tela (Proteo) ............................................................................... 238
31.1 - Descrição geral ............................................................................................................... 238
31.2 - Tipos de dados ............................................................................................................... 238
31.3 - Parâmetros de Configuração Utilizados .......................................................................... 238
31.4 - Parâmetros de PLC utilizados ......................................................................................... 238
31.5 - Estrutura de Dados e Comandos ( PLC → CNC ) ........................................................... 238
31.6 - Estrutura de Status ( CNC → PLC ) ................................................................................ 238
31.6.1 - Modo Incremental (INC).......................................................................................... 239
31.6.2 - Modo Manivela (MANIV) ......................................................................................... 239
32 - Manivela ................................................................................................................................ 240
32.1 - Descrição geral ............................................................................................................... 240
32.2 - Tipos de dados ............................................................................................................... 240
32.3 - Parâmetros de Configuração Utilizados .......................................................................... 240
32.4 - Parâmetros de PLC utilizados ......................................................................................... 241
32.5 - Estrutura de Dados e Comandos ( PLC → CNC ) ........................................................... 242
32.5.1 - Modo Posição (MODPOS) ....................................................................................... 242
32.5.2 - Modo Limite Superior e Inferior (MODLIMSUP e MODLIMINF)................................ 242
32.5.3 - EIXO........................................................................................................................ 242
32.5.4 - ESCALA .................................................................................................................. 243
32.5.5 - Velocidade Máxima (VEL_MAX) .............................................................................. 243
32.5.6 - PULSOS .................................................................................................................. 243
32.6 - Estrutura de Status ( CNC → PLC ) ................................................................................ 244
33 - PLC RÁPIDO ......................................................................................................................... 245
33.1 - Descrição geral ............................................................................................................... 245
33.2 - Parâmetros de Configuração .......................................................................................... 245
33.3 - Memórias do PLC ........................................................................................................... 245
34 - Erro de Acompanhamento (LAG) ........................................................................................... 246
34.1 - Descrição geral ............................................................................................................... 246
34.2 - Parâmetros de Configuração .......................................................................................... 246
34.3 - Bits de Comando (PLC -> CNC) .................................................................................... 246
Bits de Status (CNC -> PLC).................................................................................................... 246
35 - Serviço de Transferência de Dados entre CNCs .................................................................... 247
35.1 - Descrição geral ............................................................................................................... 247
35.2 - Parâmetros de Configuração utilizados ........................................................................... 247
35.3 - Parâmetros de PLC utilizados ......................................................................................... 247
35.4 - Estrutura de Dados e Comandos ( PLC → CNC ) ........................................................... 248
35.4.1 - Bits de Comando ..................................................................................................... 249
35.4.2 - TEMPO ................................................................................................................... 249
35.5 - Estrutura de Status ( CNC → PLC ) ................................................................................ 250
35.1 - Exemplo ......................................................................................................................... 251
19
Manual do PLC
V1.00
36 - Serviço Específico da CM (Lentes) ........................................................................................ 253
36.1 - Descrição geral............................................................................................................... 253
36.2 - Parâmetros de Configuração Utilizados .......................................................................... 253
36.3 - Parâmetros de PLC utilizados......................................................................................... 253
36.4 - Estrutura de Dados e Comandos ( PLC → CNC ) ........................................................... 254
36.5 - Estrutura de Status ( CNC → PLC ) ................................................................................ 254
36.6 - Dados da Ordem de Serviço (resposta do protocolo @Z) .............................................. 255
37 - Serviço de Comunicação Serial CNC <=> Periférico Genérico .............................................. 256
37.1 - Descrição geral............................................................................................................... 256
37.2 - Parâmetros de Configuração utilizados........................................................................... 256
37.3 - Estrutura de Dados e Comandos ( CNC  PERIFÉRICO ) ............................................ 256
38 - Função Atômica .................................................................................................................... 260
38.1 - Estrutura da Função Atômica ......................................................................................... 260
38.2 - Blocos de Função Atômica ................................................................................................. 260
39- ESTRUTURAS ....................................................................................................................... 262
39.1 - CNC_AXES .................................................................................................................... 262
CNC_AXIS_ID ...................................................................................................................... 262
CNC_COORDINATE_MODE ............................................................................................... 263
39.2 - CNC_SET_ORIGIN_OFFSETS ...................................................................................... 263
Origem (zero) absoluta ......................................................................................................... 263
Origem (zero) incremental .................................................................................................... 263
39.3 - CNC_SELECT_PLANE .................................................................................................. 264
39.4 - CNC_SET_FEED_RATE ................................................................................................ 264
39.5 - CNC_STRAIGHT_TRAVERSE ....................................................................................... 264
39.6 - CNC_STRAIGHT_FEED ................................................................................................ 264
39.7 - CNC_ARC_FEED ........................................................................................................... 265
39.8 - CNC_THREAD_CUTTING ............................................................................................. 265
40 - TIPOS DE FUNÇÃO ATÔMICA ............................................................................................. 266
40.1 - SET_ORIGIN_OFFSETS ............................................................................................... 266
40.2 - SELECT_ORIGIN_OFFSETS......................................................................................... 266
40.3 - SELECT_PLANE ............................................................................................................ 267
40.4 - FEED_RATE .................................................................................................................. 267
40.5 - STRAIT_TRAVERSE ..................................................................................................... 267
40.6 - STRAIT_TRAVERSE_POLAR ........................................................................................ 268
40.7 - STRAIT_FEED ............................................................................................................... 268
40.8 - STRAIT_FEED_POLAR ................................................................................................. 268
40.9 - ARC_CENTER ............................................................................................................... 269
40.10 - ARC_FEED .................................................................................................................. 269
40.11 - ARC_FEED_POLAR .................................................................................................... 270
40.12 - THREAD_CUTTING ..................................................................................................... 270
40.13 - THREAD_CUTTING_POLAR ....................................................................................... 270
20
Manual do PLC
V1.00
40.14 - Tabela Resumida .......................................................................................................... 271
41 - EXEMPLOS DE USO ............................................................................................................ 272
41.1 - Interpolação linear de 3 eixos ......................................................................................... 272
41.2 - Interpolação circular de 2 eixos....................................................................................... 273
42 - Apêndice................................................................................................................................ 274
42.1 - Memórias Gerais do PLC ................................................................................................ 275
42.2 - BITS PULSADOS DE EVENTOS.................................................................................... 278
42.3 - Códigos de Emergência - Proteo Mini ........................................................................... 279
43 - Código de Teclas ................................................................................................................... 280
44 – Variáveis Reservadas ........................................................................................................... 293
45 – Novas instruções................................................................................................................... 293
46 - Códigos de Erro ..................................................................................................................... 296
21
46.1
Códigos de Alarme ....................................................................................................... 329
46.2
Códigos de Warning ..................................................................................................... 330
46.3
Códigos de Emergência ............................................................................................... 331
Manual do PLC
V1.00
1 - INFORMAÇÕES GERAIS
1.1 - MEMÓRIA DE TRABALHO
Extensão
Memórias byte
Memórias word
Memórias bit
Temporizadores
Parâmetros bit
Parâmetros word
:
:
:
:
:
:
:
2000 bytes
2000 bytes
1000 words
2000x8 bits
16 ou 80 bytes
16 ou 2 bytes
16 ou 32 bytes
1.2 - FORMATO GERAL DAS INSTRUÇÕES
1.2.1 - Operações lógicas
rótulo:
operação
operando
endereço
;comentário
LIB1:
A
Q
2.3
;AND acumulador com saída
;grupo 2 bit 3
1.2.2 - Desvios de execução
rótulo:
operação
endereço
;comentário
LIB1:
JZ
RÓTULO
;salta para o rótulo se condição satisfeita
CALL
MW
ou
LIB1:
INDROT
;executa sub-rotina se condição satisfeita
1.2.3 - Operações diretas
rótulo:
operação
;comentário
LIB1:
RET
;retorno de sub-rotina
22
Manual do PLC
1.3 – TIPOS DE OPERAÇÃO
L
LN
A
AN
O
ON
XO
XON
SL
RL
S
R
SN
RN
SF
RF
=
==
=N
=N
A(
O(
)
CP
ADD
SUB
SHL
SHR
TELA
J
JZ
JNZ
JP
JM
JT
EN
ADR
CALL
CALLZ
DCALL
CALLT
RET
MULT
DIV
INC
DEC
END
ENDC
EU
ED
EDG
AZ
ANZ
AP
AM
OZ
ONZ
OP
OM
23
"Carrega acumulador",
"Carrega acumulador com o complemento",
"Logica E ( and )",
"Logica E negada ( nand )",
"Logica OU ( or )",
"Logica OU negada ( nor )",
"OU exclusivo ( xor )",
"OU exclusivo negado ( xnor )",
"Set lógico, liga bit indicado e energiza acumulador",
"Reset lógico, desliga bit indicado e energiza acumulador",
"Set lógico, liga bit indicado caso logica positiva (NZ)",
"Reset lógico, desliga bit indicado caso lógica positiva (NZ)",
"Set bit indicado se lógica Negativa (zero)",
"Reset bit indicado se lógica Negativa (zero)",
"Set bit incondicional",
"Reset bit incondicional",
"Atribui e energiza acumulador caso instrução de bit",
"Atribuição de bit (incondicional) e de byte/word (caso NZ)",
"Atribuição negada condicional (byte/word), não altera acumulador e flags",
"Atribuição negada de bit (incondicional)",
"Inicio de expressão com lógica E (and)",
"Inicio de expressão com lógica OU (or)",
"Final de expressão",
"Compara com o conteúdo do acumulador",
"Soma com o conteúdo do acumulador",
"Subtrai do conteúdo do acumulador",
"Shift para a esquerda com carry",
"Shift para a direita com carry",
"Instruções especiais para construção de telas",
"Desvio incondicional",
"Desvio caso resultado for zero (igual)",
"Desvio caso resultado nao zero (diferente)",
"Desvio caso resultado positivo (maior ou igual)",
"Desvio caso resultado negativo (menor)",
"JUMP Indexado via tabela de endereços, índice no acumulador",
"Energiza acumulador, zera carry",
"Carrega endereço do rótulo",
"Chama sub-rotina caso lógica anterior diferente de zero (NZ)",
"Chama sub-rotina caso lógica anterior for zero (Z)",
"Chamada incondicional de sub-rotina",
"CALL indexado via tabela de endereços, índice no acumulador",
"Final de sub-rotina",
"Multiplica com o conteúdo do acumulador",
"Divide conteúdo da memória indicada pelo conteúdo do acumulador (divisor)",
"Incrementa posição de memória (byte ou word)",
"Decrementa memória (byte ou word)",
"Encerra PLC",
"Indica fim de código para o compilador; início de tabelas de dados e textos",
"Detecta transição borda de subida (Edge Up) de resultado anterior ",
"Detecta transição borda de descida (Edge Down) de resultado anterior ",
"Detecta transição borda (EDGe up/down) de resultado anterior ",
"And Zero (testa se o acumulador e o parâmetro indicado são iguais)",
"And Não Zero (testa se o acumulador e o parâmetro indicado são diferentes)",
"And Positivo (testa se acumulador é maior ou igual ao parâmetro indicado)",
"And Menor (verifica se acumulador é menor que o parâmetro indicado)",
"Or Zero (verifica se o acumulador e o parâmetro indicado são iguais)",
"Or Não Zero (verifica se o acumulador e o parâmetro indicado são diferentes)",
"Or Positivo (verifica se acumulador é maior que o parâmetro indicado)",
"Or Menor (verifica se acumulador é menor que o parâmetro indicado)",
V1.00
Manual do PLC
LZ
LNZ
LP
LM
V1.00
“Testa igualdade entre o acumulador e o parâmetro indicado; se iguais carrega lógica
“1” no acumulador ",
“Testa desigualdade entre o acumulador e o parâmetro indicado; se diferentes carrega
lógica “1” no acumulador“,
“Testa se acumulador é maior que o parâmetro indicado; se maior ou igual carrega
lógica “1” no acumulador ",
“Testa se acumulador é menor que o parâmetro indicado; se menor carrega lógica “1”
no acumulador ",
1.4 - TIPOS DE OPERANDOS












I
Q
M
T
IB
QB
MB
MW
KB
KW
IMB
IMW
ENTRADA
SAÍDA
MEMÓRIA (bit)
TEMPORIZADOR
GRUPO DE 8 ENTRADAS (byte de entradas)
GRUPO DE 8 SAÍDAS (byte de saídas)
MEMÓRIA (byte)
MEMÓRIA (word)
CONSTANTE (byte)
CONSTANTE (word)
MEMÓRIA INDEXADA (byte)
MEMÓRIA INDEXADA (word)
1.5 - ENDEREÇOS OU PARÂMETROS






12345
1234H
01010B
1.2
12345
12345
NÚMERO DECIMAL (0 - 65535)
NÚMERO HEXADECIMAL (0 - 0FFFFH)
PADRÃO BINÁRIO (1 - 16 BITS)
ENDEREÇO GRUPO.BIT (0.0 - 1999.7)
ENDEREÇO BYTE (0 - 1999)
ENDEREÇO WORD (0 - 1998)
OBSERVAÇÕES:
No padrão hexadecimal é obrigatório que o primeiro algarismo do número seja um número decimal
(0 a 9). Por exemplo, o número hexadecimal C5H deve ser representado na forma 0C5H.
Rótulos podem ter no máximo 6 caracteres e não podem ser iniciados com algarismos.
24
Manual do PLC
V1.00
1.6 – ACUMULADOR (Acc)
DEFINIÇÃO:
É um registrador de 16 bits (posição de memória) ligado diretamente à CPU do MCSplc. O
Acumulador está envolvido em toda e qualquer operação lógica e aritmética. O resultado destas
operações é armazenado diretamente no Acumulador.
COMPOSIÇÃO DO ACUMULADOR
MS BYTE
B7 B6 B5 B4 B3 B2 B1 B0
BYTE MAIS SIGNIFICATIVO
UTILIZADO PARA OPERAÇÕES
DE WORD
BYTE MENOS SIGNIFICATIVO
UTILIZADO PARA OPERAÇÕES
DE BYTE, WORD E PARA LÓGICA
DE BITS
1.6.1 – Flags
DEFINIÇÃO
É um registrador que completa a função do Acumulador indicando as condições e estados do
resultado da última operação lógica ou aritmética.
Cada bit do registrador de Flags indica uma condição ou evento ocorrido na operação, como por
exemplo, em uma subtração se o resultado final é um número positivo ou negativo ou zero.
A principal função dos Flags está em instruções de decisão e desvio de fluxo do programa, onde o
resultado da operação determina decisões, ações e eventos na programação.
TABELA DO ESTADO DOS FLAGS
FLAG
ZERO
CARRY
SINAL
25
ESTADOS
Z = Zero
NZ = Não Zero
C = Carry
NC = Não Carry
P = Positivo
M = negativo
(Menor)
DESCRIÇÃO
OPERAÇÕES
Indica se o resultado da última operação é
Lógica de bit e
nulo
operações aritméticas
Indica transbordo na última operação
Operações aritméticas
Indica sinal (valor do bit mais significativo do Operações aritméticas
resultado da última operação)
Manual do PLC
V1.00
2 - DESCRIÇÃO DOS TIPOS DE OPERAÇÃO DAS INSTRUÇÕES DO PLC
2.1 - OPERAÇÕES COM BIT
2.1.1 - Carrega acumulador – Load
OPERANDOS:
I
Q
M
- ENTRADA
- SAÍDA
- MEMÓRIA
L
Operando
L
OPERAÇÃO:
Oper.bit
DESCRIÇÃO:
Transfere ao Acumulador o estado do bit do operando indicado na instrução e afeta o Flag Zero.
Esta operação transfere para o Acumulador o estado do bit (0 ou 1) de um determinado Operando
(I, Q e M). Se o estado for “1”, o Acumulador é carregado com o valor 0FFH. Se for “0”, o valor
carregado é 0. O Flag Zero também é afetado pela operação. Notar que o estado do Flag Zero é o
responsável pela operação lógica seguinte.
EQUIVALÊNCIA COM LÓGICA DE LADDER:
Esta operação equivale a um contato normal aberto no início do ramo de lógica em simbologia de
ladder.
TABELA DA VERDADE:
Valores do Operando
Operando.bit
0
1
Valores de Saída
Acc (valor atual)
000H
0FFH
Flag Zero
Estado
Z
NZ
EXEMPLO:
Em um programa de PLC preciso conhecer o conteúdo do bit 3 da Entrada 1 e posteriormente
poderei usá-lo em uma operação. Para isso basta realizar a operação “L”, como a seguir:
Operando: entrada I 1.3
Operação

L
I
1.3
Após a operação o Acumulador passa a ter o conteúdo do bit 3 da Entrada I1.
26
Manual do PLC
V1.00
2.1.2 - Carrega acumulador com status negado – Load Not
OPERANDOS:
I
Q
M
- ENTRADA
- SAÍDA
- MEMÓRIA
LN
Operando
LN
OPERAÇÃO:
Oper.bit
DESCRIÇÃO:
Transfere ao acumulador o complemento do valor do bit do operando indicado na instrução.
Esta operação transfere para o Acumulador o estado inverso do bit (0 ou 1) de um determinado
Operando (I, Q e M). Se o estado for “1”, o Acumulador é carregado com o valor 0. Se for “0”, o
valor carregado é 0FFH. O Flag Zero também é afetado pela operação. Notar que o estado do Flag
“ZERO” é o responsável pela operação lógica seguinte.
EQUIVALÊNCIA COM LÓGICA DE LADDER:
Esta operação equivale a um contato normal fechado no início do ramo de lógica em simbologia de
ladder.
TABELA DA VERDADE:
Valores do Operando
Operando.bit
0
1
Valores de Saída
Acc (valor atual)
0FFH
000H
Flag Zero
Estado
NZ
Z
EXEMPLO:
Em um programa de PLC preciso conhecer o complemento do conteúdo do bit 4 da Entrada 2 para
iniciar uma sequência lógica. Para isso basta realizar a operação “LN”, como a seguir:
Operando: entrada I 2.4
Operação

LN
I
2.4
Após a operação o Acumulador passa a ter o complemento do conteúdo do bit 4 da Entrada I2.
27
Manual do PLC
V1.00
2.1.3 - Operação lógica E – And
OPERANDOS:
A
I
Q
M
- ENTRADA
- SAÍDA
- MEMÓRIA
A
Operando
OPERAÇÃO:
Oper.bit
DESCRIÇÃO:
Realiza a operação lógica E (AND) entre o conteúdo anterior do Acumulador e Flag Zero e o
conteúdo do bit do Operando indicado na instrução. Caso o conteúdo anterior do Acumulador seja
"0", o resultado da operação será sempre "0", qualquer que seja o conteúdo do bit do Operando
indicado na instrução.
Esta operação é uma função E do valor de bit (0 ou 1) de um determinado Operando (I, Q e M) com
o Acumulador, sendo o resultado final armazenado no próprio Acumulador e no Flag Zero.
EQUIVALÊNCIA COM LÓGICA DE LADDER:
Corresponde a uma associação em série de um contato normal aberto numa linha de lógica de
ladder.
TABELA DA VERDADE:
Simbologia pelas Normas ABNT e ASA
Valores de Entrada Valores de Flag
da Operação
Saída
Zero
Oper.bit Acc (valor Acc (valor Estado
anterior)
atual)
0
1
0
1
000H
000H
000H
0FFH
0
0
1
1
Z
Z
Z
NZ
OBSERVAÇÃO:
Não deve ser utilizada no início de uma operação lógica. Neste caso utilizar a instrução L.
EXEMPLO:
Em um programa de PLC preciso realizar uma operação lógica entre duas entradas. A operaçào e
entre as entradas é realizada a seguir:
1.º Operando: entrada I 0.1
2.º Operando: entrada I 1.5
Operação

L
A
I
I
0.1
1.5
;Acc = I 0.1
;Função E (And) entre Acc e I 1.5
Após a operação o Acumulador passa a ter o conteúdo do resultado da associação lógica E entre
seu conteúdo anterior à operação (estado de I 0.1) e o conteúdo do bit 5 da Entrada I 1.
28
Manual do PLC
V1.00
2.1.4 - Operação lógica E NEGADO – And Not
OPERANDOS:
I
Q
M
- ENTRADA
- SAÍDA
- MEMÓRIA
AN
Operando
AN
OPERAÇÃO:
Oper.bit
DESCRIÇÃO:
Realiza a operação lógica E (AND) entre o conteúdo anterior do acumulador e o complemento do
conteúdo do bit do operando indicado na instrução. Caso o conteúdo anterior do acumulador seja
"0", o resultado da operação será sempre "0", qualquer que seja o valor do conteúdo do operando
indicado na instrução.
Esta operação é uma função E do estado inverso do bit (0 ou 1) de um determinado Operando (I, Q
e M) com o Acumulador, sendo o resultado final armazenado no próprio Acumulador e no Flag
Zero.
EQUIVALÊNCIA COM LÓGICA DE LADDER:
Corresponde a uma associação em série de um contato normal fechado numa linha de lógica de
ladder.
TABELA DA VERDADE:
Simbologia pelas Normas ABNT e ASA
Valores de Entrada da Operação Valores de Flag
(Operando e Complemento)
Saída
Zero
Oper.bit Complemento Acc (valor Acc (valor Estado
0
0
1
1
anterior)
atual)
0
1
0
1
000H
0FFH
000H
000H
1
1
0
0
Z
NZ
Z
Z
Acc
&
Oper.bit
Acc
Acc
1
Acc
Oper.bit
OBSERVAÇÃO:
Não deve ser utilizada no início de uma operação lógica. Neste caso utilizar a instrução L ou LN.
EXEMPLO:
Em um programa de PLC preciso realizar uma operação lógica E entre duas entradas, porém com o
estado inverso de uma delas:
1.º Operando: entrada I 1.7
2.º Operando: entrada I 1.6
Operação

L
AN
I
I
1.7
1.6
;Acc = I 1.7 ( prepara a operação)
;Função E Negada (And Not) entre Acc e o estado
;inverso de I 1.6
Após a operação o Acumulador passa a ter o conteúdo do resultado da associação lógica E entre
seu conteúdo anterior à operação (estado de I 1.7) e o estado inverso do bit 6 da Entrada I 1.
29
Manual do PLC
V1.00
2.1.5 - Operação lógica OU – Or
OPERANDOS:
I
Q
M
- ENTRADA
- SAÍDA
- MEMÓRIA
O
Operando
O
OPERAÇÃO:
Oper.bit
DESCRIÇÃO:
Realiza a operação lógica OU (OR) entre o conteúdo anterior do Acumulador e o conteúdo do bit do
Operando indicado na instrução. Caso o conteúdo anterior do Acumulador seja "1", o resultado da
operação será sempre "1", qualquer que seja o conteúdo do bit do Operando indicado na instrução.
Esta operação é uma função OU de um valor de bit (0 ou 1) de um determinado Operando (I, Q e
M) com o Acumulador, sendo o resultado final armazenado no próprio Acumulador e no Flag Zero.
EQUIVALÊNCIA COM LÓGICA DE LADDER:
Corresponde a uma associação em paralelo de um contato normal aberto numa linha de lógica de
ladder.
TABELA DA VERDADE:
Simbologia pelas Normas ABNT e ASA
Valores de Entrada da Valores de Flag Zero
Operação
Saída
Acc (valor Operando.bit Acc (valor
Estado
anterior)
0
0
1
1
atual)
0
1
0
1
000H
0FFH
0FFH
0FFH
Z
NZ
NZ
NZ
OBSERVAÇÃO:
Não deve ser utilizada no início de uma operação lógica. Neste caso utilizar a instrução L.
EXEMPLO:
Em um programa de PLC preciso realizar uma operação lógica OU entre duas entradas.
1.º Operando: entrada I 5.4
2.º Operando: entrada I 0.2
Operação

L
O
I
I
5.4
0.2
;Acc = I 5.4 ( prepara a operação)
;Função OU entre Acc e o estado de I 0.2
Após a operação o Acumulador passa a ter o conteúdo do resultado da associação lógica OU entre
seu conteúdo anterior à operação (estado de I 5.4) e o conteúdo do bit 2 da Entrada I 0.
30
Manual do PLC
V1.00
2.1.6 - Operação lógica OU NEGADO – Or Not
OPERANDOS:
I
Q
M
- ENTRADA
- SAÍDA
- MEMÓRIA
ON
Operando
ON
OPERAÇÃO:
Oper.bit
DESCRIÇÃO:
Realiza a operação lógica OU entre o conteúdo anterior do Acumulador e o complemento do
conteúdo do bit do Operando indicado na instrução. Caso o conteúdo anterior do Acumulador seja
"1", o resultado da operação será sempre "1", qualquer que seja o valor do conteúdo do Operando
indicado na instrução.
Esta operação é uma função OU do complemento, inversão do valor de bit (0 ou 1) de um
determinado Operando (I, Q e M) com um bit do Acumulador, sendo o resultado final armazenado
no próprio Acumulador.
EQUIVALÊNCIA COM LÓGICA DE LADDER:
Corresponde a uma associação em paralelo de um contato normal fechado numa linha de lógica de
ladder.
TABELA DA VERDADE:
Simbologia pelas Normas ABNT e ASA
Valores de Entrada da Operação Valores de Flag
(Operando e Complemento)
Saída
Zero
Oper.bit Complemento Acc (valor Acc (valor Estado
anterior)
atual)
0
0
1
1
0
1
0FFH
0FFH
NZ
NZ
1
1
0
0
0
1
000H
0FFH
Z
NZ
OBSERVAÇÃO:
Não deve ser utilizada no início de uma operação lógica. Neste caso utilizar a instrução L ou LN.
EXEMPLO:
Em um programa de PLC preciso realizar uma operação lógica OU entre uma saída e o estado
inverso de uma memória:
1.º Operando: saída Q 0.2
2.º Operando: memória M 231.6
Operação

L
ON
Q
M
0.2 ;Acc = Q 0.2 ( prepara a operação)
231.6 ;Função OU Negado entre Acc e M 231.6
Após a operação o Acumulador passa a ter o conteúdo do resultado da associação lógica OU entre
seu conteúdo anterior à operação (estado de Q 0.2) e o conteúdo do bit 6 da memória M231.
31
Manual do PLC
V1.00
2.1.7 - Operação lógica OU EXCLUSIVO – eXclusive Or
OPERANDOS:
I
Q
M
- ENTRADA
- SAÍDA
- MEMÓRIA
XO
Operando
XO
OPERAÇÃO:
Oper.bit
DESCRIÇÃO:
Realiza a operação lógica OU EXCLUSIVO entre o conteúdo anterior do Acumulador e o conteúdo
do bit do Operando indicado na instrução.
Esta operação é uma função OU EXCLUSIVO do conteúdo ou valor de bit (0 ou 1) de um
determinado Operando (I, Q e M) com um bit do Acumulador, sendo o resultado final armazenado
no próprio Acumulador.
TABELA DA VERDADE:
Simbologia pelas Normas ABNT e ASA
Valores de Entrada
da Operação
Oper.bit Acc ( valor
0
0
1
1
Valores de
Saída
Acc
anterior )
( valor atual )
0
1
0
1
000H
0FFH
0FFH
000H
Flag Zero
Estado
Z
NZ
NZ
Z
OBSERVAÇÃO:
Não deve ser utilizada no início de uma operação lógica. Neste caso utilizar a instrução L.
EXEMPLO:
Em um programa de PLC preciso realizar uma operação lógica OU EXCLUSIVO entre duas saídas
1.º Operando: saída Q 1.4
2.º Operando: saída Q 1.5
Operação

L
XO
Q
Q
1.4
1.5
;Acc = Q 1.4 ( prepara a operação)
;Função OU EXCLUSIVO entre Acc e Q 1.5
Após a operação o Acumulador passa a ter o conteúdo do resultado da associação lógica OU
EXCLUSIVO entre seu conteúdo anterior à operação (estado de Q 1.4) e o conteúdo do bit 5 da
saída Q 1.
32
Manual do PLC
V1.00
2.1.8 - Operação lógica OU EXCLUSIVO NEGADO – eXclusive Or Not
OPERANDOS:
I
Q
M
XON
- ENTRADA
- SAÍDA
- MEMÓRIA
OPERAÇÃO:
XON Operando
Oper.bit
DESCRIÇÃO:
Realiza a operação lógica OU EXCLUSIVO entre o conteúdo anterior do acumulador e o
complemento do conteúdo do bit do operando indicado na instrução.
Esta operação é equivalente a uma função E COINCIDENTE do conteúdo ou valor de bit (0 ou 1)
de um determinado Operando (I, Q e M) com um bit do Acumulador, sendo o resultado final
armazenado no próprio Acumulador. A função OU EXCLUSIVO NEGADO tem por finalidade
detectar eventos coincidentes, ou seja, os dois eventos devem ocorrer juntos simultaneamente.
TABELA DA VERDADE:
Simbologia pelas Normas ABNT e ASA
Valores de Entrada da
Operação
Acc
Oper.bit Compl.
Valores Flag Zero
de Saída
Acc (valor Estado
(valor atual) anterior)
0
0
1
1
1
1
0
0
1
0
0
1
|000H
0FFH
000H
0FFH
Z
NZ
Z
NZ
OBSERVAÇÃO:
Não deve ser utilizada no início de uma operação lógica. Neste caso utilizar a instrução L ou LN.
EXEMPLO:
Em um programa de PLC preciso realizar uma operação lógica OU EXCLUSIVO entre uma entrada
e o inverso de outra entrada:
1.º Operando: entrada I 0.0
2.º Operando: entrada I 0.1
Operação

L
I
XON I
0.0
0.1
;Acc = I 0.0 ( prepara a operação)
;Função OU EXCLUSIVO Negado entre Acc e I 0.1
Após a operação o Acumulador passa a ter o conteúdo do resultado da associação lógica OU
EXCLUSIVO entre seu conteúdo anterior à operação (estado de I 0.0) e o conteúdo do bit 1 da
entrada I 0.
33
Manual do PLC
V1.00
2.1.9 - Atribuição de resultado energizando o acumulador
OPERANDOS:
I
Q
M
- ENTRADA
- SAÍDA
- MEMÓRIA
=
Operando
=
OPERAÇÃO:
Oper.bit
DESCRIÇÃO:
Atribui o conteúdo anterior do acumulador ao operando indicado na instrução. Após a operação, o
conteúdo do Acumulador é energizado ("1") e o Flag Zero indica estado Não Zero.
Esta operação transfere o estado do Acumulador para um determinado Operando (I, Q e M).
Geralmente esta operação é realizada após uma operação lógica, para atribuir o resultado da
operação a uma memória ou a uma saída. Pode-se também atribuir resultado a entradas (forçar o
estado de uma entrada).
EQUIVALÊNCIA COM LÓGICA DE LADDER:
Corresponde ao fechamento da lógica numa linha de lógica de ladder.
TABELA DA VERDADE:
Valores do Operando
Acc (valor atual)
XXXX
XXXX
Flag Zero Valores de Saída
Estado
Operando.bit
Z
0
NZ
1
EXEMPLO:
Em um programa de PLC após realizar uma operação de leitura do estado de uma entrada, preciso
atuar sobre uma saída:
1.º Operando: entrada I 0.5
2.º Operando: saída Q 0.1
Operação

L
=
I
Q
0.5
0.1
;Acc = I 0.5 ( prepara a operação)
;Atribuição do Acc para Q 0.1
Após a operação, a saída Q 0.1 terá o mesmo conteúdo do Acumulador, que por sua vez foi
carregado com o estado da entrada I 0.5. Mesmo se o estado da entrada for 0 (zero) ao final da
atribuição o acumulador é energizado (passa a conter “1”).
Observação: prefira a instrução == para atribuir resultados em lógica de bits.
34
Manual do PLC
V1.00
2.1.10 - Atribuição de resultado mantendo status do acumulador
OPERANDOS:
I
Q
M
- ENTRADA
- SAÍDA
- MEMÓRIA
==
Operando
==
OPERAÇÃO:
Oper.bit
DESCRIÇÃO:
Atribui o conteúdo anterior do Acumulador ao conteúdo de Operando indicado na instrução. Após a
operação, o conteúdo do Acumulador é mantido.
Esta operação transfere o estado do Acumulador para determinado Operando (I, Q e M). Esta
instrução é similar à instrução “=”, porém além de realizar a operação de transferência do
Acumulador para um Operando qualquer, mantém o estado do Acumulador após a conclusão da
operação. Geralmente esta operação é realizada após uma operação lógica, para atribuir o
resultado da operação a uma memória ou a uma saída. Pode-se também atribuir resultado a
entradas (forçar o estado de uma entrada).
EQUIVALÊNCIA COM LÓGICA DE LADDER:
Corresponde ao fechamento da lógica numa linha de lógica de ladder, porém permitindo que se
continue com a lógica anterior a partir deste ponto.
TABELA DA VERDADE:
Valores do Operando
Acc (valor atual)
XXXX
XXXX
Flag Zero Valores de Saída
Estado
Operando.bit
Z
0
NZ
1
EXEMPLO:
Em um programa de PLC após realizar uma operação de leitura do estado de uma entrada, preciso
atuar sobre uma saída, mas preciso que o conteúdo do Acumulador seja mantido, pois continuarei a
realizar novas operações:
1.º Operando: entrada I 0.4
2.º Operando: saída Q 0.1
Operação

L
==
I
Q
0.4
0.1
;Acc = I 0.4 ( prepara a operação)
;Atribuição do Acc para Q 0.1
Após a operação, a saída Q 0.1 terá o mesmo conteúdo do Acumulador, que por sua vez foi
carregado com o estado da entrada I 0.4. Após a atribuição, o Acumulador mantém seu estado.
35
Manual do PLC
V1.00
2.1.11 - Atribuição negada mantendo status do acumulador
OPERANDOS:
I
Q
M
- ENTRADA
- SAÍDA
- MEMÓRIA
=N
Operando
=N
OPERAÇÃO:
Oper.bit
DESCRIÇÃO:
Atribui o inverso do conteúdo do Acumulador ao conteúdo de Operando indicado na instrução. Após
a operação, o conteúdo do Acumulador é mantido.
Esta operação transfere o estado inverso do Acumulador para determinado Operando (I, Q e M). O
estado do Acumulador é mantido após a conclusão da operação. Geralmente esta operação é
realizada após uma operação lógica, para atribuir o resultado da operação a uma memória ou a
uma saída. Pode-se também atribuir resultado a entradas (forçar o estado de uma entrada).
EQUIVALÊNCIA COM LÓGICA DE LADDER:
Corresponde ao fechamento da lógica numa linha de lógica de ladder, porém permitindo que se
continue com a lógica anterior a partir deste ponto.
TABELA DA VERDADE:
Valores do Operando
Acc (valor atual)
XXXX
XXXX
Flag Zero Valores de Saída
Estado
Operando.bit
Z
1
NZ
0
EXEMPLO:
Em um programa de PLC após realizar uma operação de leitura preciso atuar sobre uma saída e
esta deverá ser ligada ou desligada conforme resultado inverso da operação em questão, mas
preciso que o conteúdo do Acumulador seja mantido, pois continuarei a realizar novas operações:
1.º Operando: entrada I 0.4
2.º Operando: saída Q 0.1
Operação

L
=N
I
Q
0.4
0.1
;Acc = I 0.4 ( prepara a operação)
;Transfere o estado do Acc para a saída Q 0.1
Após a operação, a saída Q 0.1 terá o conteúdo inverso do Acumulador, que por sua vez foi
carregado com o estado da entrada I 0.4. Após a atribuição, o Acumulador mantém seu estado.
36
Manual do PLC
V1.00
2.1.12 - SET energizando o acumulador – Set
OPERANDOS:
I
Q
M
- ENTRADA
- SAÍDA
- MEMÓRIA
SL
Operando
SL
OPERAÇÃO:
Oper.bit
DESCRIÇÃO:
Se o conteúdo do Acumulador está em "1", o conteúdo do Operando indicado na instrução é
energizado ("1"). Caso contrário, o conteúdo do Operando não será alterado. Após a operação, o
conteúdo do Acumulador é energizado ("1").
Esta operação é uma função condicional, que atribui ao bit do Operando indicado na operação o
conteúdo lógico “1” se o conteúdo do Acumulador for igual a “1’. Caso o conteúdo do Acumulador
for “0”, o conteúdo do Operando indicado não será alterado.
TABELA DA VERDADE:
Valores do Operando
Acc (valor atual)
XXXX
XXXX
Flag Zero Valores de Saída
Estado
Operando.bit
Z
X
NZ
1
EXEMPLO:
Em um programa de PLC preciso ligar uma saída se duas entradas tiverem estados diferentes um
do ourtro (função OU Exclusivo). Se os estados forem iguais não quero alterar o estado da saída:
1.º Operando: entrada I 0.3
2.º Operando: entrada I 0.4
3.º Operando: saída Q 2.5
Operação

L
XO
SL
I
I
Q
0.3
0.4
2.5
;Acc = I 0.3
;Função OU EXCLUSIVO entre Acc e I 0.4
;liga a saída Q 2.5
Após a operação, a saída Q 2.5 será energizada apenas se o resultado da lógica anterior for “1”.
Caso contrário, o estado da saída não será alterado. Após a instrução, o Acumulador terá seu
estado energizado.
OBSERVAÇÃO:
Prefira a instrução S para atribuir resultados em lógica de bits.
37
Manual do PLC
V1.00
2.1.13 - SET sem influência no acumulador – Set
OPERANDOS:
I
Q
M
- ENTRADA
- SAÍDA
- MEMÓRIA
S
Operando
S
OPERAÇÃO:
Oper.bit
DESCRIÇÃO:
Se o conteúdo do Acumulador está em "1", o conteúdo do Operando indicado na instrução é
energizado ("1"). Caso contrário, o conteúdo do operando não será alterado. Após a operação, o
conteúdo do Acumulador permanece inalterado.
Esta operação é uma função condicional, que atribui ao bit do Operando indicado na operação o
estado lógico “1” se o estado do Acumulador for igual a “1’. Caso o conteúdo do Acumulador for
igual a “0”, o conteúdo do Operando indicado não será alterado. A diferença desta operação em
relação a anterior (SL) é que após a operação o conteúdo do Acumulador não será energizado.
TABELA DA VERDADE:
Valores do Operando
Acc (valor atual)
XXXX
XXXX
Flag Zero Valores de Saída
Estado
Operando.bit
Z
X
NZ
1
EXEMPLO:
Em um programa de PLC preciso ligar uma saída se uma de duas entradas estiverem energizadas
(função OU). Se o estado das duas entradas for “0”, não quero alterar o estado da saída. Após a
instrução Set quero prosseguir com a lógica fazendo uma associação E (And) com outra entrada:
1.º Operando:
2.º Operando:
3.º Operando:
4.º Operando:
Operação
entrada I 0.3
entrada I 0.4
saída Q 2.5
entrada I 0.7

L
O
S
A
I
I
Q
I
0.3
0.4
2.5
0.7
;Acc = I 0.3
;Função OU entre Acc e I 0.4
;liga a saída Q 2.5
;Função E com o resultado da associação OU anterior
Após a operação Set, a saída Q 2.5 será energizada apenas se o resultado da lógica anterior for “1”.
Caso contrário, o estado da saída não será alterado. Como o Acumulador mantém seu estado
posso prosseguir numa seqüência lógica.
38
Manual do PLC
V1.00
2.1.14 - SET se lógica negativa – Set Not
OPERANDOS:
I
Q
M
- ENTRADAS
- SAÍDAS
- MEMÓRIAS
SN
Operando
SN
OPERAÇÃO:
Oper.bit
DESCRIÇÃO:
Se o conteúdo do Acumulador for "0" (zero), o conteúdo do Operando indicado na instrução é
energizado ("1"). Caso contrário, o conteúdo do Operando não será alterado.
Esta operação é uma função condicional, que atribui ao bit do Operando indicado na operação o
estado lógico “1” se o estado do Acumulador for igual a “0’. Caso o conteúdo do Acumulador for
igual a “1”, o conteúdo do Operando indicado não será alterado.
TABELA DA VERDADE:
Valores do Operando
Acc (valor atual)
XXXX
XXXX
Flag Zero Valores de Saída
Estado
Operando.bit
Z
1
NZ
X
EXEMPLO:
Em um programa de PLC preciso ligar uma saída se duas entradas estiverem desligadas (função
OU). Se o estado de uma das duas entradas for “1”, não quero alterar o estado da saída. Após a
instrução Set Not quero prosseguir com a lógica fazendo uma associação E (And) com outra
entrada:
1.º Operando:
2.º Operando:
3.º Operando:
4.º Operando:
Operação
entrada I 0.3
entrada I 0.4
saída Q 2.5
entrada I 0.7

L
O
SN
A
I
I
Q
I
0.3
0.4
2.5
0.7
;Acc = I 0.3
;Função OU entre Acc e I 0.4
;liga a saída Q 2.5 se Acc = 0
;Função E com o resultado da associação OU anterior
Após a operação Set Not, a saída Q 2.5 será energizada apenas se o resultado da lógica anterior
for “0”. Caso contrário, o estado da saída não será alterado. Como o Acumulador mantém seu
estado posso prosseguir numa seqüência lógica.
OBSERVAÇÃO:
A operação anterior é equivalente a:
Operação
39

LN
AN
S
A
I
I
Q
I
0.3
0.4
2.5
0.7
;Acc = inverso do estado de I 0.3
;Função E negada entre Acc e I 0.4
;liga a saída Q 2.5 se Acc = 0
;Função E com o resultado da associação AN anterior
Manual do PLC
V1.00
2.1.15 - SET FORÇADO sem influência no acumulador – Set Forced
OPERANDOS:
I
Q
M
- ENTRADA
- SAÍDA
- MEMÓRIA
SF
Operando
SF
OPERAÇÃO:
Oper.bit
DESCRIÇÃO:
O conteúdo do operando indicado na instrução é energizado ("1") independentemente do conteúdo
do acumulador. O conteúdo do acumulador permanece inalterado.
Esta operação força o estado energizado do operando, ou seja, o bit do operando indicado nesta
instrução vai para nível lógico “1” independentemente do estado do Acumulador ou de qualquer
outro resultado de operações anteriores.
TABELA DA VERDADE:
Valores do Operando
Acc (valor atual)
XXXX
Flag Zero Valores de Saída
Estado
Operando.bit
X
1
EXEMPLO:
Em um programa de PLC quero forçar em “1” o estado de uma saída:
Operação

SF
Q
0.1
;Força ligar a saída Q 0.1
Após a operação o Acumulador mantém seu estado anterior.
2.1.16 - RESET energizando o acumulador – Reset
OPERANDOS:
I
Q
M
- ENTRADA
- SAÍDA
- MEMÓRIA
RL
Operando
RL
OPERAÇÃO:
Oper.bit
DESCRIÇÃO:
Se o conteúdo do Acumulador está em "1", o conteúdo do Operando indicado na instrução é zerado
("0"). Caso contrário, o conteúdo do Operando não será alterado. Após a operação, o conteúdo do
Acumulador é energizado ("1").
Esta operação é uma função condicional, que atribui ao bit do Operando indicado na operação o
conteúdo lógico “0” se o conteúdo do Acumulador for igual a “1”. Caso o conteúdo do Acumulador
for “0”, o conteúdo do Operando indicado não será alterado.
40
Manual do PLC
V1.00
TABELA DA VERDADE:
Valores do Operando
Acc (valor atual)
XXXX
XXXX
Flag Zero Valores de Saída
Estado
Operando.bit
Z
X
NZ
0
EXEMPLO:
Em um programa de PLC preciso desligar uma saída se duas entradas estiverem ligadas (função E
- And). Se uma delas estiver desligada não quero alterar o estado da saída:
1.º Operando: entrada I 1.4
2.º Operando: entrada I 2.4
3.º Operando: saída Q 1.0
Operação

L
A
RL
I
I
Q
1.4
2.4
1.0
;Acc = I 0.4
;Função E entre Acc e I 2.4
;Desliga a saída Q 1.0
Após a operação, a saída Q 1.0 será ligada apenas se o resultado da lógica anterior for “1”. Caso
contrário, o estado da saída não será alterado. Após a instrução, o Acumulador terá seu estado
energizado.
OBSERVAÇÃO:
Prefira a instrução R para atribuir resultados em lógica de bits.
2.1.17 - RESET sem influência no acumulador – Reset
OPERANDOS:
I
Q
M
- ENTRADA
- SAÍDA
- MEMÓRIA
R
Operando
R
OPERAÇÃO:
Oper.bit
DESCRIÇÃO:
Se o conteúdo do Acumulador está em "1", o conteúdo do Operando indicado na instrução é zerado
("0"). Caso contrário, o conteúdo do operando não será alterado. Após a operação, o conteúdo do
Acumulador permanece inalterado.
Esta operação é uma função condicional, que atribui ao bit do Operando indicado na operação o
estado lógico “0” se o estado do Acumulador for igual a “1’. Caso o conteúdo do Acumulador for
igual a “0”, o conteúdo do Operando indicado não será alterado. A diferença desta operação em
relação a RL é que após a operação o conteúdo do Acumulador não será energizado.
TABELA DA VERDADE:
Valores do Operando
Acc (valor atual)
XXXX
XXXX
41
Flag Zero Valores de Saída
Estado
Operando.bit
Z
X
NZ
0
Manual do PLC
V1.00
EXEMPLO:
Utilizando-se do mesmo exemplo da instrução RL, preciso desligar uma saída se duas entradas
estiverem ligadas (função E - And). Se uma delas estiver desligada não quero alterar o estado da
saída:
1.º Operando: entrada I 1.4
2.º Operando: entrada I 2.4
3.º Operando: saída Q 1.0
Operação

L
A
R
I
I
Q
1.4
2.4
1.0
;Acc = I 0.4
;Função E entre Acc e I 2.4
;Desliga a saída Q 1.0
Após a operação, a saída Q 1.0 será ligada apenas se o resultado da lógica anterior for “1”. Caso
contrário, o estado da saída não será alterado. Após a instrução, o Acumulador mantém seu estado.
2.1.18 - RESET se lógica negativa – Reset Not
OPERANDOS:
I
Q
M
- ENTRADAS
- SAÍDAS
- MEMÓRIAS
RN
Operando
RN
OPERAÇÃO:
Oper.bit
DESCRIÇÃO:
Se o conteúdo do Acumulador for "0", o conteúdo do Operando indicado na instrução é zerado ("0").
Caso contrário, o conteúdo do Operando não será alterado.
Esta operação é uma função condicional, que atribui ao bit do Operando indicado na operação o
conteúdo lógico “0” se o estado do Acumulador for igual a “0’. Caso o conteúdo do Acumulador for
igual a “1”, o conteúdo do Operando indicado não será alterado.
TABELA DA VERDADE:
Valores do Operando
Acc (valor atual)
XXXX
XXXX
Flag Zero Valores de Saída
Estado
Operando.bit
Z
0
NZ
X
EXEMPLO:
Em um programa de PLC preciso desligar uma saída se duas entradas estiverem desligadas
(função OU). Se o estado de uma das entradas for “1”, não quero alterar o estado da saída. Após a
instrução Reset quero prosseguir com a lógica fazendo uma associação E (And) com outra entrada:
1.º Operando:
2.º Operando:
3.º Operando:
4.º Operando:
entrada I 0.3
entrada I 0.4
saída Q 2.5
entrada I 0.7
42
Manual do PLC
Operação
V1.00

L
O
RN
A
I
I
Q
I
0.3
0.4
2.5
0.7
;Acc = I 0.3
;Função OU entre Acc e I 0.4
;Desliga a saída Q 2.5
;Função E com o resultado da associação OU anterior
Na execução da operação RN, a saída Q 2.5 será desligada apenas se o resultado da lógica
anterior for “0”. Caso contrário, o estado da saída não será alterado. Como o Acumulador mantém
seu estado, pode-se prosseguir uma seqüência lógica a partir do resultado da lógica anterior.
2.1.19 - RESET FORÇADO sem influência no acumulador – Reset Forced
OPERANDOS:
I
Q
M
- ENTRADA
- SAÍDA
- MEMÓRIA
RF
Operando
RF
OPERAÇÃO:
Oper.bit
DESCRIÇÃO:
O conteúdo do operando indicado na instrução é zerado ("0") independentemente do conteúdo do
acumulador. O conteúdo do acumulador permanece inalterado.
Esta operação força o estado desligado do operando, ou seja, o bit do operando indicado nesta
instrução vai para nível lógico “0” independentemente do estado do Acumulador ou de qualquer
outro resultado de operações anteriores.
TABELA DA VERDADE:
Valores do Operando
Acc (valor atual)
XXXX
Flag Zero Valores de Saída
Estado
Operando.bit
X
0
EXEMPLO:
Em um programa de PLC quero forçar o desligamento de uma saída:
Operação

RF
Q
0.1
;Força desligar a saída Q 0.1
Após a operação o Acumulador mantém seu estado anterior.
43
Manual do PLC
V1.00
2.1.20 - Operação lógica E – Abre parêntesis – And(
OPERANDOS:
A(
NÃO POSSUI
OPERAÇÃO:
A(
DESCRIÇÃO:
Realiza a operação lógica E (AND) entre o conteúdo anterior do Acumulador e o resultado da
operação lógica iniciada nesta instrução e encerrada com a instrução fecha parêntesis do mesmo
nível de encadeamento. Caso o conteúdo anterior do Acumulador seja "0", o resultado da operação
será sempre "0", qualquer que seja o resultado da lógica contida entre parêntesis. O resultado final
é armazenado no próprio Acumulador e no Flag Zero.
TABELA DA VERDADE:
Valores de Entrada da Valores de Flag Zero
Operação
Saída
Estado
Resultado da Acc (valor Acc (valor
atual)
operação lógica anterior)
0
0
000H
Z
0
1
000H
Z
1
0
000H
Z
1
1
0FFH
NZ
OBSERVAÇÕES:
1 - Pode-se programar até 8 níveis de encadeamento.
2 – Esta instrução não deve ser usada no inicio de uma seqüência lógica.
EXEMPLO:
Com esta instrução pode-se implementar um circuito lógico mais complexo. Por exemplo:
1.º Operando:
2.º Operando:
3.º Operando:
4.º Operando:
5.º Operando:
6.º Operando:
entrada I 0.0
entrada I 0.1
entrada I 0.3
entrada I 0.4
entrada I 0.7
saída Q 2.5
44
Manual do PLC
Operações 
V1.00
L
A
A(
L
O
)
AN
==
I
I
0.0
0.1
I
I
0.3
0.4
I
Q
0.7
2.5
;Carrega o estado de I 0.0
;Função E com o estado de I 0.1
;Inicia uma seqüência lógica E com estado do Acc
;Carrega o estado de I 0.3
;Função OU com o o estado de I 0.4
;Encerra a seqüência lógica e fecha associação E
;Função E com o complemento de I 0.7
;Atribui o resultado à saída Q 2.5
Após a operação o Acumulador passa a ter o conteúdo do resultado final da operação lógica.
2.1.21 - Operação lógica OU – Abre parêntesis – Or(
OPERANDOS:
O(
NÃO POSSUI
OPERAÇÃO:
O(
DESCRIÇÃO:
Realiza a operação lógica OU (OR) entre o estado do Acumulador e o resultado da operação lógica
iniciada nesta instrução e encerrada com a instrução fecha parêntesis do mesmo nível de
encadeamento. Caso o conteúdo anterior do Acumulador seja "1", o resultado da operação será
sempre "1", qualquer que seja o resultado da lógica contida entre parêntesis. O resultado final é
armazenado no próprio Acumulador e no Flag Zero.
TABELA DA VERDADE:
Valores de Entrada Valores de Flag
da Operação
Saída
Zero
Oper.bit Acc (valor Acc (valor Estado
0
0
1
1
anterior)
atual)
0
1
0
1
000H
0FFH
0FFH
0FFH
Z
NZ
NZ
NZ
OBSERVAÇÕES:
1 - Pode-se programar até 8 níveis de encadeamento.
2 - Não pode ser a instrução inicial de uma seqüência lógica.
45
Manual do PLC
V1.00
EXEMPLO:
Com esta instrução pode-se implementar um circuito lógico mais complexo. Por exemplo:
1.º Operando:
2.º Operando:
3.º Operando:
4.º Operando:
Operações 
entrada I 0.3
entrada I 0.0
entrada I 0.1
saída Q 1.5
L
O(
L
A
)
==
I
0.3
I
I
0.3
0.4
Q
1.5
;Carrega o estado de I 0.3
;Inicia uma seqüência lógica OU com estado do Acc
;Carrega o estado de I 0.3
;Função E com o o estado de I 0.4
;Encerra a seqüência lógica e fecha associação E
;Atribui o resultado à saída Q 1.5
Após a operação o Acumulador passa a ter o conteúdo do resultado final da operação lógica.
2.1.22 - Operação Fecha parêntesis
OPERANDOS:
)
NÃO POSSUI
OPERAÇÃO:
)
DESCRIÇÃO:
Encerra operação lógica iniciada com a instrução de abertura do mesmo nível de encadeamento
que dá origem ao bloco lógico. Após esta operação o acumulador recebe o status resultante da
operação entre o status do acumulador anterior à abertura do bloco e o resultado da operação
lógica encerrada no bloco.
46
Manual do PLC
V1.00
2.1.23 - Transição da borda de subida – Edge Up
OPERANDOS:
EU
NÃO POSSUI
OPERAÇÃO:
EU
DESCRIÇÃO:
Detecta a transição de estado de “0” para “1” do estado do Acumulador no final da operação
anterior (borda de subida). O resultado da instrução é 0 (zero) se não ocorreu a transição de borda
de subida ou se o Acumulador permanecer em nível lógico constante (nível 1 ou nível 0). O
resultado será “1” no ciclo de PLC em que ocorrer a transição em borda de subida.
Esta instrução é utilizada para condições onde uma dada condição tem de variar para que seja
interpretado como um novo comando. Sua principal aplicação está em circuitos contadores,
segurança de acionamento e leitura de sinais digitais.
TABELA DA VERDADE:
Transições do
Acumulador
0 permanece em 0
1 para 0
0 para 1
1 permanece em 1
Estado final do
Acumulador
Z
Z
NZ
Z
2.1.24 - Transição da borda de descida – Edge Down
OPERANDOS:
ED
NÃO POSSUI
OPERAÇÃO:
ED
DESCRIÇÃO:
Detecta a transição de estado “1” para “0” do Acumulador no final da operação anterior (borda de
descida). O resultado é “0” se não ocorreu a transição de borda de descida ou se o Acumulador
permanecer em nível lógico constante (nível 1 ou nível 0). O resultado será “1” no ciclo de PLC em
que ocorrer a transição de borda de decida.
Esta instrução é utilizada para condições onde o sinal de entrada tem de variar para que seja
interpretado como um novo comando, sua principal aplicação está em circuitos contadores,
segurança de acionamento e leitura de sinais digitais.
47
Manual do PLC
V1.00
TABELA DA VERDADE:
Transições do
Estado do final do
Acumulador
Acumulador
0 permanece em 0
Z
1 para 0
NZ
0 para 1
Z
1 permanece em 1
Z
2.1.25 - Transição de borda – EDGe
OPERANDOS:
EDG
NÃO POSSUI
OPERAÇÃO:
EDG
DESCRIÇÃO:
Detecta a transição de estado de “0” para “1” ou de ”1” para ”0” (transição de borda). O resultado é
”0” se o estado do Acumulador este permanecer em nível lógico constante (nível 1 ou nível 0) e o
resultado será ”1” na ocorrência de transição de borda de subida ou de descida, por um por um ciclo
de PLC.
Esta instrução é utilizada para condições onde o sinal de entrada tem de variar para que seja
interpretado como um novo comando, sua principal aplicação está em circuitos contadores,
segurança de acionamento e leitura de sinais digitais.
TABELA DA VERDADE:
Transições do
Estado do final do
Acumulador
Acumulador
0 permanece em 0
Z
1 para 0
NZ
0 para 1
NZ
1 permanece em 1
Z
48
Manual do PLC
V1.00
2.2 - OPERAÇÕES COM BYTE OU WORD E RESULTADO BIT
Ao desenvolver uma aplicação utiliza-se sinais de entrada e saída da máquina, memórias de
comunicação entre o CNC e o PLC e memórias definidas para a aplicação. Frequentemente nos
defrontamos com situações nas quais é necessário usar, numa associação lógica, não apenas
elementos definidos como “bits”, mas também condições e estados de memórias “byte” e “word”,
por exemplo se uma posição de memória contém um valor igual a outra posição de memória, ou
diferente de uma dada constante, ou maior ou menor que outra.
Para resolver esta situação, a MCS desenvolveu algumas novas instruções em seu PLC, que
permitem a utilização de condições e estados de memórias byte e word em associação lógica de
bits. Para visualizar melhor o significado disso é útil estabelecer a relação da lógica de bits com a
lógica de contatos (ladder), associando o estado de um bit ao estado de um contato.
O estado de um bit pode ser associado ao estado de um contato pela seguinte tabela:
Estado do bit
0
1
Estado do contato
Aberto
Fechado
No caso de memórias byte ou word, como fazer uma associação de seu estado com o estado de
um bit ou um contato?
Primeiramente deve-se estabelecer quais estados serão detectados. Na maioria da vezes, o que se
deseja saber é se uma memória é igual a outra, se é diferente, se é maior ou menor que outra.
Naturalmente, para se estabelecer uma das condições acima, deve-se comparar as duas memórias.
Nada mais lógico do que se estabelecer que uma das memórias para comparação seja o próprio
acumulador do MCSplc. A outra memória ou dado constante pode estar indicado diretamente na
instrução (operando e endereço ou valor da constante) .
Desta forma fica estabelecido que, para se utilizar estas novas instruções, deve-se antes de mais
nada carregar o Acumulador com um dos dados de comparação.
Como, numa seqüência lógica de bits, o Flag Zero estabelece o resultado da associação anterior,
pode-se prosseguir numa seqüência lógica carregando-se o Acumulador com um dos valores para
comparação sem que se perca o estado anterior da lógica, se Z ou NZ.
As seguintes tabelas indicam o estado de contatos para comparações de valores iguais (Z),
diferentes (NZ), maior ou igual (P) e menor ou negativo (M).
Comparação se igual (caso Z):
Estado do
Acumulador
055H
055H
Conteúdo do
Operando da Instrução
023H
055H
Estado do
contato
Aberto
Fechado
Estado do bit
para lógica
0
1
Estado do
contato
Fechado
Aberto
Estado do bit
para lógica
0
1
Comparação se diferente (caso NZ):
Estado do
Acumulador
055H
055H
Conteúdo do
Operando da Instrução
023H
055H
Comparação se positivo ou maior ou igual (caso P):
49
Manual do PLC
V1.00
Estado do
Acumulador
055H
055H
055H
Conteúdo do
Operando da Instrução
023H
055H
056H
Estado do
contato
Fechado
Fechado
Aberto
Estado do bit
para lógica
1
1
0
Estado do
contato
Aberto
Aberto
Fechado
Estado do bit
para lógica
0
0
1
Comparação se menor ou negativo (caso M):
Estado do
Acumulador
055H
055H
055H
Conteúdo do
Operando da Instrução
023H
055H
056H
As tabelas acima serão usadas para explicar a ação das instruções a seguir.
2.2.1 - Energiza Acumulador se comparação resultar IGUAL
OPERANDOS:
MB
KB
MW
KW
- MEMÓRIAS BYTE
- CONSTANTES BYTE
- MEMÓRIAS WORD
- CONSTANTES WORD
LZ
Operando
LZ
OPERAÇÃO:
Especificação do Operando
DESCRIÇÃO:
Se o conteúdo do Acumulador for igual ao conteúdo do Operando indicado na operação, energizase o Acumulador (Flag Zero no estado NZ). Caso contrário, se o conteúdo do Operando for
diferente do conteúdo do Acumulador, o Acumulador é zerado (Flag Zero no estado Z).
A instrução LZ é uma instrução de comparação de conteúdos de Byte com Byte entre Acumulador e
o Operando indicado na instrução e o resultado em bit (zero ou um) ou Byte (00H ou 0FFH) ou uma
comparação de conteúdos de Word com Word e o resultado em bit ou em Word (0000H ou
0FFFFH). Em qualquer um dos casos temos sempre a resposta digital, se os conteúdos forem
iguais teremos o conteúdo do Acumulador em nível lógico “1” (Flag Zero no estado NZ) e se estes
conteúdos forem diferentes teremos o conteúdo do Acumulador em nível lógico “0” (Flag Zero no
estado Z).
Como esta é uma instrução para carregar (Load) o estado do Acumulador, deve sempre ser usada
no início de uma associação lógica, após carregar no Acumulador a variável ou constante para
comparação.
EQUIVALÊNCIA COM LÓGICA DE LADDER:
Corresponde a um contato normal aberto no início de uma linha de lógica de ladder. Se as variáveis
forem diferentes o contato permanece aberto. Se as variáveis forem iguais, o contato fecha.
50
Manual do PLC
V1.00
RESULTADOS:
Comparação de
igualdade (LZ)
Acc = Operando
Acc  Operando
Resultado da Operação
no Acumulador
0FFH ou 0FFFFH
00H ou 0000H
Estado do
contato
Fechado
Aberto
Flag
NZ
Z
EXEMPLO:
Em uma programação do MCSplc deseja-se detectar a execução da função auxiliar M03 pelo
programa do CNC.
1.º Operando:
2.º Operando:
3.º Operando:
4.º Operando:
.
Operação
memória byte 72
constante byte 03H
memoria bit M 211.0
memoria bit M 211.1

L
LZ
S
R
MB
KB
M
M
 Número da função auxiliar em execução
Código da função auxiliar M03
 Memória indicativa de sentido M03
 Memória indicativa de sentido M04
72
03H
211.0
211.1
;Carrega conteúdo de MB 72 no Acumulador.
;Testa se MB 72 = 03H
;Liga a memória de função M03
;Desliga a memória de função M04
Após a Operação o Acumulador passa a ter o conteúdo do resultado da comparação entre a
memória e a constante. Se a comparação der um resultado não igual, nada é feito. Se a
comparação der um resultado igual, a memória M 211.0 será ligada e a memória M 211.1 será
desligada.
2.2.2 - Energiza Acumulador se comparação resultar DIFERENTE
OPERANDOS:
MB
KB
MW
KW
LNZ
- MEMÓRIAS BYTE
- CONSTANTES BYTE
- MEMÓRIAS WORD
- CONSTANTES WORD
OPERAÇÃO:
LNZ Operando
Especificação do Operando
DESCRIÇÃO:
Se o conteúdo do Acumulador for diferente do conteúdo do Operando indicado na operação,
energiza-se o Acumulador (Flag Zero no estado NZ). Caso contrário, se o conteúdo do Operando for
igual ao conteúdo do Acumulador, o Acumulador é zerado (Flag Zero no estado Z).
A instrução LNZ é uma instrução de comparação de conteúdos de Byte com Byte entre Acumulador
e o Operando indicado na instrução e o resultado em bit (zero ou um) ou Byte (00H ou 0FFH) ou
uma comparação de conteúdos de Word com Word e o resultado em bit ou em Word (0000H ou
0FFFFH). Em qualquer um dos casos temos sempre a resposta digital, se os conteúdos forem
diferentes teremos o conteúdo do Acumulador em nível lógico “1” (Flag Zero no estado NZ) e se
estes conteúdos forem iguais teremos o conteúdo do Acumulador em nível lógico “0” (Flag Zero no
estado Z).
Como esta é uma instrução para carregar (Load) o estado do Acumulador, deve sempre ser usada
no início de uma associação lógica, após carregar no Acumulador a variável ou constante para
comparação.
51
Manual do PLC
V1.00
EQUIVALÊNCIA COM LÓGICA DE LADDER:
Corresponde a um contato normal aberto no início de uma linha de lógica de ladder. Se as variáveis
forem iguais o contato permanece aberto. Se as variáveis forem diferentes, o contato fecha.
RESULTADOS:
Comparação de
diferenças (LNZ)
Acc = Operando
Acc  Operando
Resultado da Operação
no Acumulador
0FFH ou 0FFFFH
00H ou 0000H
Estado do
contato
Aberto
Fechado
Flag
NZ
Z
EXEMPLO:
Em uma programação do MCSplc deseja-se detectar o estado de emergência no CNC. Se a
variável MB 383 estiver carregada com um valor diferente de 000H, o CNC indica ao PLC que irá
entrar em emergência.
1.º Operando:
2.º Operando:
3.º Operando:
4.º Operando:
.
Operação
memória byte 384
constante byte 000H
memoria bit M 211.0
memoria bit M 211.1

L
LNZ
R
R
MB
KB
M
M
 Estado de emergência no CNC
Código do estado normal (não emergência)
 Memória indicativa de sentido M03
 Memória indicativa de sentido M04
384
000H
211.0
211.1
;Carrega conteúdo de MB 384 no Acumulador.
;Testa se diferente de 000H
;Desliga a memória de função M03
;Desliga a memória de função M04
Após a Operação o Acumulador passa a ter o conteúdo do resultado da comparação entre a
memória e a constante. Se a comparação der um resultado igual, nada é feito. Se a comparação
der um resultado diferente, as memórias M 211.0 e M 211.1 serão desligadas.
OBSERVAÇÃO:
As instruções LZ e LNZ são opostas, ou seja, enquanto LZ verifica a igualdade entre duas
grandezas digitais LNZ verifica a desigualdade entre elas.
2.2.3 - Energiza Acumulador se comparação resultar MENOR
OPERANDOS:
MB
KB
MW
KW
- MEMÓRIAS BYTE
- CONSTANTES BYTE
- MEMÓRIAS WORD
- CONSTANTES WORD
LM
Operando
LM
OPERAÇÃO:
Especificação do Operando
DESCRIÇÃO:
Se o conteúdo do Acumulador for menor do que o conteúdo do Operando indicado na operação,
energiza-se o Acumulador (Flag Zero no estado NZ). Caso contrário, se o conteúdo do Operando for
maior ou igual ao conteúdo do Acumulador, o Acumulador é zerado (Flag Zero no estado Z).
A instrução LM é uma instrução de comparação de conteúdos de Byte com Byte entre Acumulador
e o Operando indicado na instrução e o resultado em bit (zero ou um) ou Byte (00H ou 0FFH) ou
52
Manual do PLC
V1.00
uma comparação de conteúdos de Word com Word e o resultado em bit ou em Word (0000H ou
0FFFFH). Em qualquer um dos casos temos sempre a resposta digital. Se o conteúdo do
Acumulador for menor que o Operando, o estado do Acumulador será “1” (Flag Zero no estado NZ).
Se o conteúdo do Acumulador for maior ou igual ao Operando, o estado do Acumulador será “0”
(Flag Zero no estado Z).
Como esta é uma instrução para carregar (Load) o estado do Acumulador, deve sempre ser usada
no início de uma associação lógica, após carregar no Acumulador a variável ou constante para
comparação.
EQUIVALÊNCIA COM LÓGICA DE LADDER:
Corresponde a um contato normal aberto no início de uma linha de lógica de ladder. Se o conteúdo
do Operando for maior ou igual ao do Acumulador, o contato permanece aberto. Se for menor, o
contato fecha.
RESULTADOS:
Comparação se
Menor (LM)
Acc < Operando
Acc >= Operando
Resultado da Operação
no Acumulador
0FFH ou 0FFFFH
00H ou 0000H
Estado do
contato
Fechado
Aberto
Flag
NZ
Z
EXEMPLO:
Em uma programação do MCSplc deseja-se bloquear o avanço dos eixos se o potenciômetro de
avanço estiver com um valor inferior a 5%.
1.º Operando: memória byte 373
2.º Operando: constante byte 005H
3.º Operando: memória bit 210.0
.
Operação

L
LM
==
MB
KB
M
373
5
210.0
 Porcentagem do pot de avanço no CNC
 Limite inferior para liberar avanço
 Bloqueio de avanço
;Carrega conteúdo de MB 373 no Acumulador.
;Testa se menor do que 5
;Bloqueia avanço
Após a Operação o Acumulador passa a ter o conteúdo do resultado da comparação entre a
memória e a constante. Se a comparação der um resultado maior ou igual, a memória M 210.0 será
desligada. Se a comparação der um resultado menor, a memória M 210.0 será ligada.
53
Manual do PLC
V1.00
2.2.4 - Energiza Acumulador se comparação resultar MAIOR OU IGUAL
OPERANDOS:
MB
KB
MW
KW
- MEMÓRIAS BYTE
- CONSTANTES BYTE
- MEMÓRIAS WORD
- CONSTANTES WORD
LP
Operando
LP
OPERAÇÃO:
Especificação do Operando
DESCRIÇÃO:
Se o conteúdo do Acumulador for maior ou igual ao conteúdo do Operando indicado na operação,
energiza-se o Acumulador (Flag Zero no estado NZ). Caso contrário, se o conteúdo do Acumulador
for menor que o conteúdo do Operando, o Acumulador é zerado (Flag Zero no estado Z).
A instrução “LP” é uma instrução de comparação de conteúdos de Byte com Byte entre Acumulador
e o Operando indicado na instrução e o resultado em bit (zero ou um) ou Byte (00H ou 0FFH) ou
uma comparação de conteúdos de Word com Word e o resultado em bit ou em Word (0000H ou
0FFFFH). Em qualquer um dos casos temos sempre a resposta digital, se o conteúdo do
Acumulador for maior ou igual ao Operando, o estado do Acumulador será “1” (Flag Zero no estado
NZ). Se o conteúdo do Acumulador for menor que o conteúdo do Operando, o estado do
Acumulador será “0” (Flag Zero no estado Z).
Como esta é uma instrução para carregar (Load) o estado do Acumulador, deve sempre ser usada
no início de uma associação lógica, após carregar no Acumulador a variável ou constante para
comparação.
EQUIVALÊNCIA COM LÓGICA DE LADDER:
Corresponde a um contato normal aberto no início de uma linha de lógica de ladder. Se o conteúdo
do Operando for menor que o do Acumulador, o contato permanece aberto. Se for maior ou igual, o
contato fecha.
RESULTADOS:
Comparação se
Maior ou igual (LP)
Acc < Operando
Acc >= Operando
Resultado da Operação
no Acumulador
00H ou 0000H
0FFH ou 0FFFFH
Estado do
contato
Aberto
Fechado
Flag
Z
NZ
EXEMPLO:
Em uma programação do MCSplc deseja-se observar um limite de temperatura. Pode-se ler a
temperatura através de entradas analógicas do CNC e fazer a conversão para graus. Se a
temperatura exceder o limite, o PLC ativa uma mensagem.
1.º Operando: memória word 600
2.º Operando: memória word 1700
3.º Operando: memória bit 1574.0
.
Operação

L
LP
==
MW
MW
M
 Temperatura em graus
 Limite para temperatura
 Mensagem 9 (rotinas básicas do MCSplc)
600
1700
1574.0
;Carrega conteúdo de MW 600 no Acumulador
;Testa se maior do que o conteúdo de MW 1700
;Mensagem 9
54
Manual do PLC
V1.00
Após a Operação o Acumulador passa a ter o conteúdo do resultado da comparação entre a
memória e a constante. Se a comparação der um resultado maior ou igual, a memória M 1574.0
será ligada. Se a comparação der um resultado menor, a memória M 15754.0 será desligada.
OBSERVAÇÃO:
As instruções LM e LP são opostas, ou seja, enquanto LM verifica a se o Acumulador é menor que
o Operando, LP verifica se é maior ou igual.
2.2.5 - Operação E (AND) – Compara se IGUAL
OPERANDOS:
MB
KB
MW
KW
- MEMÓRIAS BYTE
- CONSTANTES BYTE
- MEMÓRIAS WORD
- CONSTANTES WORD
AZ
Operando
AZ
OPERAÇÃO:
Endereço ou valor da constante
DESCRIÇÃO:
O PLC realiza a operação lógica E (AND) entre o estado anterior do Acumulador (estado do Flag
Zero) e o resultado da comparação indicada na operação transformado no estado de um bit (“0” ou
“1”). Caso o conteúdo anterior do Acumulador seja "0", o resultado da operação será sempre "0",
qualquer que seja o resultado da comparação indicada na instrução.
O bit que será usado na lógica será “1” se o conteúdo do Acumulador for igual ao conteúdo do
Operando e será “0” se o conteúdo do Acumulador for diferente do conteúdo do Operando.
A instrução AZ é uma instrução de comparação de conteúdos de Byte com Byte ou Word com Word
entre Acumulador e o Operando indicado na instrução e o resultado em bit (0 ou 1). Em qualquer
um dos casos temos sempre a reposta digital, se os conteúdos forem iguais teremos o conteúdo do
bit em nível lógico “1” e se estes conteúdos forem diferentes teremos o conteúdo do bit em nível
lógico “0”.
EQUIVALÊNCIA COM LÓGICA DE LADDER:
Corresponde a uma associação em série de um contato normal aberto numa linha de lógica de
ladder. Este contato permanece aberto se a comparação resultar diferente e ficará fechado se a
comparação resultar igual.
RESULTADOS:
Estado do Flag Zero
no Acumulador
Z
Z
NZ
NZ
55
Comparação se
lgual (AZ)
Acc = Operando
Acc  Operando
Acc = Operando
Acc  Operando
Resultado da Operação
no Acumulador
000H
000H
0FFH
000H
Flag
resultante
Z
Z
NZ
Z
Manual do PLC
V1.00
EXEMPLO:
Como no exemplo da instrução LZ, deseja-se detectar a execução da função auxiliar M03 pelo
programa do CNC. Porém, a saída só poderá ser ligada se a entrada indicando que o acionamento
do eixo árvore está ok estiver ligada.
1.º Operando:
2.º Operando:
3.º Operando:
4.º Operando:
5.º Operando:
.
Operação
entrada I 3.0
memória byte 72
constante byte 03H
memoria bit M 211.0
memoria bit M 211.1

L
L
AZ
S
R
I
MB
KB
M
M
 Acionamento do eixo árvore ok
 Número da função auxiliar em execução
Código da função auxiliar M03
 Memória indicativa de sentido M03
 Memória indicativa de sentido M04
3.0
72
03H
211.0
211.1
;Carrega Acc com estado de I 3.0
;Carrega conteúdo de MB 72 no Acumulador.
;Testa MB 72 = 03H e faz lógica E com I 3.0
;Liga a memória de função M03
;Desliga a memória de função M04
Após a Operação o Acumulador passa a ter o conteúdo da associação lógica E (AND) entre a
entrada I 3.0 e o resultado da comparação entre a memória e a constante. Se a entrada estiver
ligada e a comparação der um resultado igual, a memória M 211.0 será ligada e a memória M 211.1
será desligada.
2.2.6 - Operação E (AND) – Compara se DIFERENTE
OPERANDOS:
MB
KB
MW
KW
ANZ
- MEMÓRIAS BYTE
- CONSTANTES BYTE
- MEMÓRIAS WORD
- CONSTANTES WORD
OPERAÇÃO:
ANZ Operando
Especificação do Operando
DESCRIÇÃO:
O PLC realiza a operação lógica E (AND) entre o estado anterior do Acumulador (estado do Flag
Zero) e o resultado da comparação indicada na operação transformado no estado de um bit (“0” ou
“1”). Caso o conteúdo anterior do Acumulador seja "0", o resultado da operação será sempre "0",
qualquer que seja o resultado da comparação indicada na instrução.
O bit que será usado na lógica será “1“ se o conteúdo do Acumulador for diferente do conteúdo do
Operando e será “0“ se o conteúdo do Acumulador for igual ao conteúdo do Operando.
A instrução ANZ é uma instrução de comparação de conteúdos de Byte com Byte ou Word com
Word entre Acumulador e o Operando indicado na instrução e o resultado em bit (0 ou 1). Em
qualquer um dos casos temos sempre a reposta digital, se os conteúdos forem diferentes teremos o
conteúdo do bit em nível lógico “1” e se estes conteúdos forem iguais teremos o conteúdo do bit em
nível lógico “0”.
EQUIVALÊNCIA COM LÓGICA DE LADDER:
Corresponde a uma associação em série de um contato normal aberto numa linha de lógica de
ladder. Este contato permanece aberto se a comparação resultar igual e ficará fechado se a
comparação resultar diferente.
56
Manual do PLC
V1.00
RESULTADOS:
Estado do Flag Zero
no Acumulador
Z
Z
NZ
NZ
Comparação se
Diferente (ANZ)
Acc = Operando
Acc  Operando
Acc = Operando
Acc  Operando
Resultado da Operação
no Acumulador
000H
000H
000H
0FFH
Flag
Z
Z
Z
NZ
EXEMPLO:
Em uma programação do MCSplc deseja-se detectar se é necessário efetuar a troca de uma
ferramenta. A vairavel 72 indica ao PLC o número da ferramenta pedida pelo programa CNC.
1.º Operando:
2.º Operando:
3.º Operando:
4.º Operando:
.
Operação
memória bit 210.1
memória byte 74
memória byte 220
saída Q 2.0

L
L
ANZ
==
M
MB
MB
Q
 Memória indicativa de modos automáticos
 Código T passado pelo CNC
 Número da ferramenta selecionada na máquina
 Saída indicativa de troca manual de ferramenta
210.1
74
220
2.0
;CNC em modo automático
;Carrega conteúdo de MB 74 no Acumulador.
;Testa se diferente de MB 220
;Passa resultado para a saída Q 2.0
Após a Operação o Acumulador passa a ter o conteúdo da associação lógica E (AND) entre a
memória M 210.1 e o resultado da comparação entre as memórias MB 74 e MB 220. Se a memória
M 210.1 estiver ligada e a comparação der um resultado diferente, a saída Q 2.0 será ligada.
OBSERVAÇÃO:
As instruções AZ e ANZ são opostas, ou seja, enquanto AZ verifica a igualdade entre duas
grandezas digitais ANZ verifica a desigualdade entre elas.
2.2.7 - Operação E (AND) – Compara se MENOR
OPERANDOS:
MB
KB
MW
KW
- MEMÓRIAS BYTE
- CONSTANTES BYTE
- MEMÓRIAS WORD
- CONSTANTES WORD
AM
Operando
AM
OPERAÇÃO:
Especificação do Operando
DESCRIÇÃO:
O PLC realiza a operação lógica E (AND) entre o estado anterior do Acumulador (estado do Flag
Zero) e o resultado da comparação indicada na operação transformado no estado de um bit (“0“ ou
“1“). Caso o conteúdo anterior do Acumulador seja "0", o resultado da operação será sempre "0",
qualquer que seja o resultado da comparação indicada na instrução.
O bit que será usado na lógica será “1“ se o conteúdo do Acumulador for menor (negativo) que o
conteúdo do Operando e será “0“ se o conteúdo do Acumulador for maior ou igual (positivo) ao
conteúdo do Operando.
57
Manual do PLC
V1.00
A instrução AM é uma instrução de comparação de conteúdos de Byte com Byte ou Word com
Word entre Acumulador e o Operando indicado na instrução e o resultado em bit (0 ou 1). Em
qualquer um dos casos temos sempre a reposta digital. Se o conteúdo do Acumulador for menor
que o Operando, o estado do Acumulador será “1” (Flag Zero no estado NZ). Se o conteúdo do
Acumulador for maior ou igual ao Operando, o estado do Acumulador será “0” (Flag Zero no estado
Z).
EQUIVALÊNCIA COM LÓGICA DE LADDER:
Corresponde a uma associação em série de um contato normal aberto numa linha de lógica de
ladder. Este contato permanece aberto se a comparação resultar maior ou igual e ficará fechado se
a comparação resultar menor.
RESULTADOS:
Estado do Flag Zero
no Acumulador
Z
Z
NZ
NZ
Comparação se
Menor (AM)
Acc < Operando
Acc >= Operando
Acc < Operando
Acc >= Operando
Resultado da Operação no
Acumulador
000H
000H
0FFH
000H
Flag
Z
Z
NZ
Z
EXEMPLO:
Em uma programação do MCSplc deseja-se desligar as saídas de indicação de giro do eixo árvore
se não existe solicitação de giro e a rotação do eixo árvore estiver abaixo de 10 rpm.
1.º Operando:
2.º Operando:
3.º Operando:
4.º Operando:
5.º Operando:
6.º Operando:
.
Operação
memoria bit M 211.0
memoria bit M 211.1
memória word 85
constante word 10
saída Q 1.0
saída Q 1.1

LN
AN
L
AM
R
R
M
M
MW
KW
Q
Q
211.0
211.1
85
10
1.0
1.1
 Memória indicativa de sentido M03
 Memória indicativa de sentido M04
 Rotação real do eixo árvore
 Limite para desligar saídas de sentido de giro
 Saída indicativa de sentido M03
 Saída indicativa de sentido M04
;Carrega estado inverso da memória M03
;Lógica E com o estado inverso de M04
;Carrega conteúdo de MW 85 no Acumulador.
;Testa se MENOR QUE 10
;Desliga a saída se função M03
;Desliga a saída se função M03
Após a Operação o Acumulador passa a ter o conteúdo da associação E (AND) entre as memórias
de sentido de giro e o resultado da comparação entre a memória MW 85 e a constante 10. Se a
comparação der um resultado maior ou igual, nada é feito. Se a comparação der um resultado
menor e as duas memórias de sentido de giro estiverem desligadas, as saídas Q 0.1 e Q1.1 serão
desligadas.
58
Manual do PLC
V1.00
2.2.8 - Operação E (AND) – Compara se MAIOR OU IGUAL
OPERANDOS:
MB
KB
MW
KW
- MEMÓRIAS BYTE
- CONSTANTES BYTE
- MEMÓRIAS WORD
- CONSTANTES WORD
AP
Operando
AP
OPERAÇÃO:
Especificação do Operando
DESCRIÇÃO:
O PLC realiza a operação lógica E (AND) entre o estado anterior do Acumulador (estado do Flag
Zero) e o resultado da comparação indicada na operação transformado no estado de um bit ("0" ou
"1"). Caso o conteúdo anterior do Acumulador seja "0", o resultado da operação será sempre "0",
qualquer que seja o resultado da comparação indicada na instrução.
O bit que será usado na lógica será "1" se o conteúdo do Acumulador for maior ou igual (positivo)
que o conteúdo do Operando e será "0" se o conteúdo do Acumulador for menor que o conteúdo do
Operando.
A instrução AP é uma instrução de comparação de conteúdos de Byte com Byte ou Word com
Word entre Acumulador e o Operando indicado na instrução e o resultado em bit (0 ou 1). Em
qualquer um dos casos temos sempre a reposta digital Se o conteúdo do Acumulador for maior ou
igual ao Operando, o estado do Acumulador será “1” (Flag Zero no estado NZ). Se o conteúdo do
Acumulador for menor que o Operando, o estado do Acumulador será “0” (Flag Zero no estado Z).
EQUIVALÊNCIA COM LÓGICA DE LADDER:
Corresponde a uma associação em série de um contato normal aberto numa linha de lógica de
ladder. Este contato permanece aberto se a comparação resultar menor e ficará fechado se a
comparação resultar maior ou igual.
RESULTADOS:
Estado do Flag Zero Comparação se Maior Resultado da Operação no
no Acumulador
ou Igual (AP)
Acumulador
Acc < Operando
Z
000H
Acc >= Operando
Z
000H
Acc < Operando
NZ
000H
Acc >= Operando
NZ
0FFH
Flag
Z
Z
Z
NZ
EXEMPLO:
Em uma programação do MCSplc deseja-se indicar ao operador a necessidade de trocar a gama de
velocidade do eixo árvore se a rotação programada for superior ao limite de rotação da gama
selecionada.
1.º Operando:
2.º Operando:
3.º Operando:
4.º Operando:
59
memoria bit M 220.0
memória word 66
constante word 500
saída Q 2.1
 Memória indicativa de gama baixa
 Rotação solicitada pelo programa CNC
 Limite para rotação em gama baixa
 Saída indicativa de troca para gama alta
Manual do PLC
.
Operação
V1.00

L
L
AP
==
M
MW
KW
Q
220.0
66
500
2.1
;Carrega estado da memória gama baixa
;Carrega conteúdo de MW 66 no Acumulador.
;Testa se maior ou igual a 500
;Saída indicativa de troca de gama
Após a Operação o Acumulador passa a ter o conteúdo da associação E (AND) entre a memória de
gama baixa e o resultado da comparação entre a memória MW 66 e a constante 500. Se a
comparação der um resultado menor, a saída fica desligada. Se a comparação der um resultado
maior ou igual e a memória de gama baixa estiver ligada, a saída Q 2.1 será ligada.
OBSERVAÇÃO:
As instruções AM e AP são opostas, ou seja, enquanto AM verifica a se o Acumulador é menor que
o Operando, AP verifica se é maior ou igual.
2.2.9 - Operação OU (OR) – Compara se IGUAL
OPERANDOS:
MB
KB
MW
KW
- MEMÓRIAS BYTE
- CONSTANTES BYTE
- MEMÓRIAS WORD
- CONSTANTES WORD
OZ
Operando
OZ
OPERAÇÃO:
Especificação do Operando
DESCRIÇÃO:
O PLC realiza a operação lógica OU (OR) entre o estado anterior do Acumulador (estado do Flag
Zero) e o resultado da comparação indicada na operação transformado no estado de um bit ("0" ou
"1"). Caso o conteúdo anterior do Acumulador seja "1", o resultado da operação será sempre "1",
qualquer que seja o resultado da comparação indicada na instrução.
O bit que será usado na lógica será "1" se o conteúdo do Acumulador for igual ao conteúdo do
Operando e será "0" se o conteúdo do Acumulador for diferente do conteúdo do Operando.
A instrução OZ é uma instrução de comparação de conteúdos de Byte com Byte ou Word com
Word entre Acumulador e o Operando indicado na instrução e o resultado em bit (0 ou 1). Em
qualquer um dos casos temos sempre a reposta digital. Se os conteúdos forem iguais teremos o
conteúdo do bit em nível lógico “1” e se estes conteúdos forem diferentes teremos o conteúdo do bit
em nível lógico “0”.
EQUIVALÊNCIA COM LÓGICA DE LADDER:
Corresponde a uma associação em paralelo de um contato normal aberto numa linha de lógica de
ladder. Este contato permanece aberto se a comparação resultar diferente e ficará fechado se a
comparação resultar igual.
RESULTADOS:
Estado do Flag Zero
no Acumulador
Z
Z
NZ
NZ
Comparação se Igual
(OZ)
Acc = Operando
Acc  Operando
Acc = Operando
Acc  Operando
Resultado da Operação no
Acumulador
0FFH
000H
0FFH
0FFH
Flag
NZ
Z
NZ
NZ
60
Manual do PLC
V1.00
EXEMPLO:
Como no exemplo da instrução LZ, deseja-se indicar giro do eixo árvore no sentido M03. Para isso
detectar a execução das funções auxiliares M03 e M13 pelo programa do CNC.
1.º Operando:
2.º Operando:
3.º Operando:
4.º Operando:
5.º Operando:
6.º Operando:
Operação
memória byte 72
constante byte 003H
memória byte 72
constante byte 013H
memoria bit M 211.0
memoria bit M 211.1

L
LZ
L
OZ
S
R
MB
KB
MB
KB
M
M
 Número da função auxiliar em execução
Código da função auxiliar M03
 Número da função auxiliar em execução
Código da função auxiliar M03
 Memória indicativa de sentido M03
 Memória indicativa de sentido M04
72
03H
72
03H
211.0
211.1
;Carrega conteúdo de MB 72 no Acumulador.
;Testa MB 72 = 003H e energiza Acc se igual
;Carrega conteúdo de MB 72 no Acumulador.
;Testa MB 72 = 013H e faz lógica OU
;Liga a memória de função M03
;Desliga a memória de função M04
Após a operação o Acumulador passa a ter o conteúdo da associação OU (OR) entre o estado do
Acumulador após a instrução LZ e o resultado da comparação entre a memória MB 72 e a
constante 013H.
2.2.10 - Operação OU (OR) – Compara se DIFERENTE
OPERANDOS:
MB
KB
MW
KW
ONZ
- MEMÓRIAS BYTE
- CONSTANTES BYTE
- MEMÓRIAS WORD
- CONSTANTES WORD
OPERAÇÃO:
ONZ Operando
Especificação do Operando
DESCRIÇÃO:
O PLC realiza a operação lógica OU (OR) entre o estado anterior do Acumulador (estado do Flag
Zero) e o resultado da comparação indicada na operação transformado no estado de um bit ("0" ou
"1"). Caso o conteúdo anterior do Acumulador seja "1", o resultado da operação será sempre "1",
qualquer que seja o resultado da comparação indicada na instrução.
O bit que será usado na lógica será "1" se o conteúdo do Acumulador for diferente do conteúdo do
Operando e será "0" se o conteúdo do Acumulador for igual ao conteúdo do Operando.
A instrução ONZ é uma instrução de comparação de conteúdos de Byte com Byte ou Word com
Word entre Acumulador e o Operando indicado na instrução e o resultado em bit (0 ou 1). Em
qualquer um dos casos temos sempre a reposta digital. Se os conteúdos forem diferentes teremos o
conteúdo do bit em nível lógico “1” e se forem iguais teremos o conteúdo do bit em nível lógico “0”.
EQUIVALÊNCIA COM LÓGICA DE LADDER:
Corresponde a uma associação em paralelo de um contato normal aberto numa linha de lógica de
ladder.
61
Manual do PLC
V1.00
RESULTADOS:
Estado do Flag Zero
no Acumulador
Z
Z
NZ
NZ
Comparação se
Menor (ONZ)
Acc = Operando
Acc  Operando
Acc = Operando
Acc  Operando
Resultado da Operação no
Acumulador
000H
0FFH
0FFH
0FFH
Flag
Z
NZ
NZ
NZ
EXEMPLO:
Em uma programação do MCSplc deseja-se detectar o estado de emergência no CNC. Se a
entrada de emergência estiver desligada ou se a variável MB 383 estiver carregada com um valor
diferente de 000H, o CNC indica ao PLC que irá entrar em emergência.
1.º Operando:
2.º Operando:
3.º Operando:
4.º Operando:
5.º Operando:
.
Operação
entrada I 0.2
memória byte 384
constante byte 000H
memoria bit M 211.0
memoria bit M 211.1

LN
L
ONZ
R
R
I
MB
KB
M
M
 Entrada de emergência
 Estado de emergência no CNC
Código do estado normal (não emergência)
 Memória indicativa de sentido M03
 Memória indicativa de sentido M04
0.2
384
000H
211.0
211.1
;Carrega estado inverso de I 0.2
;Carrega conteúdo de MB 384 no Acumulador.
;Testa se diferente de 000H e faz lógica OU
;Desliga a memória de função M03
;Desliga a memória de função M04
Após a Operação o Acumulador passa a ter o conteúdo do estado inverso de I 0.2 associado em
lógica OU ao resultado da comparação entre a memória e a constante.
OBSERVAÇÃO:
As instruções OZ e ONZ são opostas, ou seja, enquanto OZ verifica a igualdade entre duas
grandezas digitais ONZ verifica a desigualdade entre elas.
2.2.11 - Operação OU (OR) – Compara se MENOR
OPERANDOS:
MB
KB
MW
KW
- MEMÓRIAS BYTE
- CONSTANTES BYTE
- MEMÓRIAS WORD
- CONSTANTES WORD
OM
Operando
OM
OPERAÇÃO:
Especificação do Operando
DESCRIÇÃO:
O PLC realiza a operação lógica OU (OR) entre o estado anterior do Acumulador (estado do Flag
Zero) e o resultado da comparação indicada na operação transformado no estado de um bit ("0" ou
"1"). Caso o conteúdo anterior do Acumulador seja "1", o resultado da operação será sempre "1",
qualquer que seja o resultado da comparação indicada na instrução.
O bit que será usado na lógica será "1" se o conteúdo do Acumulador for menor (negativo) que o
conteúdo do Operando e será "0" se o conteúdo do Acumulador for maior ou igual (positivo) em
relação ao conteúdo do Operando.
62
Manual do PLC
V1.00
A instrução OM é uma instrução de comparação de conteúdos de Byte com Byte ou Word com
Word entre Acumulador e o Operando indicado na instrução e o resultado em bit (0 ou 1). Em
qualquer um dos casos temos sempre a reposta digital. Se o conteúdo do Acumulador for menor
que o Operando, o estado do Acumulador será “1” (Flag Zero no estado NZ). Se o conteúdo do
Acumulador for maior ou igual ao Operando, o estado do Acumulador será “0” (Flag Zero no estado
Z).
EQUIVALÊNCIA COM LÓGICA DE LADDER:
Corresponde a uma associação em paralelo de um contato normal aberto numa linha de lógica de
ladder.
RESULTADOS:
Estado do Flag Zero
no Acumulador
Z
Z
NZ
NZ
Comparação se
Menor (OM)
Acc < Operando
Acc >= Operando
Acc < Operando
Acc >= Operando
Resultado da Operação no
Acumulador
0FFH
000H
0FFH
0FFH
Flag
NZ
Z
NZ
NZ
EXEMPLO:
Numa aplicação do MCSplc deseja-se determinar se uma variável está fora de uma faixa de
valores predeterminada.
1.º Operando:
2.º Operando:
3.º Operando:
4.º Operando:
5.º Operando:
6.º Operando:
7.º Operando:
Operação
memória byte 450
constante byte 200
memória byte 450
constante byte 200
memória byte 450
constante byte 25
memoria bit M 222.0

L
LP
L
ANZ
L
OM
==
MB
KB
MB
KB
MB
KB
M
450
200
450
200
450
25
222.0
 Variável a ser monitorada
 Limite superior para a variável
 Variável a ser monitorada
 Limite superior para a variável
 Variável a ser monitorada
 Limite inferior para a variável
 Memória indicativa de variável fora da faixa
;Carrega conteúdo de MB 450 no Acumulador
;Testa se maior ou igual a 200
;Carrega conteúdo de MB 450 no Acumulador
;Testa se igual a 200 – exclui 200 da lógica
;Carrega conteúdo de MB 450 no Acumulador
;Testa se menor que 25
;Indicação de variável fora da faixa
Após a operação o estado do Acumulador passa a indicar se a variável é MAIOR que 200 E NÃO
IGUAL a 200 OU menor que 25.
63
Manual do PLC
V1.00
2.2.12 - Operação OU (OR) – Compara se MAIOR OU IGUAL
OPERANDOS:
MB
KB
MW
KW
- MEMÓRIAS BYTE
- CONSTANTES BYTE
- MEMÓRIAS WORD
- CONSTANTES WORD
OP
Operando
OP
OPERAÇÃO:
Especificação do Operando
DESCRIÇÃO:
O PLC realiza a operação lógica OU (OR) entre o estado anterior do Acumulador (estado do Flag
Zero) e o resultado da comparação indicada na operação transformado no estado de um bit ("0" ou
"1"). Caso o conteúdo anterior do Acumulador seja "1", o resultado da operação será sempre "1",
qualquer que seja o resultado da comparação indicada na instrução.
O bit que será usado na lógica será "1" se o conteúdo do Acumulador for maior ou igual (positivo)
do que o conteúdo do Operando e será "0" se o conteúdo do Acumulador for menor (negativo) em
relação ao conteúdo do Operando.
A instrução OP é uma instrução de comparação de conteúdos de Byte com Byte ou Word com
Word entre Acumulador e o Operando indicado na instrução e o resultado em bit (0 ou 1). Em
qualquer um dos casos temos sempre a reposta digital Se o conteúdo do Acumulador for maior ou
igual ao Operando, o estado do Acumulador será “1” (Flag Zero no estado NZ). Se o conteúdo do
Acumulador for menor que o Operando, o estado do Acumulador será “0” (Flag Zero no estado Z).
A comparação ”or" se maior ou igual ou positivo não ocorre somente se o valor ou resultado da
operação anterior armazenado no Acumulador for igual a um (“0”), e o Acumulador tenha
armazenado zero em seu conteúdo.
EQUIVALÊNCIA COM LÓGICA DE LADDER:
Corresponde a uma associação em paralelo de um contato normal aberto numa linha de lógica de
ladder.
RESULTADOS:
Estado do Flag Zero Comparação se Maior Resultado da Operação no
no Acumulador
ou Igual (OP)
Acumulador
Acc < Operando
Z
000H
Acc >= Operando
Z
0FFH
Acc < Operando
NZ
0FFH
NZ
Acc >= Operando
0FFH
Flag
Z
NZ
NZ
NZ
EXEMPLO:
Tomando o exemplo da instrução OM, numa aplicação do MCSplc deseja-se determinar se uma
variável está fora de uma faixa de valores predeterminada. Agora faremos a lógica usando a
instrução OP:
1.º Operando:
2.º Operando:
3.º Operando:
4.º Operando:
memória byte 450
constante byte 200
memória byte 450
constante byte 200
 Variável a ser monitorada
 Limite superior para a variável
 Variável a ser monitorada
 Limite superior para a variável
64
Manual do PLC
V1.00
5.º Operando: memória byte 450
6.º Operando: constante byte 25
7.º Operando: memoria bit M 222.0
Operação

L
LM
L
OP
L
ANZ
==
MB
KB
MB
KB
MB
KB
M
450
25
450
200
450
200
222.0
 Variável a ser monitorada
 Limite inferior para a variável
 Memória indicativa de variável fora da faixa
;Carrega conteúdo de MB 450 no Acumulador
;Testa se menor que 25
;Carrega conteúdo de MB 450 no Acumulador
;Testa se maior ou igual a 200
;Carrega conteúdo de MB 450 no Acumulador
;Testa se igual a 200 – exclui 200 da lógica
;Indicação de variável fora da faixa
Após a operação, se o estado de M 222.0 for “1”, isso significa que a variável MB 450 possui um
conteúdo que é MENOR que 25 OU MAIOR OU IGUAL a 200 E NÃO IGUAL a 200. Se o estado
de M 222.0 for “0”, isso significa que a variável MB 450 possui um conteúdo que é MAIOR OU
IGUAL a 25 E MENOR OU IGUAL a 200.
OBSERVAÇÃO:
As instruções OM e OP são opostas, ou seja, enquanto OM verifica a se o Acumulador é menor que
o Operando, OP verifica se é maior ou igual.
65
Manual do PLC
V1.00
2.3 - OPERAÇÕES COM BYTES E WORDS
2.3.1 - Carrega Acumulador – Load
OPERANDOS:
L
IB
QB
MB
KB
IMB
MW
KW
IM
- GRUPO DE 8 ENTRADAS
- GRUPO DE 8 SAÍDAS
- MEMÓRIA BYTE
- CONSTANTE (0 - 255)
- MEMÓRIA BYTE INDEXADA
- MEMÓRIA WORD
- CONSTANTE (0 - 65535)
- MEMÓRIA WORD INDEXADA
L
Operando
OPERAÇÃO:
Endereço ou Constante
DESCRIÇÃO:
Transfere para o Acumulador o valor do Operando indicado na instrução. Os flags não são afetados
pela instrução.
Esta operação é uma função de transferência do conteúdo de um determinado Operando (IB, QB,
MB, KB, IMB, MW, KW, IM) para o Acumulador. No caso dos operandos IMB e IM, o endereço dado
na instrução contém o endereço da memória onde o programa irá buscar o dado desejado
(memória indexada).
RESULTADOS:
Estado do
Acumulador
XXXX
XXXX
Conteúdo do
Operando
55
05A02H
Resultado da Operação no
Acumulador
55
05A02H
Flag
X
X
EXEMPLO:
Em um programa de PLC deve-se carregar no Acumulador o conteúdo de um byte onde está
armazenado o número da ferramente selecionada na máquina.
1.º Operando: memória byte 800
Operação

L
MB
 Ferramente selecionada
800
Após a Operação o Acumulador passa a ter o conteúdo da memória M800.
66
Manual do PLC
V1.00
2.3.2 - Carrega Acumulador com complemento do conteúdo – Load Not
OPERANDOS:
IB
QB
MB
KB
IMB
MW
KW
IM
- GRUPO DE 8 ENTRADAS
- GRUPO DE 8 SAÍDAS
- MEMÓRIA BYTE
- CONSTANTE (0 - 255)
- MEMÓRIA BYTE INDEXADA
- MEMÓRIA WORD
- CONSTANTE (0 - 65535)
- MEMÓRIA WORD INDEXADA
LN
Operando
LN
OPERAÇÃO:
Endereço ou Constante
DESCRIÇÃO:
Transfere para o Acumulador o conteúdo inverso do Operando indicado na instrução. Os flags não
são afetados pela instrução.
Esta operação é uma função de transferência do complemento do conteúdo de um determinado
Operando (IB, QB, MB, KB, IMB, MW, KW, IM) para o Acumulador. No caso dos operandos IMB e
IM, o endereço dado na instrução contém o endereço da memória onde o programa irá buscar o
dado desejado (memória indexada).
RESULTADOS:
Estado do
Acumulador
XXXX
XXXX
Conteúdo do
Operando
55
05A02H
Resultado da Operação no
Acumulador
55
05A02H
EXEMPLO:
Deseja-se carregar no Acumulador o complemento do conteúdo de uma word:
1.º Operando: memória wrd 800
Operação

L
MW
800
Após a Operação o Acumulador passa a ter o conteúdo da memória MW 800.
67
Flag
X
X
Manual do PLC
V1.00
2.3.3 - Operação lógica E – And
OPERANDOS:
A
IB
QB
MB
KB
IMB
- GRUPO DE 8 ENTRADAS
- GRUPO DE 8 SAÍDAS
- MEMÓRIAS BYTE
- CONSTANTE (0 - 255)
- MEMÓRIA BYTE INDEXADA
A
Operando
OPERAÇÃO:
Endereço ou Constante
DESCRIÇÃO:
Realiza a operação lógica E (AND) entre o conteúdo do byte menos significativo do Acumulador e o
conteúdo do Operando indicado na instrução (IB, QB, MB, KB e IMB). Caso o conteúdo anterior do
Acumulador seja "0" (00H), o resultado da operação será sempre "0", qualquer que seja o conteúdo
do byte do Operando indicado na instrução.
No caso do operando IMB, o endereço dado na instrução contém o endereço da memória onde o
programa irá buscar o dado desejado (memória indexada).
O resultado final é armazenado no próprio Acumulador. A função E será realizada bit a bit entre os
bits do Acumulador e os bits do Operando.
ATENÇÃO:
Esta instrução opera apenas com operandos byte!
TABELA DA VERDADE:
Simbologia pelas Normas ABNT e ASA
Valores de Entrada da
Operação
Acc.bit
Operando.bit
(valor anterior)
0
0
0
1
1
0
1
1
Valores de
Saída
Acc.bit
(valor atual)
0
0
0
1
OBSERVAÇÃO:
Não deve ser utilizada no início de uma operação lógica. Neste caso utilizar a instrução L.
EXEMPLO:
Em um programa de PLC deseja-se conhecer a posição de um trocador de ferramentas de 6
posições. Os sensores de posição (3 entradas) estão ligados às entradas I 3.2 (bit mais
significativo), I 3.1 e I 3.0 (bit menos significativo). Para ler a posição pode-se fazer o seguinte:
1.º Operando: grupo de entradas 3

2.º Operando: constante 00000111B 
Entradas dos sensores de posição
Máscara para separar os sensores ( = 007H)
68
Manual do PLC
Operação
V1.00

L
A
IB
KB
3
007H
;Carrega grupo de entradas no Acumulador
;Função E entre Acc e IB 3 (seleciona apenas
;os 3 bits a serem usados).
O estado do acumulador após a operação será (exemplo):
Operação
7 6
Bit
Acumulador 0 1
Operando
0 0
Resultado
0 0
bit a bit da Função E do exemplo descrito
5 4 3 2 1 0 Valor em Hexadecimal
0 1 0 0 1 1
053H
0 0 0 1 1 1
007H
0 0 0 0 1 1
003H
Flag
X
X
NZ
OBSERVAÇÃO
O Flag Zero é afetado pela instrução. Se o conteúdo do Acumulador resultar 0, o Flag Zero ficará
no estado Z. Caso contrário seu estado será NZ.
2.3.4 - Operação lógica E NEGADO – And Not
OPERANDOS:
IB
QB
MB
KB
IMB
- GRUPO DE 8 ENTRADAS
- GRUPO DE 8 SAÍDAS
- MEMÓRIAS BYTE
- CONSTANTE (0 - 255)
- MEMÓRIA BYTE INDEXADA
AN
Operando
AN
OPERAÇÃO:
Endereço ou Constante
DESCRIÇÃO:
Realiza a operação lógica E NEGADA (AND NOT) entre o conteúdo do byte menos significativo do
Acumulador e o conteúdo invertido, bit a bit, do Operando indicado na instrução (IB, QB, MB, KB e
IMB). Caso o conteúdo anterior do Acumulador seja "0" (00H), o resultado da operação será sempre
"0", qualquer que seja o conteúdo do byte do Operando indicado na instrução.
No caso do operando IMB, o endereço dado na instrução contém o endereço da memória onde o
programa irá buscar o dado desejado (memória indexada).
O resultado final é armazenado no próprio Acumulador. A função E será realizada bit a bit entre os
bits do Acumulador e os bits do Operando.
ATENÇÃO:
Esta instrução opera apenas com operandos byte!
69
Manual do PLC
V1.00
TABELA DA VERDADE:
Simbologia pelas Normas ABNT e ASA
Valores de Entrada da Operação
Valores
(Operando e Complemento)
de Saída
Oper.bit Complement
Acc.bit
Acc.bit
(valor anterior) (valor atual)
o
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
0
Acc
Acc
&
Oper.bit
1
Acc
Acc
Oper.bit
OBSERVAÇÃO:
Não deve ser utilizada no início de uma operação lógica. Neste caso utilizar a instrução L ou LN.
EXEMPLO:
1.º Operando: memória MB 230
2.º Operando: memória MB 231
Operação

L
AN
MB
MB
230
231
;Carrega memória MB 230 no Acumulador
;Função E NEGADA entre Acc e MB 231
O estado do acumulador após a operação será (exemplo):
Operação
7 6
bit
Acumulador 1 0
0 0
Operando
Resultado
0 0
bit a bit da Função E do exemplo descrito
5 4 3 2 1 0 Valor em Hexadecimal
0 1 0 1 0 1
095H
1 0 1 0 1 0
02AH
0 0 0 0 0 0
000H
Flag
X
X
Z
OBSERVAÇÃO
O Flag Zero é afetado pela instrução. Se o conteúdo do Acumulador resultar 0, o Flag Zero ficará
no estado Z. Caso contrário seu estado será NZ.
2.3.5 - Operação lógica OU – Or
OPERANDOS:
O
IB
QB
MB
KB
IMB
- GRUPO DE 8 ENTRADAS
- GRUPO DE 8 SAÍDAS
- MEMÓRIAS BYTE
- CONSTANTE (0 - 255)
- MEMÓRIA BYTE INDEXADA
O
Operando
OPERAÇÃO:
Endereço ou Constante
DESCRIÇÃO:
Realiza a operação lógica OU (OR) entre o conteúdo do byte menos significativo do Acumulador e
o conteúdo do Operando indicado na instrução (IB, QB, MB, KB e IMB). Caso o conteúdo anterior
do Acumulador esteja energizado (0FFH), o resultado da operação será sempre "0FFH", qualquer
que seja o conteúdo do Operando indicado na instrução.
70
Manual do PLC
V1.00
No caso do operando IMB, o endereço dado na instrução contém o endereço da memória onde o
programa irá buscar o dado desejado (memória indexada).
O resultado final é armazenado no próprio Acumulador. A função OU será realizada bit a bit entre
os bits do Acumulador e os bits do Operando.
ATENÇÃO:
Esta instrução opera apenas com operandos byte!
TABELA DA VERDADE:
Simbologia pelas Normas ABNT e ASA
Valores de Entrada da Operação Valores de Saída
Acc.bit
Operando.bit
Acc.bit
(valor anterior)
(valor atual)
0
0
1
1
0
1
0
1
0
1
1
1
OBSERVAÇÃO:
Não deve ser utilizada no início de uma operação lógica. Neste caso utilizar a instrução L.
EXEMPLO:
Em um programa de PLC deve-se realizar um sistema de acionamento por dois grupos de entradas
distintas para controle do mesmo processo, pois há dois painéis de comando. Uma forma simples
de se solucionar este problema é através da operação O entre estes dois grupos de entradas:
1.º Operando: grupo de entradas IB 1
2.º Operando: grupo de entradas IB 2
Operação

L
O
IB
IB
1
2
;Carrega Acc com estado do grupo 1
;Função OU do Acc com o grupo 2
O resultado da operação no Acumulador é a lógica OU, bit a bit, do conteúdo do grupo de entradas
1 com o conteúdo do grupo de entradas 2.
Operação
7 6
Bit
0 0
Grupo 1
0 1
Grupo 2
Resultado
0 1
bit a bit da Função OU do exemplo descrito
5 4 3 2 1 0 Valor em Hexadecimal
0 1 0 0 0 1
011H
1 0 0 0 1 0
062H
1 1 0 0 1 1
073H
Flag
X
X
NZ
OBSERVAÇÃO
O Flag Zero é afetado pela instrução. Se o conteúdo do Acumulador resultar 0, o Flag Zero ficará
no estado Z. Caso contrário seu estado será NZ.
71
Manual do PLC
V1.00
2.3.6 - Operação lógica OU NEGADA – Or Not
OPERANDOS:
ON
IB
QB
MB
KB
IMB
- GRUPO DE 8 ENTRADAS
- GRUPO DE 8 SAÍDAS
- MEMÓRIAS BYTE
- CONSTANTE (0 - 255)
- MEMÓRIA BYTE INDEXADA
ON
Operando
OPERAÇÃO:
Endereço ou Constante
DESCRIÇÃO:
Realiza a operação lógica OU (OR) entre o conteúdo do byte menos significativo do Acumulador e
o conteúdo inverso do Operando indicado na instrução (IB, QB, MB, KB e IMB). Caso o conteúdo
anterior do Acumulador esteja energizado (0FFH), o resultado da operação será sempre "0FFH",
qualquer que seja o conteúdo do Operando indicado na instrução.
No caso do operando IMB, o endereço dado na instrução contém o endereço da memória onde o
programa irá buscar o dado desejado (memória indexada).
O resultado final é armazenado no próprio Acumulador. A função OU será realizada bit a bit entre
os bits do Acumulador e os bits do Operando.
ATENÇÃO:
Esta instrução opera apenas com operandos byte!
TABELA DA VERDADE:
Simbologia pelas Normas ABNT e ASA
Valores de Entrada da Operação Valores de
(Operando e Complemento)
Saída
Oper.bit Complement Acc (valor
Acc
anterior)
(valor atual)
o
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
OBSERVAÇÃO:
Não deve ser utilizada no início de uma operação lógica. Neste caso utilizar a instrução L ou LN.
EXEMPLO:
1.º Operando: memória MB 230
2.º Operando: memória MB 231
Operação

L
ON
MB
MB
230
231
;Carrega memória MB 230 no Acumulador
;Função OU NEGADA entre Acc e MB 231
72
Manual do PLC
V1.00
O estado do acumulador após a operação será (exemplo):
Operação
7 6
Bit
0 0
MB 230
0 0
MB 231
Resultado
1 1
bit a bit da Função E do exemplo descrito
5 4 3 2 1 0 Valor em Hexadecimal
0 1 1 1 0 1
01DH
1 0 1 0 1 0
02AH
0 1 1 1 0 1
0DDH
Flag
X
X
NZ
OBSERVAÇÃO
O Flag Zero é afetado pela instrução. Se o conteúdo do Acumulador resultar 0, o Flag Zero ficará
no estado Z. Caso contrário seu estado será NZ.
2.3.7 - Operação lógica OU EXCLUSIVO – eXclusive OR
OPERANDOS:
IB
QB
MB
KB
IMB
- GRUPO DE 8 ENTRADAS
- GRUPO DE 8 SAÍDAS
- MEMÓRIAS BYTE
- CONSTANTE (0 - 255)
- MEMÓRIA BYTE INDEXADA
XO
Operando
XO
OPERAÇÃO:
Endereço ou Constante
DESCRIÇÃO:
Realiza a operação lógica OU EXCLUSIVO entre o conteúdo do byte menos significativo do
Acumulador e o conteúdo do Operando indicado na instrução (IB, QB, MB, KB e IMB).
No caso do operando IMB, o endereço dado na instrução contém o endereço da memória onde o
programa irá buscar o dado desejado (memória indexada).
O resultado final é armazenado no próprio Acumulador. A função OU EXCLUSIVO será realizada
bit a bit entre os bits do Acumulador e os bits do Operando.
ATENÇÃO:
Esta instrução opera apenas com operandos byte!
TABELA DA VERDADE:
Simbologia pelas Normas ABNT e ASA
Valores de Entrada da
Operação
Oper.bit
Acc.bit
Valores de
Saída
Acc.bit
(valor anterior)
(valor atual)
0
1
0
1
0
1
1
0
0
0
1
1
73
Manual do PLC
V1.00
OBSERVAÇÃO:
Não deve ser utilizada no início de uma operação lógica. Neste caso utilizar a instrução L.
EXEMPLO:
1.º Operando: memória MB 230
2.º Operando: memória MB 231
Operação

L
XO
MB
MB
230
231
;Carrega memória MB 230 no Acumulador
;Função OU EXCLUSIVO entre Acc e MB 231
O estado do acumulador após a operação será (exemplo):
Operação
7 6
Bit
0 0
MB 230
0 0
MB 231
Resultado
0 0
bit a bit da Função E do exemplo descrito
5 4 3 2 1 0 Valor em Hexadecimal
1 1 1 1 0 1
03DH
1 0 1 0 1 0
02AH
0 1 0 1 1 1
017H
Flag
X
X
NZ
OBSERVAÇÃO
O Flag Zero é afetado pela instrução. Se o conteúdo do Acumulador resultar 0, o Flag Zero ficará
no estado Z. Caso contrário seu estado será NZ.
2.3.8 - Operação lógica OU EXCLUSIVO NEGADO – eXclusive Or Not
OPERANDOS:
IB
QB
MB
KB
IMB
XON
- GRUPO DE 8 ENTRADAS
- GRUPO DE 8 SAÍDAS
- MEMÓRIAS BYTE
- CONSTANTE (0 - 255)
- MEMÓRIA BYTE INDEXADA
OPERAÇÃO:
XON Operando
Endereço ou Constante
DESCRIÇÃO:
Realiza a operação lógica OU EXCLUSIVO entre o conteúdo do byte menos significativo do
Acumulador e o conteúdo inverso do Operando indicado na instrução (IB, QB, MB, KB e IMB).
No caso do operando IMB, o endereço dado na instrução contém o endereço da memória onde o
programa irá buscar o dado desejado (memória indexada).
O resultado final é armazenado no próprio Acumulador. A função OU EXCLUSIVO será realizada
bit a bit entre os bits do Acumulador e o inverso dos bits do Operando.
ATENÇÃO:
Esta instrução opera apenas com operandos byte!
74
Manual do PLC
V1.00
TABELA DA VERDADE:
Simbologia pelas Normas ABNT e ASA
Valores de
Saída
Acc.bit
Valores de Entrada da Operação
Oper.bit Complemento
0
0
1
1
1
1
0
0
Acc.bit
(valor anterior) (valor atual)
0
1
0
1
1
0
0
1
OBSERVAÇÃO:
Não deve ser utilizada no início de uma operação lógica. Neste caso utilizar a instrução L ou LN.
EXEMPLO:
1.º Operando: memória MB 230
2.º Operando: memória MB 231
Operação

L
MB
XON MB
230
231
;Carrega memória MB 230 no Acumulador
; Função OU EXCLUSIVO entre Acc e o inverso
;de MB 231
O estado do acumulador após a operação será (exemplo):
Operação
7 6
Bit
0 0
MB 230
0 0
MB 231
Resultado
1 1
bit a bit da Função E do exemplo descrito
5 4 3 2 1 0 Valor em Hexadecimal
1 1 1 1 0 1
03DH
1 0 1 0 1 0
02AH
1 0 1 0 0 0
0E8H
Flag
X
X
NZ
OBSERVAÇÃO
O Flag Zero é afetado pela instrução. Se o conteúdo do Acumulador resultar 0, o Flag Zero ficará
no estado Z. Caso contrário seu estado será NZ.
75
Manual do PLC
V1.00
2.3.9 - ATribuição incondicional de conteúdo
OPERANDOS:
=
IB
QB
MB
IMB
MW
IM
- GRUPO DE 8 ENTRADAS
- GRUPO DE 8 SAÍDAS
- MEMÓRIA BYTE
- MEMÓRIA BYTE INDEXADA
- MEMÓRIA WORD
- MEMÓRIA WORD INDEXADA
=
Operando
OPERAÇÃO:
Endereço
DESCRIÇÃO:
Atribui ao Operando indicado na instrução o conteúdo do byte menos significativo do Acumulador.
O conteúdo do Acumulador não é alterado por esta instrução.
Esta operação transfere para o Operando (IB, QB, MB, IMB, MW, IM) o conteúdo do Acumulador.
No caso de operação com byte, é transferido o conteúdo do byte menos significativo do
Acumulador. De forma geral esta operação é realizada após uma operação lógica, aritmética,
comparação, leitura de dispositivos de I/O (entradas / saídas) com finalidade de se realizar uma
ação ou mesmo armazenar um resultado para ser usado posteriormente no programa.
EXEMPLO:
Em um programa de PLC deseja-se conhecer a posição de um trocador de ferramentas de 6
posições e guardar o resultado numa memória byte. Os sensores de posição (3 entradas) estão
ligados às entradas I 3.2 (bit mais significativo), I 3.1 e I 3.0 (bit menos significativo). Para ler a
posição pode-se fazer o seguinte:
1.º Operando: grupo de entradas 3

2.º Operando: constante 00000111B 
3.º Operando: memória MB 650

Entradas dos sensores de posição
Máscara para separar os sensores ( = 007H)
Memória de posiçao da ferramenta
Operação
;Carrega grupo de entradas no Acumulador
;Função E entre Acc e IB 3 (seleciona apenas
;os 3 bits a serem usados).
;Posição da ferramenta

L
A
IB
KB
3
007H
=
MB
650
O estado da memória após a operação será (exemplo):
Operação
7 6
Bit
Acumulador 0 1
0 0
Operando
Acumulador 0 0
MB 650
0 0
bit a bit da Função = do exemplo descrito
5 4 3 2 1 0 Valor em Hexadecimal
0 1 0 0 1 1
053H
0 0 0 1 1 1
007H
0 0 0 0 1 1
003H
0 0 0 0 1 1
003H
Flag
X
X
NZ
OBSERVAÇÃO
A instrução não afeta o conteúdo do Acumulador e dos Flags.
76
Manual do PLC
V1.00
2.3.10 - Atribuição condicional de conteúdo – Caso Flag NZ
OPERANDOS:
MB
IMB
MW
IM
- MEMÓRIAS BYTE
- MEMÓRIA BYTE INDEXADA
- MEMÓRIA WORD
- MEMÓRIA WORD INDEXADA
==
Operando
==
OPERAÇÃO:
Endereço
DESCRIÇÃO:
Atribui o conteúdo do Acumulador para o Operando (MB, IMB, MW, IM) indicado na operação se o
resultado da operação lógica anterior for “1”. Caso contrário não realiza a atribuição.
Esta instrução é uma função de atribuição condicional. O conteúdo do Acumulador só será
transferido ao Operando se o Flag Zero estiver no estado NZ. Caso contrário, o Operando não é
afetado.
EXEMPLO:
Em um programa de PLC deseja-se conhecer a posição de um trocador de ferramentas de 6
posições e guardar o resultado numa memória byte. Os sensores de posição (3 entradas) estão
ligados às entradas I 3.2 (bit mais significativo), I 3.1 e I 3.0 (bit menos significativo). Porém, existe
um outro sinal para indicar que a posição é válida (“strobe”). Para ler a posição pode-se fazer o
seguinte:
1.º Operando:
2.º Operando:
3.º Operando:
4.º Operando:
5.º Operando:
Operação
grupo de entradas 3
constante 00000111B
memória MB 1550
entrada I 2.3
memória MB 650






Entradas dos sensores de posição
Máscara para separar os sensores ( = 007H)
Memória de rascunho
Habilitação de leitura de posição da ferramenta
Memória de posiçao da ferramenta
L
A
IB
KB
3
007H
=
MB
1550
;Carrega grupo de entradas no Acumulador
;Função E entre Acc e IB 3 (seleciona apenas
;os 3 bits a serem usados)
;Guarda a informação
L
L
==
I
MB
MB
2.3
1550
650
;Testa posição válida
;Guarda a informação
;Posição da ferramenta
O estado da memória após a operação será (exemplo):
Operação da Função == do exemplo descrito
MB 650 antes
IB 3
MB 1550
I 2.3 Flag
MB 650 depois
5
053H
003H
0
Z
5
5
053H
003H
1
NZ
3
OBSERVAÇÃO
A instrução não afeta o conteúdo do Acumulador e dos Flags.
77
Manual do PLC
V1.00
2.3.11 - Atribuição condicional de conteúdo – Caso Flag Z
OPERANDOS:
MB
IMB
MW
IM
- MEMÓRIAS BYTE
- MEMÓRIA BYTE INDEXADA
- MEMÓRIA WORD
- MEMÓRIA WORD INDEXADA
=N
Operando
=N
OPERAÇÃO:
Endereço
DESCRIÇÃO:
Atribui o conteúdo do Acumulador para o Operando (MB, IMB, MW, IM) indicado na operação se o
resultado da operação lógica anterior for “0”. Caso contrário não realiza a atribuição.
Esta instrução é uma função de atribuição condicional. O conteúdo do Acumulador só será
transferido ao Operando se o Flag Zero estiver no estado Z. Caso contrário, o Operando não é
afetado.
EXEMPLO:
Em um programa de PLC deseja-se conhecer a posição de um trocador de ferramentas de 6
posições e guardar o resultado numa memória byte. Os sensores de posição (3 entradas) estão
ligados às entradas I 3.2 (bit mais significativo), I 3.1 e I 3.0 (bit menos significativo). Porém, existe
um outro sinal para indicar que a posição é válida (“strobe”). Quando a posição não é válida,
deseja-se carregar a constante 000H na memória indicativa de posição da torre. Para ler a posição
pode-se fazer o seguinte:
1.º Operando:
2.º Operando:
3.º Operando:
4.º Operando:
5.º Operando:
Operação
grupo de entradas 3
constante 00000111B
memória MB 1550
entrada I 2.3
memória MB 650

L
A
IB
KB
3
007H
=
MB
1550
L
L
==
L
=N
I
MB
MB
KB
MB
2.3
1550
650
0
650





Entradas dos sensores de posição
Máscara para separar os sensores ( = 007H)
Memória de rascunho
Habilitação de leitura de posição da ferramenta
Memória de posiçao da ferramenta
;Carrega grupo de entradas no Acumulador
;Função E entre Acc e IB 3 (seleciona apenas
;os 3 bits a serem usados)
;Guarda temporariamente a informação
;Testa posição válida
;Guarda a informação
;Posição da ferramenta – caso posição válida
;Posição da ferramenta – caso posição inválida
O estado da memória após a operação será (exemplo):
Operação das Funções == e =N do exemplo descrito
MB 650 antes
IB 3
MB 1550
I 2.3 Flag
MB 650 depois
5
053H
003H
0
Z
0
5
053H
003H
1
NZ
3
OBSERVAÇÃO
A instrução não afeta o conteúdo do Acumulador e dos Flags.
78
Manual do PLC
V1.00
2.3.12 - Comparação com memória ou constante – ComPare
OPERANDOS:
IB
QB
MB
KB
MW
KW
- GRUPO DE 8 ENTRADAS
- GRUPO DE 8 SAÍDAS
- MEMÓRIA BYTE
- CONSTANTE (0 - 255)
- MEMÓRIA WORD
- CONSTANTE (0 - 65535)
CP
Operando
CP
OPERAÇÃO:
Endereço ou Constante
DESCRIÇÃO:
Compara o conteúdo do Acumulador com o conteúdo do Operando indicado na instrução. Esta
operação prepara as condições de teste para salto condicional descritas adiante. Esta operação
afeta apenas os Flags do PLC sem alterar o conteúdo do acumulador.
Como a instrução afeta os Flags, pode-se, após sua execução, realizar saltos condicionais ou
executar qualquer outra instrução (atribuição de bit, set, reset, uma atribuição condicional de byte
ou word) que dependa da condição dos Flags.
ATENÇÃO:
Após esta instrução não se pode prosseguir com uma associação lógica de bits (A, AN, O, …) pois
o conteúdo do Acumulador fica indefinido!
EXEMPLO:
Supondo-se que um dado momento de um programa do MCSplc temos o controle do número de
ciclos de uma fresa, onde este valor é fixado em uma memória vinculada ao dado parâmetro do
CNC e é feita a comparação com a memória que armazena o número de ciclos já executados. Uma
forma de se fazer este controle é usando a instrução CP seguida de um salto condicional, como no
exemplo a seguir:
1.º Operando: memória MB 216
2.º Operando: memória MB 032
Operação

L
CP
JP
MB 216
MB 032
ENCERRA


Número de ciclos de fresagem da máquina
Limite de ciclos para a fresa
;Carrega o n.º de ciclos realizados.
;Compara com o limite estipulado
;Se atingido o número de ciclos desvia o
;programa para encerar a produção
:
:
ENCERRA:
RF
RF
J
:
:
Q
0.4
Q
1.7
PRG0
OBSERVAÇÃO
A instrução não afeta o conteúdo do Acumulador, apenas os Flags.
79
Manual do PLC
V1.00
2.3.13 - Rotação à direita do conteúdo do acumulador – SHift Right
OPERANDOS:
SHR
NÃO POSSUI
OPERAÇÃO:
SHR
DESCRIÇÃO:
Rotaciona (desloca) o conteúdo do Acumulador um bit à direita. O bit 0 do Acumulador é transferido
para o flag “CARRY” e o valor do flag “CARRY” é transferido ao bit 7 do Acumulador. Esta instrução
habilita condições de teste para salto condicional descritas adiante.
Esta instrução realiza o deslocamento, bit a bit, do conteúdo do Acumulador com o flag de CARRY
movimentando cada bit uma posição para a direita. Uma aplicação desta instrução é a de verificar e
armazenar o flag de CARRY para uma futura decisão, ou para construção de dispositivos, cujo
acionamento das saídas ocorre de forma seqüencial, realizar uma divisão por dois.
ATENÇÃO:
Esta instrução opera apenas com operandos byte!
Após esta instrução não se pode prosseguir com uma associação lógica de bits (A, AN, O, …) pois
o conteúdo do Acumulador fica indefinido!
EXEMPLO:
Supondo-se em um dado momento do programa temos o Acumulador com o valor de 076H (118
em decimal) o flag de CARRY em nível lógico zero(“0”) e é realizada a instrução SHR, teremos
então os seguintes resultados:
Operação 
L
IB
SHR
=
QB
1
;Carrega o acumulador com o valor da entrada I1 (I1 =
;076H logo Acc = 076H).
;Rotaciona o conteúdo do Acumulador.
;Atribui o valor rotacionado da entrada para a saída
;(QB = 03BH).
1
Tabela com os valores do Acumulado e do flag de CARRY, antes e depois da instrução de Rotação
para a Direita.
Conteudo CARRY
Antes
Depois
0
0
Acc
076H
03BH
Valores em bits (deslocamento para a direita )
C
7
6
5
4
3
2
1
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
1
O conteúdo do Acumulador antes da instrução era 076H que em decimal corresponde a 118 e após
a rotação de seu conteúdo este valor passou para 03BH que corresponde em decimal ao número
59, ou seja, ao girar (rotacionar) um conteúdo para a direita estará realizando uma divisão de seu
conteúdo por dois.
80
Manual do PLC
V1.00
2.3.14 - Rotação à esquerda do conteúdo do acumulador – Shift Left
OPERANDOS:
SHL
NÃO POSSUI
OPERAÇÃO:
SHL
DESCRIÇÃO:
Rotaciona (desloca) o conteúdo do Acumulador um bit à esquerda. O bit 7 do Acumulador é
transferido para o flag “CARRY” e o valor do flag “CARRY” é transferido ao bit 0 do Acumulador.
Esta instrução habilita condições de teste para salto condicional descritas adiante.
Esta instrução realiza o deslocamento, bit a bit, do conteúdo do Acumulador com o flag de CARRY
movimentando cada bit uma posição para a esquerda. Uma aplicação desta instrução é a de
verificar e armazenar o flag de CARRY para uma futura decisão, ou para construção de
dispositivos, cujo acionamento das saídas ocorre de forma seqüencial, realizar uma multiplicação
por dois.
ATENÇÃO:
Esta instrução opera apenas com operandos byte!
Após esta instrução não se pode prosseguir com uma associação lógica de bits (A, AN, O, …) pois
o conteúdo do Acumulador fica indefinido!
EXEMPLO:
Supondo-se em um dado momento do programa temos o Acumulador com o valor de 025H (37 em
decimal) o flag de CARRY em nível lógico zero (“0”) e é realizada a instrução SHL, teremos então
os seguintes resultados:
Operação 
L
IB
SHL
=
QB
0
;Carrega Acumulador com o conteúdo da entrada I 0
;Rotaciona o conteúdo do Acumulador.
;Atribui o valor rotacionado da entrada para a saída Q0
0
Tabela com os valores do Acumulado e do flag de CARRY, antes e depois da instrução de Rotação
para a Direita.
Conteúdo
CARRY
Acc
Antes
Depois
0
0
025H
04AH
Valores em bits (deslocamento para a esquerda )
C
7
6
5
4
3
2
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0
O conteúdo do Acumulador antes da instrução era 025H que em decimal corresponde a 37 e após a
rotação de seu conteúdo este valor passou para 04AH que corresponde em decimal ao número 74,
ou seja, ao girar (rotacionar) um conteúdo para a esquerda estará realizando uma multiplicação de
seu conteúdo por dois.
81
Manual do PLC
V1.00
2.3.15 - Soma com memória ou constante – ADD
OPERANDOS:
IB
QB
MB
KB
MW
KW
ADD
- GRUPO DE 8 ENTRADAS
- GRUPO DE 8 SAÍDAS
- MEMÓRIAS BYTE
- CONSTANTE (0 - 255)
- MEMÓRIA WORD
- CONSTANTE (0 - 65535)
OPERAÇÃO:
ADD Operando
Endereço ou Constante
DESCRIÇÃO:
Soma o conteúdo do Acumulador com o conteúdo do Operando indicado na instrução. No caso de
instruções que operam com byte, o conteúdo do flag CARRY também é adicionado. O resultado é
armazenado no próprio Acumulador. Esta instrução habilita condições de teste para salto
condicional descritas adiante.
ATENÇÃO:
Após esta instrução não se pode prosseguir com uma associação lógica de bits (A, AN, O, …) pois
o conteúdo do Acumulador fica indefinido!
OBSERVAÇÃO:
O status do flag CARRY, resultante de operações anteriores, afeta o resultado de operações
realizadas com bytes. Caso não se deseje a influência deste flag, deve-se iniciar a seqüência lógica
com a instrução EN. No caso de soma de words, o Flag CARRY não afeta o resiltado.
EXEMPLO:
Supondo-se que um dado momento de um programa do MCSplc temos a execução de uma subrotina que controla o posicionamento do eixo X em relação a posição relativa adotada (zero
máquina) durante o processo de usinagem, para o eixo efetuar avanços em relação a esta posição
relativa, deve-se somar a posição relativa com a posição desejada, como no exemplo a seguir:
1.º Operando
2.º Operando
3.º Operando



M 239; valor da posição relativa do eixo X (zero máquina).
M 240; posição desejada para o eixo X em relação ao zero máquina
M 241; posição real do eixo X (M239 + M240).
Valores das memórias antes da sub-rotina:
Valor do flag de Carry = 0 (não houve transbordo de capacidade na operação anterior)
7 6 5 4 3 2 1 0 Valores em hexadecimal das posições
bit
Acumulador
1 0 0 0 1 0 1 0 08AH (resultado de uma operação anterior)
1 0 1 0 1 0 0 0 0A8H (posição relativa - zero máquina)
MB 239
0 0 1 1 0 1 1 0 036H (posição desejada)
MB 240
1 0 1 1 0 0 0 0 0B0H (posição final)
MB 241
Operação 
L
MB
ADD MB
=
MB
239; carrega posição relativa.
240; realiza a adição entre as posições relativa e desejada.
241; armazena o resultado da posição final.
82
Manual do PLC
V1.00
Valores das memórias após realizado programa de sub-rotina:
Valor do flag de Carry = 0 (não houve transbordo de capacidade na operação de soma)
7 6 5 4 3 2 1 0 valores em hexadecimal das posições
Bit
1 1 0 1 1 1 1 0 0DEH (resultado da adição)
Acumulador
1 0 1 0 1 0 0 0 0A8H (posição relativa - zero máquina)
MB 239
0 0 1 1 0 1 1 0 036H (posição desejada)
MB 240
1 1 0 1 1 1 1 0 0DEH (posição final)
MB 241
Conforme resultado armazenado em memória o eixo poderá avançar para sua respectiva posição
final, mas se o valor armazenado exceder o máximo deslocamento físico que o eixo pode realizar
deve-se gerar uma mensagem de erro e não realizar tal deslocamento, pode-se constatar a
ocorrência deste fato de duas formas, sendo a primeira ligada ao flag de Carry que toda vez estiver
em nível lógico um (“1”) indicará que a soma excedeu a capacidade do registrador (transbordo) ou
realizando uma comparação com o valor máximo.
2.3.16 - Subtração com memória ou constante – SUBtract
OPERANDOS:
IB
QB
MB
KB
MW
KW
SUB
- GRUPO DE 8 ENTRADAS
- GRUPO DE 8 SAÍDAS
- MEMÓRIA BYTE
- CONSTANTE (0 - 255)
- MEMÓRIA WORD
- CONSTANTE (0 - 65535)
OPERAÇÃO:
SUB Operando
Endereço ou Constante
DESCRIÇÃO:
Subtrai do conteúdo do Acumulador o conteúdo do Operando indicado na instrução. No caso de
instruções que operam com byte, o conteúdo do flag CARRY também é subtraído. O resultado é
armazenado no próprio Acumulador. Esta instrução habilita condições de teste para salto
condicional descritas adiante.
ATENÇÃO:
Após esta instrução não se pode prosseguir com uma associação lógica de bits (A, AN, O, …) pois
o conteúdo do Acumulador fica indefinido!
OBSERVAÇÃO:
O status do flag CARRY, resultante de operações anteriores, afeta o resultado de operações
realizadas com bytes. Caso não se deseje a influência deste flag, deve-se iniciar a seqüência lógica
com a instrução EN. No caso de subtração de words, o Flag CARRY não afeta o resiltado.
EXEMPLO:
Supondo-se que um dado momento de um programa do MCSplc temos a execução de uma subrotina que controla o posicionamento do eixo X em relação a posição relativa adotada (zero
máquina) durante o processo de usinagem, mas agora o eixo deve efetuar recuos em relação a esta
posição relativa, deve-se subtrair a posição relativa com a posição desejada, como no exemplo a
seguir:
83
Manual do PLC
V1.00
1.º Operando
2.º Operando
3.º Operando



M 239; valor da posição relativa do eixo X (zero máquina).
M 240; posição desejada para o eixo X em relação ao zero máquina
M 241; posição real do eixo X (M239 - M240).
Valores das memórias antes da sub-rotina:
Valor do flag de CARRY = 0 (não houve resultado negativo na operação anterior)
bit
7 6 5 4 3 2 1 0 Valores em hexadecimal das posições
1 0 0 0 1 0 1 0 08AH (resultado de uma operação anterior)
Acumulador
A
1 0 1 0 1 0 0 0 0 8H (posição relativa - zero máquina)
MB 239
0 1 1 1 0 1 0 1 075H (posição desejada)
MB 240
1 0 1 1 0 0 0 1 0B1H (posição final)
MB 241
Operação 
L
MB
SUB MB
=
MB
239; carrega posição relativa.
240; realiza a adição entre as posições relativa e desejada.
241; armazena o resultado da posição final.
Valores das memórias após realizado programa de sub-rotina:
Valor do flag de CARRY = 0 (não houve resultado negativo na operação de subtração)
bit
7 6 5 4 3 2 1 0 valores em hexadecimal das posições
0 0 1 1 0 0 1 1 033H (resultado da subtração)
Acumulador
1 0 1 0 1 0 0 0 0A8H (posição relativa - zero máquina)
MB 239
0 1 1 1 0 1 0 1 075H (posição desejada)
MB 240
0 0 1 1 0 0 1 1 033H (posição final)
MB 241
Conforme resultado armazenado em memória o eixo poderá recuar para sua respectiva posição
final, mas se o valor armazenado exceder o máximo deslocamento físico que o eixo pode realizar
deve-se gerar uma mensagem de erro e não realizar tal deslocamento, pode-se constatar a
ocorrência deste fato realizando uma comparação com o valor máximo de recuo.
2.3.17 - Incremento
OPERANDO:
INC
MB
MW
- MEMÓRIA (BYTE)
- MEMÓRIA WORD
INC
Operando
OPERAÇÃO:
Endereço
DESCRIÇÃO:
Soma 1 no conteúdo do operando indicado na instrução. O conteúdo do acumulador não é afetado
pela instrução.
EXEMPLO:
Supondo-se em um dado momento do programa temos a seguinte operação aritmética entre duas
memórias e conforme o resultado deve-se desviar o programa para uma rotina que trata este fato,
teremos então os seguintes resultados:
1.º Operando
2.º Operando
3.º Operando



I 0.5; sensor de contagem de peças produzidas.
M 216; registro de peças produzidas, M216 = 057H.
M217; quantidade de peças para produzir, M217 = 080H.
Operação
L
I

0.5; prepara a operação de contagem.
84
Manual do PLC
V1.00
EDG
; detecta as transições de sinal no sensor.
JNZ PRODUZIR; verifica se o sensor de peças detectou a
produção de uma nova peça.
:
:
:
PRODUZIR:
; incrementa memória de peças produzidas.
INC MB 216; controla número de peças produzidas.
L
MB 216; carrega memória em Acc.
LP
MB 217; compara a produção.
JNZ FINALIZAR; completada a produção deve-se parar a
máquina.
:
Instrução
MB 216
MB 217
L
JNZ
INC
L
LP
JNZ
057H
057H
057H
058H
058H
058H
058H
080H
080H
080H
080H
080H
080H
080H
I 0.5
0
1
1
1
1
1
1
Operação
armazena
Desvia programa se o sensor foi acionado.
Incrementa a memória (MB216 = M216 + 1)
Carrega a memória no Acumulador
Compara se igual
Se resultado da comparação for 0, salta p/ FINALIZAR
Na tabela acima pode-se verificar que antes da instrução de incremento a memória possuía o
conteúdo de 057H e após a instrução ela passa a ter 058H, ou seja, foi somado um em seu
conteúdo anterior.
2.3.18 – Decremento
OPERANDO:
MB
MW
DEC
- MEMÓRIA BYTE
- MEMÓRIA WORD
OPERAÇÃO:
DEC Operando
Endereço
DESCRIÇÃO:
Subtrai 1 no conteúdo do operando indicado na instrução. O conteúdo do acumulador não é afetado
pela instrução.
EXEMPLO:
Supondo-se em um dado momento do programa temos uma operação com memória e conforme o
resultado deve-se desviar o programa para uma rotina que trata este fato, teremos então os
seguintes resultados:
1.º Operando

Q 0.7; saída de lubrificação.
2.º Operando

M 216; controle de lubrificação da peça durante o ciclo de usinagem
do CNC, M241 = 07H.
Operação
85

ED
; detecta acionamento da saída.
Manual do PLC
V1.00
JNZ CONTROLE; caso a saída tenha sido ligada, vai para o
controle de lubrificação de peças.
:
:
; decrementa ciclo de lubrificação.
DEC MB 241; decrementa número de vezes a ser lubrificada
peça.
L
MB 241; carrega memória em Acc.
JZ
FINALIZAR; completado ciclo de lubrificação, se zero.
CONTROLE:
Instrução
MB 241
Acc
Q 0.7
Operação
EG
JNZ
DEC
L
JZ
07H
07H
07H
06H
06H
06H
10H
10H
10H
10H
10H
10H
0
1
1
1
1
1
detecta acionamento da saída Q 0.7
desvia programa se a saída foi ligada.
decrementa a memória (MB241 = M241 - 1)
carrega a memória no Acumulador
se resultado da comparação for =0, salta p/ FINALIZAR
Na tabela acima pode-se verificar que antes da instrução de decremento a memória possuía o
conteúdo de 07H e após a instrução ela passa a ter 06H, ou seja,B foi subtraído um do seu
conteúdo anterior.
2.3.19 – Multiplicação com memória
OPERANDO:
MW
MULT
- MEMÓRIA WORD
OPERAÇÃO:
MULT
Operando
Endereço
DESCRIÇÃO:
Multiplica o conteúdo do Acumulador, em Word, pelo conteúdo do Operando (MW) indicado na
instrução. O resultado é um número de 4 Bytes. A Word inferior é carregada no Acumulador e a
Word superior no Operando.
ATENÇÃO:
O conteúdo original do Operando é destruído pela operação!
EXEMPLO:
Instrução
Valores Iniciais
MULT
MW
390
Registradores envolvidos
Operando
Acumulador
Flag
7890H
0176H
C=0
00B0H
2260H
C=0
86
Manual do PLC
V1.00
2.3.20 - Divisão com memória
OPERANDO:
DIV
MW
- MEMÓRIA DUPLA WORD (4 BYTES)
DIV
Operando
OPERAÇÃO:
Endereço
DESCRIÇÃO:
Divide o conteúdo do Operando indicado na instrução (4 Bytes - dividendo) pelo conteúdo do
Acumulador (divisor). O quociente é carregado no Acumulador (2 Bytes). O resto é carregado no
operando. O dividendo e o divisor devem ser positivos (bit 31 do operando = 0 e bit 15 do
acumulador = 0). O dividendo e o divisor devem ser tais que a divisão resulte num valor não
superior a 65535. Se a operação for correta o flag de SINAL estará setado (Flag no estado M). Se
estiver errada, o Flag de SINAL estará zerado (Flag no estado P).
ATENÇÃO:
O conteúdo original do Operando é destruído pela operação!
EXEMPLO:
Instrução
Valores Iniciais
DIV
MW
87
350
Registradores envolvidos
Acumulador
Operando
Flag
9C40H
0320H
M=1
0032H
0000H
M=1
Manual do PLC
V1.00
2.4 - OPERAÇÕES DE DESVIO DE EXECUÇÃO
2.4.1 - Salto incondicional
OPERANDO:
J
ENDEREÇO DE DESTINO DO SALTO
OPERAÇÃO:
J
“RÓTULO”
DESCRIÇÃO:
Salta a execução do PLC para o endereço indicado de forma incondicional. O conteúdo do
acumulador não é afetado pela operação.
2.4.2 - Salto se operação lógica resultar IGUAL – Jump Zero
OPERANDO:
JZ
ENDEREÇO DE DESTINO DO SALTO
OPERAÇÃO:
JZ
“RÓTULO”
DESCRIÇÃO:
Salta a execução do PLC para o endereço indicado caso o resultado da operação lógica ou
aritmética anterior seja zero (Flag Zero no estado Z). Caso contrário, não ocorre salto. O conteúdo
do acumulador não é afetado por esta instrução.
Esta operação está diretamente relacionada com o resultado final de uma operação lógica ou
aritmética, o qual define se haverá desvio (resultado final igual a zero, Flag Zero no estado Z ) ou
não (resultado final não zero, Flag Zero no estado NZ).
TABELA DA VERDADE:
Valores do Operando
Acc (valor atual)
XXXX
XXXX
Flag Zero
SALTO
Ação
Estado
Z
Ocorre salto
NZ
Não ocorre salto
EXEMPLO:
Deve-se realizar um desvio no programa dependendo do estado de uma associação lógica:
1.º Operando: entrada I 1.1
2.º Operando: entrada I 2.0
3.º Operando: endereço do salto
Operação

L
O
JZ
I
1.1
I
2.0
PARADA
:
:
;Carrega o estado de I 1.1
;Função OU com o o estado de I 2.0
;Desvia para o endereço PARADA se Flag Zero = Z
PARADA:
:
88
Manual do PLC
V1.00
Se as duas entradas estiverem desligadas, o programa desvia sua execução para o endereço do
rótulo PARADA. O conteúdo do Acumulador se mantém após o salto.
OBSERVAÇÃO:
Deve-se evitar a utilização de desvios para endereços anteriores ao da lógica que origina o salto.
De forma controlada pode-se realizar “loops” de programação.
2.4.3 - Salto se operação lógica resultar DIFERENTE – Jump Not Zero
OPERANDO:
JNZ
ENDEREÇO DE DESTINO DO SALTO
OPERAÇÃO:
JNZ
“RÓTULO”
DESCRIÇÃO:
Salta a execução do PLC para o endereço indicado caso o resultado da operação lógica ou
aritmética anterior seja diferente de zero (Flag Zero no estado NZ). Caso contrário, não ocorre salto.
O conteúdo do acumulador não é afetado por esta instrução.
Esta operação está diretamente relacionada com o resultado final de uma operação lógica ou
aritmética, o qual define se haverá desvio (resultado final diferente de zero, Flag Zero no estado
NZ) ou não (resultado final igual a zero, Flag Zero no estado Z).
TABELA DA VERDADE:
Valores do Operando
Acc (valor atual)
XXXX
XXXX
Flag Zero
SALTO
Ação
Estado
Z
Não ocorre salto
NZ
Ocorre salto
EXEMPLO:
Deve-se realizar um desvio no programa dependendo do estado de uma associação lógica:
1.º Operando: entrada I 1.3
2.º Operando: entrada I 1.5
3.º Operando: endereço do salto
Operação
L
I
1.3
A
I
1.5
JNZ PARADA
:
:
PARADA:
:

;Carrega o estado de I 1.3
;Função OU com o o estado de I 1.5
;Desvia para o endereço PARADA se Flag Zero = NZ
Se as duas entradas estiverem ligadas, o programa desvia sua execução para o endereço do rótulo
PARADA. O conteúdo do Acumulador se mantém após o salto.
89
Manual do PLC
V1.00
OBSERVAÇÃO:
Deve-se evitar a utilização de desvios para endereços anteriores ao da lógica que origina o salto.
De forma controlada pode-se realizar “loops” de programação.
2.4.4 - Salto se operação lógica resultar MAIOR OU IGUAL – Jump Positive
OPERANDO:
JP
ENDEREÇO DE DESTINO DO SALTO
OPERAÇÃO:
JP
“RÓTULO”
DESCRIÇÃO:
Salta a execução do PLC para o endereço indicado pelo “LABEL” caso o resultado da operação
aritmética realizada antes desta instrução, com Byte, seja positivo. Caso contrário, não ocorre salto.
O conteúdo do acumulador não é afetado por esta instrução.
Esta operação está diretamente relacionada com o resultado final de uma operação lógica ou
aritmética anterior, cujo resultado final desta operação define se haverá desvio, caso o valor final
da operação for igual ou maior que zero (flag de SINAL setado) ou se não haverá desvio, caso o
valor final for menor do que zero (flag de SINAL resetado).
EXEMPLO:
Supondo-se em um dado momento do programa temos a seguinte operação aritmética entre duas
memórias e conforme o resultado deve-se desviar o programa para uma rotina que trata este fato,
teremos então os seguintes resultados:
1.º Operando
2.º Operando


Operação 
L
MB
SUB MB
JP
PRODUZIR:
:
:
L
:
M220; memória de peças a produzir, M220 = 0F2H.
M221; memória de peças produzidas, M221 = 0C4H.
220; prepara a operação.
221; verifica se ainda não foi atingido a meta de
produção.
PRODUZIR; caso ainda não tenha sido produzido a
quantidade especificada, desvia-se o programa
para continuar a produção.
MB
221; produção.
Instrução
SINAL
Acc
MB 220
MB 221
Operação
L
0
1
XX
0F2H
0F2H
0F2H
0C4H
0C4H
SUB
1
02EH
0F2H
0C4H
JP
1
02EH
0F2H
0C4H
armazena
subtração, verifica se não foi
atingido a meta de produção.
desvia o programa
Na tabela acima pode-se verificar que antes da instrução de subtração o Acumulador possuía um
conteúdo e o flag de SINAL está setado, ou seja, o valor do Acumulador é um número positivo e ao
se realizar a instrução de subtração tem-se como resultado da operação um valor positivo
(Acumulador com um valor maior ou igual a zero e o flag de SINAL continua setado) logo continuase a produção, feita através do desvio p/ PRODUZIR.
90
Manual do PLC
V1.00
OBSERVAÇÃO:
Deve-se evitar a utilização de desvios para endereços anteriores ao da lógica que origina o salto.
De forma controlada pode-se realizar “loops” de programação.
2.4.5 - Salto se operação lógica resultar MENOR – Jump Minus
OPERANDO:
JM
ENDEREÇO DE DESTINO DO SALTO
OPERAÇÃO:
JM
“RÓTULO”
DESCRIÇÃO:
Salta a execução do PLC para o endereço indicado pelo “LABEL” caso o resultado da operação
aritmética realizada antes desta instrução, com Byte, seja negativo. Caso contrário, não ocorre
salto. O conteúdo do acumulador não é afetado por esta instrução.
Esta operação está diretamente relacionada com o resultado final de uma operação lógica ou
aritmética anterior, cujo resultado final desta operação define se haverá desvio, caso o valor final
da operação for menor do que zero (flag de SINAL resetado) não haverá desvio, caso o valor final
for igual ou maior que zero (flag de SINAL setado) acontece o desvio e a operação é concluía.
EXEMPLO:
Supondo-se em um dado momento do programa temos a seguinte operação aritmética entre duas
memórias e conforme o resultado deve-se desviar o programa para uma rotina que trata este fato,
teremos então os seguintes resultados:
1.º Operando
2.º Operando


M223; memória de posição limite de deslocamento, M223 = 0A5H.
M225; memória de posição do deslocamento, M225 = 0A9H.
Operação 
L
MB 223; prepara a operação.
SUB MB 225; verifica se não foi excedida a posição limite.
JM RECUAR; caso constatado que foi ultrapassado a posição limite
desvia-se o fluxo do programa para tratar do recuo do eixo em questão.
:
RECUAR:
L
:
MB ‘ 223
; tratar do recuo.
Instrução
SINAL
Acc
MB 223
MB 225
Operação
L
1
1
XX
0F2H
0A5H
0A5H
0A9H
0A9H
SUB
0
057H
0A5H
0A9H
JM
0
057H
0A5H
0A9H
armazena
subtração, verifica se não
ultrapassado a posição limite.
desvia o programa
Na tabela acima pode-se verificar que antes da instrução de subtração o Acumulador possuía um
conteúdo e o flag de SINAL está setado, ou seja, o valor do Acumulador é um número positivo e ao
se realizar a instrução de subtração tem-se como resultado da operação um valor negativo
(Acumulador com um valor menor que zero e o flag de SINAL foi resetado) logo desvia-se o
programa para realizar as devidas operações para corrigir o problema, através do desvio.
91
Manual do PLC
V1.00
OBSERVAÇÃO:
Deve-se evitar a utilização de desvios para endereços anteriores ao da lógica que origina o salto.
De forma controlada pode-se realizar “loops” de programação.
2.4.6 - Salto incondicional para endereço dado em tabela
OPERANDO:
JT
ENDEREÇO DO INÍCIO DA TABELA
OPERAÇÃO:
JT
“RÓTULO”
DESCRIÇÃO:
Salta a execução do PLC para um endereço contido numa tabela de endereços. O conteúdo do
Acumulador aponta qual endereço da lista será chamado. O endereço da tabela é dado diretamente
no operando.
O salto é realizado de forma incondicional. A tabela deve ser formada por uma sequência de
instruções ADR na sequência desejada. O índice indica à instrução qual dos endereços será o
destino do salto. O conteúdo do acumulador não é afetado pela operação.
EXEMPLO:
TABELA:
ADR
ADR
ADR
ADR
SALTO0
SALTO1
SALTO2
SALTO3
L
JT
KB
TABELA
;índice 0
;índice 1
;índice 2
;índice 3
2
;aponta SALTO2
Neste exemplo, a instrução JT irá saltar para o endereço SALTO2.
2.4.7 - Chamada condicional de sub-rotina – NÃO ZERO
OPERANDO:
CALL
ENDEREÇO DA SUB-ROTINA
OPERAÇÃO:
CALL
Operando
DESCRIÇÃO:
Salta para o endereço indicado na instrução caso o resultado da operação lógica anterior seja “1”
(Flag Zero no estado NZ). Ao final da execução da sub-rotina, a execução retorna para a instrução
seguinte àquela que originou o salto.
92
Manual do PLC
V1.00
2.4.8 - Chamada condicional indireta de sub-rotina – NÃO ZERO
OPERANDO:
MW
CALL
- MEMÓRIA WORD
OPERAÇÃO:
CALL
MW
Endereço Indireto
DESCRIÇÃO:
Salta para o endereço contido na memória apontada pelo operando da instrução caso o resultado
da operação lógica anterior seja “1” (Flag Zero no estado NZ). Ao final da execução da sub-rotina, a
execução retorna para a instrução seguinte àquela que originou o salto.
2.4.9 - Chamada condicional de sub-rotina – ZERO
OPERANDO:
CALLZ
ENDEREÇO DA SUB-ROTINA
OPERAÇÃO:
CALLZ
Operando
DESCRIÇÃO:
Salta para o endereço indicado na instrução caso o acumulador esteja desenergizado ou o resultado
de uma operação lógica seja zero. Ao final da execução da sub-rotina, retorna a execução para a
instrução seguinte.
2.4.10 - Chamada condicional indireta de sub-rotina – ZERO
OPERANDO:
CALLZ
MW – MEMÓRIA WORD
OPERAÇÃO:
CALLZ
MW
Endereço Indireto
DESCRIÇÃO:
Salta para o endereço contido na memória do operando da instrução caso o resultado da operação
lógica anterior seja “0” (Flag Zero no estado Z). Ao final da execução da sub-rotina, a execução
retorna para a instrução seguinte àquela que originou o salto.
2.4.11 - Chamada incondicional de sub-rotina apontada por tabela
OPERANDO:
CALLT
ENDEREÇO DA TABELA
OPERAÇÃO:
CALLT
Operando
DESCRIÇÃO:
Salta a execução do PLC para um endereço contido numa tabela de endereços. O conteúdo do
Acumulador aponta qual endereço da lista será chamado. O endereço da tabela é dado diretamente
no operando.
93
Manual do PLC
V1.00
O salto é realizado de forma incondicional. A tabela deve ser formada por uma sequência de
instruções ADR na sequência desejada. O índice indica à instrução qual o endereço da sub-rotina
que se deseja executar. O conteúdo do acumulador não é afetado pela operação. Ao final da
execução da sub-rotina, , a execução retorna para a instrução seguinte àquela que originou o salto.
EXEMPLO:
TABELA:
ADR
ADR
ADR
ADR
ROT0
ROT1
ROT2
ROT3
;índice 0
;índice 1
;índice 2
;índice 3
L
CALLT
KB
TABELA
2
;aponta ROT2
Neste exemplo, a instrução CALLT irá executar a sub-rotina ROT2
2.4.12 - Chamada incondicional indireta apontada por tabela
OPERANDO:
MW
CALLT
- MEMÓRIA WORD
OPERAÇÃO:
CALLT
MW
Endereço Indireto
DESCRIÇÃO:
Salta a execução do PLC para um endereço contido numa tabela de endereços. O conteúdo do
Acumulador aponta qual endereço da lista será chamado. O endereço da tabela é dado no
operando.
O salto é realizado de forma incondicional. A tabela deve ser formada por uma sequência de
instruções ADR na sequência desejada. O índice indica à instrução qual o endereço da sub-rotina
que se deseja executar. O conteúdo do acumulador não é afetado pela operação. Ao final da
execução da sub-rotina, a execução retorna para a instrução seguinte àquela que originou o salto.
EXEMPLO:
TABELA:
ADR
ADR
ADR
ADR
ROT0
ROT1
ROT2
ROT3
;índice 0
;índice 1
;índice 2
;índice 3
ADR
=
TABELA
MW
INDTAB
L
CALLT
KB
MW
2
INDTAB
;aponta ROT2
Neste exemplo, o conteúdo da memória INDTAB é o endereço do rótulo TABELA. A instrução
CALLT irá executar a sub-rotina ROT2
94
Manual do PLC
V1.00
2.4.13 - Chamada incondicional de sub-rotina
OPERANDO:
DCALL
ENDEREÇO DA SUB-ROTINA
OPERAÇÃO:
DCALL
“RÓTULO”
DESCRIÇÃO:
Salta para o endereço indicado na instrução. Ao final da execução da sub-rotina, a execução
retorna para a instrução seguinte àquela que originou o salto.
2.4.14 - Chamada incondicional indireta de sub-rotina
OPERANDO:
DCALL
ENDEREÇO DA SUB-ROTINA
OPERAÇÃO:
DCALL
“RÓTULO”
DESCRIÇÃO:
Salta para o endereço indicado pelo conteúdo do operando da instrução. Ao final da execução da
sub-rotina, a execução retorna para a instrução seguinte àquela que originou o salto.
2.4.15 - Retorno de sub-rotina
OPERANDO:
RET
NÃO POSSUI
OPERAÇÃO:
RET
DESCRIÇÃO:
Colocado ao final de uma sub-rotina, faz a execução do PLC retornar para a instrução subseqüente
à instrução de chamada que ativou a sub-rotina. O retorno é incondicional.
95
Manual do PLC
V1.00
2.5 - OPERAÇÕES COM TIMER
2.5.1 - Introdução e definições
As operações com Timer (temporizador) são muito utilizadas em processos, onde os tempos de
execução da operação ou atividade definem a conclusão ou não do processo.
Para a utilização e o emprego do Timer nos programas do MCSplc, deve-se fazer alguns
procedimentos padrões, descritos a seguir:
 Nos arquivos de PLC temos um arquivo, cuja extensão é .def (arquivo de definições e
declarações). Este arquivo possui uma região destinada à definição das variáveis dos
temporizadores. Nesta região deve-se definir cada variável de tempo que será utilizada, sendo que
os temporizadores de 0 até 4, estão reservados para rotinas básicas do PLC.
EXEMPLO:
Supondo que estamos fazendo uma programação no MCSplc para um torno, logo seu arquivo de
definições é o “TORNO.DEF” e se procurarmos em sua estrutura, encontraremos a região dos
temporizadores e nesta região iremos definir três temporizadores (TED = Temporizador para partida
- do motor principal, TLP = Temporizador para Lubrificação de Peça e TAP = Temporizador para
Abertura de Porta), como a seguir;
;================
; TEMPORIZADORES
;================
; Temporizadores T0 a T4 reservados para rotinas básicas
#DEFINE
#DEFINE
#DEFINE
;;#DEFINE
;;#DEFINE
;;#DEFINE
;;#DEFINE
;;#DEFINE
;;#DEFINE
;;#DEFINE
;;#DEFINE
TED
TLP
TAP
8
9
10
11
12
13
14
15
5; Tempo para partida Estrela-Triângulo.
6; Tempo para Lubrificação de Peça.
7; Tempo para Abertura de Porta.
;
;
;
;
;
;
;
;
OBSERVAÇÕES:
O nome da variável do temporizador pode ser qualquer um, como por exemploT06 ou TX6 ou
TEMPO06, etc.
Para utilizar a variável não esqueça de remover da frente da palavra “#DEFINE” o sinal de ’;;’.
Comentários devem vir após o sinal de ‘;’.
 Nos arquivos de PLC temos um arquivo, cuja extensão é .1 (arquivo do PLC1), onde será
feita a lógica da programação e neste mesmo arquivo deve-se definir o valor das constantes de
tempo. O valor da constante de tempo tem de ser declarado como um valor de Word (valor
numérico de 16 bits), mesmo que a constante não atinja esta magnitude (um valor numérico, cujo
tamanho na memória é de uma Word, pode chegar até 65535, ou seja, em Hexadecimal 0FFFFH).
Para cada temporizador deve-se declarar sua própria constante de tempo.
94
Manual do PLC
V1.00
EXEMPLO:
Utilizando-se dos temporizadores definidos no “TORNO.DEF” que são: TED, TLP e TAP iremos
definir, para cada temporizador, sua constante de tempo, no arquivo “TORNO.1”, onde se encontra
a própria lógica de programação, como a seguir:

L
=
L
=
KW
T
KW
T
40
TED
60
TLP
; valor da constante de tempo.
; atribuição da constante de tempo para o temporizador TED.
; valor da constante de tempo.
; atribuição da constante de tempo para o temporizador TLP.
L
=
KW
T
100 ; valor da constante de tempo.
TAP ; atribuição da constante de tempo para o temporizador TAP.
L
A
==
:
:
I
I
Q
1.0
1.1
0.0
; programação do PLC1
; programação do PLC1
; programação do PLC1
O valor de tempo deve ser calculado através da seguinte relação de transformação:
1 segundo = 20 unidades da constante de tempo
Logo se desejarmos uma temporização de 13,55 segundos temos de ter uma constante de tempo de
271, ou seja, multiplicando-se o valor do tempo, em segundos, pelo valor 20, temos o valor da
constante de tempo, como mostrado na equação a seguir:
ct  20  t
Onde :
ou
t 
ct
20
t = tempo, em segundos.
ct = constante de tempo, em unidades do PLC.
 O acionamento da contagem de tempo (ligar o temporizador) é feito através da instrução
SET no próprio arquivo do PLC1 (.1). Como a esta instrução possui vários tipos, deve-se analisar
qual delas vai se adequar melhor ao tipo de lógica requerida na programação. A seguir temos
alguns exemplos para o acionamento da contagem:
EXEMPLO:
Supondo que estamos desenvolvendo a lógica do programa dado no exemplo do 1.º procedimento
e conseqüentemente estamos utilizando os temporizadores TED, TLP e TAP, vamos supor que
acionado a entrada I 0.0 liga-se a saída Q 0.1 e esta deve-se manter ligada por um determinado
tempo definido pelo temporizador TED e ao fim deste tempo liga-se a saída Q 0.2, ao ser ligado a
saída Q 0.3 deve-se mantê-la ligada por um tempo definido pelo temporizador TLP e ao ser
acionado a entrada I 0.1 deve-se ligar a saída Q 0.4 por um tempo definido pelo temporizador TAP.
A seguir temos o programa com os acionamentos dos temporizadores:
;;=== Temporizador TED ===
L
O
==
S
95
I
T
Q
M
0.0
TED
0.1
216.0
; verificando acionamento do botão liga (I 0.0).
; ou se o temporizador está ligado (TED).
; liga a saída p/ partida em Estrela (Q 0.1).
; memoriza partida Estrela , similar a um relé auxiliar.
Manual do PLC
V1.00
L
S
Q
T
0.1 ; verifica se a partida em Estrela foi acionada.
TED ; caso a partida em Estrela tenha sido ligada, aciona-se a
; temporização de TED.
LN
A
=
T
M
Q
TED ; verificando se decorrido o tempo de partida em Estrela,
216.0 ; e se o motor partiu em Estrela.
0.2 ; liga a saída p/ partida em Triângulo.
;;=== Temporizador TLP ===
L
EU
S
Q
0.3
T
TLP
LN
EU
R
T
TLP
Q
0.3
;;=== Temporizador TAP ===
L
O
==
L
I
T
Q
I
0.1
TAP
0.4
0.1
; verificando acionamento do botão de abertura de porta (I 0.1).
; ou se o temporizador de porta aberta está ligado (TAP).
; liga a saída p/ abertura de porta (Q 0.4).
; verificando acionamento do botão de abertura de porta (I 0.1).
Realizado estes procedimentos, basta agora, utilizar o temporizador ao longo da lógica de
programação no próprio PLC1, conforme o tipo de lógica desejada, como temos definidas a seguir:
2.5.2 - Carrega acumulador – Load
OPERANDO:
L
T
OPERAÇÃO:
L
T
Número do Timer
DESCRIÇÃO:
Transfere ao Acumulador o estado do Timer indicado na instrução. O estado é "1" se o Timer
estiver contando tempo. O estado é "0" se o Timer encerrou a contagem de tempo.
2.5.3 - Carrega acumulador com status negado – Load Not
OPERANDO:
LN
T
OPERAÇÃO:
LN
T
Número do Timer
DESCRIÇÃO:
Transfere ao acumulador o status negado do timer indicado na instrução. O acumulador é
carregado com "0" se o timer estiver contando tempo ou "1" se o tempo se encerrou.
96
Manual do PLC
V1.00
2.5.4 - Operação lógica E – And
OPERANDO:
A
T
OPERAÇÃO:
A
T
Número do Timer
DESCRIÇÃO:
Realiza a operação lógica E entre o status anterior do acumulador e o status do timer indicado na
instrução.
2.5.5 - Operação lógica E NEGADO – And Not
OPERANDO:
AN
T
OPERAÇÃO:
AN
T
Número do Timer
DESCRIÇÃO:
Realiza a operação lógica E entre o status do acumulador e o status negado do timer indicado na
instrução.
2.5.6 - Operação lógica OU – Or
OPERANDO:
O
T
OPERAÇÃO:
O
T
Número do Timer
DESCRIÇÃO:
Realiza a operação lógica OU entre o status anterior do acumulador e o status do timer indicado na
instrução.
2.5.7 - Operação lógica OU NEGADO – Or Not
OPERANDO:
ON
T
OPERAÇÃO:
ON
T
Número do Timer
DESCRIÇÃO:
Realiza a operação lógica OU entre o status anterior do acumulador e o status negado do timer
indicado na instrução.
97
Manual do PLC
V1.00
2.5.8 – Operação lógica OU EXCLUSIVO – eXclusive Or
OPERANDO:
XO
T
OPERAÇÃO:
XO
T
Número do Timer
DESCRIÇÃO:
Realiza a operação lógica OU EXCLUSIVO entre o status anterior do acumulador e o status do
timer indicado na instrução.
2.5.9 - Operação lógica OU EXCLUSIVO NEGADO – eXclusive Or Not
OPERANDO:
XON
T
OPERAÇÃO:
XON
T
Número do Timer
DESCRIÇÃO:
Realiza a operação lógica OU EXCLUSIVO entre o status anterior do acumulador e o status negado
do timer indicado na instrução.
2.5.10 - Atribuição de constante de tempo ao timer
OPERANDO:
=
T
OPERAÇÃO:
=
T
Número do Timer
DESCRIÇÃO:
Atribui o conteúdo do acumulador à constante de tempo do timer indicado na instrução. O
acumulador deverá estar carregado com uma variável word (2 bytes). A constante de tempo
somente será ativada ao ser setado o timer.
2.5.11 - SET timer energizando o acumulador
OPERANDO:
SL
T
OPERAÇÃO:
SL
T
Número do Timer
DESCRIÇÃO:
O timer será ligado na transição de “0” para “1“ do estado do Acumulador imediatamente antes da
execução da instrução. O byte de status do timer correspondente é setado com 0FFH. Caso
contrário, o status do timer não será alterado. Após a operação, o status do acumulador é
energizado ("1").
98
Manual do PLC
V1.00
2.5.12 - SET sem influência no acumulador
OPERANDO:
S
T
OPERAÇÃO:
S
T
Número do Timer
DESCRIÇÃO:
O timer será ligado na transição de “0” para “1“ do estado do Acumulador imediatamente antes da
execução da instrução. O byte de status do timer correspondente é setado com 0FFH. Caso
contrário, o status do timer não será alterado. Após a operação, o status do acumulador permanece
inalterado.
2.5.13 – SET FORÇADO sem influência no acumulador
OPERANDO:
SF
T
OPERAÇÃO:
SF
T
Número do Timer
DESCRIÇÃO:
O timer será ligado independentemente do status do acumulador. O byte de status do timer
correspondente é setado com 0FFH. Após a operação, o status do acumulador permanece
inalterado.
2.5.14 - RESET energizando o acumulador
OPERANDO:
RL
T
OPERAÇÃO:
RL
T
Número do Timer
DESCRIÇÃO:
Se o status do acumulador está em "1", o timer será desligado (contagem de tempo vai a 0). Se o
status do acumulador está em "0", o tempo decorrido não será afetado. O status do acumulador é
energizado ("1").
2.5.15 - RESET sem influência no acumulador
OPERANDO:
R
T
OPERAÇÃO:
R
T
Número do Timer
DESCRIÇÃO:
Se o status do acumulador está em "1", o timer será desligado (contagem de tempo vai a 0). Se o
status do acumulador está em "0", o tempo decorrido não será afetado. O status do acumulador
permanece inalterado.
99
Manual do PLC
V1.00
2.5.16 - RESET FORÇADO sem influência no acumulador
OPERANDO:
RF
T
OPERAÇÃO:
RF
T
Número do Timer
DESCRIÇÃO:
O timer será desligado independentemente do status do acumulador. O byte de status do timer
correspondente é zerado. O status do acumulador permanece inalterado.
100
Manual do PLC
V1.00
2.6 - DEMAIS OPERAÇÕES
2.6.1 – Energiza o acumulador
OPERANDOS:
EN
NÃO POSSUI
OPERAÇÃO:
EN
DESCRIÇÃO:
Após a execução desta instrução o conteúdo do acumulador estará energizado ("1").
Esta instrução além de mudar o conteúdo do acumulador, também muda o conteúdo dos flags.
Após a execução da instrução o Acumulador e os Flags estarão nos estados definidos pela tabela
abaixo:
TABELA DA VERDADE:
Estado do Acumulador
Acc (valor atual)
0FFH
Zero
NZ
Estado dos Flags
Carry
Sinal
NC
P
2.6.2 - Carrega endereço – load ADRESS
OPERANDO:
ADR
RÓTULO CORRESPONDENTE AO ENDEREÇO DESEJADO
OPERAÇÃO:
ADR
“RÓTULO”
DESCRIÇÃO:
Transfere para o acumulador o endereço do rótulo indicado na instrução.
2.6.3 - Instrução TELA
OPERANDO:
TELA
NÃO POSSUI
OPERAÇÃO:
TELA
DESCRIÇÃO:
Os CNCs da série 500 permitem ao usuário programar e ativar, através do PLC, telas especiais
com apresentação ou entrada de dados. O PLC pode tomar conta da tela básica do CNC, escrever
na linha de modos, na linha de status e na linha imediatamente acima das softkeys. Pode também
apresentar telas gráficas memorizadas no PLC.
A instrução TELA é uma instrução genérica relacionada com a construção dessas telas,
apresentação ou tomada de dados pelo PLC.
101
Manual do PLC
V1.00
O tipo de operação realizada depende do conteúdo do acumulador ao se executar a instrução. Sua
descrição é apresentada no capítulo 7.
2.6.4 - FINAL da execução do PLC
OPERANDO:
END
NÃO POSSUI
OPERAÇÃO:
END
DESCRIÇÃO:
Encerra a execução do PLC
102
Manual do PLC
V1.00
3 - Habilitação de Serviços
Palavra de controle de serviços = 96 bits (I12-23), sendo um bit para cada serviço.
Quando definidos para nível 1, estes bits habilitam os serviços listados:
Byte
12.
0
12.
1
12.
2
12.
3
12.
4
12.
5
12.
6
12.
7
13.
0
13.
1
13.
2
13.
3
13.
4
13.
5
13.
6
13.
7
14.
0
14.
1
14.
2
14.
3
14.
4
14.
5
14.
6
103
Significado
Leitura das entradas digitais
Escrita nas saídas digitais
Leitura das entradas analógicas
Escrita nas saídas analógicas
Referência dos eixos
Execução de programa (canal principal)
Execução de programa (canal auxiliar)
Escrita em display
Leitura de teclado
Escrita de cotas
Serviço de corte de tubos
Serviço de joystick
Funções MST (canal principal)
Funções MST (canal auxiliar) *
Geral S (canal principal)
Geral S (canal auxiliar) *
Movimento manual / independente (eixo 1)
Movimento manual / independente (eixo 2)
Movimento manual / independente (eixo 3)
Movimento manual / independente (eixo 4)
Movimento manual / independente (eixo 5)
Movimento manual / independente (eixo 6)
Movimento manual / independente (eixo 7)
Manual do PLC
V1.00
14.
7
15.
0
15.
1
15.
2
15.
3
15.
4
15.
5
15.
6
15.
7
16.
0
16.
1
16.
2
16.
3
16.
4
16.
5
16.
6
16.
7
17.
0
17.
1
17.
2
17.
3
17.
4
17.
5
17.
6
17.
7
Movimento manual / independente (eixo 8)
Mensagens / Alarmes
Acoplamento de eixos
Serviço de comunicação MODBUS
Serviço de comunicação CANBUS
Real Time Clock (RTC)
Modo Manual - Tela
RESERVADO
RESERVADO
Serviço da fotocélula 1
Serviço da fotocélula 2
Came Real
Came Virtual
Came Digital
Came dos Eixos – Vínculos Complexos
Termopar
Leitura e Escrita Parâmetros Driver CAN
Came dos
(eixo 1)
Came dos
(eixo 2)
Came dos
(eixo 3)
Came dos
(eixo 4)
Came dos
(eixo 5)
Came dos
(eixo 6)
Came dos
(eixo 7)
Came dos
(eixo 8)
Eixos – Vínculos Normais e Controle
Eixos – Vínculos Normais e Controle
Eixos – Vínculos Normais e Controle
Eixos – Vínculos Normais e Controle
Eixos – Vínculos Normais e Controle
Eixos – Vínculos Normais e Controle
Eixos – Vínculos Normais e Controle
Eixos – Vínculos Normais e Controle
104
Manual do PLC
V1.00
18.
0
18.
1
18.
2
18.
3
18.
4
18.
5
18.
6
18.
7
19.
0
19.
1
19.
2
19.
3
19.
4
19.
5
19.
6
19.
7
20.
0
20.
1
20.
2
20.
3
20.
4
20.
5
20.
6
20.
7
21.
0
21.
1
21.
2
105
Manivela 1
Manivela 2
Manivela 3
Transferência de dados entre CNCs
Manual do PLC
V1.00
21.
3
21.
4
21.
5
21.
6
21.
7
22.
0
22.
1
22.
2
22.
3
22.
4
22.
5
22.
6
22.
7
23.
0
23.
1
23.
2
23.
3
23.
4
23.
5
23.
6
23.
7
Aplicação Específica da CM (Lentes)
106
Manual do PLC
V1.00
4 - Serviço de Joystick
4.2 - Descrição Geral
O serviço de joystick habilita o movimento de até dois eixos simultâneos, baseados em vetores de
velocidade determinados por variáveis de controle. Os eixos a serem movidos são indicados na
estrutura de dados pelo número ao qual estão associados.
As variáveis de controle dos vetores de velocidade (variáveis I do PLC) são de 2 bytes e seu
endereço é dado na estrutura de dados.
A cada variável de controle são associados parâmetros que definem como será realizado o cálculo
do vetor de controle resultante. Para cada canal de controle são definidas variáveis
correspondentes ao centro do ponto morto, à janela de inabilitação e ao limite de controle. A janela
de inabilitação e o limite de controle são simétricos.
A velocidade resultante é dada pelo fator de controle calculado multiplicado pela
velocidade máxima estabelecida na estrutura de dados.
Variáveis ‘bit’ na estrutura de dados indicam o sentido de movimento e se os fins
de curso do eixo devem ou não ser observados.
107
Manual do PLC
V1.00
4.3 - Tipos de Dados
Int16 = Inteiro de 16 bits (2 bytes)
Float32 = Número em ponto flutuante simples (4 bytes)
Bits16 = Estrutura de bits (B0 – B15) (2 bytes)
4.4 - Parâmetros de Configuração Utilizados
Parâmetros de Eixo: x = num do eixo
 Px29 = Velocidade máxima em modo manual
4.5 - Parâmetros de PLC Utilizados (P900 – P999)
Não há.
108
Manual do PLC
V1.00
4.6 - Estrutura de Dados e Comandos ( PLC → CNC )
Ponteiro base da estrutura de dados e comandos (endereço do início da estrutura
de dados na área I) = I796
Tamanho da estrutura = 28 bytes
Endere
ço
Base
Base+2
Base+4
Base+6
Base+8
Base+1
0
Base+1
2
Base+1
4
Base+1
6
Base+1
8
Base+2
0
Base+2
2
Base+2
4
Base+2
6
Tipo
Nome
Descrição
Int16
Int16
EIXOC1
EIXOC2
Eixo associado ao primeiro canal
Eixo associado ao segundo canal
Int16
Int16
Int16
Int16
CENPM1
JANPM1
JANCC1
VELMC1
Valor central para ponto morto canal 1
Janela para ponto morto canal 1
Janela para controle canal 1
Velocidade máxima canal 1
Int16
VARCO1
Int16
CENPM2
Variável I ou num do POT de controle
canal 1
Valor central para ponto morto canal 2
Int16
JANPM2
Janela para ponto morto canal 2
Int16
JANCC2
Janela para controle canal 2
Int16
VELMC2
Velocidade máxima canal 2
Int16
VARCO2
Variável I ou num do POT de controle
canal 2
Int16 Base Status Endereço base para estrutura de status
Bits1
6
B00
B01
B02
B03
B04
B05
B06
B07
B08
B09
B10
B11
B12
B13
B14
B15
SENTV
HABFC
FHPOS
FHNEG
SENTV
HABFC
FHPOS
FHNEG
SIGVC
SIGVC
Sentido do vetor de velocidade canal 1
Habilita fins de curso eixo canal 1
Bloqueia avanço sentido positivo canal
Bloqueia avanço sentido negativo canal
Sentido do vetor de velocidade canal 2
Habilita fins de curso eixo canal 2
Bloqueia avanço sentido positivo canal
Bloqueia avanço sentido negativo canal
VARCO1 é Variável I (=0) ou num do POT
VARCO2 é Variável I (=0) ou num do POT
RESET Reinicia serviço
4.6.1 - Eixo Correspondente ao Canal
Define o número do eixo CNC correspondente ao respectivo canal associado.
Deve ser definido antes da habilitação do serviço.
109
Manual do PLC
V1.00
Exemplo: Eixo Canal 2 = 4 → canal 2 do joystick acoplado ao eixo 4 do CNC.
4.6.2 - Valor Central para Ponto Morto do Canal
Define o valor central correspondente ao ponto morto do referido canal.
Exemplo:
Limite da variável de controle = 65535
Centro do ponto morto = 32768 (neste exemplo é a metade do limite da variável)
110
Manual do PLC
V1.00
4.6.3 - Janela para Ponto Morto do Canal
4.6.3 - Janela para Ponto Morto do Canal
Define uma região em torno do ponto morto na qual o fator de controle será 0.
Exemplo:
Janela para ponto morto = 200
Centro do ponto morto = 2048
Faixa para fator de controle = 0 → (2048 – 200) a (2048 + 200) → 1848 a 2248
4.6.4 - Janela para Controle do Canal
Define o limite de variação significativa da variável de controle.
Exemplo:
Janela para controle do canal = 2000
Centro do ponto morto = 2048
Janela para ponto morto = 200
Limites para variação significativa da variável:
Para cima: 2248 a 4048
Para baixo: 1848 a 48
A variação entre 2248 e 4048 ou entre 1848 e 48 faz o módulo do vetor de
velocidade variar entre 0 e a velocidade máxima definida na estrutura de dados.
O módulo da velocidade será 0 acima do valor 4048 ou abaixo de 48.
4.6.5 - Velocidade Máxima para o Canal
Define a máxima velocidade para movimentação do eixo. Se programada com valor
0 ou se o valor for superior ao valor programado no parâmetro de velocidade
máxima manual, o CNC assume a velocidade máxima definida pelo parâmetro do
eixo correspondente.
4.6.6 - Variável para Controle do Canal
Define o número da variável I do PLC ou o número do Potenciômetro que controla
o canal, dependendo do valor do bit SIGVC.
111
Manual do PLC
V1.00
4.6.7 - Variável Base para Status
Define o número da variável I do PLC a partir da qual o serviço irá montar a
estrutura de variáveis de status.
4.6.8 - Sentido do Vetor de Velocidade do Canal
Define o sentido do vetor de velocidade. Se 0, o sentido será positivo para valores
acima e negativa para valores abaixo do ponto morto. Se 1 ocorre o inverso.
4.6.9 - Fins de Curso para o Eixo Associado ao Canal
Define se os fins de curso do respectivo eixo associado ao canal estão ativos ou
não. Se 0, os fins de curso estão desabilitados. Se 1, os fins de curso ficam
habilitados.
4.6.10 - Bloqueio de Avanço Sentido Positivo
Se o bit estiver ligado, o CNC bloqueia o movimento no sentido positivo do eixo
associado ao referido canal.
4.6.11 - Bloqueio de Avanço Sentido Negativo
Se o bit estiver ligado, o CNC bloqueia o movimento no sentido negativo do eixo
associado ao referido canal.
4.6.12 - Significado da Variável de Controle
Se o bit estiver em 0: variável de controle (VARCO) é o número da variável I do
PLC;
Se o bit estiver em 1: variável de controle é o número do Potenciômetro.
4.6.13 - Reinicia serviço
BIT = 1:
112
Manual do PLC
V1.00
SE FOR POSSÍVEL REINICIAR, OU SEJA, SE OS EIXOS NÃO ESTIVEREM EM MOVIMENTO,
CHAMA A ROTINA QUE DESABILITA E A QUE HABILITA NOVAMENTE O SERVIÇO, LENDO
OS NOVOS VALORES DOS PARÂMETROS DE INICIALIZAÇÃO (EIXOS POR EXEMPLO).
ZERA O BIT.
Se não for possível, apenas ignora o comando.
113
Manual do PLC
V1.00
4.6.15 - Estrutura de Status (CNC → PLC)
4.6.15 - Estrutura de Status (CNC → PLC)
Base da estrutura de status (endereço inicial área I) = I(Base+24 da estrutura de
dados e comandos)
Tamanho da estrutura = 4 bytes
Endere
ço
Base
Base+2
Tipo
B00
B01
B02
B03
B04
B05
B06
Bits1 B07
B08
6
B09
B10
B11
B12
B13
B14
B15
B00
B01
B02
B03
B04
B05
B06
Bits1 B07
B08
6
B09
B10
B11
B12
B13
B14
B15
Nome
INIT
OPEN
FAIL
EMG
PTOMOR1
FORAJC1
MOVPOS1
MOVNEG1
FHPOS1
FHNEG1
FCPOS1
FCNEG1
PTOMOR2
FORAJC2
MOVPOS2
MOVNEG2
FHPOS2
FHNEG2
FCPOS2
FCNEG2
Descrição
Serviço iniciado
Serviço habilitado
Falha
Estado de emergência
Janela de Ponto Morto (canal 1)
Fora da Janela de Controle (canal 1)
Movimento Positivo (canal 1)
Movimento Negativo (canal 1)
Bloqueio Positivo (canal 1)
Bloqueio Negativo (canal 1)
Fim de Curso Positivo (canal 1)
Fim de Curso negativo (canal 1)
Janela de Ponto Morto (canal 2)
Fora da Janela de Controle (canal 2)
Movimento Positivo (canal 2)
Movimento Negativo (canal 2)
Bloqueio Positivo (canal 2)
Bloqueio Negativo (canal 2)
Fim de Curso Positivo (canal 2)
Fim de Curso negativo (canal 2)
-
114
Manual do PLC
V1.00
4.7 - Descrição de Funcionamento
O objetivo do serviço é permitir que se controle o movimento dos eixos de uma
máquina a partir de elementos de controle tipo joystick. No caso de atuadores
analógicos, a variável de leitura das entradas analógicas é indicada na estrutura
de dados e comandos, que assim controla a velocidade e sentido de movimento de
cada eixo.
Para segurança na operação da máquina, o joystick deve possuir um recurso de
centralização da haste de controle para que, uma vez solta, a haste retorne à
posição central (ponto morto).
A janela de inabilitação define limites de segurança, para que os eixos só se
movimentem se o deslocamento da haste em relação ao ponto central for
significativo.
A partir de valores fora da janela de inabilitação, o CNC calcula o vetor de
velocidade do eixo de acordo com os parâmetros definidos na estrutura de dados.
A janela de controle define a faixa de controle (limites) para cima ou para baixo do
ponto central. Valores da variável de controle que estejam acima do valor máximo
(ponto central + janela de controle) ou abaixo do valor mínimo (ponto central janela de controle) bloqueiam o movimento dos eixos. Ao ajustar os parâmetros
deve-se assegurar que estes limites não serão atingidos pelo mecanismo do
joystick. Desta forma se garante que eventuais maus contatos nos sinais
analógicos lidos pelo CNC provoquem disparo nos eixos.
O vetor de velocidade varia de zero à velocidade máxima definida na estrutura de
dados. A velocidade permanece com o valor zero enquanto o valor da variável de
controle estiver dentro da faixa de inabilitação. O valor máximo de velocidade é
atingido quando o valor da variável de controle atinge seu limite máximo ou
mínimo. O sentido de movimento é definido pela faixa acima ou abaixo do ponto
central de controle e pelo bit de inversão de sentido. Para bit de inversão de
sentido = 0, valores acima do ponto central provocam deslocamentos no sentido
positivo do eixo.
Se ligados, os bits de bloqueio de movimento, um para cada sentido de movimento,
impedem o deslocamento do eixo no sentido indicado. Caso os dois bits estejam
ligados não haverá movimento no eixo.
4.7.1 - Exemplos
115
Manual do PLC
V1.00
5 - Execução de Programa
5.1 - Descrição Geral
O serviço habilita a execução de um programa do sistema de arquivos (memória do ARM no caso
do Proteo e área de receitas no Proteo Mini). O interpretador que pode ser o ARM, o PC ou o PLC
interpreta os comandos do programa e gera as funções atômicas.
A seleção e interpretação do programa podem ser feitas de uma das seguintes formas (modos de
seleção):
 (1) Proteo: Monitor de execução seleciona o programa de um sistema de arquivos (diretório
e número do programa) e o interpretador gera as funções atômicas;
 (2) Proteo: Cliente do PLC seleciona o programa de um sistema de arquivos (diretório e
número do programa) e o interpretador gera as funções atômicas;
 (3) Proteo Mini: Cliente do PLC seleciona o programa da área de receitas, informando o
tamanho do bloco e os índices dos blocos inicial e final. Nesse caso, os blocos já estão
interpretados, ou seja, basta enviá-los p/ fila de funções atômicas;
 (4) Proteo Mini: O PLC interpreta os comandos e gera as funções atômicas, informando o
tamanho do bloco, os índices dos blocos inicial e final e o endereço inicial da memória I em que
elas se encontram.
O DSP faz o cálculo na frente das funções atômicas de movimento e envia p/ fila de segmentos. O
segmento é executado pela sqRunCycle e DSP avisa monitor de execução.
O monitor de execução é responsável por informar ao DSP os comandos da execução (first start,
stop/pause, resume, abort e modo de execução(contínuo ou passo-a-passo)), que podem vir da
memória I do PLC. Além disso, recebe os status da execução, como o ID da função atômica que
está sendo executada.
116
Manual do PLC
V1.00
Diagrama da execução de programa no Proteo Mini:
Monitor
Execução
Comandos/
Status
Comandos/
Status
FA
DSP
PC
Fila
Função Atômica
R/W
Mem Plc
@Z
Cálculo na
frente
FA
PLC
Blocos de FA
Interpretador
Receitas
(Ciclos Especiais)
Blocos de FA
RAM
Receitas / Programas
Sistema de Arquivos
(Receitas)
FLASH
117
Manual do PLC
V1.00
5.2 - Tipos de Dados
Int16u = Inteiro 16 bits sem sinal (2 bytes)
Bits16 = Estrutura de bits (B0 a B15 - 2 bytes)
5.3 - Parâmetros de configuração utilizados
Parâmetros Gerais:
 P031 a P038 = Associa cada eixo a seu canal de execução de programa.
Define os eixos que serão alocados quando o serviço de execução for
habilitado.
0 = nenhum canal; 1 = canal principal; 2 = canal auxiliar
Obs.: No caso do eixo árvore, como ele é alocado p/ o serviço do GeralS,
seu parâmetro de canal de execução deve estar em 0 (nenhum canal)
Parâmetros de Eixo:

Px08 = Letra associada ao eixo
Valor
0
1
2
3
4
5
6
7
8
9


x = num do eixo
Descrição
Não definido
X
Y
Z
A
B
C
U
V
W
Px27 = Velocidade máxima do eixo (Rápido)
Px68 = Tempo de acel. / desacel.
118
Manual do PLC
V1.00
5.4 - Parâmetros de PLC utilizados (P900 – P999)
5.5 - Estrutura de Dados e Comandos ( PLC → CNC )
Ponteiro base da estrutura (endereço do início da estrutura de dados na área I) =
I794
Bit de Habilitação do serviço: 12.5 (canal principal), 12.6 (canal auxiliar)
PROTEO: Serviço é habilitado automaticamente com base fixa = 900 (I 794 = 900)
Tamanho da estrutura = 18 bytes
Endereço Tipo
Base
Int16u
Nome
CANEXE
Base+2
Base+4
Int16u
Int16u
SELPRG
DIRPRG
Base+6
Int16u
NUMPRG
Base+8
Base+10
Base+12
Base+14
Int16u
Int16u
Int16u
Int16u
TAMBFA
BLOINI
BLOFIM
ENDIFA
B00
B01
B02
B03
B04
B05
B06
Bits16 B07
B08
Base+16
B09
B10
B11
B12
B13
B14
B15
HABITP
MODEXE
FSTART
STOP
RESUME
ABORT
Descrição
Canal
de
execução
de
programa
utilizado
Modo de seleção de programa
Num do diretório do programa (se
existir)
Num do programa (se existir)
Tamanho do bloco de função atômica
Índice do bloco inicial
Índice do bloco final
Endereço base da memória I que
contém as funções atômicas
Habilita
interpretador
/
envia
Modo de execução: 0=contínua; 1 =
First Start: inicia a execução
Stop / Pause
Resume: continua execução do ponto
Abort: aborta execução
Não utilizado
Não utilizado
Não utilizado
Não utilizado
Não utilizado
Não utilizado
Não utilizado
Não utilizado
Não utilizado
Não utilizado
5.5.1 - Canal de execução (CANEXE)
Define o canal de execução de programa utilizado.
Deve ser definido antes da habilitação do serviço.
Valores válidos: 1 = canal de execução principal; 2 = canal de execução auxiliar
119
Manual do PLC
V1.00
5.5.2 - Modo de seleção de programa (SELPRG)
Escolhe um dos 4 modos de seleção de programa definidos no item 2.1.
Deve ser definido antes da habilitação do serviço.
Valores válidos: 1 a 4
5.5.3 - Diretório do programa (DIRPRG)
Define o número do diretório do programa, se existir no modo de seleção utilizado.
Utilizado somente no modo de seleção 2.
Deve ser definido antes da habilitação do serviço.
120
Manual do PLC
V1.00
5.5.4 - Número do programa (NUMPRG)
5.5.4 - Número do programa (NUMPRG)
Define o número do programa, se existir no modo de seleção utilizado.
Utilizado somente no modo de seleção 2.
Deve ser definido antes da habilitação do serviço.
5.5.5 - Tamanho do bloco de função atômica (TAMBFA)
Define o tamanho em bytes do bloco de função atômica que está sendo utilizado.
É lido a cada ciclo do PLC.
5.5.6 - Índices dos blocos inicial e final (BLOINI e BLOFIM)
Define o início e fim dos blocos de funções atômicas que devem ser colocados na
fila de funções atômicas.
É lido a cada ciclo do PLC.
Modo de seleção 3: os índices referem-se aos blocos que estão na área de
receitas.
Modo de seleção 4: os índices definem quais blocos, que estão na memória I do
PLC, devem ser colocados na fila nesse ciclo do PLC.
5.5.7 - Endereço da memória I p/ funções atômicas (ENDIFA)
Define o endereço base da memória I que contém as funções atômicas.
Utilizado somente no modo de seleção 4.
É lido a cada ciclo do PLC.
5.5.8 - Habilita interpretador (HABITP)
Bit de comando em 1, habilita interpretador (envia funções atômicas p/ a fila).
No caso do modo de seleção 4, esse bit indica que existe função atômica na
memória do PLC (BLOINI a BLOFIM) p/ ser enviada à fila. Interpretador zera o bit
se a fila não estiver cheia.
É lido a cada ciclo do PLC.
121
Manual do PLC
V1.00
5.5.9 - Modo de execução (MODEXE)
Define o modo de execução.
Bit de comando: 0 = contínua; 1 = passo a passo
É lido a cada ciclo do PLC.
5.5.10 - First Start (FSTART)
Bit de comando (0 -> 1): Inicia a execução das funções atômicas:
 DSP inicia o cálculo na frente, envia segmentos p/ fila de segmentos e inicia o
movimento;
 Monitor executa e retira as funções atômicas da fila, dando autorização p/ os
movimentos, quando necessário.
É lido a cada ciclo do PLC.
5.5.11 - Stop / Pause (STOP)
Bit de comando (0 -> 1): Monitor de Execução pausa a execução no ponto atual.
Movimento pode ser retomado (resume).
É lido a cada ciclo do PLC.
122
Manual do PLC
V1.00
5.5.12 - Resume (RESUME)
5.5.12 - Resume (RESUME)
Bit de comando (0 -> 1): Monitor de Execução continua a execução do ponto que
parou.
É lido a cada ciclo do PLC.
5.5.13 - Abort (ABORT)
Bit de comando (0 -> 1): Monitor de Execução aborta a execução e limpa as filas
de funções atômicas e de segmentos. Movimento não pode ser retomado.
É lido a cada ciclo do PLC.
123
Manual do PLC
V1.00
5.6 - Estrutura de Status ( CNC → PLC )
Ponteiro base da estrutura (endereço do início da estrutura de dados na área I) =
I794
PROTEO: Serviço é habilitado automaticamente com base fixa = 900 (I 794 = 900)
Tamanho da estrutura = 6 bytes
Endereç
o
Tipo
Bits1
Base+18 6
Base+20 Int16
u
Base+22
Int16
u
Descrição
Nome
B0
B0
B0
B0
B0
B0
B0
B0
B0
B0
B1
B1
B1
B1
B1
B1
5
INIT
OPEN
FAIL
EMG
RUN
PAUSE
HOLD
INIT
ABORT
Serviço iniciado
Serviço habilitado
Falha geral / Erro na execução
Estado de Emergência
Execução rodando
Execução parada
Aguardando autorização do monitor de execução
Estado inicial da execução
Execução abortada (**PROTEO MINI**)
Não utilizado
Não utilizado
Não utilizado
Não utilizado
Não utilizado
NOFA Fila de FA vazia
WAITF Aguardando envio de função atômica
A
(fila de segmentos vazia)
ID da função atômica que está sendo executada
FAEXE
POSFC
Posição programada além do Fim de Curso
(2 bits por eixo:
b0 = Fim Curso Positivo
Eixo 1
b1 = Fim Curso Negativo
Eixo 1
... )
5.7 - Descrição de Funcionamento

Parâmetros (item 2.3) já devem estar configurados.
 Acertar os dados da estrutura de dados e comandos que são utilizados na
habilitação do serviço: CANEXE, SELPRG, DIRPRG, NUMPRG. Esses dados não
podem ser alterados com o serviço habilitado.

Habilitar serviço: Bit5 = 1 (canal principal) e Bit6 = 1 (canal auxiliar)
 Acertar os dados referentes aos blocos de função atômica: TAMBFA, BLOINI,
BLOFIM, ENDIFA. Esses dados podem ser alterados com o serviço habilitado, ou
seja, são lidos a cada ciclo.

Escolher modo de execução (MODEXE): 0 = contínua; 1 = passo a passo.
124
Manual do PLC
V1.00
No modo passo a passo de blocos, o flag “Sync” da primeira função atômica
de cada bloco deve estar em 1 p/ que a execução aguarde autorização do
monitor de execução a cada mudança de bloco. Essa autorização é dada
pelo comando “Resume”.
 Habilitar interpretador: HABITP = 1. Interpretador envia funções atômicas p/ a
fila e zera o bit se a fila não estiver cheia.
 Os bits de comando da estrutura (FSTART, STOP, RESUME, ABORT) são
enviados ao Monitor de Execução pelo cliente do PLC, a cada ciclo. O comando
FSTART inicia a execução das funções atômicas (cálculo na frente e movimento).
 DSP atualiza ID da função atômica que está sendo executada e o cliente do
PLC envia esse dado à estrutura de status do serviço (FAEXE).
125
Manual do PLC
V1.00
5.8 - Exemplos
Execução de programa com 3 eixos (X,Y,Z) por PLC
Base = início da memória I do PLC utilizada p/ esse serviço.

Parâmetros de configuração:
Considerando que os parâmetros dos eixos já estão configurados.
Canal de execução 1: Eixos 1(X), 2(Y) e 3(Z)
P031
P032
P033
1
1
1

Liberação dos eixos:
I1160x0007
117

Dados utilizados na habilitação do serviço:
Base
Base+2
Base+4
Base+6
CANEXE
SELPRG
DIRPRG
NUMPRG
1
4
-

Habilitação do serviço:
I20.5
1

Dados dos blocos de função atômica: 1 bloco de FA de 32 bytes no endereço
I900-931
Base+8
Base+1
0
Base+1
2
Base+1
4
TAMBFA
BLOINI
32
0
BLOFIM
0
ENDIFA
900

Inserção dos blocos de função atômica:
I900- Bloco de FA desejado
931

Habilitação do interpretador:
Base+1
6
B00 HABITP
1
INTERPRETADOR ZERA O BIT APÓS ENVIAR FUNÇÃO ATÔMICA P/ FILA.
126
Manual do PLC

V1.00
Bits de comando: enviados ao Monitor de Execução
B02 B03
– STOP
Base+1
B04 –
6
B05 ABORT
1
0
0
0
FSTART = 1:
INICIA A EXECUÇÃO DAS FUNÇÕES ATÔMICAS DA FILA ATÉ QUE SEJA
ENVIADO UM COMANDO DE PARADA (STOP OU ABORT) OU QUE TERMINE AS
FUNÇÕES ATÔMICAS DA FILA.

Status:
Base+1 Bits de status da execução
8
Base+2 ID da FA que está sendo
0
executada
127
Manual do PLC
V1.00
6 - Serviço de Fotocélula
6.1 - Descrição geral
O serviço de fotocélula habilita o uso das rotinas de captura de dados de fotocélula
pelo PLC. Através deste serviço, o PLC pode tanto configurar o uso do tratamento
da fotocélula quanto acessar os dados capturados.
Os dados configuráveis são:




Distância da marca de fotocélula para o corte (PHOTOTOCUT): Configura a
distância entre a marca de detecção e o corte.
Comprimento programado entre marcas (PGMLENGTH): Configura o
comprimento programado entre as marcas de detecção.
Janela para detecção de marca (MARKWINDOW): Configura a janela onde a
detecção da marca pela fotocélula será possível.
Canal do eixo associado à fotocélula (AXISCHANNEL): Configura o eixo que
será associado à fotocélula.
Os dados retornados são:
Comprimento médio (MEDLEN): Corresponde ao comprimento médio entre duas
marcas de detecção consecutivas.
Erro da foto (ERROFOTO): Corresponde ao erro de detecção da marca atual em
relação à média do comprimento.
Contador de marcas falsas seqüenciais (FALSECNT): Corresponde ao número de
marcas falsas detectadas em posições fora dos limites configurados.
Posição da fotocélula (POSFOTO): Alternativamente, o serviço pode fazer a leitura
da posição da fotocélula.
6.2 - Tipos de dados
Int16u = Inteiro 16 bits sem sinal (2 bytes)
Bits16 = Estrutura de bits (B0 a B15 - 2 bytes)
Int32 = Inteiro 32 bits sem sinal (4 bytes)
6.3 - Parâmetros de Configuração Utilizados
Px09: Resolução do eixo (em casas decimais), usada nas unidades de
comprimento da foto.
6.4 - Parâmetros de PLC utilizados
Não há.
128
Manual do PLC
V1.00
6.5 - Hardware Proteo Mini/LCD
Fotocélulas disponíveis no hardware:
Fotocélu
la
1
2
Entrad
a
1.7
1.6
6.6 - Fotocélula do módulo MCS I/O CANopen
O serviço de fotocélula também está disponível no módulo de interface CANopen
MCS I/O.
129
Manual do PLC
V1.00
6.7 - Estrutura de Dados e Comandos ( PLC → CNC )
Ponteiro base da estrutura de dados e comandos (endereço do início da estrutura
de dados na área I):
Numero da fotocélula
Fotocélula 1
Fotocélula 2
Endereço (I)
790
792
Tamanho da estrutura = 24 bytes.
Endere
ço
Base
Base+4
Base+8
Base+1
2
Base+1
4
Base+1
6
Base+1
8
Base+2
0
Base+2
2
Tipo
Nome
Int32
Int32
Int32
Int16
PHOTOTOCUT
PGMLENGTH
MARKWINDOW
AXISCHANNEL
Int16
NUMMEDCMP
Descrição
Distancia para a marca do corte
Comprimento programado entre marcas
Janela para detecção de marca
Canal do eixo associado à fotocélula
Número de médias desejadas para o comprimento
B00
B01
B02
B03
B04
B05
B06
Uint1 B07
B08
6
B09
INITCAP Inicia ciclo de foto celula
BLOCK Bloqueia fotocélula
INITMEAS Inicia medida de posição da marca
(INITCMED) Inicia comprimento médio com primeiro medido
REMOTE Bit de identificação remoto/local
ENCOUNT Habilita contador de pulsos (foto local)
RSTCOUNT Reset contador de pulsos
ENBUFFER Habilita buffer de dados da foto
CLRBUFFE Limpa buffer
L_VINC Não reprograma comprimento do vínculo com
Lfoto_med
B10
B11
B12
B13
B14
B15
Uint1
IC_MAX
Divisões p/ aplicar correção da foto (0 = 8
6
vezes)
Uint1
MODUL_ADR
Número do módulo da fotocélula remota
6
Int16
RESERVADO
Reservado
() indica não implementado.
6.7.1 - Distancia para a marca do corte (PHOTOTOCUT)
Define a distância entre a marca de detecção e o corte. Consiste de um número
int32, com a resolução definida no Parâmetro de Resolução do eixo (109, 209).
Deve ser definido antes da habilitação do serviço.
130
Manual do PLC
V1.00
6.7.2 - Comprimento programado entre marcas (PGMLENGTH)
Define o comprimento programado entre as marcas de detecção. Consiste de um
número int32, com a resolução definida no Parâmetro de Resolução do eixo (109,
209).
Deve ser definido antes da habilitação do serviço.
6.7.3 - Janela para a detecção de marca (MARKWINDOW)
Define a janela onde a detecção da marca pela fotocélula será possível. Consiste
de um número int32, com a resolução definida no Parâmetro de Resolução do eixo
(109, 209).
Deve ser definido antes da habilitação do serviço.
131
Manual do PLC
V1.00
6.7.4 - Canal do eixo associado à fotocélula (AXISCHANNEL)
6.7.4 - Canal do eixo associado à fotocélula (AXISCHANNEL)
Define o eixo ao qual a fotocélula será associada (1 a 8). Consiste de um número
int16.
Deve ser definido antes da habilitação do serviço.
6.7.5 - Número de médias desejadas para o comprimento (NUMMEDCMP)
Número de medidas a serem amostradas para cálculo do comprimento médio. Para
os valores 0 e 1, não realiza o cálculo e adota o valor atual. Valor máximo: 16.
6.7.6 - Inicia Captura de dados (INITCAP)
Bit de comando (0 -> 1): habilita a aquisição dos dados da fotocélula. Funciona na
transição de 0 para 1 apenas.
É lido a cada ciclo do PLC.
6.7.7 - Bloqueia fotocélula (BLOCK)
Bit de comando (0 -> 1): bloqueia a aquisição dos dados da fotocélula. Funciona
na transição de 0 para 1 apenas.
É lido a cada ciclo do PLC.
6.7.8 - Medida da posição da marca (INITMEAS)
Bit de comando (0 -> 1): inicia a captura da próxima fotocélula, retornando a
posição (em relação à marca de detecção anterior) da marca de detecção
presente. Funciona na transição de 0 para 1 apenas.
É lido a cada ciclo do PLC.
6.7.9 - Bit de identificação remoto/local (REMOTE)
Bit de comando/configuração. Quando colocado em 1, especifica que a fotocélula é
remota.
O estado do bit é verificado todo ciclo, ou seja, o bit deve ser mantido com o valor
desejado.
132
Manual do PLC
V1.00
6.7.10 - Bit de habilitação do contador (ENCOUNT)
Bit de habilitação do contador associado à fotocélula local. Quando em 1 o
contador é incrementado a cada interrupção da fotocélula. Como não há bloqueio
da interrupção, o tempo gasto é somente o tratamento da interrupção. Usado como
contador de entrada rápida.
6.7.11 - Bit de reset do contador (RSTCOUNT)
Bit de reset do contador associado à fotocélula. Quando ocorrer a transição para 1
o contador de 4 bytes é resetado para 0x00000000.
6.7.12 - Iniciar comprimento médio com primeiro comprimento medido (INITCMED)
*Não implementado
6.7.13 - Comprimento do vínculo do eixo com Lfoto_med
Quando o bit está em 1, não reprograma o comprimento do vínculo do came do
eixo que usa a correção da foto com o comprimento médio calculado pela foto
6.7.14 - Incremento de correção máximo (IC_MAX)
(Lfoto_med), ou seja, mantém comprimento teórico programado.
O estado do bit é verificado todo ciclo, ou seja, o bit deve ser mantido com o valor
desejado.
Número de divisões p/ aplicar correção da foto. Cada divisão corresponde a 4 ms.
Default (0) = 8 vezes. Para correção imediata, programa-se 1.
Consiste de um Uint16.
6.7.15 - Número do módulo CAN da fotocélula remota (MODUL_ADR)
Número do módulo CAN de I/O responsável pela fotocélula. Varia de 0 a 15.
Consiste de um Int16.
133
Manual do PLC
V1.00
6.8 - Estrutura de Status (CNC → PLC)
Base da estrutura (endereço inicial área I): ver tabela.
Tamanho da estrutura = 24 bytes.
Endereç
o
Base+24
Base+28
Base+32
Base+36
Base+38
Tipo
Int32
Int32
Int32
Int16
Int16
Base+40 Bits1
6
Base+42 Uint1
6
Base+44 Int32
Descrição
Nome
POSFOTO
MEDLEN
ERROFOTO
FALSECNT
Reservado
B0 INIT
B0 OPEN
B0 FAIL
B0 EMG
B0 FOTOBLO
B0 CAPFOTO
B0 FOTO_OK
B0 TAPETE
B0
B0
B1
B1
B1
B1
B1
B1
5
CNTBUFFER
Posição da Marca de detecção
Comprimento médio
Erro da Fotocélula
Contador de marcas falsas seqüenciais
COUNTER
Contador de fotos válidas
Serviço iniciado
Serviço habilitado
Falha geral
Estado de Emergência
Fotocélula bloqueada
Capturando dados
Fotocélula Ok (dados capturados)
Foto já estava ligada ao entrar na janela de
Número de dados do buffer
6.8.1 - Posição da marca de detecção (POSFOTO)
Retorna um número correspondente à posição da marca de detecção. Consiste de
um número int32, com a resolução definida no Parâmetro de Resolução do eixo.
6.8.2 - Comprimento médio (MEDLEN)
Retorna o valor do comprimento médio capturado pela fotocélula.
6.8.3 - Erro da fotocélula (ERROFOTO)
Retorna o valor correspondente ao erro da fotocélula, ou seja, o erro da marca
atual em relação ao comprimento médio.
Erro = marca atual – (marca anterior + comprimento médio)
134
Manual do PLC
V1.00
6.8.4 - Contador de marcas falsas seqüenciais (FALSECNT)
Retorna o valor da contagem de marcas falsas. Corresponde às falsas detecções
entre marcas verdadeiras.
6.8.5 - Contador de pulsos (COUNTER)
Contador de pulsos da fotocélula, incrementado quando houver a interrupção (foto
válida ou modo contador).
6.8.6 - Condição de TAPETE
Ocorre quando ao entrar na janela de detecção (passar a distância de bloqueio), o
estado da foto está ligado.
P/ aplicações que usam a foto-célula p/ acoplar o came (ex. GigaWatt):
Nessa condição, CNC não libera busca da próxima foto e gera uma marca falsa
(posição da foto anterior + distância ideal).
Distância ideal = (ângulo de aceleração + ângulo de cruzeiro do vínculo do came) *
K_camereal (converte ângulo do came em pulsos do eixo real)
135
Manual do PLC
V1.00
7 - Serviço de Came Real
7.1 - Descrição geral
O serviço de came real habilita o uso das rotinas de captura de dados de encoder
de determinado eixo pelo PLC para uso na sincronização de outro eixo. Através
deste serviço, o PLC pode configurar o uso do came real e acessar os dados por
ele gerados.
Os dados configuráveis são:





Canal do eixo associado ao came (EIXO)
Fator de acoplamento (FACOP)
Deslocamento do MCScame em relação ao encoder (OFFSET)
Posição para acoplar (POSACOP).
Posição para desacoplar (POSDESACOP).
Os dados retornados são:


Posição do MCScame
Bits de status
136
Manual do PLC
V1.00
7.2 - Tipos de dados
Int16u = Inteiro 16 bits sem sinal (2 bytes)
Bits16 = Estrutura de bits (B0 a B15 - 2 bytes)
Int32 = Inteiro 32 bits sem sinal (4 bytes)
7.3 - Parâmetros de Configuração Utilizados
Não há.
Resolução em graus: 1/100 graus, salvo menção em contrário.
7.4 - Parâmetros de PLC utilizados
Não há.
7.5 - Estrutura de Dados e Comandos ( PLC → CNC )
Ponteiro base da estrutura de dados e comandos (endereço do início da estrutura
de dados na área I) = I788
Tamanho da estrutura = 22 bytes.
Endereço Tipo
Base
Int16
Base+2 Int16
Descrição
Canal do eixo associado ao came
Deslocamento
do
MCScame
em
relação ao encoder
Base+4 Float
FACOP
Fator de acoplamento (float)
MCScame/Encoder
Base+8 Int16
POSACOP
Posição para acoplar
Base+10 Int16
POSDESACOP
Posição para desacoplar
Base+12 Int16
PRESET
Valor de preset para a cota
Base+14 Int16
NUMFOTO
Número da foto-célula
Base+16 Int32
DISTFOTO
Distância da foto p/ acoplar
MCScame
B00
CAPREF
Capturar referência
B01 ACOPIME Acoplar imediatamente
B02 ACOPPOS Acoplar após posição
B03 DESACOPIME Desacoplar imediatamente
B04 DESACOPPOS Desacoplar após posição
B05
PRESET
Aplica preset da posição do
B06 ACOPFOTO Acoplar MCScame após transição
Bits16 B07
B08
Base+20
B09
B10
B11
B12
B13
B14
137
Nome
EIXO
OFFSET
Manual do PLC
V1.00
B15
-
7.5.1 - Canal do eixo associado ao Came (EIXO)
Define o eixo associado aos serviços/rotinas de came. Consiste de um int16.
7.5.2 - ator de acoplamento (FACOP)
Define o fator de acoplamento entre o MCScame e o eixo associado. Consiste de
um float.
Deslocamento do MCScame em relação ao encoder (OFFSET)
Define o deslocamento do valor de posição do eixo do MCScame em relação ao
valor real lido no encoder. Consiste de um int16.
7.5.3 - Posição para acoplar (POSACOP)
Define a posição onde haverá o acoplamento do MCScame com o eixo associado.
Essa posição se refere ao MCScame, ou seja, o acoplamento ocorrerá quando a
pos do eixo real corresponder a POSACOP p/ o MCScame, considerando o offset.
Ex.: POSACOP = 6000 , OFFSET = 1000
Acoplamento ocorrerá qdo PosReal = 5000 -> MCScame = PosReal +
OFFSET = 6000
7.5.4 - Posição para desacoplar (POSDESACOP)
Define a posição onde haverá o desacoplamento do MCScame com o eixo
associado.
Essa posição se refere ao MCScame.
7.5.5 - Capturar referência (CAPREF)
Bit de comando (0 -> 1): Inicia a captura da referência para o came.
138
Manual do PLC
V1.00
7.5.6 - Acoplar imediato (ACOPIME)
Bit de comando (0 -> 1): Acopla imediatamente o MCScame ao eixo. Caso existam
cames de eixos relacionados ao came real e o ângulo do MCScame estiver dentro
de algum vínculo, o CNC calcula a posição base relativa à posição atual dos eixos.
7.5.7- Acoplar após posição (ACOPPOS)
Bit de comando (0 -> 1): Determina que o acoplamento acontecerá apenas após a
detecção da posição informada.
7.5.8 - Desacoplar imediato (DESACOPIME)
Bit de comando (0 -> 1): Determina o desacoplamento imediato do MCScame.
7.5.9 - Desacoplar após posição (DESACOPPOS)
Bit de comando (0 -> 1): Determina que o desacoplamento somente acontecerá
após a passagem pela posição de desacoplamento informada.
7.5.10 - Aplica Preset (PRESET)
Bit de comando (0->1): Faz com que o valor do preset seja aplicado ao valor do
Came Real.
7.5.11 - Acoplar MCScame após transição da foto-célula (ACOPFOTO)
Após a transição da foto-célula (NUMFOTO), aguarda distância informada em
DISTFOTO (resolução centesimal) e acopla MCS Came com preset em relação a
posição p/ acoplar (posreal – posacop).
139
Manual do PLC
V1.00
7.6 - Estrutura de Status (CNC → PLC)
Base da estrutura (endereço inicial área I) = I788
Tamanho da estrutura = 6 bytes.
Endereç
o
Tipo
Bits1
Base+22 6
Base+24 Int16
Base+26 Int16
Nome
Descrição
B0
INIT
Serviço iniciado
B0
OPEN
Serviço habilitado
B0
FAIL
Falha geral
B0
EMG
Estado de Emergência
B0 ACOPLANDO Esperando posição para acoplar
B0
ACOPLADO MCScame Acoplado
B0 DESACOPLAN Esperando posição para desacoplar
B0 DESACOPLAD MCScame desacoplado
B0
CAPREF
Capturando referência
B0
REFOK
Referência Ok
B1
B1
B1
B1
B1
B1
5
POSIT
Posição do MCScame
RPM
Velocidade do MCScame
Esperando posição para acoplar (ACOPLANDO)
Indica estado de espera pela posição de acoplamento.
7.6.2 - MCScame acoplado (ACOPLADO)
Indica que o MCScame está acoplado.
7.6.3 - Esperando posição para desacoplar (DESACOPLANDO)
Indica estado de espera pela posição de desacoplamento.
MCS7.6.4 - came desacoplado (DESACOPLADO)
Indica que o MCScame está desacoplado.
140
Manual do PLC
7.6.5 - Capturando referência (CAPREF)
Indica que uma captura de referência está ocorrendo.
7.6.6 - Referência OK (REFOK)
Indica uma captura de referência bem sucedida.
7.6.7 - Velocidade do MCScame em RPM (RPM)
Retorna a velocidade real do MCScame em RPM.
7.6.8 - Posição do eixo (POSIT)
Retorna a posição do eixo em graus.
141
V1.00
Manual do PLC
V1.00
8 - Serviço de Came Virtual
8.1 - Descrição geral
O serviço de came virtual habilita o uso das rotinas de sincronização de movimento
de eixos reais com eixos virtuais. Através deste serviço, o PLC pode configurar o
uso do came virtual e acessar os dados por ele gerados.
Os dados configuráveis são:


Cotas de posicionamento e parada (COTA_POS, COTA_STOP).
Velocidade de rotação do eixo (RPM).
Os dados retornados são:


Indicação de movimento do MCScame.
Indicação de parada do MCScame.
8.2 - Tipos de dados
Int32 = inteiro de 32 bits sem sinal (4 bytes)
Int16u = Inteiro 16 bits sem sinal (2 bytes)
Bits16 = Estrutura de bits (B0 a B15 - 2 bytes)
8.3 - Parâmetros de Configuração Utilizados
Não há.
Resoluções em 0.01 graus.
8.4 - Parâmetros de PLC utilizados
Não há.
8.5 - Estrutura de Dados e Comandos ( PLC → CNC )
Ponteiro base da estrutura de dados e comandos (endereço do início da estrutura
de dados na área I) = I786
Tamanho da estrutura = 12 bytes.
Endereço Tipo
Base
Int16
Base+2
Base+4
Int16
Int16
Nome
PRESET
COTA_POS
COTA_STOP
Descrição
Valor pré-definido para posição
do eixo
Cota de posicionamento
Cota p/ parada
142
Manual do PLC
Base+6
Base+8
Base+10
Int16
Int16
V1.00
RPM
Velocidade de rotação do eixo
Aceleração/desaceleração do eixo
ACELERAC
virtual
B00 PRESETCOTA Carrega valor de preset
B01 ROTPROG Movimento na rotação programada
B02 POSFINAL Movimento
até
cota
de
B03
STOP
Parada imediata
B04 STOPFINAL Parada na cota final (COTA_STOP)
B05 UNI_RPM Unidade da velocidade: 0 = 1rpm,
B06
B07
Bits16 B08
B09
B10
B11
B12
B13
B14
B15
-
() indica não implementado.
8.5.1 - Valor para a posição do eixo (PRESET)
Define um valor para ser carregado como posição do eixo quando da execução do
comando PRESET. Consiste de um int16. Resolução: 0.01 graus.
8.5.2 - Cota de posição (COTA_POS)
Define o valor da cota de posicionamento. Movimenta o came virtual até essa cota
quando for dado o comando POSFINAL.
8.5.3 - Cota p/ parada programada (COTA_STOP)
Valor da posição para parada programada. O comando STOPFINAL faz com que o
came virtual pare nesta posição. Consiste de um int16.
8.5.4 - Velocidade do eixo (RPM)
Define a velocidade que o eixo irá movimentar.
O valor deve ser passado em unidades de RPM (bit5 = 0) ou décimos de RPM (bit5
= 1) e consiste de um int16.
143
Manual do PLC
V1.00
8.5.5 - Aceleração/Desaceleração do eixo do Came Virtual (ACELERAC)
Tempo em milissegundos para ir de 0 a RPM programada ou RPM a zero.
Todos os movimentos respeitam essa aceleração, exceto se não houver distância
suficiente p/ desacelerar e parar na cota programada (comandos POS_FINAL e
STOP_FINAL). Nesses casos, o came mestre para imediatamente ao chegar na
cota (“tranco”).
8.5.6 - Preset para cota (PRESET_COTA)
Bit de comando (0->1). Carrega o valor de preset.
8.5.7 - Rotação com valor programável (ROT_PROG)
Bit de comando (0->1). Ordena rotação do eixo com valor programado.
8.5.8 - Posicionamento (POS_FINAL)
Bit de comando (0->1). Ordena movimento do eixo até a cota de posicionamento,
parando em seguida.
8.5.9 - Parada imediata (STOP)
Bit de comando (0->1). Ordena parada imediata.
8.5.10 - Parada com cota final (STOP_FINAL)
Bit de comando (0->1). Ordena parada quando o eixo atingir a cota final
programada.
144
Manual do PLC
V1.00
8.6 - Estrutura de Status (CNC → PLC)
Base da estrutura (endereço inicial área I) = I786
Tamanho da estrutura = 6 bytes.
Endereço
Base+12
Base+14
Base+16
Tipo
B00
B01
B02
B03
B04
B05
B06
Bits16 B07
B08
B09
B10
B11
B12
B13
B14
B15
Int16
Int16
Nome
INIT
OPEN
FAIL
EMG
MESTRE_RUN
MESTRE_STOP
POSIT
RPM
Descrição
Serviço iniciado
Serviço habilitado
Falha geral
Estado de Emergência
MCScame girando
MCScame parado
Posição do eixo virtual
Velocidade do eixo virtual
8.6.1 - MCScame parado (MESTRE_STOP)
Indica que o MCScame encontra-se parado.
8.6.2 - MCScame girando (MESTRE_RUN)
Indica que o MCScame encontra-se em movimento.
8.6.3 - Velocidade do eixo virtual (RPM)
Retorna a informação de velocidade do eixo virtual.
8.6.4 - Posição do eixo virtual (POSIT)
Retorna a informação de posição do eixo virtual em graus. Resolução: 1/100 graus.
145
Manual do PLC
V1.00
9 - Serviço de Came Digital
9.1 - Descrição geral
O serviço de came digital habilita o uso das rotinas de sincronização de movimento
de eixos com eventos discretos pelo PLC. Através deste serviço, o PLC pode
configurar o uso do came digital e acessar os dados por ele gerados.
Os dados configuráveis são:



Valores de ângulos iniciais, finais e de deslocamento (ANG_INI_C,
ANG_FIN_C, SHIFT_C) associados às saídas digitais de forma que estas
possam ser ativadas ou desativadas conforme o eixo estiver posicionado dentro
destes valores.
Origem da referência do came (virtual ou real - TPCAME), posições de
acoplamento e desacoplamento (POSACOP,
POSDESACOP), offsets
(OFFSETVIRTUAL, OFFSETREAL) e valor máximo de velocidade (RPM_MAX).
Grupos de saídas digitais associáveis (GRP_OUT_1 e GRP_OUT_2) que
poderão ser ativadas ou desativadas de acordo com as faixas de posição
selecionadas.
Os dados retornados são:

Estados de habilitação para os bits associados ao came.
146
Manual do PLC
9.2 - Tipos de dados
Int32 = inteiro de 32 bits sem sinal (4 bytes)
Int16u = Inteiro 16 bits sem sinal (2 bytes)
Bits16 = Estrutura de bits (B0 a B15 - 2 bytes)
9.3 - Parâmetros de Configuração Utilizados
Não há.
Resolução dos valores em graus: 1/100 graus, salvo menção em contrário.
9.4 - Parâmetros de PLC utilizados
Ver parâmetro P6.
147
V1.00
Manual do PLC
V1.00
9.5 - Estrutura de Dados e Comandos ( PLC → CNC )
Ponteiro base da estrutura de dados e comandos (endereço do início da estrutura
de dados na área I) = I784
Tamanho da estrutura = 124 bytes.
Endereço
Base
Tipo
Bits16
Nome
TPCAME
Base+2
Base+4
Base+6
Base+8
Base+10
Base+12
Base+14
Base+16
Int16
Int16
Int16
Int16
Int16
Int16
Int16
Bits16
OFFSETREAL
POSACOP
POSDESACOP
OFFSETVIRTUAL
RPM_MAX
GRPOUT1
GRPOUT2
MASK_OUT
Base+18 Int16*16 ANGINI[0..15]
Base+50 Int16*16 ANGFIM[0..15]
Base+82 Int16*16
Base+114
Bits16
Bits16
Base+116
Base+118
Bits16
SHIFT[0..15]
CAME_TEMPO
B00 ACOPIME
B01 ACOPPOS
B02 DESACOPIME
B03 DESACOPPOS
B04
B05
B06
B07
B08
B09
B10
B11
B12
B13
B14
B15
B00
HAB00
B01
HAB01
B02
HAB02
B03
HAB03
B04
HAB04
B05
HAB05
B06
HAB06
B07
HAB07
B08
HAB08
B09
HAB09
B10
HAB10
B11
HAB11
B12
HAB12
B13
HAB13
Descrição
Tipo do came referenciado (0 =
real; 1 = virtual)
Offset para Came Real
Posição para acoplamento
Posição para desacoplamento
Offset para Came Virtual
Valor máximo para RPM
Grupo de saídas 1
Grupo de saídas 2
Máscara de atualização das
saídas
Ângulo inicial para atuação do
came
Ângulo final de atuação do
came / Came Tempo
Deslocamento do came em função
da velocidade
Habilita
Came
Tempo
(Normal=0;Came Tempo=1)
Acoplamento imediato
Acoplamento após posição
Desacoplamento imediato
Desacoplamento após posição
Habilita Came digital 0
Habilita Came digital 1
Habilita Came digital 2
Habilita Came digital 3
Habilita Came digital 4
Habilita Came digital 5
Habilita Came digital 6
Habilita Came digital 7
Habilita Came digital 8
Habilita Came digital 9
Habilita Came digital 10
Habilita Came digital 11
Habilita Came digital 12
Habilita Came digital 13
148
Manual do PLC
V1.00
B14
B15
HAB14
HAB15
Base+120
Bits16
TIPHAB
Base+122
Int16
--
Habilita Came digital 14
Habilita Came digital 15
Tipo de habilitação da máscara
das saídas
(1bit por came): 0 = após
transição; 1 = imediato
Reservado
9.5.1 - Tipo do Came (TPCAME)
Define o tipo de Came Mestre ao qual os acionamentos digitais serão acoplados.
Cada bit corresponde a um came. O valor 0 estabelece acoplamento ao Came Real
e o valor 1 ao Came Virtual.
9.5.2 - Offset do Came Real (OFFSETREAL)
Deslocamento somado ao Came Mestre Real durante o cálculo do came. Valores
programados em centésimos de grau (0,00 a 359,99 graus).
9.5.3 - Posição para acoplar (POSACOP)
Define a posição angular a partir da qual os cames digitais serão acoplados ao
Came Mestre ao se solicitar o acoplamento após determinada posição
(ACOPPOS). Valores programados em centésimos de grau (0,00 a 359,99 graus).
9.5.4 - Posição para desacoplar (POSDESACOP)
Define a posição angular a partir da qual haverá o desacoplamento dos cames
digitais do Came Mestre ao se solicitar o desacoplamento após determinada
posição (DESACOPPOS). Valores programados em centésimos de grau (0,00 a
359,99 graus).
9.5.5 - Offset do Came Virtual (OFFSETVIRTUAL)
Deslocamento somado ao Came Mestre Virtual durante o cálculo do came.
Consiste de um int16.
149
Manual do PLC
V1.00
9.5.6 - Velocidade máxima (RPM_MAX)
Define a velocidade máxima do came. O valor deve ser passado em RPM. Este
valor é usado para calcular os deslocamentos automáticos dos ângulos
programados em função da velocidade do Came Mestre (ver SHIFT).
9.5.7 - Grupo de saídas n (GRPOUTn)
Associa um grupo de 8 saídas ao Came Digital. Pode-se ter até 2 grupos de saídas
associadas a cames digitais.
9.5.8 - Máscara de atualização das saídas (MASK_OUT)
As saídas atribuídas a cames digitais podem ser controladas pelo PLC ou pelo
Came Mestre. A máscara de atualização das saídas define quais saídas serão
controladas pelo Came Mestre e quais serão controladas pelo PLC. Se o bit
correspondente estiver programado com 0, a saída passa a ser controlada pelo
PLC. Se estiver programada com 1 passa a ser controlada pelo Came Mestre.
9.5.9 - Ângulos iniciais LCAMxx (ANG_INI_C[0..15])
Ângulos iniciais para acionamento das saídas digitais. Definem os ângulos,
referidos ao Came Mestre, a partir dos quais as saídas digitais serão ligadas.
Valores programados em centésimos de grau (0,00 a 359,99 graus). No caso de
cames atuados por tempo, definem o ângulo em que o tempo de atuação do came
será disparado.
150
Manual do PLC
V1.00
9.5.10 - Ângulos finais ou tempo para acionamento dos cames DCAMxx (ANG_FIN_C[0..15])
Ângulos finais ou tempo para acionamento dos cames (centésimos de grau ou
tempo em milissegundos).
Se o bit correspondente em CAME_TEMPO for 0, os valores programados indicam
a posição angular do Came Mestre a partir da qual as saídas serão desligadas. Os
valores programáveis neste caso vão de 0,00 a 359,99 graus.
Caso o bit correspondente em CAME_TEMPO esteja programado com 1, o valor
armazenado nestes registradores corresponde ao tempo em milissegundos que a
respectiva saída digital ficará acionada a partir da passagem do Came Mestre pelo
ângulo inicial correspondente. Neste caso os valores programáveis vão de 0 a
65535.
9.5.11 - Avanços para rotação máxima (SHIFT_C[0..15])
Definem o máximo deslocamento angular do came em relação aos ângulos de
atuação do mesmo. É utilizado para antecipar a atuação do came
proporcionalmente à velocidade do Came Mestre. Valores programados em
centésimos de grau (0,00 a 359,99 graus).
9.5.12 - Habilita Came Tempo (CAME_TEMPO)
Habilita a função de Came Tempo para a saída digital correspondente. Quando o
bit correspondente for 0, a saída do came digital é acionada enquanto o Came
Mestre estiver dentro da faixa dada por ANG_INI(n) e ANG_FIN(n). Quando o bit
correspondente for 1, funciona como Came Tempo, acionando a saída
correspondente quando ANG_INI(n) for atingido e desligando-a quando o tempo
em milissegundos armazenado em ANG_FIN(n) for atingido.
9.5.13 - Habilitação dos Cames Digitais Cx (EN_xx)
Bits de comando, 16 bits, sendo 1 bit por came. Habilitam o controle de estado dos
cames de acordo com os ângulos programados para ligar e desligar os cames
(LCAMxx e DCAMxx). Quando em 1, o CNC controla o estado do came
correspondente. Quando em 0 o CNC não observa o estado do came. Para que
uma saída seja controlada pelo Came Mestre o bit correspondente deverá
obrigatoriamente estar programado com 1.
151
Manual do PLC
V1.00
9.5.14 - Tipo de habilitação da máscara de atualização das saídas (TIPHAB)
Determina o momento no qual a atualização das saídas de cames digitais será
transferida do PLC ao Came Digital e vice-versa.
Duas situações são possíveis:
 Atualização na transição ao ligar ou desligar o came
Neste caso o valor programado no bit correspondente ao came deve ser 0. Ao
se ligar o bit correspondente ao came em MASK_OUT, o controle da saída será
transferido do PLC ao Came Mestre na primeira transição de 0 para 1 do estado
do referido came. Ao se desligar o bit em MASK_OUT, o controle da saída será
transferido do Came Mestre ao PLC na transição de 1 para 0 do estado do
referido came.
 Atualização imediata
Neste caso o valor programado no bit correspondente ao came deve ser 1. Ao
se ligar ou desligar o bit correspondente ao came em MASK_OUT, a
transferência de controle do PLC ao Came Mestre e vice-versa ocorre
imediatamente.
152
Manual do PLC
V1.00
9.6 - Estrutura de Status (CNC → PLC)
Base da estrutura (endereço inicial área I) = I784
Tamanho da estrutura = 12 bytes.
Endereço
Tipo
B00
B01
B02
B03
B04
B05
B06
B07
B08
Base+124 Bits16 B09
B10
B11
B12
B13
B14
B15
B00
B01
B02
B03
B04
B05
B06
B07
B08
Base+126 Bits16 B09
B10
B11
B12
B13
B14
B15
Base+128 Bits16
Base+130 Bits16
Base+132 Bits16
Nome
INIT
OPEN
FAIL
EMG
R_ACOPLANDO
R_ACOPLADO
R_DESACOPLANDO
R_DESACOPLADO
VIRTUAL
CAME_00
CAME_01
CAME_02
CAME_03
CAME_04
CAME_05
CAME_06
CAME_07
CAME_08
CAME_09
CAME_10
CAME_11
CAME_12
CAME_13
CAME_14
CAME_15
STT_OFF_ON
STT_ON_OFF
STT_MASK_HAB
Base+134 Int16
--
Descrição
Serviço iniciado
Serviço habilitado
Falha geral
Estado de Emergência
Esperando
posição
para
MCScame Acoplado (Came Real)
Esperando
posição
para
MCScame
desacoplado
(Came
MCScame Virtual acoplado
Came 00 ligado (dentro da
Came 01 ligado (dentro da
Came 02 ligado (dentro da
Came 03 ligado (dentro da
Came 04 ligado (dentro da
Came 05 ligado (dentro da
Came 06 ligado (dentro da
Came 07 ligado (dentro da
Came 08 ligado (dentro da
Came 09 ligado (dentro da
Came 10 ligado (dentro da
Came 11 ligado (dentro da
Came 12 ligado (dentro da
Came 13 ligado (dentro da
Came 14 ligado (dentro da
Came 15 ligado (dentro da
zona)
Transição de entrada (1bit
por came)
Transição de saída
(1bit
por came)
Máscara de habilitação das
saídas (1bit por came)
Reservado
9.6.1 - Cames ligados (CAME_xx)
Sinaliza quais os bits do came que estão ligados. Estes bits sinalizam os estados
das saídas sem levar em conta se estas estão ou não habilitadas.
153
Manual do PLC
V1.00
9.6.2- Transição cames ligados (STT_OFF_ON)
Sinaliza a transição de estado de 0 para 1 dos cames. Estes bits sinalizam a
transição de estado dos cames independentemente das saídas estarem habilitadas
ou não.
9.6.3- Transição cames desligados (STT_ON_OFF)
Sinaliza a transição de estado de 1 para 0 dos cames. Estes bits sinalizam a
transição de estado dos cames independentemente das saídas estarem habilitadas
ou não.
9.6.4 - Estado da habilitação das saídas dos cames digitais (STT_MASK_HAB)
Indica quem possui o controle das saídas dos cames digitais. Se 0 indica que o
controle das saídas está com o PLC. Se 1 indica que o controle está com o Came
Digital.
154
Manual do PLC
V1.00
10 - Serviço do Came dos Eixos: Vínculos Normais e Controle
10.1 - Descrição geral
O serviço do came dos eixos: Vínculos normais e Controle, define as tabelas de
vínculos de posição com o Came Real ou o Came Virtual. Através deste serviço, o
PLC pode associar até 4 vínculos para cada um dos 8 eixos possíveis, assim como
habilitar o acoplamento e desacoplamento do Came dos Eixos ao MCScame (Real
ou Virtual).
Os dados configuráveis são:


Eixo associado
Número de vínculos do eixo
Sendo que para cada vínculo podem ser definidos:



Ângulo inicial e final
Comprimento do vínculo
Zona de transição
10.2 - Tipos de dados
Int32 = inteiro de 32 bits sem sinal (4 bytes)
Int16u = Inteiro 16 bits sem sinal (2 bytes)
Bits16 = Estrutura de bits (B0 a B15 - 2 bytes)
10.3 - Parâmetros de Configuração Utilizados
Não há.
Resolução dos valores em graus: 1/100 graus, salvo menção em contrário.
Resolução em mm: 1/1000mm, salvo menção em contrário.
10.4 - Parâmetros de PLC utilizados
Não há.
155
Manual do PLC
V1.00
10.5 - Tabela de Endereços da estrutura de dados e comandos:
Ponteiro base da estrutura de dados e comandos (endereço do início da estrutura
de dados na área I):
Número do eixo
Eixo 1
Eixo 2
Eixo 3
Eixo 4
Eixo 5
Eixo 6
Eixo 7
Eixo 8
Endereço (I)
768
770
772
774
776
778
780
782
156
Manual do PLC
V1.00
10.6 - Estrutura de Dados e Comandos ( PLC → CNC )
Ponteiro base da estrutura de dados e comandos (endereço do início da estrutura
de dados na área I): ver tabela de endereços.
Tamanho da estrutura = 116 bytes.
Endereço Tipo
Nome
Base
Int16 EIXOASS
Base+2 Int16 TPMCSCAME
Base+4 Int16 OFFSET
Base+6
Int16 POSACOP
Base+8
Int16 POSDESACOP
Base+10
Int16 POSTABAUX_OK
Base+12
Int16 NUMFOTO
Base+14 Int16 NUMVINC
Base+16 Bits16 SENTVINC
Base+18
Base+20
Int16 RECUO
Int16 DELTA_REC
Base+22
Base+24
Int16 SKIP
Int16 VINCPLX_1
Base+26
Base+28
Base+30
Base+32
Int16
Int16
Int16
Int32
Base+36
float FATOR_INI_1
Base+40
float FATOR_FIM_1
Base+44
Int16 VINCPLX_2
Base+46
Base+48
Base+50
Base+52
Int16
Int16
Int16
Int32
Base+56
float FATOR_INI_2
Base+60
float FATOR_FIM_2
Base+64
Int16 VINCPLX_3
Base+66
Base+68
Int16 ANG_INI_3
Int16 ANG_FIM_3
157
ANG_INI_1
ANG_FIM_1
ZONA_TRANS_1
COMPR_VINC_1
ANG_INI_2
ANG_FIM_2
ZONA_TRANS_2
COMPR_VINC_2
Descrição
Eixo associado
Tipo do MCScame
Deslocamento
entre
Came
Eixo e MCScame
Posição para acoplar ao
MCScame
Posição para desacoplar ao
MCScame
Posição para validar tabela
auxiliar
Número da foto p/ correção
do comprimento do vínculo
(0 = modo liso)
Número de vínculos do eixo
Sentido
dos
vínculos
(1bit/vínculo)
Valor do recuo (em 1/10mm)
Faixa de recuo (delta) (em
1/100 graus)
Modo skip (0=normal)
Vínculo complexo associado
1
Ângulo inicial 1
Ângulo final 1
Zona de transição 1
Comprimento do vínculo 1
(em 1/1000 mm)
Fator
de
acoplamento
inicial (em mm/grau)
Fator de acoplamento final
(em mm/grau)
Vínculo complexo associado
2
Ângulo inicial 2
Ângulo final 2
Zona de transição 2
Comprimento do vínculo 2
(em 1/1000 mm)
Fator
de
acoplamento
inicial (em mm/grau)
Fator de acoplamento final
(em mm/grau)
Vínculo complexo associado
3
Ângulo inicial 3
Ângulo final 3
Manual do PLC
V1.00
Base+70
Base+72
Int16 ZONA_TRANS_3
Int32 COMPR_VINC_3
Base+76
float FATOR_INI_3
Base+80
float FATOR_FIM_3
Base+84
Int16 VINCPLX_4
Base+86
Base+88
Base+90
Base+92
Int16
Int16
Int16
Int32
Base+96
float FATOR_INI_4
ANG_INI_4
ANG_FIM_4
ZONA_TRANS_4
COMPR_VINC_4
Base+100 float FATOR_FIM_4
B00
B01
B02
B03
B04
B05
B06
B07
Bits16 B08
Base+104
B09
B10
B11
B12
B13
B14
B15
ACOPIME
ACOPPOS
DESACOPIME
DESACOPPOS
HABVINC_1
HABVINC_2
HABVINC_3
HABVINC_4
VALTAB_VINC1
VALTAB_PVINC
VALTAB_POS
VALTAB_IME
PROGVINC
VALTAB_VINC1AUX
RECUAR
COMP_VINC
B00 ACOPFOTO1
B01 ACOPFOTO2
B02 MAIN_AUX
B03 BLOQ_AUX
B04 BLOQ_FOTO
Base+106
B05
Bits16 B06
B07
B08
B09
B10
B11
B12
B13
B14
B15
Base+108 Int32 DISTFOTO
Zona de transição 3
Comprimento do vínculo 3
(em 1/1000 mm)
Fator
de
acoplamento
inicial (em mm/grau)
Fator de acoplamento final
(em mm/grau)
Vínculo complexo associado
4
Ângulo inicial 4
Ângulo final 4
Zona de transição 4
Comprimento do vínculo 4
(em 1/1000 mm)
Fator
de
acoplamento
inicial (em mm/grau)
Fator de acoplamento final
(em mm/grau)
Acoplamento imediato
Acoplamento após posição
Desacoplamento imediato
Desacoplamento após posição
Habilita vínculo 1
Habilita vínculo 2
Habilita vínculo 3
Habilita vínculo 4
Validar
tabela
auxiliar
no
Vínculo
principal
Validar
tabela auxiliar
1º
no
Validar
tabela
auxiliar
Validar
tabela
auxiliar
Programar
tabelas
Valida tabela auxiliar no
Habilita
recuo
(1=Recuo;
Programa
vínculo
usando
compensação (RECUO)
Acopla
após
foto
1
+
Acopla
após
foto
2
+
0 = Soma came eixo auxiliar
no eixo principal;
1 = Bloqueia novo came
quando
atual
está
no
vínculo
de foto
sincronismo
1
= Bloqueia
p/ uso no
came (não coloca posição no
buffer)
Distância
da
foto
acoplar came do eixo
p/
158
Manual do PLC
Base+112 Uint16 EIXOAUX
Base+114 Uint16
V1.00
Num
do
eixo
virtual
auxiliar – max 2 eixos
(Byte0 = eixo aux 1; Byte1
= eixo aux 2)
Reservado
10.6.1 - Eixo associado (EIXOASS)
Eixo para o qual os valores passados pelo PLC serão associados, podendo variar
de 1 a 8. Consiste de um int16.
10.6.2 - Tipo do MCScame (TPMCSCAME)
Seleciona o tipo do MCScame ao qual o Came dos Eixos será referenciado. Real =
0, Virtual = 1.
10.6.3 - Deslocamento entre Came Eixo e MCScame (OFFSET)
Deslocamento entre os ângulos dos eixos do MCScame e Came Eixo. Consiste de
um int16.
10.6.4 - Posição para acoplar ao MCScame (POSACOP)
Posição do eixo do MCScame onde ocorrerá o acoplamento. Consiste de um int16.
10.6.5 - Posição para desacoplar do MCScame (POSDESACOP)
Posição do eixo do MCScame onde ocorrerá o desacoplamento. Consiste de um
int16.
10.6.6 - Posição para validar a tabela auxiliar de vínculos (POSTABAUX_OK)
Posição do MCScame onde ocorrerá a validação da tabela auxiliar de vínculos.
Consiste de um int16.
10.6.7 - Número da fotocélula (NUMFOTO)
Determina o número da fotocélula associada ao Came. Se for diferente de zero,
indica a fotocélula associada. Quando 0, configura modo liso.
10.6.8 - Número de vínculos do eixo (NUMVINC)
Número de vínculos de movimento associados ao eixo. Pode variar de 1 a 4.
Consiste de um int16.
10.6.9 - Sentido dos vínculos (SENTVINC)
159
Manual do PLC
V1.00
Determina o sentido do comprimento dos vínculos. Positivo = 0, negativo = 1,
sendo um bit para cada vínculo.
10.6.10 - Valor do recuo (RECUO)
Valor do recuo programável em 1/10 de mm (sempre positivo). Quando usado
como compensação do vínculo pode assumir valores negativos e positivos.
Consiste de um int16.
10.6.11 - Faixa de recuo (DELTA_REC)
Valor da faixa de recuo (ângulo) em graus. Consiste de um int16.
10.6.12 - Modo Skip (SKIP)
Habilita o uso do modo skip. Para modo normal é igual a 0.
10.6.13 - Vínculo complexo associado (VINCPLX)
Vínculo de movimento do tipo complexo (composto por várias faixas de
velocidades) associado ao eixo. Consiste de um int16.
10.6.14 - Ângulo inicial do vínculo (ANG_INI_n)
Ângulo inicial do vínculo de movimento n, onde n varia de 1 a 4. Consiste de um
int16. Unidade: 000,00º. Consiste de um int16.
10.6.15 - Ângulo final do vínculo (ANG_FIM_n)
Ângulo final do vínculo de movimento n, onde n varia de 1 a 4. Consiste de um
int16. Unidade: 000,00º. Consiste de um int16.
10.6.16 - Comprimento do vínculo (COMPR_VINC_n)
Distância a ser percorrida pelo eixo durante o movimento vinculado. Consiste de
um int32. Unidade: 1/1000 de mm. Consiste de u int32.
10.6.17 - Zona de transição para cruzeiro (ZONATRANS)
Zona de transição de velocidades. Valor de 0 a 50% que define as faixas de
aceleração e desaceleração para os movimentos vinculados. Consiste de um
Acoplar imediato (ACOPIME)
int16.
Bit de comando (0 -> 1): Determina a captura imediata do ponto de referência.
160
Manual do PLC
V1.00
10.6.18 - Acoplar após posição (ACOPPOS)
Bit de comando (0 -> 1): Determina que o acoplamento acontecerá apenas após a
detecção da posição informada.
10.6.19 - Desacoplar imediato (DESACOPIME)
Bit de comando (0 -> 1): Determina o desacoplamento imediato do came.
10.6.20 - Desacoplar após posição (DESACOPPOS)
Bit de comando (0 -> 1): Determina que o desacoplamento somente acontecerá
após a detecção da posição de desacoplamento informada.
10.6.21 - Habilitar vínculo n (HABVINC_n)
Bits de habilitação individuais dos 4 vínculos. Habilitados em 1, desabilitados em 0.
10.6.22 - Validar tabela auxiliar no 1º. vínculo (VALTAB_VINC1)
Validação da tabela de vínculos auxiliar quando o eixo entrar no primeiro vínculo.
10.6.23 - Validar tabela auxiliar no próximo vínculo (VALTAB_PVINC)
Validação da tabela de vínculos auxiliares quando o eixo entrar no próximo vínculo.
10.6.24 - Validar tabela auxiliar após posição (VALTAB_POS)
Validação da tabela auxiliar de vínculos após a detecção da posição informada.
10.6.25 - Validar tabela auxiliar imediatamente (VALTAB_IME)
Validação imediata da tabela auxiliar de vínculos.
10.6.26 - Programar tabelas auxiliares (PROGVINC)
Bit de comando (0 -> 1). Programa tabelas auxiliares de vínculos. Consiste de uma
estrutura bits16.
10.6.27 - Habilita recuo (RECUAR)
Habilita uso do recurso de recuo (valor definido em RECUO). Recuo=1; Normal=0.
161
Manual do PLC
V1.00
10.6.28 - Reprograma vínculo usando compensação (COMP_VINC)
Executa a reprogramação do vínculo usando compensação (valor armazenado em
RECUO). Ativo em 1.
162
Manual do PLC
V1.00
10.6.29 - Acoplar came após transição da foto-célula (ACOPFOTO)
10.6.29 - Acoplar came após transição da foto-célula (ACOPFOTO)
Após a transição da foto-célula, aguarda distância informada em DISTFOTO
(resolução centesimal do eixo associado ao came real) e acopla came do eixo com
preset.
Came eixo = 0 quando eixo do came real está na posição p/ acoplar.
Como nesse caso a foto está no eixo associado ao came real, as posições usadas
são deste mesmo eixo.
163
Manual do PLC
V1.00
11 - Came Eixo Auxiliar
O parâmetro EIXOAUX define o número do eixo auxiliar usado nesse came
principal.
Pode-se configurar até 2 eixos auxiliares vinculados ao came principal.
Se existir eixo auxiliar e o came do eixo principal já estiver acoplado, o comando
acoplar após foto irá acoplar o came do eixo auxiliar.
O bit de comando MAIN_AUX define se o ponto teórico do eixo principal será a
soma dos cames principal e auxiliar (0 = default) ou só o came principal.
Programação do Eixo Virtual Auxiliar:
- Deve-se programar um conjunto mínimo de parâmetros p/ o correto
funcionamento do came auxiliar (tipo do eixo e canais de entrada e saída).
- O serviço dos cames auxiliares deve ser habilitado da mesma forma que o do
came principal.
- Os comandos (programa tabela de vínculos, habilita vínculos, valida tabela
auxiliar...) podem ser programados somente no came principal, já que serão
refletidos nos cames auxiliares automaticamente pelo CNC.
O bit de comando BLOQ_AUX em 1 bloqueia novo came quando atual está no
vínculo de sincronismo (cruzeiro), mantendo o sincronismo atual. Após o término
desse vínculo, volta a considerar todos os cames, limitando o “tranco” através dos
parâmetros do acionamento.
164
Manual do PLC
V1.00
11.1 - Estrutura de Status (CNC → PLC)
Base da estrutura (endereço inicial área I): ver tabela de endereços.
Tamanho da estrutura = 4 bytes.
Endereç
o
Tipo
Bits1
Base+11 6
6
Base+11 Bits1
8
6
Descrição
Nome
B0
B0
B0
B0
B0
B0
B0
B0
B0
B0
B1
B1
B1
B1
B1
B1
5
B0
B0
B0
B0
B0
B0
B0
B0
B0
B0
B1
B1
B1
B1
B1
B1
5
INIT
OPEN
FAIL
EMG
ACOPLANDO
ACOPLADO
DESACOPLAN
DESACOPLAD
TAB_AUX_OK
TAB_PRI_OK
VINC_1_IN
VINC_2_IN
VINC_3_IN
VINC_4_IN
RESERVADO
RESERVADO
Serviço iniciado
Serviço habilitado
Falha
Estado de emergência
Came do Eixo esperando posição
Came do Eixo acoplado
Came do Eixo esperando posição
Came do Eixo desacoplado
Tabela auxiliar programada
Tabela principal programada
Came dentro do vínculo 1
Came dentro do vínculo 2
Came dentro do vínculo 3
Came dentro do vínculo 4
Reservado
Reservado
WAIT_R
RECUANDO
RECUOU
WT_COMP_RE
COMP_REC
STT_SYNC
FC_POS
FC_NEG
Aguardando recuo
Recuando
Recuado
Aguardando para compensar recuo
Compensando recuo
0 = sincronismo OK, 1 = fora
Fim de Curso Positivo
Fim de Curso Negativo
-
11.1.1 - Tabela auxiliar programada (TAB_AUX_OK)
11.1.2 - abela principal programada (TAB_PRI_OK)
Quando em 1, indica que a tabela auxiliar de vínculos foi programada.
11.1.3 - Came dentro do vínculo n (VINC_n_IN)
Quando em 1, indica que a tabela principal de vínculos foi programada.
Quando em 1, indica que o Came está dentro do vínculo n correspondente.
Sinaliza os estados dos vínculos estando estes habilitados ou não.
165
para
para
de
Manual do PLC
V1.00
11.1.4 - Aguardando recuo (WAIT_R)
11.1.4 - Aguardando recuo (WAIT_R)
Quando em 1, indica que o Came está esperando pelo recuo.
11.1.5 - Recuando (RECUANDO)
Quando em 1, indica que o Came está recuando.
11.1.6 - Recuado (RECUOU)
Quando em 1, indica que o Came está recuado.
11.1.7 - Aguardando para compensar recuo (WT_COMP_REC)
Quando em 1, indica que o sistema aguarda a compensação de recuo do Came.
11.1.8 - Compensando recuo (COMP_REC)
Quando em 1, indica a ocorrência de uma compensação de recuo por parte do
Came.
166
Manual do PLC
V1.00
12 - Serviço do Came dos Eixos – Vínculos Complexos
12.1 - Descrição geral
O serviço do came dos eixos – Vínculos Complexos define as tabelas de vínculos
de posição com o Came Real ou o Came Virtual. Através deste serviço, o PLC
pode associar até 4 vínculos para cada um dos 8 eixos possíveis.
Os dados configuráveis são:



Número do vínculo complexo
Número de segmentos do vínculo
Comprimento do segmento do vínculo
12.2 - Tipos de dados
Int32 = inteiro de 32 bits sem sinal (4 bytes)
Int16u = Inteiro 16 bits sem sinal (2 bytes)
Bits16 = Estrutura de bits (B0 a B15 - 2 bytes)
12.3 - Parâmetros de Configuração Utilizados
Não há.
Resolução em mm: 1/1000mm, salvo menção em contrário.
12.4 - Parâmetros de PLC utilizados
Não há.
12.5 - Estrutura de Dados e Comandos ( PLC → CNC )
Ponteiro base da estrutura de dados e comandos (endereço do início da estrutura
de dados na área I) = I766
Tamanho da estrutura = 262 bytes.
Endereço Tipo
Base
Int16
Base+2 Int16
Base+4 Int16
...
Int16
Base+258 Int16
Bits16
167
Nome
NUMCPLX
NUNSEGCPX
Descrição
Número de vínculos complexos
Número
de
segmentos
de
cada
vínculo
LENSEG_1
Comprimento do segmento 1
...
...
LENSEG_128 Comprimento do segmento 128
B00 PROG_VINC Programar
tabela
auxiliar
de
B01
B02
-
Manual do PLC
Base+260
V1.00
B03
B04
B05
B06
B07
B08
B09
B10
B11
B12
B13
B14
B15
-
12.5.1 - Número de vínculos complexos (NUMCPLX)
Número de vínculos complexos. Consiste de um int16.
12.5.2 - Número de segmentos do vínculo (NUMSEGCPX)
Número de segmentos do vínculos complexo. Consiste de um int16. É determinado
por:
12.5.3 - Comprimento do segmento n (LENSEG_n)
Comprimento correspondente a distância percorrida pelo eixo para cada segmento
de vínculo. Consiste de 256 int32, sendo organizados conforme os valores de
NUMCPLX e NUMSEGCPX.
12.5.4 - Programar vínculo complexo (PROG_VINC)
Bit de comando (0 -> 1). Programa vínculos de movimento complexos. Consiste de
uma estrutura bits16.
12.6 - Estrutura de Status (CNC → PLC)
Base da estrutura (endereço inicial área I) = I766
Tamanho da estrutura = 2 bytes.
168
Manual do PLC
Endereço
V1.00
Tipo
B00
B01
B02
B03
B04
B05
B06
Bits16 B07
B08
Base+262
B09
B10
B11
B12
B13
B14
B15
Nome
INIT
OPEN
FAIL
EMG
Descrição
Serviço iniciado
Serviço habilitado
Falha
Estado de emergência
VINC_PROG Vínculo do eixo programado
-
12.6.1 - Vínculo programado (VINC_PROG)
Bit de status. Indica que o vínculo de movimento correspondente foi programado.
169
Manual do PLC
V1.00
13 - Serviço de teclado (Proteo/Mini)
13.1 - Descrição geral
O serviço de teclado disponibiliza o acesso ao hardware de teclado ao PLC,
através de um buffer de teclado e um mapa de transição de estados. Através
desses recursos é possível ao PLC o reconhecimento tanto dos códigos de
varredura das teclas quanto dos códigos de caracter associados às mesmas. O
mapa de transição, por sua vez, disponibiliza o código correspondente à varredura
de uma tecla durante o ciclo de PLC em que esta é pressionada.
Os dados acessíveis são:



Tecla pressionada: código de tecla (*)
Tecla pressionada: código de varredura
Mapa de estados de transição
(*) De acordo com a implementação
13.2 - Tipos de dados
Int16 = Inteiro 16 bits (2 bytes)
13.3 - Parâmetros de Configuração Utilizados
Não há.
13.4 - Parâmetros de PLC utilizados
Não há.
13.5 - Estrutura de Dados (CNC → PLC)
Base da estrutura (endereço inicial) = 378
Tamanho da estrutura = 22 bytes.
170
Manual do PLC
Endereço Tipo
Base
Int16
Base+2
Base+4
Base+6
Base+8
Base+10
Base+12
Base+14
Base+16
Base+18
Base+20
171
V1.00
Nome
CODE_EXT
Descrição
Código QxRL remoto
B00
B01
B02
B03
B04
Caracter
correspondente
B05
CODE
à tecla
B06
Bits16 B07
B08
B09
B10
B11
B12
SHIFT
Estado shift acionado
B13
CTRL
Estado ctrl acionado
B14
PRESS/RELEASE
Tecla pressionada
B15
PC
Flag de leitura do PLC
Int16 Código de tecla PLC Não Implementado
> CNC
Int16
Intersecção de Q0 com as
Int16
Intersecção de Q1 com as
Int16
Intersecção de Q2 com as
Int16
Intersecção de Q3 com as
Intersecção de Q4 com as
Mapa de estados
Intersecção de Q5 com as
Intersecção de Q6 com as
Intersecção de Q7 com as
linhas RL[0..7]
Int16
Intersecção de Q0 com as
Int16
Intersecção de Q1 com as
Int16
Intersecção de Q2 com as
Int16
Intersecção de Q3 com as
Mapa de estados de
Intersecção de Q4 com as
transição
Intersecção de Q5 com as
Intersecção de Q6 com as
Intersecção de Q7 com as
linhas RL[0..7]
Manual do PLC
V1.00
13.5.1 - Código QxRL remoto (CODE_EXT)
13.5.1 - Código QxRL remoto (CODE_EXT)
Código correspondente à intersecção de uma coluna Qn com uma linha RLm
gerado por terminal externo (quando houver). O comportamento é análogo ao do
teclado local.
13.5.2 - Caracter correspondente à tecla (CODE)
Quando disponível, retorna o código correspondente à tecla pressionada. Os
códigos retornados são os correspondentes das teclas na tabela ASCII padrão
e/ou os códigos de tecla/função MCS, conforme implementação.
13.5.3 - Estado shift acionado (SHIFT)
Quando em 1, este bit indica estado shift para o teclado. Aguarda implemetação.
13.5.4 - Estado control acionado (CTRL)
Quando em 1, este bit indica estado control para o teclado. Aguarda implemetação.
13.5.5 - Tecla pressionada (PRESS/RELEASE)
Havendo um código de tecla presente em CODE, um valor 0 neste campo indica
que a tecla correspondente está sendo pressionada. Se o valor for 1, indica que a
tecla foi liberada.
Flag de leitura do PLC (PC)
Bit lido/escrito pelo PLC para sinalizar leitura do valor da tecla.
13.5.6 - Mapa de estados
Região da memória do PLC correspondente ao mapa de estado da(s) última(s)
tecla(s) pressionada(s). A intersecção da linha de varredura do teclado com a linha
de retorno é retornada no endereço Base+4 acrescido da coluna Qn
(correspondente à linha de varredura). A linha de retorno RLn apresenta valor 1
quando pressionada, e 0 quando não pressionada.
172
Manual do PLC
Endereç
o
Tipo
Byte
Base+n
V1.00
Descrição
Nome
B00
B01
B02
B03
B04
B05
B06
RL0
RL1
RL2
RL3
RL4
RL5
RL6
Linha
Linha
Linha
Linha
Linha
Linha
Linha
de
de
de
de
de
de
de
retorno
retorno
retorno
retorno
retorno
retorno
retorno
RL0
RL1
RL2
RL3
RL4
RL5
RL6
Obs.: A existência ou não de algumas colunas Qn ou linhas de retorno RLn pode
variar de acordo com a implementação da membrana do teclado. Ver
Mapa de estados de transição
documentação do respectivo hardware.
Região da memória do PLC correspondente ao mapa de estados de transição. Tem
estrutura análoga ao Mapa de Estados, exceto pelo fato de representar apenas
uma tecla pressionada e manter o valor da tecla presente na memória apenas pelo
tempo de um ciclo de PLC, preenchendo este valor com zero no ciclo seguinte.
Funciona tanto com o teclado local quanto com o remoto.
173
Manual do PLC
V1.00
14 - Serviços de teclado (PROTEO)
14.1 - Estrutura de Dados (PLC → CNC)
Base da estrutura (endereço inicial) = 550
Tamanho da estrutura = 16 bytes.
Endereço
Base
Base+2
Base+4
Tipo
Nome
B00
NEW_KEY
B01 KEY_FILTER
B02 SFK_STATREQ
B03 STAT_FILTER
B04 CHG_SFK_MEM
B05
B06
Bits16 B07
B08
B09
B10
B11
B12
B13
B14
B15
Int16
KEYCODE
Int16
SFKREQ_H_STT
Base+6
Int16
Base+8
Int32
Base+12
Int32
SFKREQ_V_STT
SFK_DISABLE
SFK_MEMORY
Descrição
Nova tecla para CNC
Filtro de teclas pelo PLC
Requisição de novo estado de
Filtro de estados da softkey
Altera memória das softkeys
Código da tecla
Nova requisição de status das
softkeys Horizontais
Nova requisição de status das
softkeys Verticais
32
bits
correspondentes
às
softkeys desabilitadas
32
bits
correspondentes
à
memória das softkeys
14.1.1 - Nova tecla para CNC (NEW_KEY)
14.1.2 - Filtro de teclas para PLC (KEY_FILTER)
14.1.3 - Requisição de novo estado de softkey pelo PLC (SFK_STATREQ)
14.1.4 - Filtro de estados da softkey pelo PLC (STAT_FILTER)
14.1.5 - Altera memória das softkeys (CHG_SFK_MEM)
14.1.6 - Código de tecla (KEYCODE)
174
Manual do PLC
14.1.7 - Nova requisição de status das softkeys Horizontais (SFREQ_H_STT)
14.1.8 - Nova requisição de status das softkeys Verticais (SFREQ_V_STT)
14.1.9 - Mapa de 32 bits correspondentes às softkeys desabilitadas (SFK_DISABLE)
14.1.10 - Mapa de 32 bits correspondentes à memória das softkeys (SFK_MEMORY)
175
V1.00
Manual do PLC
V1.00
14.2 - Estrutura de Status (CNC → PLC)
Tamanho da estrutura = 28 bytes.
Endereço
Tipo
Nome
B00 NEWKEY
B01 SFK_STREQ
B02
B03
B04
B05
B06
Bits16 B07
B08
Base+16
B09
B10
B11
B12
B13
B14
B15
Base+18 Int16
KEYCODE
Base+20 Int16
SFK_REQ_H
Base+22
Int16
Base+24
Int16
Base+26
Int16
Base+28
Int32
Base+32
Int32
Base+36
Base+40
Base+42
Int32
Int16
Int16
Descrição
Nova tecla para o PLC
Requisição de novo estado de
Código da tecla
Requisição de novo estado de
softkeys Horizontais
Requisição de novo estado de
SFK_REQ_V
softkeys Verticais
Estado
corrente
das
softkeys
SFK_STT_H
horizontais
Estado
corrente
das
softkeys
SFK_STT_V
verticais
32 bits de máscara de enable para
SFK_EN_MSK
softkeys
32 bits de máscara de memória
SFK_MEM_MASK
para softkeys
SFK_MEM
32 bits de memória das softkeys
CURRENT_VK Foco atual
LAST_VK
Último foco
14.2.1 - Nova tecla para o PLC (NEWKEY)
14.2.2 - Requisição de novo estado de softkey para PLC (SFK_REQ)
14.2.3 - Código de tecla (KEYCODE)
14.2.4 - Requisição de novo estado de softkeys Horizontais (SFK_REQ_H)
176
Manual do PLC
14.2.5 - Requisição de novo estado de softkeys Verticais (SFK_REQ_V)
14.2.6 - Estado corrente das softkeys Horizontais (SFK_STT_H)
14.2.7 - Estado corrente das softkeys Verticais (SFK_STT_V)
14.2.8 - Máscara de 32 bits de habilitação para softkeys (SFK_EN_MSK)
14.2.9 - Máscara de 32 bits de memória para softkeys (SFK_MEM_MASK)
14.2.10 - Memória de 32 bits das softkeys (SFK_MEM)
177
V1.00
Manual do PLC
V1.00
15 - Serviço de display LCD
15.1 - Descrição geral
O serviço de display LCD disponibiliza o acesso à escrita do display ao PLC
através de um buffer de display na memória do PLC. São possíveis 80 posições de
memória que podem ser preenchidas com caracteres ASCII para visualização. O
formato de visualização é composto de 4 linhas com até 20 caracteres cada.
15.2 - Tipos de dados
Int16u = Inteiro 16 bits sem sinal (2 bytes)
15.3 - Parâmetros de Configuração Utilizados
Não há.
15.4 - Parâmetros de PLC utilizados
Não há.
15.5 - Estrutura de Dados (CNC → PLC)
Base da estrutura (endereço inicial área I) = I400
Tamanho da estrutura = 82 bytes.
Endereço Tipo
Base
Int16
Nome
Posição 0
Posição 1
Base+2
Int16
Posição 2
Posição 3
Base+...
...
Base+78 Int16 Posição 78
Posição 79
B00 BLINK
B01 CLRLCD
B02
B03
B04
B05
B06
B07
B08
Base+80 Bits16 B09
B10
B11
B12
B13
B14
B15
Descrição
Linha 1, coluna 1
Linha 1, coluna 2
Linha 1, coluna 3
Linha 1, coluna 4
...
Linha 4, coluna 19
Linha 4, coluna 20
Não Implementado
Não Implementado
-
178
Manual do PLC
V1.00
15.5.1 - Disposição dos caracteres no display
Disposição física dos caracteres no display:
Colunas
Linha
1
Linha
2
Linha
3
Linha
4
1
2
3
4
5
6
7
8
9
1
1
10
1
2
11
1
3
12
1
4
13
1
5
14
1
6
15
1
7
16
1
8
17
1
9
18
20
08
1
0
09
00
01
02
03
04
05
06
07
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
15.6 - Acesso ao display
Para escrever no display, basta preencher o buffer de display com os dados em
ASCII correspondentes ao texto desejado. O display dispõe dos caracteres de 32d
a 127d em conformidade com a norma, além de caracteres extras correspondentes
aos códigos acima de 127d (padrão Samsung/KS0076B ou Hitachi/HD44840B –
ver tabela do fabricante conforme implementação do hardware).
O apagamento de texto é feito escrevendo-se o caracter de “espaço” (ASCII 32d ou
20h) em todas as posições de memória do display.
179
19
Manual do PLC
V1.00
16 - Serviço de Movimento Manual
16.1 - Descrição geral
O serviço de movimento manual permite que um cliente realize o movimento de um
eixo. Geralmente, este movimento é solicitado no modo de operação manual para
permitir ao operador deslocar os eixos através de chaves de movimento ou
softkeys. Em aplicações especiais pode ser necessário mover os eixos por
interferência do operador nos modos de execução ou programação.
16.2 - Tipos de dados
Int32 = inteiro de 32 bits sem sinal (4 bytes)
Int16u = Inteiro 16 bits sem sinal (2 bytes)
Bits16 = Estrutura de bits (B0 a B15 - 2 bytes)
16.3 - Parâmetros de Configuração Utilizados
Px29 = Velocidade em modo manual /modo manivela (mm/min)
Parâmetros de PLC utilizados
(I)64 a (I)80 - Sendo dois bytes para cada eixo que indicam a velocidade do
movimento manual incremental ou independente. Se estas variáveis estiverem
zeradas, a velocidade será é dada pelo parâmetro Px29, senão, a velocidade é
dada pelo valor inserido nestas variáveis, referentes a cada eixo.
180
Manual do PLC
V1.00
16.4 - Estrutura de Dados e Comandos (PLC → CNC)
Endereço
2 e 3
Tipo
B00
B01
B02
B03
B04
B05
B06
Bits16 B07
B08
B09
B10
B11
B12
B13
B14
B15
14
Bits16
29
Bits8
Nome
E1P
E1N
E2P
E2N
E3P
E3N
E4P
E4N
E5P
E5N
E6P
E6N
E7P
E7N
E8P
E8N
ZERO
B00 MMAIN1
B01 MMAIN2
B02 MMAIN3
B03 MMAIN4
B04 MMAIN5
B05 MMAIN6
B06 MMAIN7
B07 MMAIN8
B08 MOVIN1
30 e 31 Bits16 B09 MOVIN2
B10 MOVIN3
B11 MOVIN4
B12 MOVIN5
B13 MOVIN6
B14 MOVIN7
B15 MOVIN8
32
Int32
POSMJ1
181
36
Int32
POSMJ2
40
Int32
POSMJ3
44
Int32
POSMJ4
48
Int32
POSMJ5
52
Int32
POSMJ6
56
Int32
POSMJ7
60
Int32
POSMJ8
Descrição
Movimento eixo 1 sentido positivo
Movimento eixo 1 sentido negativo
Movimento eixo 2 sentido positivo
Movimento eixo 2 sentido negativo
Movimento eixo 3 sentido positivo
Movimento eixo 3 sentido negativo
Movimento eixo 4 sentido positivo
Movimento eixo 4 sentido negativo
Movimento eixo 5 sentido positivo
Movimento eixo 5 sentido negativo
Movimento eixo 6 sentido positivo
Movimento eixo 6 sentido negativo
Movimento eixo 7 sentido positivo
Movimento eixo 7 sentido negativo
Movimento eixo 8 sentido positivo
Movimento eixo 8 sentido negativo
...
Ver tabela de habilitações
...
0
=
Zero
Ativo,
1
=
Zero
Máquina(G53) (1 bit/eixo)
Movimento manual incremental eixo 1
Movimento manual incremental eixo 2
Movimento manual incremental eixo 3
Movimento manual incremental eixo 4
Movimento manual incremental eixo 5
Movimento manual incremental eixo 6
Movimento manual incremental eixo 7
Movimento manual incremental eixo 8
Movimento independente eixo 1
Movimento independente eixo 2
Movimento independente eixo 3
Movimento independente eixo 4
Movimento independente eixo 5
Movimento independente eixo 6
Movimento independente eixo 7
Movimento independente eixo 8
Posição ou incremento para movimento
jog eixo 1
Posição ou incremento para movimento
jog eixo 2
Posição ou incremento para movimento
jog eixo 3
Posição ou incremento para movimento
jog eixo 4
Posição ou incremento para movimento
jog eixo 5
Posição ou incremento para movimento
jog eixo 6
Posição ou incremento para movimento
jog eixo 7
Posição ou incremento para movimento
jog eixo 8
Manual do PLC
V1.00
64
Bits16 FEED_JOG1 Velocidade
do
movimento
manual
incremental ou independente (eixo 1
)
66
Bits16 FEED_JOG2 Velocidade
do
movimento
manual
incremental ou independente (eixo 2
)
68
Bits16 FEED_JOG3 Velocidade
do
movimento
manual
incremental ou independente (eixo 3
)
70
Bits16 FEED_JOG4 Velocidade
do
movimento
manual
incremental ou independente (eixo 4
)
72
Bits16 FEED_JOG5 Velocidade
do
movimento
manual
incremental ou independente (eixo 5
)
74
Bits16 FEED_JOG6 Velocidade
do
movimento
manual
incremental ou independente (eixo 6
)
76
Bits16 FEED_JOG7 Velocidade
do
movimento
manual
incremental ou independente (eixo 7
)
78
Bits16 FEED_JOG8 Velocidade
do
movimento
manual
incremental ou independente (eixo 8
)
16.4.1 - Movimento dos eixos nos sentidos positivo e negativo (EnP/EnN)
Para o movimento manual, estes bits determinam o sentido de movimento dos
eixos. São ativos em 1.
16.4.2 - Movimento manual incremental/independente do eixo n (MMAINn/MOVINn)
Define o tipo do movimento executado pelo serviço. Se selecionado o modo
manual incremental, os eixos se moverão por comando manual de acordo com o
incremento definido em POSMJn. Se selecionado o modo independente, POSMJn
conterá a cota de posicionamento até nas quais os eixos se posicionarão.
182
Manual do PLC
V1.00
16.4.3 - Posição ou incremento para movimento jog/eixo (POSMJn)
Cota para posicionamento dos eixos, quando em modo independente, ou valor do
incremento, quando em modo incremental.
16.4.4 - Procedimentos movimento manual
Como exposto acima, existem três tipos de movimento manual: Movimento do eixo
sentido positivo/negativo; movimento incremental e movimento independente.
Primeiramente é necessário habilitar o serviço na variável I14 (ver tabela
habilitações - um bit por eixo).
- Para movimento do eixo sentido positivo/negativo basta setar as variáveis 2 a 3
conforme tabela acima.
- Para movimento manual incremental, as variáveis de 32 a 60 (ver tabela acima 4 bytes por eixo) devem receber o valor desejado que será incrementado na
posição do eixo, a cada transição das variáveis 2 a 3 (dependendo do eixo – ver
tabela acima). Os bits da variável 30 deverão ser setados para 1.(ver tabela acima
– um bit por eixo)
- Para movimento independente, as variáveis de 32 a 64 (ver tabela – 4 bytes por
eixo) devem receber o valor ao qual o eixo moverá, bastando para isso setar os
bits da variável 31, de acordo com a tabela acima.
183
Manual do PLC
V1.00
16.5 - Estrutura de Status (CNC → PLC)
Tamanho da estrutura = 2 bytes por eixo.
Eixo 1 = I100-101
...
Eixo 8 = I114-115
i = 2 * (num do eixo - 1)
Endereço
Tipo
B00
B01
B02
B03
B04
B05
B06
B07
100 + i Bits16 B08
B09
Nome
INIT
OPEN
INMOVE
INMOVEWSTART
ABORT
FC_POS
FC_NEG
SUCS_MOVE
FAIL
OUT_FC_POS
B10 OUT_FC_NEG
B11 EMERGENCY
B12
B13
B14
B15
Descrição
Serviço iniciado
Serviço habilitado
Em movimento
Em movimento com Start ou
Movimento abortado
Fim de curso positivo
Fim de curso negativo
Movimento Concluído
Falha
Cota além do fim de curso
positivo (não move)
Cota além do fim de curso
negativo (não move)
Sinaliza emergência
-
Os bits de status do movimento (B02 a B07, B09 e B10) são excludentes, ou seja,
somente um bit estará ativo por vez e ficará ativo até que outro bit seja ligado.
Caso seja programado um movimento p/ o mesmo ponto, o bit de movimento
concluído (B07) irá p/ 1 a partir do próximo ciclo.
16.5.1 - Em movimento (INMOVE)
Sinaliza que o respectivo eixo encontra-se em movimento.
16.5.2 - Fins de curso (FC_POS/FC_NEG)
Sinaliza que o respectivo eixo atingiu seu fim de curso.
16.5.3 - Cota além do fim de curso (OUT_FC_POS/OUT_FC_NEG)
Sinaliza que foi programada uma cota além do fim de curso. Nesse caso, não
ocorre o movimento.
184
Manual do PLC
V1.00
17 - Serviço de busca de referência
17.1 - Descrição geral
A busca de referência é o procedimento de captura da posição absoluta de um eixo
de uma máquina que utiliza transdutores incrementais de posição. É necessária
para permitir que posicionamentos destes eixos estejam sempre referidos a uma
posição determinada da máquina chamada “zero máquina”.
17.2 - Tipos de dados
Int32 = inteiro de 32 bits sem sinal (4 bytes)
Int16u = Inteiro 16 bits sem sinal (2 bytes)
Bits16 = Estrutura de bits (B0 a B15 - 2 bytes)
17.3 - Parâmetros de Configuração Utilizados
Px46: Entrada Sentido de busca de referencia. Entrada ligada ao fim de curso de
referencia (Grupo, Bit).
Px47: Sentido da busca de referência.
Px48: Velocidade da busca de referência.
Px49: Velocidade de captação de referência.
Px52: Tipo de chave de referencia. (Nenhuma(0); Entrada Física(1); Lógica
PLC(2))
Px53: Polaridade da chave de referência.
17.4 - Parâmetros de PLC utilizados
Não há.
185
Manual do PLC
V1.00
17.5 - Estrutura de Dados e Comandos (PLC → CNC)
Endereço
4 e 5
6 e 7
8
Tipo
Nome
B00 CHREF1
B01 BLOQR1
B02 POMAR1
B03 NOREV1
B04 CHREF2
B05 BLOQR2
B06 POMAR2
B07 NOREV2
B08 CHREF3
Bits16 B09 BLOQR3
B10 POMAR3
B11 NOREV3
B12 CHREF4
B13 BLOQR4
B14 POMAR4
B15 NOREV4
B00 CHREF5
B01 BLOQR5
B02 POMAR5
B03 NOREV5
B04 CHREF6
B05 BLOQR6
B06 POMAR6
B07 NOREV6
B08 CHREF7
Bits16 B09 BLOQR7
B10 POMAR7
B11 NOREV7
B12 CHREF8
B13 BLOQR8
B14 POMAR8
B15 NOREV8
Int16
STATUS
AXISREF
10 e 11
Descrição
Chave de referência eixo 1
Bloqueio de referência eixo 1*
Posicionar na marca de referência
Não reverte movimento
Chave de referência eixo 2
Bloqueio de referência eixo 2*
Posicionar na marca de referência
Não reverte movimento
Chave de referência eixo 3
Bloqueio de referência eixo 3*
Posicionar na marca de referência
Não reverte movimento
Chave de referência eixo 4
Bloqueio de referência eixo 4*
Posicionar na marca de referência
Não reverte movimento
Chave de referência eixo 5
Bloqueio de referência eixo 5*
Posicionar na marca de referência
Não reverte movimento
Chave de referência eixo 6
Bloqueio de referência eixo 6*
Posicionar na marca de referência
Não reverte movimento
Chave de referência eixo 7
Bloqueio de referência eixo 7*
Posicionar na marca de referência
Não reverte movimento
Chave de referência eixo 8
Bloqueio de referência eixo 8*
Posicionar na marca de referência
Não reverte movimento
Status (Ver tabela correspondente)
Eixo para buscar referência (1 a 8)
Int16
B15 RESET Reinicia
servico
referência
de
busca
de
* Não Implemetado
186
Manual do PLC
17.5.1 - Chave de referência do eixo n (CHREFn)
17.5.1 - Chave de referência do eixo n (CHREFn)
Chave de sinalização de referência.
17.5.2 - Bloqueio de referência do eixo n (BLOQRn)
Comanda o bloqueio da referência do respectivo eixo.
17.5.3 - Posicionar na marca de referência do eixo n (POMARn)
Comanda o posicionamento do respectivo eixo em sua marca de referência.
17.5.4 - Não reverte movimento (NOREV8)
Aciona comando que impede a reversão do movimento do eixo na busca de
referencia.
17.5.5 - Eixo para buscar referência (AXISREF)
Determina para quais eixos serão realizadas as buscas de referência.
187
V1.00
Manual do PLC
V1.00
17.6 - Estrutura de Status (CNC → PLC)
Tamanho da estrutura = 2 bytes.
Endereço
8 e 9
Tipo
Nome
B00 INIREF
B01 STAREF
B02 AFCBRF
B03 AACBRF
B04 AMRBRF
B05 ATREFF
B06 POSREF
PAUSRF
Bits16 B07
B08 STOPRF
B09 FALHRF
B10 REFOKF
B11 EMERRF
B12
B13
B14
B15
Descrição
Serviço Iniciado
Esperando start para a referência do
Aguardando fechar chave de busca de
Aguardando abrir chave de busca de
Aguardando marca de referencia eixo
Atualizando referencia eixo
Posicionando na referencia eixo
Referencia em pausa - feed hold eixo
Referencia parada (STOP) eixo
Falha na referencia eixo
Referencia eixo ok
Emergencia na referencia do eixo
-
17.6.1 - Inicialização para a referência do eixo (INIREF)
Sinaliza que a referência do eixo foi inicializada.
17.6.2 - Esperando start para a referência do eixo (STARREF)
Indica que o serviço está aguardando p comando de início da busca de referência.
17.6.3 - Aguardando fechar chave de busca de referência do eixo (AFCBRF)
Indica que o serviço ainda não encontrou a referência, estando no aguardo do
fechamento da chave de fim de curso.
17.6.4 - Aguardando abrir chave de busca de referência do eixo (AACBRF)
Indica que o serviço está esperando pela abertura da chave de fim de curso do
eixo.
17.6.5 - Aguardando marca de referência do eixo (AMRBRF)
Indica que a marca de referência está sendo aguardada.
188
Manual do PLC
17.6.6 - Atualizando referência do eixo (ATREFF)
Sinaliza a atualização da referência do eixo.
17.6.7 - Posicionando na referência do eixo (POSREF)
Sinaliza que o eixo está posicionado em sua marca de referência
17.6.8 - Referência em pausa (PAUSRF)
Indica que a busca de referência foi pausada.
17.6.9 - Referência parada (STOPRF)
Indica que a busca de referência está parada.
17.6.10 - Falha na referência do eixo (FALHRF)
Sinaliza falha na referência.
17.6.11 - Referência eixo ok (REFOKF)
Sinaliza que a busca ocorreu com sucesso.
17.6.12 - Emergência na referência do eixo (EMERRF)
Indica estado de emergência no serviço de busca de referência do eixo.
189
V1.00
Manual do PLC
V1.00
17.7 - Descrição do funcionamento
17.7.1 - Busca com chave de fim de curso
Para discriminar uma das várias marcas de referência existentes em um eixo linear
ou rotativo com redução entre o motor e o eixo propriamente dito, o CNC observa
uma entrada (física ou lógica) que determina onde se encontra a marca de
referência desejada. Esta chave de referência divide o eixo em duas regiões: antes
e depois da marca. Ao iniciar o procedimento de busca de referência, o CNC
observa o estado da chave e movimenta o eixo no sentido de buscar o estado
fechado da chave caso esta esteja aberta, ou aberto, caso esteja fechada.
17.7.2 - Busca sem chave de fim de curso
No caso de eixos rotativos onde uma volta do eixo corresponde a uma volta do
transdutor, onde só existe uma marca de referência por volta e o eixo pode girar
indefinidamente para qualquer um dos sentidos, não é necessária a existência de
chave de referência. Para discriminar a marca de referência, o CNC move o eixo
no sentido de capturá-la.
Para ambos os casos, o eixo de movimento deve ser definido antes da habilitação
do serviço.
17.7.3 - Procedimentos Busca de referencia
Para a busca de referencia são necessários alguns passos:
- Nas variáveis 10 ou 11 (depende do número do eixo) inserir o eixo em que será
feita a busca.
- Na variável 12.4, habilitar o serviço de busca de referencia.
- Na variável 0, iniciar movimento do eixo.
- Na variável 4, 5, 6 ou 7 (depende do número do eixo) controlar os movimentos
desejados de acordo com tabela de a estrutura de dados e comandos acima. Em
caso de busca com chave física, basta controlar a captura pela chave na entrada
0.0, e no caso de não haver chave de referencia, basta iniciar o movimento do eixo
na variável 0, e a busca será feita automaticamente.
- Acompanhar estrutura de Status nas variáveis 8 e 9.
190
Manual do PLC
V1.00
18 - Serviços/Funções MST
Ponteiro base da estrutura (endereço na área I) = I 730
Tamanho Total da estrutura: 22 bytes.
18.1 - Estrutura de Controle (PLC → CNC)
Tamanho da estrutura = 2 bytes.
Endereço
Base
Tipo
B00
B01
B02
B03
B04
B05
B06
B07
B08
Bits1 B09
6
B10
B11
B12
B13
B14
B15
Nome
MCODE_OK
SPINDLE_OK
TOOL_OK
Descrição
O PLC quitou todas as funções
O PLC quitou a função S requisitada
O PLC quitou a função T requisitada
-
18.1.1 - Funções M requisitadas quitadas pelo PLC (MCODE_OK)
Indica que o PLC terminou a execução das funções M.
18.1.2 - Função S quitada pelo PLC (SPINDLE_OK)
Indica que o PLC terminou a execução da função S.
18.1.3 - Função T quitada pelo PLC (TOOL_OK)
Indica que o PLC terminou a execução da função T (troca de ferramenta).
191
M
Manual do PLC
V1.00
18.2 - Estrutura de Controle (CNC → PLC)
Tamanho da estrutura = 2 bytes.
Endereço
Base+2
Tipo
B00
B01
B02
B03
B04
B05
B06
Bits16 B07
B08
B09
B10
B11
B12
B13
B14
B15
Nome
ENABLE
FAIL
MCODE_REQ
SPIND_REQ
TOOL_REQ
Descrição
Serviço habilitado
Falha no serviço
Requisição de funções M para o
Requisição de função S para o PLC
Requisição de função T para o PLC
-
18.2.1 - Requisição de funções M para o PLC (MCODE_REQ)
Requisita a execução de uma função M (miscelânia) para o PLC.
18.2.2 - Requisição de função S para o PLC (SPIND_REQ)
Requisita a execução de uma função S para o PLC.
18.2.3 - Requisição de função T para o PLC (TOOL_REQ)
Requisita a execução da função T (troca de ferramenta) para o PLC.
18.3 - Funções M
Tamanho = 12 bytes
Endereço
Base+4
Base+6
Base+8
Base+10
Base+12
Tipo
Int16
Int16
Int16
Int16
Int16
Nome
MCODE_0
MCODE_1
MCODE_2
MCODE_3
Descrição
Matriz
para
funções-miscelânia
auxiliares (M-functions)
Bits decodificados do
(M_bit_0 a M_bit_15)
Base+14 Int16
Bits decodificados do
MCODE_BITS_1
(M_bit_16 a M_bit_31)
MCODE_BITS_0
código
M
código
M
192
Manual do PLC
V1.00
18.3.1 - Matriz para funções-miscelânia auxiliares (MCODE_n)
18.3.2 - Bits decodificados do código M (MCODE_BITS_0 e MCODE_BITS_1)
18.4 - Funções S
Tamanho = 2 bytes
Endereç Tipo
o
Base+16 Int16
Descrição
Nome
SCODE
Código S do eixo árvore principal
18.4.1 - Código S (SCODE)
Código da função S passada para o PLC. Consiste de um int16.
18.5 - Funções T
Tamanho = 2 bytes
Endereç Tipo
o
Base+18 Int16
Descrição
Nome
TCODE
Código T da ferramenta (posição no trocador)
18.5.1 - Código T (TCODE)
Recebe o código da ferramenta (posição no trocador) para a função T de troca de
ferramentas. Consiste de um int16.
18.6 - Funções S (eixo árvore auxiliar)
Tamanho = 2 bytes
Endereç Tipo
o
Base+20 Int16
193
Nome
SCODE_AUX
Descrição
Código S do eixo árvore auxiliar
Manual do PLC
V1.00
19 - Serviço de Mensagens / Alarmes
19.1 - Estrutura de Dados (PLC → CNC)
Habilitação do Serviço: Bit 15.0
Ponteiro base da estrutura do serviço (base indireta): Word 738
Tamanho da estrutura = 40 bytes.
Endereço Tipo
Nome
Descrição
Base
Uint16 ALARME_00 Código de alarme 0 (PLC->CNC)
...
...
...
Base+20 Uint16 ALARME_10 Código de alarme 10
Base+22 Uint16
1º Código de Erro do CNC (Status CNCSTT_ERRO
>PLC)
Base+24 Bits8
Mensagens: 0.0 a 0.7 (1 bit por
MSG_0X
mensagem)
...
...
...
Base+39 Bits8 MSG_15X Mensagens: 15.0 a 15.7
19.1.1 - Códigos de alarme (ALARME_nn)
19.1.2 - Status de Erro (STT_ERRO)
Status CNC -> PLC:
1º Código de Erro do CNC (erro apresentado na tela).
Ao limpar erros, esse código será 0.
0 = nenhum erro.
Mensagens (MSG_nX)
194
Manual do PLC
V1.00
20 - Geral S (spindle)
20.1 - Parâmetros de Configuração Utilizados
PROTE
O
Geral
P026
P027
P028
P058
MINI
P053
P052
-P058
DESCRIÇÃO
Seleciona POT S
Valor max do POT S (em %)
Valor min do POT S (em %)
Cálculo da velocidade média do eixo árvore (S real)
Eixo
Px00
Px00 Tipo do eixo
Px01
Px02
Px12
Px13
Px14
Px15
Px16
Px17
Px18
Px19
Px20
Px21
Px03
Px73
Px14
Px15
Px16
-Px18
Px19
Px21
Px22
Px71
Px12
Px24
Px25
Px69
Px13
Px27
Px29
Px28
Px29
Px31
Px60
Px28
Px68
Px74
Px31
Controle do motor
CAN: Tipo de acionamento
Canal Analógico / CAN
Saída Analógica do PLC
Polaridade do sinal de saída
Tipo do sinal de saída (0 = velocidade, 1 = torque)
Limite do sinal de saída p/ max velocidade do motor (%)
Max valor do sinal de saída (correspondente aos 10V)
Canal de entrada do contador
Inversão do sentido de contagem
Pulsos por volta do encoder
Relação de acoplamento do encoder (voltas do encoder /
voltas do eixo)
Máxima RPM do motor
Relação de acoplamento do motor (voltas do motor / voltas do
eixo)
Velocidade no modo manual (rpm) - pode ser passado pelo
Serviço do PLC
Velocidade da parada indexada (M19) (rpm)
Tempo de aceleração (em ms) para atingir máxima velocidade
Módulo do eixo rotativo (graus)
Ganho Proporcional (Kp) - usado no M19
x = número do eixo (1 a 8)
20.2 - Variáveis do PLC
0.5:
Pot S por PLC
128-129: Valor do Pot S
195
VALOR
0 = 128ms
1 = 16ms
(3 =
árvore)
(0 = CNC)
Manual do PLC
V1.00
20.3 - Procedimento p/ Configuração do GeralS
M3 deve contar pulsos no sentido positivo:
 Acertar polaridade da saída analógica (Px16) para M3 girar no sentido desejado
(horário ou anti-horário);
 Acertar sentido de contagem (Px22) para M3 contar pulsos no sentido positivo.
196
Manual do PLC
V1.00
20.4 - Estrutura de Dados e Comandos(PLC → CNC)
Habilitação do Serviço: Bit 13.6
Ponteiro base da estrutura do serviço (base indireta): Word 736
Tamanho da estrutura = 10 bytes.
Endereç Tipo
o
Base
Int16
Base+2 Int16
Base+4 Int16
Base+6
Base+8
Nome
Descrição
AXIS
JOG_RPM
Eixo associado
Velocidade de jogging M3/M4 (em RPM)
Rotação máxima p/ definir relação da gama
GAMA_MAX
(RPM)
Int16
Valor a ser programado nas variáveis de
PROG
prog
B0
M3
... (0->1)
B0
M4
... (0->1)
B0
M5
... (0->1)
B0
M19
Parada indexada. Ativo enquanto igual a 1
B0
JOG_M3
... Ativo enquanto igual a 1
B0
JOG_M4
... Ativo enquanto igual a 1
B0
Scode
Programa Scode (PROG) p/ M3 e M4 (0->1)
B0
AngM19
Programa ângulo (PROG) p/ M19
(0->1)
Bits1
B0 Smax_Vcc Programa Smax (PROG) p/ corte cte (0->1)
6
B0
Vcc
Programa Vel Corte Cte (PROG)
(0->1)
B1 EixoVcc Programa eixo (PROG) do corte cte (0->1)
B1
Vcc_ON
Liga modo de Velocidade de corte cte (0B1 Vcc_OFF Desliga modo de Velocidade de corte cte
B1
Ref
Busca Ref novamente ao pedir movimento
B1
Smax
Programa limite do S teórico na gama
B1
M119
Eixo controlado (PID). Ativo em 1
5
20.4.1 - Eixo associado (AXIS)
Número do eixo associado ao serviço Geral S
20.4.2 - Velocidade de jogging M3/M4 (JOG_RPM)
Velocidade de movimento em JOG. Se 0 vale o parâmetro de velocidade em modo
manual (em RPM).
20.4.3 - Rotação máxima na gama selecionada (GAMA_MAX)
Rotação máxima do eixo árvore na gama selecionada (corresponde a MaxRPM do
motor).
Define relação de acoplamento da gama selecionada e calcula fator de conversão.
 = 0: vale o valor configurado nos parâmetros (MaxRPM / Acoplamento
Motor).
 != 0: vale o valor programado pelo PLC.
197
Manual do PLC
V1.00
Esse valor (Smax_gama) é usado p/ calcular os ganhos do GeralS e PID
(posicionamento) p/ o eixo árvore.
O acoplamento do motor/eixo pode ser calculado dividindo o parâmetro de
MaxRPM pelo Smax_gama.
Para o cálculo do número de pulsos por volta do motor (módulo do drive),
multiplica-se o parâmetro de pulsos do encoder pelo parâmetro de acoplamento
encoder/eixo dividido pelo acoplamento motor/eixo.
Ou seja, Pulsos do motor = Px20 * Px21 / (Px24 / Smax_gama).
20.4.4 - Valor a ser programado nas variáveis de programa (PROG)
Os bits de comando (programação) definem o significado dessa variável:
 Velocidade S desejada em RPM para M3 e M4;
 Ângulo em centésimos de grau para M19;
 RPM máxima para VCC (RPM máxima para velocidade de corte constante);
 Velocidade de Corte Constante em m/min;
 Eixo associado à velocidade de corte constante (normalmente X);
20.4.5 - Bit M19 (Parada Indexada)
Quando vai para 1, fecha a malha e pára no ângulo programado usando PID. O
eixo árvore permanece controlado enquanto bit estiver em 1. Quando bit zera, abre
a malha do eixo novamente. Velocidade dada pelo parâmetro Px28 (rpm).
20.4.6 - Bit Ref
Ao pedir 1º movimento (M3, M4 ou Jog), busca referência do eixo
automaticamente. Se esse bit estiver em 1 quando pede um movimento, o eixo será
referenciado novamente.
20.4.7 - Bit M119 (Eixo Controlado)
Transição 0->1: eixo árvore torna-se controlado (fecha a malha PID), permitindo
posicionamentos.
Transição 1->0: eixo árvore volta a ser do GeralS (malha aberta).
* Ao receber código M119, PLC deve ligar bit de comando e aguardar bit de status
M119 ligar p/ quitar função M. Isso garante que a execução só continue após as
inicializações necessárias do básico.
198
Manual do PLC
V1.00
20.5 - Estrutura de Status (CNC → PLC)
Habilitação do Serviço: Bit 13.6
Ponteiro base da estrutura do serviço (base indireta): Word 736
Tamanho da estrutura = 4 bytes.
Endereç
o
Tipo
Bits1
Base+10 6
Base+12 Uint1
6
Descrição
Nome
B0
B0
B0
B0
B0
B0
B0
B0
B0
B0
B1
B1
B1
B1
B1
B1
5
INIT
OPEN
REF_ERR
S_ERROR
FAIL
EMERGEN
IN_MOVE
IN_WIND
M19
MOD_VCC
FAIL_CN
BUSCREF
REFOK
M119
S_REAL
Erro de referência no M19
S inválido ou igual a 0
S em movimento
S dentro da janela (no M19)
S em M19
Modo: 0 = normal; 1 = Velocidade de Corte
Sentido de contagem invertido (falha)
Buscando Referência do eixo árvore
Eixo árvore referenciado
S em M119 (malha fechada)
Velocidade do eixo árvore (spindle, em RPM)
20.5.1 - Erro de referência no M19 (REF_ERROR)
20.5.2 - S em movimento (IN_MOVE)
Sinal de Saída (analógica) diferente de 0 -> S em movimento (bit = 1)
20.5.3 - S dentro da janela (IN_WINDOW)
20.5.4 - Velocidade do eixo árvore (S_REAL)
Eixo COM Encoder -> Leitura do Sreal.
Eixo SEM Encoder -> Sreal = Steo = Sprog * PotS (considerando aceleração e vel
de corte cte).
199
Manual do PLC
V1.00
21 - Serviço de temperatura
21.1 - Descrição geral
O serviço de temperatura provê meios de programar os fatores Ki, Kp e Kd dos
controles de termopar por canal (para as versões de módulos com 3, 5 e 10
canais). Pode ainda, programar as potências de desumidificação, Set Points, faixas
de controle de atuação do PID, faixa de controle do fator integrador do PID,
constantes de conversões e habilitações de canais.
O serviço deve retornar informações de temperatura, porcentagem de potências de
saída e avisos de canais abertos, além de informação a respeito de quantos canais
estão habilitados no módulo e status do serviço.
Cada serviço solicitado ao módulo deverá ser realizado um de cada vez, devendo
aguardar o término de um para iniciar outro.
21.2 - Tipos de dados
Uint16= Inteiro 16 bits sem sinal (2 bytes)
Bits48 = Estrutura de bits (B0 a B48 - 6 bytes)
21.3 - Parâmetros de Configuração Utilizados
P6: Módulo 0
P7: Módulo 1
...
,,,
P22: Módulo 14
P21: Módulo 15
Código correspondente ao módulo temperatura: 10 (MOD_TEMPERATURA_CAN)
Código correspondente ao módulo misto de temperatura com IO:
11(MOD_MIX_TEMPERATURA_IO)
21.4 - Parâmetros de PLC utilizados
Definir
200
Manual do PLC
V1.00
21.5 - Estrutura de Dados e Comandos ( PLC → CNC )
Ponteiro base da estrutura de dados e comandos (endereço na área I): I732.
Tamanho da estrutura = 36 bytes.
Endereç
o
Base
Base+2
Tipo
Uint16
Uint16
CUR_CHANN
LAST_CHANN
Base+4
Bits48
EN_OUT
Base+10
Base+12
Uint16
Uint16
Reservado
TEMP_ZONE
Base+14
Uint16
ZONA_INTEGRADOR
Base+16
Uint16
Base+18
Base+20
Base+22
Base+24
Base+26
Base+28
Uint16
Uint16
Uint16
Uint16
Uint16
Uint16
Base+30
Uint16
Base+32
Bits16
Nome
Descrição
Canal atual n
Endereço do último canal (modo
range)
Habilitações das saídas (uma por
bit)
Reservado
Zona de controle do PID (% set point –
Default 50%)
Zona de atuacao do fator integrador
do PID (% Set Point – Default 20%)
DESUM_PWR
Potência de desumidificação para
canal n
FATOR_KP
Fator Kp para canal n
FATOR_KI
Fator Ki para canal n
FATOR_KD
Fator Kd para canal n
SETPOINT
Set point para canal n
K1
Constante K1 para calculo off set
K2
Constante K2 de conversão para grau
celsius
K3
Constante K3 para calculo
temperatura da placa
B00 PROGRAMAR
Transfere os dados para o módulo
B01 RANGE
Modo range (seleciona faixa de
B02 REFRESH
Atualiza dados de status (RD)
B03 STORE
Salva os parâmetros no módulo
B04 LOAD
Carrega os parâmetros no módulo
B05 HABILITA
Habilita ou desabilita as saídas do
Módulo
B06 CALC_OFFSE Ordem para calcular off set do
T
modulo do
canal atual
B07
B08
B09
B10
B11
B12
B13
B14
B15
21.5.1 - Habilitações dos Canais
Define quais são as saídas dos canais que serão habilitados. Corresponde a uma
saída habilitada para cada bit em nível 1.
201
Manual do PLC
V1.00
Um canal habilitado significa fazer a leitura da temperatura e emitir um sinal de
saída. Um canal desabilitado, faz a leitura da temperatura mas não emite nenhum
sinal na saída.
21.5.2 - Zona de controle do PID (TEMP_ZONE)
Define uma porcentagem da temperatura do Set Point (Default 50%), a partir da
qual inicializa o controle PID .
21.5.3 - Zona de controle do fator integrador do PID (ZONA_INTEGRADOR)
Define uma porcentagem da temperatura do Set Point (Default 20%), a partir da
qual é ativado o fator integrador do PID. Antes de atingir esta zona, o fator
integrador do PID atribui 20% da potencia total do PID.
21.5.4 - Fatores Ki, Kd e Kp para canal n (FATOR_Kx)
Define o valor dos fatores K do controlador PID. Podem ser definidos fatores
independentes para cada canal(Definido em canal atual) ou para uma faixa de
canais(Modo Range).
21.5.5 - Potência para desumidificação (DESUM_PWR)
Define a porcentagem de potência de desumidificação para cada canal n. A
potência de desumidificação é aquela em que o módulo é iniciado até atingir a
temperatura de 50 oC.
21.5.6 - Set point (SETPOINT)
Define o valor do set point de cada canal de forma independente.
21.5.7 - Constante K1 para calculo de off Set (K1)
Valor de referencia para cálculo de off set da placa.
21.5.8 - Constante K2 de conversão para graus Celsius(K2)
Fator de conversão do valor da leitura do ADC para grau celsius. (219)
21.5.9 - Constante K3 para cálculo da temperatura da placa(k3)
Valor de referencia para calculo de temperatura da placa.
202
Manual do PLC
V1.00
21.5.10 - Programa canal (PROGRAMAR)
Quando colocado em 1, transfere os dados referentes ao canal atual para o
módulo a que ele pertence.
21.5.11 - Modo Range (RANGE)
Quando colocado em 1 simultaneamente com PROGRAMAR, transfere os dados
referentes ao canal atual para o módulo, com ordem para copiar estes valores para
todos os canais até o canal final definido em LAST_CHANN.
21.5.12 - Atualiza dados de status (REFRESH)
Quando colocado em 1, recolhe dados do módulo referentes ao canal atual e os
coloca na estrutura de status.
21.5.13 - Salvar parâmetros no módulo (STORE)
Quando colocado em 1, envia ordem para o módulo salvar na memória flash os
parâmetros de Set Point, Off Set, fatores Kp, Ki, Kd e potencia de desumidificação
de cada canal. Grava ainda as constantes K2, K3, Zona de controle PID e canais
habilitados.
21.5.14 - Lê parâmetros no módulo (LOAD)
Quando colocado em 1, envia ordem para o módulo ler da memória flash e
atualizar no módulo os parâmetros de Set Point, Off Set, fatores Kp, Ki, Kd,
potencia de desumidificação de cada canal e constantes K2, K3.
21.5.15 - Habilita ou desabilita as saídas do modulo(HABILITA)
Quando colocado em 1, envia para cada módulo
configurados em EN_OUT.
a habilitação dos canais
21.5.16 - Calculo Off Set (CALC_OFFSET)
Quando colocado em 1, envia ordem para calcular off set dos canais do módulo ao
qual pertence o canal atual.
203
Manual do PLC
V1.00
21.6 - Estrutura de Status (CNC → PLC)
Base da estrutura (endereço inicial área I): I732.
Tamanho da estrutura = 24 bytes.
Endereço
Tipo
Nome
Base+34 Uint16 CHAN_CNT
Base+36 Bits48 OPEN_TRM
Base+42
Bits48 EN_CHANNEL
Base+48
Uint16 CHANN_N
Base+50
Uint16 CHANN_N+1
Base+52
Uint16 CHANN_N+2
Base+54
Uint16 CHANN_N+3
Base+56
Uint16 CHANN_N+4
Base+58
Base+60
Uint16 CURR_CHAN
Uint16 PROP_PWR
Base+62
Uint16 PORP_PWR1
Descrição
Total de canais disponíveis
Termopar aberto (um bit por
termopar)
Habilitações dos canais(uma
por bit)
1º. canal da faixa de leitura
de temperaturas
2º. canal da faixa de leitura
de temperaturas
3º. canal da faixa de leitura
de temperaturas
4º. canal da faixa de leitura
de temperaturas
5º. canal da faixa de leitura
de temperaturas
Canal selecionado atual
Porcentagem de potência de saída do
canal atual
Porcentagem de potência de
saída do 2o canal
Base+64 Uint16 PORP_PWR2
Porcentagem de potência de
saída do 3o canal
Base+66 Uint16 PORP_PWR3
Porcentagem de potência de
saída do 4o canal
Base+68 Uint16 PORP_PWR4
Porcentagem de potência de
saída do 5o canal
Base+70 Uint16 *DEV_TYPE
Tipo de dispositivo e
descrição de entradas
Base+72 Uint16 *DEV_NAME
Nome do dispositivo
Base+74 Uint16 *HW_VERSION
Versão de hardware
Base+76 Uint16 *SW_VERSION
Versão de software
B00 INIT
Serviço iniciado
B01 OPEN
Serviço habilitado
B02 FAIL
Falha
B03 EMERGENCY Sinaliza emergência
B04 WAIT
Dados sendo atualizados
B05 READY
Dados prontos para leitura
B06 SAVE
Gravando parâmetros no módulo
B07
SAVE_OK
Gravação realizada com
Base+78 Bits16 B08
B09
B10
B11
B12
B13
B14
B15
* Não implementado
204
Manual do PLC
V1.00
21.6.1 - Termopar aberto (OPEN_TRM)
Indica que o canal correspondente ao bit em nível 1 está aberto.
21.6.2 - Canais Habilitados (EN_CHANNEL)
Indica que o canal correspondente ao bit em nível 1 está habilitado.
21.6.3 - Porcentagem de potência de saída do canal atual (PROP_PWR + m)
Retorna a porcentagem da potência presente na saída do canal selecionado como
atual e dos 4 canais subsequentes a ele.
21.6.4 - Canal n da faixa de leitura de temperaturas (CHANN_N+m)
Retorna o valor da temperatura em graus Celsius do canal selecionado como atual
e dos 4 subsequentes a ele.
21.6.5 - Canal selecionado atual (CURR_CHAN)
Retorna o número do canal selecionado atual. Informação proveniente do módulo.
21.6.6 - Dados sendo atualizados (WAIT)
Quando em 1, indica que os dados estão sendo alterados e/ou que ocorre uma
leitura do módulo.
21.6.7 - Dados prontos (READY)
Quando em 1, indica que os dados disponíveis na estrutura são válidos e estão
prontos para leitura.
21.6.8 - Indicação de Falha (FAIL)
Quando em 1, indica que ocorreu falha na comunicação com o módulo. Nesse
ponto é necessário desativar o serviço de temperatura, tornar reativá-lo para ser
recuperado a comunicação.
21.6.9 - Gravando dados na Flash (GRAVANDO)
Quando em 1, indica que o módulo está em processo de gravação da memória
flash.
205
Manual do PLC
V1.00
21.6.10 - Gravação efetuada com sucesso (GRAVACAO_OK)
Quando em 1, indica que os dados foram gravados corretamente na memoria do
módulo.
22 - LEDs do Terminal
22.1 - Descrição geral
Para acessar os LEDs disponíveis no terminal, é necessário escrever na memória
250 do PLC, onde cada bit tem correspondência com um LED.
Terminal PROTEO (Integrado e CAN):
Endereço
250.0
250.1
250.2
250.3
250.4
250.5
LED
2nd
!(Alarme
)
F4
F3
F2
F1
Controle
CNC
CNC
PLC
PLC
PLC
PLC
22.1.1 - Estado dos LEDs:
Ligado = 1
Desligado = 0
206
Manual do PLC
V1.00
23 - Serviço de Leitura e Escrita de Parâmetros de Drive
23.1 - Descrição geral
* NÃO IMPLEMENTADO
O serviço de leitura e escrita de parâmetros de drives provê meios para programar
e ler dados de acionamentos de servomotores ou inversores através da
comunicação digital CANOpen.
Para programar um parâmetro deve-se indicar na estrutura de dados o número do
canal de comunicação CAN do drive, o número do parâmetro e o valor desejado. O
dado será transmitido ao drive após a transição de 0 para 1 do bit de controle
WRITE_PAR. O serviço indica operação concluída num bit de status.
A leitura de parâmetros pode ser feita apenas uma vez ou ser repetida
automaticamente a cada “n” ciclos de PLC. Existem 4 canais de resposta para
leitura de parâmetros. Para ler um parâmetro deve-se indicar na estrutura de dados
o número do canal de comunicação CAN do drive, o número do parâmetro, a taxa
de repetição e o canal de resposta. Programando-se 0 na taxa de repetição, o
parâmetro será lido apenas 1 vez.
23.2 - Tipos de dados
Uint16 = Inteiro 16 bits sem sinal (2 bytes)
Bits16 = Estrutura de bits (B0 a B15 - 2 bytes)
Int32 = Inteiro 32 bits com sinal (4 bytes)
23.3 - Parâmetros de Configuração Utilizados
Não há.
23.4 - Parâmetros de PLC utilizados
Não há.
207
Manual do PLC
V1.00
23.5 - Estrutura de Dados e Comandos ( PLC → CNC )
* NÃO IMPLEMENTADO
Ponteiro base da estrutura de dados e comandos (endereço na área I):
Tamanho da estrutura = 44 bytes.
Endereço
Base
Base+2
Base+4
Base+6
Tipo
Uint16
Uint16
Uint16
Uint16
Base+8
Int32
Base+12
Base+14
Nome
PAR_ADRESS
DRIVER_ADRESS
RETURN_CHANNEL
REFRESH_RATE
WRITE_VALUE
B00 WRITE_PAR
B01 READ_PAR
B02
B03
B04
B05
B06
B07
Bits16 B08
B09
B10
B11
B12
B13
B14
B15
Uint16
RESERVADO
Descrição
Número do Parâmetro
Endereço CAN do Driver
Canal de Resposta do Parâmetro
Taxa de Atualização (ciclos de
PLC)
Valor para o Parâmetro
Escreve Dado no Parámetro (WR)
Lê Dado do Parâmetro
Reservado
23.5.1 - Número do Parâmetro (PAR_ADRESS)
Define o número do parâmetro ao qual se refere a operação.
23.5.2 - Endereço CAN do Driver (DRIVER_ADRESS)
Define o endereço CAN do driver ao qual se refere a operação.
23.5.3 - Canal de Resposta (RETURN_CHANNEL)
Define o canal de resposta para o valor do parâmetro indicado.
23.5.4 - Taxa de Atualização (REFRESH_RATE)
Define a taxa de atualização, em ciclos do PLC, da leitura do parâmetro indicado.
23.5.5 - Valor para o Parâmetro (WRITE_VALUE)
Indica o valor a ser escrito no parâmetro.
208
Manual do PLC
V1.00
23.5.6 - Escreve Dado (WRITE_PAR)
Bit de comando (0 -> 1). Programa o valor no parâmetro de acordo com os dados
apontados na estrutura.
23.5.7 - Lê Dado (READ_PAR)
Bit de comando (0 -> 1). Executa a leitura do parâmetro de acordo com os dados
apontados na estrutura.
209
Manual do PLC
V1.00
23.6 - Estrutura de Status (CNC → PLC)
* NÃO IMPLEMENTADO
Base da estrutura (endereço inicial área I):
Tamanho da estrutura = 44 bytes.
Endereço
Tipo
Base+16
Bits16
Base+18
Base+20
Base+22
Base+24
Base+26
Base+28
Base+30
Base+32
Base+34
Base+36
Base+38
Base+40
Base+42
Uint16
Uint16
Uint16
Int32
Uint16
Uint16
Int32
Uint16
Uint16
Int32
Uint16
Uint16
Int32
Nome
INIT
OPEN
FAIL
EMERGENCY
WAIT1
READY1
WAIT2
READY2
WAIT3
READY3
WAIT4
READY4
B00
B01
B02
B03
B04
B05
B06
B07
B08
B09
B10
B11
B12
B13
B14
B15
RESERVADO
DRIVER_ADRESS1
PAR_ADRESS1
PAR_VALUE1
DRIVER_ADRESS2
PAR_ADRESS2
PAR_VALUE2
DRIVER_ADRESS3
PAR_ADRESS3
PAR_VALUE3
DRIVER_ADRESS4
PAR_ADRESS4
PAR_VALUE4
Descrição
Serviço iniciado
Serviço habilitado
Falha
Sinaliza emergência
Dados sendo atualizados canal
Dados prontos para leitura
Dados sendo atualizados canal
Dados prontos para leitura
Dados sendo atualizados canal
Dados prontos para leitura
Dados sendo atualizados canal
Dados prontos para leitura
Reservado
Endereço do Driver canal 1
Número do Parâmetro canal 1
Valor do Parâmetro canal 1
Endereço do Driver canal 2
Número do Parâmetro canal 2
Valor do Parâmetro canal 2
Endereço do Driver canal 3
Número do Parâmetro canal 3
Valor do Parâmetro canal 3
Endereço do Driver canal 4
Número do Parâmetro canal 4
Valor do Parâmetro canal 4
23.6.1 - Dados sendo atualizados (WAITn)
Quando em 1, indica que os dados estão sendo alterados e/ou que ocorre uma
leitura do parâmetro.
23.6.2 - Dados prontos (READYn)
Quando em 1, indica que os dados disponíveis na estrutura são válidos e estão
prontos para leitura.
23.6.3 - Endereço do Driver (DRIVER_ADRESSn)
Indica que o endereço CAN do driver correspondente aos dados lidos no canal “n”.
210
Manual do PLC
23.6.4 - Número do Parâmetro (PAR_ADRESSn)
Indica que o número do parâmetro lido no canal “n”.
23.6.5 - Valor do Parâmetro (PAR_VALUEn)
Indica que o valor do parâmetro lido no canal “n”.
211
V1.00
Manual do PLC
V1.00
24 - Serviço de Acoplamento entre Eixos
24.1 - Descrição geral
O serviço de acoplamento entre eixos provê meios para que se possa vincular o
movimento de um eixo, denominado de eixo escravo, a outro eixo, denominado de
eixo mestre.
Para efetuar o acoplamento deve-se indicar na estrutura de dados o número do
eixo mestre, o número do eixo escravo e o fator de acoplamento. O acoplamento
será realizado após a transição de 0 para 1 do bit de controle ACOPLAR.
Para cancelar o acoplamento deve-se indicar na estrutura de dados o número do
eixo mestre e o número do eixo escravo. O desacoplamento será realizado após a
transição de 0 para 1 do bit de controle DESACOPLAR.
24.2 - Tipos de dados
Float32 = Número em ponto flutuante simples (4 bytes)
Uint16 = Inteiro 16 bits sem sinal (2 bytes)
Bits16 = Estrutura de bits (B0 a B15 - 2 bytes)
24.3 - Parâmetros de Configuração Utilizados
Não há.
24.4 - Parâmetros de PLC utilizados
Não há.
212
Manual do PLC
V1.00
24.5 - Estrutura de Dados e Comandos ( PLC → CNC )
Habilitação do Serviço: Bit 15.1
Ponteiro base da estrutura de dados e comandos (endereço na área I): I746.
Tamanho da estrutura = 12 bytes.
Endereço
Base
Base+2
Base+4
Tipo
Uint16
Uint16
Float3
2
Base+8
Bits16
Base+10
int16
Nome
EIXO_MESTRE
EIXO_ESCRAVO
FAT_ACOP
B00
B01
B02
B03
B04
B05
B06
B07
B08
B09
B10
B11
B12
B13
B14
B15
ACOPLA
DESACOPL
ACOP_REA
ACOP_POS
ACOP_NEG
ANG_TAN
INCR
Descrição
Número do Eixo Mestre
Número do Eixo Escravo
Fator de Acoplamento
Ordem p/ Acoplar Eixo
Ordem p/ Desacoplar Eixo
Acopla eixo ao ponto real
Acopla somente no sentido positivo
Acopla somente no sentido negativo
Acopla ao ângulo tangente à trajetória
Incremento no acoplamento (0.001 mm ou
graus)
24.5.1 - Número do Eixo Mestre (EIXO_MESTRE)
Define o número do eixo mestre para o acoplamento.
24.5.2 - Número do Eixo Escravo (EIXO_ESCRAVO)
Define o número do eixo escravo para o acoplamento.
24.5.3 - Fator de Acoplamento (FAT_ACOP)
Define a relação de acoplamento entre os eixos.
Eixos Lineares: unidade em 0.0001 mm.
Eixos Rotativos: unidade em graus.
Ou seja, ao acoplar eixo linear ao rotativo a relação será graus -> 0.0001 mm.
24.5.4 - Acopla eixos (ACOPLA)
Bit de comando (0 -> 1). Efetua o acoplamento dos eixos de acordo com os dados
apontados na estrutura.
213
Manual do PLC
V1.00
24.5.5 - Descopla eixos (DESACOPLA)
Bit de comando (0 -> 1). Efetua o desacoplamento dos eixo escravo apontado na
estrutura.
24.5.6 - Acopla eixo ao Ponto Real (ACOP_REAL)
Se “1” acopla o eixo escravo ao ponto real do eixo mestre. Caso contrário o
acoplamento será feito pelo ponto teórico.
24.5.7 - Ângulo Tangente à trajetória (ANG_TAN)
Ao acoplar eixo escravo, se bit estiver em 1, acopla ao ângulo tangente à trajetória
no plano definido e não ao eixo mestre. Movimento incremental no eixo escravo
considerando a variação do ângulo tangente em graus.
Nesse tipo de acoplamento basta informar o eixo escravo que será acoplado e ligar
os bits ACOPLA e ANG_TAN.
24.5.8 - Incremento no acoplamento (INCR)
Valor a ser incrementado uma única vez no eixo escravo do acoplamento. CNC
zera valor.
Unidades: milésimos de mm ou graus.
214
Manual do PLC
V1.00
24.6 - Estrutura de Status (CNC → PLC)
Habilitação do Serviço: Bit 15.1
Base da estrutura (endereço inicial área I): I746.
Tamanho da estrutura = 4 bytes.
Endereço
Tipo
Base+12
Bits1
6
Base+14
Uint1
6
Nome
INIT
OPEN
FAIL
EMERGEN
B0
B0
B0
B0
B0
B0
B0
B0
B0 Eixo1Ac
B0 Eixo2Ac
B1 Eixo3Ac
B1 Eixo4Ac
B1 Eixo5Ac
B1 Eixo6Ac
B1 Eixo7Ac
B1 Eixo8Ac
5
op
SERV_FAIL
Descrição
Serviço iniciado
Serviço habilitado
Falha
Sinaliza emergência
Sinaliza
Sinaliza
Sinaliza
Sinaliza
Sinaliza
Sinaliza
Sinaliza
Sinaliza
que
que
que
que
que
que
que
que
o
o
o
o
o
o
o
o
eixo
eixo
eixo
eixo
eixo
eixo
eixo
eixo
1
2
3
4
5
6
7
8
foi
foi
foi
foi
foi
foi
foi
foi
acoplado
acoplado
acoplado
acoplado
acoplado
acoplado
acoplado
acoplado
Falha do Serviço
24.6.1 - Serviço Iniciado (INIT)
Quando em 1, indica que ocorreu a inicialização do serviço.
24.6.2 - Serviço Habilitado (OPEN)
Quando em 1, indica que o serviço está habilitado.
24.6.3 - Falha (FAIL)
Quando em 1, indica que ocorreu falha no serviço.O tipo de falha é indicado em
SERV_FAIL
24.6.4 - Emergência (EMERGENCY)
Indica que ocorreu emergência no serviço.
24.6.5 - Eixo NAcop
Indica que o eixo N (1 a 8) foi acoplado.
24.6.6 - Falha do Serviço (SERV_FAIL)
215
Manual do PLC
V1.00
Indica o código da falha do serviço.
27 - Serviço de Tempo Real (RTC)
27.1 - Descrição geral
O serviço de tempo real (RTC) provê meios para que se possa programar e
consultar datas pelo PLC.
A informação da data é composta por uma sequência de variáveis informando o
dia, mês, ano, horas, minutos e segundos. A informação sobre a data é mantida
por bateria.
Através de bits de comando o PLC pode alterar ou consultar a data/hora.
27.2 - Tipos de dados
Float32 = Número em ponto flutuante simples (4 bytes)
Uint16 = Inteiro 16 bits sem sinal (2 bytes)
Bits16 = Estrutura de bits (B0 a B15 - 2 bytes)
27.3 - Parâmetros de Configuração Utilizados
Não há.
27.4 - Parâmetros de PLC utilizados
Não há.
216
Manual do PLC
V1.00
27.5 - Estrutura de Dados e Comandos ( PLC → CNC )
Ponteiro base da estrutura de dados e comandos (endereço na área I): I744.
Tamanho da estrutura = 36 bytes.
Endereço
Base
Base+2
Base+4
Base+6
Base+8
Base+10
Base+12
Base+14
Tipo
Uint16
Uint16
Uint16
Uint16
Uint16
Uint16
Uint16
Uint16
Base+16
Bits16
Base+18
Uint16
Nome
WSECONDS
WMINUTS
WHOURS
WWEEKDAY
WDATE
WMONTH
WYEAR
RESERVADO
B00 WRITE_DAT
B01 READ_DATE
B02 MODE12-24
B03 STATE_AM/
B04
B05
B06
B07
B08
B09
B10
B11
B12
B13
B14
B15
RESERVADO
Descrição
Segundos
Minutos
Horas
Dia da semana
Dia do mês
Mês
Ano
Reservado
Memoriza nova data
Atualiza data (lê a data no RTC)
Modo 12-24
Estado AM/PM
Reservado
ATENÇÃO: Os dados enviados para o RTC deverão ser no formato BCD.
27.5.1 - Segundos (WSECONDS)
Define os segundos que se deseja programar. (0 a 59)
27.5.2 - Minutos (WMINUTS)
Define os minutos que se deseja programar. (0 a 59)
27.5.3 - Horas (WHOURS)
Define a hora que se deseja programar. (0 a 23)
27.5.4 - Dia da Semana (WWEEKDAY) (1 a 07)
Define o dia da semana que se deseja programar.
217
Manual do PLC
V1.00
27.5.5 - Dia do Mês (WDATE) (1 a 31)
Define o dia do mês que se deseja programar.
27.5.6 - Mês (WMONTH)
Define o mês que se deseja programar. (1 a 12)
27.5.7 - Ano (WYEAR)
Define o ano que se deseja programar. (0 a 99)
27.5.8 - Atualiza Data (READ_DATE)
Bit de comando (0 -> 1). Efetua a leitura da data armazenada no RTC na transição
de 0 para 1 deste bit.
27.5.9 - Memoriza Nova Data (WRITE_DATE)
Bit de comando (0 -> 1). Carrega os valores programados para a data no RTC na
transição de 0 para 1 deste bit.
27.5.10 - Mod 12-24/AM-PM (MODE12-24)
Define o tipo de apresentação da hora. Se 0 a hora será apresentada no modo 0 a
24h. Se 1 a hora será apresentada no modo 0 a 12h (AM-PM).
27.5.11 - State AM-PM
Define estado AM/PM. Se modo 12 horas, deve-se indicar se está antes ou depois
de meio dia.(0 = AM, 1=PM)
218
Manual do PLC
V1.00
27.6 - Estrutura de Status (CNC → PLC)
Base da estrutura (endereço inicial área I): I744.
Tamanho da estrutura = 36 bytes.
Endereç
o
Tipo
Base+20
Bits16
Base+22
Base+24
Base+26
Base+28
Base+30
Base+32
Base+34
Uint16
Uint16
Uint16
Uint16
Uint16
Uint16
Uint16
Nome
B00 INIT
B01 OPEN
B02 FAIL
B03 BAT_LOW
B04 /AM-PM
B05 12-/24
B06 OK
B07
B08
B09
B10
B11
B12
B13
B14
B15
SECONDS
MINUTS
HOURS
WEEKDAY
DATE
MONTH
YEAR
Descrição
Serviço iniciado
Serviço habilitado
Falha
Bateria fraca
Estado AM (0) ou PM(1)
Modo horas 12 ou 24 (24 = 0, 12 = 1)
Comunicação Ok
Segundos
Minutos
Horas
Dia da semana
Dia do mês
Mês
Ano
ATENÇÃO: Os dados lidos do RTC estão no formato BCD.
Serviço Iniciado (INIT)
Quando em 1, indica que ocorreu a inicialização do serviço.
27.6.1 - Serviço Habilitado (OPEN)
Quando em 1, indica que o serviço está habilitado.
27.6.2 - Falha (FAIL)
Quando em 1, indica que ocorreu falha no serviço.O tipo de falha é indicado em
SERV_FAIL
27.6.3 - Bateria Fraca (BAT_LOW)
Quando em 1, indica que a bateria de sustentação de dados está descarregada.
219
Manual do PLC
V1.00
27.6.4 - Estado AM-PM (/AM-PM)
Se a data estiver no modo 12hs, quando em 1 este bit indica horário PM.
Se a data estiver no modo 24hs, quando em 1 este bit indica horas de 20 a 24.
27.6.5 - Segundos (SECONDS)
Segundos da ultima leitura da data.
27.6.6 - Minutos (MINUTS)
Minutos da ultima leitura da data.
27.6.7 - Horas (HOURS)
Hora da ultima leitura da data.
27.6.8 - Dia da Semana (WEEKDAY)
Dia da semana da ultima leitura da data.
27.6.9 - Dia do Mês (DATE)
Dia do mês da ultima leitura da data.
27.6.10 - Mês (MONTH)
Mês da ultima leitura da data.
27.6.11 - Ano (YEAR)
Ano da ultima leitura da data.
220
Manual do PLC
V1.00
28 - Serviço de Encoder Digital
28.1 - Descrição geral
* NÃO IMPLEMENTADO
O serviço de Encoder Digital provê meios para leitura de encoder através de
entradas digitais dos módulos IO
Escolhendo três entradas de IO (Down, Up, Ref) para contagem do encoder via
Módulo IO. O próprio módulo lê essas entradas e após calcular a contagem envia
esta informação ao PLC através deste serviço.
O serviço prevê até 4 encoders.
28.2 - Tipos de dados
Float32 = Número em ponto flutuante simples (4 bytes)
Uint16 = Inteiro 16 bits sem sinal (2 bytes)
Bits16 = Estrutura de bits (B0 a B15 - 2 bytes)
28.3 - Parâmetros de Configuração Utilizados
Não há.
28.4 - Parâmetros de PLC utilizados
Não há.
221
Manual do PLC
V1.00
28.5 - Estrutura de Dados e Comandos ( PLC → CNC )
* NÃO IMPLEMENTADO
Ponteiro base da estrutura de dados e comandos (endereço na área I): 734.
Tamanho da estrutura = 24 bytes.
Endereço
Tipo
Base
Base+2
Base+4
Base+6
Base+8
Base+10
Base+12
Uint16
Uint16
Uint16
Uint16
Uint16
Uint16
Uint16
Base+14
Bits16
Nome
MasK_Encoder1
MasK_Encoder2
MasK_Encoder3
MasK_Encoder4
End_Modulo
Reservado
Reservado
B00
Send_Mask
Descrição
Bits para encoder 1 (Down, Up,
Bits para encoder 2 (Down, Up,
Bits para encoder 3 (Down, Up,
Bits para encoder 4 (Down, Up,
Endereço real Módulo na rede
Ref)
Ref)
Ref)
Ref)
Envia mascaras para encoders
Habilitando/Desabilitando
B01
B02
B03
B04
B05
B06
B07
B08
B09
B10
B11
B12
B13
B14
B15
28.5.1 - MasK_Encoder1, MasK_Encoder2, MasK_Encoder3 e MasK_Encoder4
Mascara que define os bits que serão utilizados para entradas de dados dos
encoders 1, 2, 3 e 4 respectivamente. O bit que deseja ser habilitado para entrada
de dados deverá ser colocado em 1.
28.5.2 - End_Modulo
Define endereço real na rede CAN do módulo que será utilizado para captura de
dados dos encoders. (Observar offset de 10)
28.5.3 - Send_Mask
Quando setado este bit , o camando envia as máscaras dos encoders desejados
ao módulo especificado pelo endereço e sendo diferente de zero, passa a enviar
os valor dos respectivos contadores.
222
Manual do PLC
V1.00
28.6 - Estrutura de Status (CNC → PLC)
* NÃO IMPLEMENTADO
Base da estrutura (endereço inicial área I): 734.
Tamanho da estrutura = 16 bytes.
Endereç
o
Tipo
Nome
B00
B01
B02
B03
Base+16
Bits16
Base+18
Base+20
Base+22
Base+24
Base+26
Base+28
Uint16
Uint16
Uint16
Uint16
Uint16
Uint16
INIT
OPEN
FAIL
B04
B05
B06
B07
B08
B09
B10
B11
B12
B13
B14
B15
Valor_Encoder1
Valor_Encoder2
Valor_Encoder3
Valor_Encoder4
Reservado
Reservado
Descrição
Serviço iniciado
Serviço habilitado
Falha
Valor
Valor
Valor
Valor
encoder
encoder
encoder
encoder
1
2
3
4
28.6.1 - Serviço Iniciado (INIT)
Quando em 1, indica que ocorreu a inicialização do serviço.
28.6.2 - Serviço Habilitado (OPEN)
Quando em 1, indica que o serviço está habilitado.
28.6.3 - Falha (FAIL)
Quando em 1, indica que ocorreu falha no serviço.
28.6.4 - Valor_Encoder1, Valor_Encoder2, Valor_Encoder3 e Valor_Encoder4
Estes campos indicam o valor da contagem dos respectivos encoders. Estes
valores são enviados pelo módulo especificado a partir de uma máscara setada
diferente de zero para determinado encoders.
223
Manual do PLC
V1.00
224
Manual do PLC
V1.00
29 - Serviço de comunicação MODBUS
29.1 - Descrição geral
O serviço de comunicação MODBUS provê meios para acessar parâmetros
remotos que utilizem este tipo de comunicação. Com este serviço é possível
realizar leituras ou modificar os valores desses parâmetros via MODBUS,
remotamente.
No caso do CNC, a memória do PLC pode ser acessada remotamente através dos
registradores do MODBUS.
29.2 - Tipos de dados
Uint16= Inteiro 16 bits sem sinal (2 bytes)
29.3 - Parâmetros de Configuração Utilizados
PROTEO / Mini:
P052 / P025
P053 / P026
P054 / P027
P055 / P028
P056 / P005
- Taxa de comunicação serial
(default = 9600)
- Número de bits da serial
(default = 8)
*FIXO
- Número de stop bits da serial (default = 1)
*FIXO
- Paridade da serial
(default = sem paridade) *FIXO
- Endereço do CNC na rede MODBUS.
29.4 - Parâmetros de PLC utilizados
29.5 - Parâmetros para Drive SV-LG5A.
Para utilizar o Drive SV-LG5A com comunicação MODBUS, é necessário configurar
alguns parâmetros específicos:
Parâmetros Drive Group:
drv = 3 (Modo ModBus)
Frq = 7 (Seta MODBus)
I/O – Input/Output Group:
Configuração da transmissão:
I59 = 0 (Seleciona ModBus RTU)
I60 = 1 (Endereço do drive na rede - 1 a 255)
I61 = 3 (Taxa de comunicação Bps -> 0 – 1200; 1 – 2400; 2 – 4800; 3 – 9600; 4 –
19200 .)
I64 = 10 (Tempo delay do frame de comunicação )
225
Manual do PLC
V1.00
Para habilitar/desabilitar o drive acessar o registrador do endereço 0x0006. (1 –
Habilitar
2 - Desabilitar)
226
Manual do PLC
V1.00
29.6 - Estrutura de Dados e Comandos ( PLC → CNC )
Ponteiro base da estrutura de dados e comandos (endereço na área I): 740.
Tamanho da estrutura = 16 bytes.
Endereç
o
Base
Base+2
Base+4
Base+6
Base+8
Tipo
Nome
Int16
Int16
Int16
Int16
Int16
ModID
FunctionID
AddressReg
RegValue
NumBits
Base+10
Int16
Base+12
Int16
Base+14
Bits1
6
Descrição
Identifica Módulo MODBUS
Identifica Função
Número / Endereço do Registrador
Valor que será enviado ao registrador
Número de bits (coils) a serem acessados
Posição de memória do PLC com valores dos
MemSeqBytes
registradores para enviar sequência de
*
bytes
NumReg
Número de registradores a serem acessados
B00 SENDMS Envia mensagem MODBUS
1 = endereço da memória do PLC em bytes (inicia em 0)
B01
REG
0 = número do registrador MODBUS (inicia em 1)
B02
B03
B04
B05
B06
B07
B08
B09
B10
B11
B12
B13
B14
B15
* Não implementado
29.6.1 - ModID :
Endereço do módulo MODBUS com o qual se deseja comunicar (escravo /
servidor).
29.6.2 - FunctionID:
Identificador de função MODBUS.
0x03 - Leitura de registrador
0x06 - Escrita de registrador
29.6.3 - AddressReg:
Número ou Endereço do registrador que se deseja acessar para ler ou escrever,
dependendo do valor do bit REG (B01).
227
Manual do PLC
V1.00
29.6.4 - RegValue:
Valor que será enviado ao registrador.
29.6.5 - NumBits:
Número de bits (coils) a serem acessados.
29.6.6 - MemSeqBytes:
Posição de memória do PLC com valores dos registradores para enviar seqüência
de bytes.
29.6.7 - NumReg:
Número de registradores de 16 bits a serem acessados.
No caso da memória do PLC cada registrador é 1 word.
29.6.8 - SENDMSG:
Solicita envio de mensagem MODBUS.
29.6.9 - REG:
Tipo de identificação do registrador especificado em AddressReg.
0 = número do registrador MODBUS (inicia em 1)
Como o endereço do registrador inicia em 0 -> subtrai 1 do AddressReg.
P/ funções de acesso a bits não subtrai.
Usado p/ acessar parâmetros dos drives MODBUS.
1 = endereço da memória do PLC em bytes (inicia em 0)
Como os registradores tem 16 bits (word) -> divide AddressReg por 2.
Usado p/ acessar memória do PLC de um CNC remoto via MODBUS.
Disponível a partir das versões Proteo 9.16 e MINI 4.19.
228
Manual do PLC
V1.00
29.7 - Estrutura de Status (CNC → PLC)
Base da estrutura (endereço inicial área I): 740.
Tamanho da estrutura = 06 bytes.
Endereço
Base+1
6
Tipo
Nome
B00
B01
B02
B03
B04
B05
B06
Bits1 B07
B08
6
B09
B10
B11
B12
B13
B14
B15
INIT
OPEN
FAIL
SENDMSG
WAIT
FINISH
TEST_HDW
Base+1
8
Int16
RegValueHI
Base+2
0
Int16
RegValueLO
Descrição
Serviço iniciado
Serviço habilitado
Falha
Transmitindo mensagem MODBUS
Aguardando Receber resposta
Comunicação concluída
Sinaliza
funcionamento
correto
Valor lido do 1º registrador /
Word + significativa do registrador de
32 bits
Valor lido do 2º registrador /
Word – significativa do registrador de
32 bits
29.7.1 - INIT:
Indicação Serviço iniciado.
29.7.2 - OPEN:
Indicação Serviço habilitado.
29.7.3 - FAIL:
Indicação de falha de comunicação na transmissão ou resposta de uma
mensagem. O bit vai a “0” quando uma nova mensagem é enviada.
29.7.4 - SENDMSG:
Indicação de transmissão de mensagem.
29.7.5 - WAIT:
Indicação de que uma mensagem foi enviada e está aguardando resposta.
229
do
Manual do PLC
V1.00
29.7.6 - FINISH:
Indicação de que uma mensagem foi enviada corretamente e obteve resposta.
29.7.7 - TEST_HDW:
Este bit setado para 1 indica que a saída serial (hardware) está funcionando
corretamente. Este bit permanecerá em 1 até que uma outra mensagem seja
enviada.
29.7.8 - RegValueHI:
Valor lido do 1º registrador /
Word mais significativa do registrador de 32 bits.
29.7.9 - RegValueLO:
Valor lido do 2º registrador /
Word menos significativa do registrador de 32 bits.
29.8 - Exemplos
29.8.1 - Leitura de Registrador MODBUS:
Endereço do CNC na rede MODBUS (mestre / cliente) = 1
Endereço do módulo MODBUS (escravo / servidor) = 2
Base do serviço = 1000
Registrador a ser lido = 108
Valor do registrador = 02 2B hexa = 555 decimal

Comandos (PLC -> CNC):
Endereço
1000
1002
1004
1006
1008
1010
1012
1014
Tipo
Int16
Int16
Int16
Int16
Int16
Int16
Nome
ModID
FunctionID
AddressReg
RegValue
NumBits
MemSeqBytes
*
Int16
NumReg
B00 SENDMSG
Bits16 B01
REG
Valor
2
3 (leitura de registrador)
108
---1
0 -> 1
0 = número do registrador MODBUS
(inicia em 1)
230
Manual do PLC

V1.00
Mensagens MODBUS (big endian) de requisição do CNC e resposta p/ o
CNC:
Requisição
ModID
FunctionID
AddressReg Hi
AddressReg Lo
NumReg Hi
NumReg Lo

Status (CNC -> PLC):
Endereç
o
1016
231
02
03
00
6B
00
01
Resposta
ModID
FunctionID
Byte Count
RegValue Hi
RegValue Lo
Tipo
Nome
B00
B01
B02
B03
B04
B05
B06
Bits1 B07
B08
6
B09
B10
B11
B12
B13
B14
B15
INIT
OPEN
FAIL
SENDMSG
WAIT
FINISH
TESTE_HDW
1018
Int16
RegValueHI
1020
Int16
RegValueLO
Valor
1
1
0
0
0
1
1
555 (02 2B
hexa)
--
02
03
02
02
2B
Manual do PLC
V1.00
29.8.2 - Escrita de Registrador MODBUS (Memória do PLC):
29.8.2 - Escrita de Registrador MODBUS (Memória do PLC):
Endereço do CNC na rede MODBUS (mestre / cliente) = 1
Endereço do módulo MODBUS (escravo / servidor) = 2
Base do serviço = 1000
Memória do PLC a ser escrita (em bytes) = 3000
Valor a ser escrito = 02 2B hexa = 555 decimal

Comandos (PLC -> CNC):
Endereço
1000
1002
1004
1006
1008
1010
1012
1014

Tipo
Int16
Int16
Int16
Int16
Int16
Int16
Nome
ModID
FunctionID
AddressReg
RegValue
NumBits
MemSeqBytes
*
Int16
NumReg
B00 SENDMSG
Bits16 B01
REG
Valor
2
6 (escrita de registrador)
3000 (05 DC hexa)
555 (02 2B hexa)
---0 -> 1
1 = endereço da memória do PLC em bytes
(inicia em 0)
Mensagens MODBUS (big endian) de requisição do CNC e resposta p/ o
CNC:
Requisição
ModID
FunctionID
AddressReg Hi
AddressReg Lo
RegValue Hi
RegValue Lo
02
06
05
DC
02
2B
Resposta
ModID
FunctionID
AddressReg Hi
AddressReg Lo
RegValue Hi
RegValue Lo
02
06
05
DC
02
2B
232
Manual do PLC

Status (CNC -> PLC):
Endereç
o
1016
1018
1020
233
V1.00
Tipo
Nome
B00
INIT
B01
OPEN
B02
FAIL
B03
SENDMSG
B04
WAIT
B05
FINISH
B06 TESTE_HDW
Bits1 B07
B08
6
B09
B10
B11
B12
B13
B14
B15
Int16
RegValueHI
Int16
RegValueLO
Valor
1
1
0
0
0
1
1
---
Manual do PLC
V1.00
30 - Serviço de comunicação CANBUS
30.1 - Descrição geral
O serviço de comunicação CANBUS provê meios para acessar objetos CANopen
via SDO indicando o respectivo índice e sub-índice. Com este serviço é possível
realizar leituras ou modificar os valores desses objetos remotamente. Para utilizar
este serviço é necessário habilitá-lo setando o bit 3 da variável 15 do PLC,
conforme tabela de habilitação.
30.2 - Tipos de dados
Uint16= Inteiro 16 bits sem sinal (2 bytes)
30.3 - Parâmetros de Configuração Utilizados
30.4 - Parâmetros de PLC utilizados
234
Manual do PLC
V1.00
30.5 - Estrutura de Dados e Comandos ( PLC → CNC )
Habilitação do Serviço: Bit 15.3
Ponteiro base da estrutura do serviço (base indireta): 742
Tamanho da estrutura = 14 bytes.
Endere
ço
Base
Base+2
Base+4
Base+6
Base+8
Base+1
0
Base+1
2
Tipo
Nome
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Endereço
Bits1
6
Indice
Descrição
Endereço CAN do dispositivo
Índice do objeto
SubIndice
Sub-índice do objeto
WriteObj_L
Valor que será escrito no objeto (significativo)
Valor que será escrito no objeto
significativo)
Número de bytes do objeto
WriteObj_H
NumeroBytes
B00
B01
B02
B03
B04
B05
B06
B07
B08
B09
B10
B11
B12
B13
B14
B15
Write
Read
Escreve objeto CANopen
Lê objeto CANopen
30.5.1 - Endereço:
Endereço CAN do dispositivo em que está o objeto a ser acessado.
OBS: Eixo CAN (drive) = endereço 1 a 8.
Módulo = endereço 10 a 25 (soma 10 a posição da chave).
30.5.2 - Ìndice:
Verificar dicionário de objetos CAN do dispositivo.
30.5.3 - SubIndice:
Verificar dicionário de objetos CAN do dispositivo (default = 0).
235
(+
Manual do PLC
V1.00
30.5.4 - ValorRegistrador:
Valor que será escrito no objeto. Pode ter 1, 2 ou 4 bytes.
30.5.5 - NumeroBytes:
Número de bytes a serem acessados no objeto. Especifica se objeto é de 1, 2 ou 4
bytes.
30.5.6 - WRITE:
Solicita escrita no objeto especificado.
30.5.7 - READ:
Solicita leitura do objeto especificado.
30.6 - Estrutura de Status (CNC → PLC)
Habilitação do Serviço: Bit 15.3
Ponteiro base da estrutura do serviço (base indireta): 742
Tamanho da estrutura = 6 bytes.
Endereço
Nome
B00 INIT
B01 OPEN
B02 FAIL
B03 SENDMSG
B04 WAIT
B05 FINISH
B06
Bits16 B07
B08
Base+14
B09
B10
B11
B12
B13
B14
B15
Base+16
ReadObj_L
Uint16
Base+18
Tipo
Uint16
ReadObj_H
Descrição
Serviço iniciado
Serviço habilitado
Falha na comunicação
Transmitindo Mensagem CAN
Aguardando Receber resposta
Comunicação concluída
Valor
lido
significativo)
Valor
lido
significativo)
do
objeto
(-
do
objeto
(+
30.6.1 - INIT:
Indicação serviço iniciado
236
Manual do PLC
30.6.2 - OPEN:
Indicação serviço habilitado
30.6.3 - FAIL:
Indicação de falha na transmissão de mensagens CAN (time-out na resposta).
30.6.4 - SENDMSG:
Indicação de que está transmitindo uma mensagem.
30.6.5 - WAIT:
Indicação de que uma mensagem foi enviada e está aguardando resposta.
30.6.6 - FINISH:
Indicação de que uma mensagem foi enviada corretamente e obteve resposta.
30.6.7 - ReadValorObjeto:
Valor lido do objeto especificado. Pode ter 1, 2 ou 4 bytes.
237
V1.00
Manual do PLC
V1.00
31 - Modo Manual – Objeto de Tela (Proteo)
31.1 - Descrição geral
O serviço do Modo Manual faz a comunicação entre o objeto de tela “Manual” e as
memórias do PLC.
 Tela -> PLC: os valores programados pelo usuário na tela são enviados p/
as memórias do PLC.
31.2 - Tipos de dados
Uint16 = Inteiro 16 bits sem sinal (2 bytes)
int16 = Inteiro de 16 bits com sinal (2 bytes)
Bits16 = Estrutura de bits (B0 a B15 - 2 bytes)
31.3 - Parâmetros de Configuração Utilizados
Não há.
31.4 - Parâmetros de PLC utilizados
Não há.
31.5 - Estrutura de Dados e Comandos ( PLC → CNC )
31.6 - Estrutura de Status ( CNC → PLC )
Habilitação do Serviço: Bit 15.5
Ponteiro base da estrutura do serviço (base indireta): 748
Tamanho da estrutura = 12 bytes.
Endereço
Base
Tipo
Bits16
B00
B01
B02
B03
B04
B05
B06
B07
B08
B09
B10
B11
B12
B13
B14
Nome
ENABLE
FAIL
JOG
INC
MANIV
JOY
Descrição
Serviço Habilitado
Falha no serviço
Modo Jog
Modo Incremental
Modo Manivela
Modo Joystick
238
Manual do PLC
Base+2
Base+4
Base+6
Base+8
Base+10
Uint16
V1.00
B15
VAL_INC
Modo Incremental: valor do
incremento
Uint16 MANIV_EIXO
Modo Manivela: eixo selecionado
int16 MANIV_ESCALA Modo Manivela: escala
Uint16
Rsvd
Uint16
Rsvd
-
- Modos: Jog / Incremental / Manivela / Joystick
31.6.1 - Modo Incremental (INC)
VAL_INC: Valor do incremento em milésimos de mm
31.6.2 - Modo Manivela (MANIV)
MANIV_EIXO: Eixo selecionado p/ manivela:
0 = nenhum
1=X
2=Y
3=Z
MANIV_ESCALA: Escala em milésimos de mm; -1 = Escala Automática
239
Manual do PLC
V1.00
32 - Manivela
32.1 - Descrição geral
Esse serviço implementa o movimento dos eixos pela manivela.
Os pulsos gerados pela manivela fazem um movimento incremental no eixo.
O CNC pode ter até 3 manivelas, então há 3 canais de serviço de manivela
independentes.
Ponteiro base da estrutura do serviço (base indireta):
Manivela 1 = 750
Manivela 2 = 752
Manivela 3 = 754
Habilitação do serviço:
Manivela 1 = 18.0
Manivela 2 = 18.1
Manivela 3 = 18.2
O objeto de tela do Modo Manual do Proteo pode ser usado p/ configurar a
Manivela 1.
Nesse caso, os dados da tela são passados ao PLC pelo Serviço do Modo Manual
(item 25) e devem ser copiados nas variáveis correspondentes do serviço da
manivela 1.
32.2 - Tipos de dados
Uint16 = Inteiro 16 bits sem sinal (2 bytes)
int16 = Inteiro de 16 bits com sinal (2 bytes)
Bits16 = Estrutura de bits (B0 a B15 - 2 bytes)
Float32 = Número em ponto flutuante simples (4 bytes)
32.3 - Parâmetros de Configuração Utilizados
OBS: Os parâmetros da manivela no proteo MINI LCD estão localizados em
posições diferentes em relação aos mesmos parâmetros do PROTEO.
PROTEO MINI :
Manivela 1:
P060: Seleciona canal de encoder da Manivela
- 1 ou 2 (local) , 11 a 14 (módulo analógico)
P061: Letra do Eixo controlado pela manivela
P062: Velocidade Máxima (mm/min)
P063: Inverte Sentido
240
Manual do PLC
Manivela 2:
P064: Seleciona canal de encoder da Manivela
P065: Letra do Eixo selecionado
P066: Velocidade Máxima (mm/min)
P067: Inverte Sentido
Manivela 3:
P068: Seleciona canal de encoder da Manivela
P069: Letra do Eixo selecionado
P070: Velocidade Máxima (mm/min)
P071: Inverte Sentido
PROTEO:
Manivela 1:
P036: Seleciona Manivela (localização)
- Terminal Integrado, Terminal Remoto ou Módulo Analógico
P037: Letra do Eixo selecionado
P038: Velocidade Máxima (mm/min)
P039: Inverte Sentido
Manivela 2:
P040: Seleciona Manivela (localização)
P041: Letra do Eixo selecionado
P042: Velocidade Máxima (mm/min)
P043: Inverte Sentido
Manivela 3:
P044: Seleciona Manivela (localização)
P045: Letra do Eixo selecionado
P046: Velocidade Máxima (mm/min)
P047: Inverte Sentido
32.4 - Parâmetros de PLC utilizados
Não há.
241
V1.00
Manual do PLC
V1.00
32.5 - Estrutura de Dados e Comandos ( PLC → CNC )
Habilitação do Serviço: Bit 18.0 / 18.1 / 18.2
Ponteiro base da estrutura do serviço (base indireta): 750 / 752 / 754
Tamanho da estrutura = 12 bytes.
Endereço
Tipo
Nome
MODPOS
*MODLIMSUP
*MODLIMINF
OFFSET
B00
B01
B02
B03
Base+2
B04
B05
B06
Bits16 B07
B08
B09
B10
B11
B12
B13
B14
B15
Uint16
Base+4
int16
ESCALA
Base+6
Uint16
VEL_MAX
Base+8
Uint16
PULSOS
Base
EIXO
Descrição
Ativa modo posição, manivela
Ativa modo limite superior
Ativa modo limite inferior
0 = ativa offset de 2 pulsos
no delta da contagem; 1 =
Letra do eixo selecionado (0
= Parâmetro)
Escala em milésimos de mm (1=auto, 0=0.001)
Velocidade máxima em mm/min
(0 = Parâmetro)
Pulsos por volta da manivela
(0 = 100 pulsos)
Base+10 Uint16
* Não implementado
32.5.1 - Modo Posição (MODPOS)
Enquanto bit estiver em 1 ativa modo posição, ou seja, pulsos da manivela geram
movimento incremental p/ eixo selecionado. Ao desligar bit, mantendo letra do eixo
selecionado, acerta as posições teóricas.
32.5.2 - Modo Limite Superior e Inferior (MODLIMSUP e MODLIMINF)
Enquanto bit estiver em 1 ativa modo limite, ou seja, pulsos da manivela alteram o
limite superior ou inferior do ponto teórico do eixo selecionado respeitando a
escala programada.
32.5.3 - EIXO
Letra do eixo selecionado:
242
Manual do PLC
Valor
0
1
2
3
4
5
6
7
8
9
V1.00
Descrição
Lê do Parâmetro de eixo selecionado (P037 / P040/ P043)
X
Y
Z
A
B
C
U
V
W
Eixo Configurável: copiar eixo da manivela no serviço do modo manual – Tela
Proteo.
Ao trocar letra do eixo com bit do modo posição ativo, acerta posições do eixo
anterior e ativa manivela p/ novo eixo selecionado. Equivalente a desligar bit de
modo posição e ativá-lo novamente trocando o eixo no próximo ciclo de PLC.
32.5.4 - ESCALA
Escala em milésimos de mm (eixo linear).
Valores de escala configurados pela Tela do Modo Manual:
-1 = Escala Automática (quanto maior a velocidade da manivela, maior a
escala)
0 = Escala mínima = 0.001 mm
Outros: 0.002 ; 0.005 ; 0.010 ; 0.020 ; 0.050 ; 0.100 ; 0.200 ; 0.500 ; 1.000 ;
2.000 ; 5.000 mm
32.5.5 - Velocidade Máxima (VEL_MAX)
Velocidade máxima da manivela em mm/min (eixo linear)
0 = Lê do Parâmetro de velocidade máxima (P038 / P041 / P044)
32.5.6 - PULSOS
Número de pulsos por volta da manivela (Default: 0 = 100 pulsos)
243
Manual do PLC
V1.00
32.6 - Estrutura de Status ( CNC → PLC )
Habilitação do Serviço: Bit 18.0 / 18.1 / 18.2
Ponteiro base da estrutura do serviço (base indireta): 750 / 752 / 754
Tamanho da estrutura = 12 bytes.
Endereço
Tipo
Base+12
Bits16
Base+14
Uint16
Base+16
Base+18
Base+20
Base+22
Nome
ENABLE
FAIL
FCPOS
FCNEG
LIMSUP
LIMINF
B00
B01
B02
B03
B04
B05
B06
B07
B08
B09
B10
B11
B12
B13
B14
B15
VEL_MANIV
Descrição
Serviço Habilitado
Falha no serviço
Fim de Curso Positivo
Fim de Curso Negativo
Eixo atingiu limite superior
Eixo atingiu limite inferior
Velocidade da Manivela em
pulsos/amostragem (80ms)
Uint16 VEL_REAL_EIXO Velocidade Real do Eixo em
mm/min
Uint16
ESCALA_REAL
Escala real em milésimos de
mm
Uint16
CNT_MANIV
Contador de Pulsos da
manivela
Uint16
-Reservado
244
Manual do PLC
V1.00
33 - PLC RÁPIDO
33.1 - Descrição geral
PLC Rápido é uma sub-rotina do PLC que deve ser executada em um tempo mais
rápido que o ciclo normal.
Ciclo Normal: 16 ms
PLC Rápido: 4 ms
O endereço dessa rotina deve ser colocado numa memória específica do PLC, o
que já habilita a execução do PLC Rápido.
Essa rotina pode acessar 2 grupos de entradas e saídas rápidas (1 módulo rápido)
configuradas através dos parâmetros de tipo de módulo.
A rotina do PLC Rápido deve ser bem simples e rápida p/ não prejudicar a
performance do CNC.
Ao desligar o PLC Rápido, os valores das saídas rápidas devem ser copiados p/ as
memórias das saídas normais p/ que continuem com os mesmos valores.
33.2 - Parâmetros de Configuração
P060 a P075: Tipo de Módulo conectado ao CNC
Deve-se configurar 1 módulo CAN que será usado p/ entradas e saídas rápidas. O
funcionamento desse módulo é idêntico ao normal mas com os acessos a entradas
e saídas mais rápidos.
Os valores possíveis são:
Módulo CAN 16E + 16S Rápido
Módulo CAN Temperatura + E/S Rápido
Módulo CAN Analógicas + E/S Rápido
= 16
= 17
= 18
33.3 - Memórias do PLC
245
290
Uint16
292
294
296
Uint16
Uint16
Uint16
ENDERECO Endereço da rotina do PLC Rápido (0 =
desabilitado)
ENTRADAS Entradas Rápidas (16 entradas)
SAIDAS
Saídas Rápidas (16 saídas)
MASK_OUT Máscara de habilitação das saídas rápidas
(16 saídas)
Manual do PLC
V1.00
34 - Erro de Acompanhamento (LAG)
34.1 - Descrição geral
O tratamento do erro de acompanhamento (LAG) pode ser feito pelo CNC ou PLC.
A verificação é feita p/ todos os eixos em malha fechada.
CNC – Bit 96.0 = 0 (default):




Atualiza status do erro de LAG (Byte 86).
Corta liberação do eixo (LibCnc).
Coloca status do serviço em Emergência.
Aborta movimento.
PLC – Bit 96.0 = 1 :

Atualiza status do erro de LAG (Byte 86).
Reset do erro de LAG:
O PLC pode limpar o erro de LAG ligando o bit 96.1.
Nesse caso, o CNC:
 Copia ponto real do eixo p/ teórico.
 Habilita novamente o eixo (LibCnc).
34.2 - Parâmetros de Configuração
P x53 : Máximo valor do LAG em movimento (mm ou graus).
x = número do eixo.
34.3 - Bits de Comando (PLC -> CNC)
B00 LAGSERV Tratamento do erro de LAG pelo CNC (0) ou
B01 RSTLAG Reset do erro de LAG
B02
96 Bits B03
B04
B05
B06
B07
Bits de Status (CNC -> PLC)
B00
B01
B02
86 Bits B03
B04
B05
B06
B07
LAGERR_1
LAGERR_2
LAGERR_3
LAGERR_4 Status do erro de LAG (1 bit por eixo)
LAGERR_5
LAGERR_6
LAGERR_7
LAGERR_8
246
Manual do PLC
V1.00
35 - Serviço de Transferência de Dados entre CNCs
35.1 - Descrição geral
Define áreas da memória de dados do PLC que serão transferidas ou recebidas de
outro CNC.
Pode ser usado p/ transferência de dados entre um CNC mestre e um outro usado
como Terminal CAN (escravo) por exemplo. Nesse caso, os softwares básicos do
ProteoMini mestre e escravo são diferentes.
Ponteiro base da estrutura do serviço (base indireta):
Habilitação do serviço:
Word 756
Bit 18.3
35.2 - Parâmetros de Configuração utilizados
P099: Modo do CNC: 0 = CNC mestre
1 = Terminal CAN (escravo)
P006 a P021: Módulos do CNC (0 a 15)
Configurar um dos módulos como Proteo Mini CAN (=13) tanto no CNC
mestre como no escravo.
35.3 - Parâmetros de PLC utilizados
247
Manual do PLC
V1.00
35.4 - Estrutura de Dados e Comandos ( PLC → CNC )
Habilitação do Serviço: Bit 18.3
Ponteiro base da estrutura do serviço (base indireta): Word 756
Tamanho da estrutura = 36 bytes.
Endereço
Tipo
Nome
B00
TX_1
B01
TX_2
B02
RX_3
B03
RX_4
B04
B05
B06
B07
B08
B09
B10
B11
B12
B13
B14
B15
RSVD
PT_1
Base
Bits16
Base+2
Base+4
Uint16
Uint16
Base+6
Uint16 TAM_DADOS_1
Base+8
Uint16
TEMPO_1
Base+10
Base+12
Uint16
Uint16
RSVD
PT_2
Base+14
Uint16 TAM_DADOS_2
Base+16
Uint16
TEMPO_2
Base+18
Base+20
Uint16
Uint16
RSVD
PT_3
Base+22
Uint16 TAM_DADOS_3
Base+24
Base+26
Base+28
Uint16
Uint16
Uint16
Base+30
Uint16 TAM_DADOS_4
Base+32
Base+34
Uint16
Uint16
RSVD
RSVD
PT_4
RSVD
RSVD
Habilita
Habilita
Habilita
Habilita
Descrição
transmissão
transmissão
recepção da
recepção da
da área 1
da área 2
área 3
área 4
-Ponteiro p/ área 1 do PLC
(transmissão)
Número de bytes da área 1
transmissão
Tempo de retransmissão da
1 (ciclos de PLC)
-Ponteiro p/ área 2 do PLC
(transmissão)
Número de bytes da área 2
transmissão
Tempo de retransmissão da
2 (ciclos de PLC)
-Ponteiro p/ área 3 do PLC
(recepção)
Número de bytes da área 3
recepção
--Ponteiro p/ área 4 do PLC
(recepção)
Número de bytes da área 4
recepção
---
de
área
de
área
de
de
248
Manual do PLC
V1.00
35.4.1 - Bits de Comando
Ao ativar bits de transmissão (TX_1 e TX_2), inicia uma nova transmissão dos
dados configurados até terminar os bytes e enquanto o bit estiver ativo.
Enquanto os bits de recepção (RX_3 e RX_4) estiverem ativos, as mensagens
recebidas serão colocadas nas áreas do PLC apontadas pelo serviço.
35.4.2 - TEMPO
Tempo de retransmissão das áreas 1 e 2 em número de ciclos do PLC (16 ms).
0 = sem retransmissão (envia uma única vez).
1 = retransmite automaticamente a cada ciclo do PLC ou o mais rápido
possível.
249
Manual do PLC
V1.00
35.5 - Estrutura de Status ( CNC → PLC )
Habilitação do Serviço: Bit 18.3
Ponteiro base da estrutura do serviço (base indireta): Word 756
Tamanho da estrutura = 4 bytes.
Endereço
Base+36
Base+38
Tipo
Nome
Descrição
B00
ENABLE
Serviço Habilitado
B01
FAIL
Falha no Serviço
B02 *STT_REM Status do CNC remoto (1 =
B03
B04
B05
B06
B07
Bits16 B08
B09
B10
B11
B12
B13
B14
B15
Uint16
RSVD
--
* Não implementado
250
Manual do PLC
V1.00
35.1 - Exemplo
2 CNCs Proteo Mini: CNC mestre + Terminal CAN
Definir os parâmetros P099 (mestre / escravo) e o parâmetro correspondente ao
módulo Proteo Mini CAN (P006 a P021) tanto no mestre como no escravo.
Coloca-se a base do serviço na memória 756 e habilita-se o serviço no bit 18.3.
Transferência dos dados da tela do CNC p/ o Terminal:
- A cada 4 ciclos de PLC (64ms) o mestre envia 80 bytes da tela (400 a 479) p/ o
terminal.
- Pode-se configurar TEMPO = 1 ciclo, assim o CNC retransmitirá o mais rápido
possível.
Transferência do mapa de transição de teclas do Terminal p/ CNC:
- A cada ciclo do PLC (16ms) o terminal envia 8 bytes do mapa (392), se existir, p/
a memória 378 do mestre.
Status: Bits 0 e 2 devem estar em 1 no funcionamento normal.
CNC mestre (PLC -> CNC):
Endere
ço
Base
Base+2
Base+4
Base+6
Base+8
Base+1
0
Base+1
2
Base+1
4
Base+1
6
Base+1
8
Base+2
0
Base+2
2
Base+2
4
Base+2
6
Base+2
8
251
Tipo
Nome
Valor
Bits1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
BITS_CMD
5
RSVD
--
PT_1
400
TAM_DADOS_1
80
TEMPO_1
1
RSVD
--
PT_2
TAM_DADOS_2
TEMPO_2
RSVD
PT_3
392
TAM_DADOS_3
8
RSVD
--
RSVD
--
PT_4
Manual do PLC
Base+3
0
Base+3
2
Base+3
4
V1.00
Uint1
6
Uint1
6
Uint1
6
TAM_DADOS_4
RSVD
RSVD
Terminal CAN (PLC -> CNC):
Endere
ço
Base
Base+2
Base+4
Base+6
Base+8
Base+1
0
Base+1
2
Base+1
4
Base+1
6
Base+1
8
Base+2
0
Base+2
2
Base+2
4
Base+2
6
Base+2
8
Base+3
0
Base+3
2
Base+3
4
Tipo
Nome
Valor
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
Uint1
6
BITS_CMD
5
RSVD
--
PT_1
392
TAM_DADOS_1
8
TEMPO_1
1
RSVD
--
PT_2
TAM_DADOS_2
TEMPO_2
RSVD
PT_3
400
TAM_DADOS_3
80
RSVD
--
RSVD
--
PT_4
TAM_DADOS_4
RSVD
RSVD
252
Manual do PLC
V1.00
36 - Serviço Específico da CM (Lentes)
36.1 - Descrição geral
Esse serviço habilita as rotinas específicas do software básico p/ a aplicação da
CM (lentes):
- Algoritmos CM habilitados por código de função M
- Protocolo @Z p/ envio do pedido de Ordem de Serviço
Ponteiro base da estrutura do serviço (base indireta):
Habilitação do serviço:
Bit 22.0
36.2 - Parâmetros de Configuração Utilizados
36.3 - Parâmetros de PLC utilizados
253
Word 798
Manual do PLC
V1.00
36.4 - Estrutura de Dados e Comandos ( PLC → CNC )
Habilitação do Serviço: Bit 22.0
Ponteiro base da estrutura do serviço (base indireta): Word 798
Tamanho da estrutura = 8 bytes.
Endereço
Tipo
Nome
Descrição
B00 ENVIA_OS Envia pedido da Ordem de
B01
B02
B03
B04
B05
B06
B07
Base
Bits16 B08
B09
B10
B11
B12
B13
B14
B15
Base+2
Uint16
END_RESP
Endereço onde dados da OS
serão gravados
Base+4
FLOAT
NUM_OS
Número da Ordem de Serviço
OBS.: Antes de enviar pedido da OS, PLC deve limpar memória que receberá
status da resposta (colocando -1 por exemplo).
36.5 - Estrutura de Status ( CNC → PLC )
Habilitação do Serviço: Bit 22.0
Ponteiro base da estrutura do serviço (base indireta): Word 798
Tamanho da estrutura = 4 bytes.
Endereç
o
Tipo
Base+8
Bits1
6
Base+10
Uint1
6
Nome
B00
B01
B02
B03
B04
B05
B06
B07
B08
B09
B10
B11
B12
B13
B14
B15
ENABLE
FAIL
Descrição
Serviço
Falha no
RSVD
254
Manual do PLC
V1.00
36.6 - Dados da Ordem de Serviço (resposta do protocolo @Z)
Tamanho da estrutura = 132 bytes
Endereço
END_RESP
END_RESP+6
4
Tipo
16
Floats
16
Floats
Nome
OLHO_ES
Q
OLHO_DI
R
Descrição
Dados do olho esquerdo
Dados do olho direito
END_RESP+1
28
Uint16
STATUS
Status dos dados: 0 = OK
1 = OS não
encontrada
2 = time-out do
servidor
END_RESP+1
30
Uint16
RSVD
Reservado: Alinhamento de 4 bytes
255
Manual do PLC
V1.00
37 - Serviço de Comunicação Serial CNC <=> Periférico Genérico
( ARM 9.22 )
37.1 - Descrição geral
Permite a comunicação serial entre o CNC e um ou mais periféricos Genéricos
através de um protocolo definido pelo PLC programando uma estrutura genérica
proposta pelo serviço.
Ponteiro base da estrutura do serviço (base indireta):
#10255 ( W )
Variável
Reservada
Habilitação do serviço: Base da estrutura precisa conter o valor constante 2727
37.2 - Parâmetros de Configuração utilizados
P052
P053
P054
P055
P056
-
Taxa de comunicação serial
(default = 9600)
Número de bits da serial
(default = 8)
Número de stop bits da serial
(default = 1)
Paridade da serial
(default = sem paridade) *FIXO
Endereço do CNC na rede Mestre / Escravo e ModBus.
*FIXO
*FIXO
37.3 - Estrutura de Dados e Comandos ( CNC  PERIFÉRICO )
Habilitação do Serviço:
VIA VARIÁVEL RESERVADA #10255 = BASE
ESTRUTURA
Ponteiro base da estrutura do serviço (base indireta): #10255
Tamanho da estrutura = 32 bytes.
Endereço
Base+0
Base+2
Tipo
Uint16
Uint16
Nome
SIGNATURE
TX_SIZE
Base+4
Uint16
TX_BUF_ADR
Base+6
Base+8
Uint16
Uint16
RX_SIZE
RX_BUF_ADR
Base+10
Uint16
CMD
Base+12
Uint16
STATE
Descrição
VALOR FIXO = 2727
TAMANHO DO BUFFER DE
TRANSMISSÃO
Ponteiro p/ BUFFER DE
TRANSMISSÃO: ADR PLC MEMO TX
TAMANHO DO BUFFER DE RECEPÇÃO
Ponteiro p/ BUFFER DE RECEPÇÃO:
ADR PLC MEMO RX
COMANDO:
0 = NENHUM
1 = TRANSMITIR
2 = RESET
0 = READY
1 = LEITURA
2 = ESCRITA
3 = OK, COMANDO EXECUTADO
4 = ERRO
5 = AGUARDANDO COMUNICAÇÃO
256
Manual do PLC
V1.00
Base+14
Uint16
STATUS
Base+16
Uint16
TYPE
Base+18
Base+20
Base+22
Uint16
Uint16
Uint16
INI_TOKEN
END_TOKEN
CKS_TYPE
Base+24
Uint16
TIMEOUT
0 = OFF
1 = TX_OK
2 = RX_OK
3 = TX_ERRO
4 = RX_ERRO
5 = TIMEOUT
6 = CMD INVALIDO
TIPO DE PROTOCOLO:
0 = GENÉRICO, ASCII
1 = GENÉRICO, BINÁRIO
CÓDIGO ASCII TOKEN INICIAL
CÓDIGO ASCII TOKEN FINAL
0 = SEM CHECK SUM
1 = 1 BYTE PARA CHECK SUM
2 = 2 BYTES PARA CHECK SUM
0 = SEM RESPOSTA
>0 = RESPOSTA ANTES DE TIMEOUT
( UNIDADES PLC TIC )
Descrição de funcionamento:
O PLC deve definir as propriedades do serviço de comunicação inicializando a
estrutura de comunicação com as informações necessárias, ANTES de escrever na
variável reservada que inicia o serviço de comunicação:
1 – Definir o endereço inicial onde fica a estrutura ( reservar 32 bytes ).
Ex.: Estrutura fica na posição 800 ocupando 32 bytes : 800 até 831.
2 – Definir onde ficam os buffers de comunicação : RX e TX, levando em conta
também o tamanho que cada buffer ocupará na memória do PLC.
Ex.: Estrutura fica na posição 800 ocupando 32 bytes : 800 até 831.
Buffer de recepção fica em 832 ocupando 32 bytes
Buffer de transmissão fica em 864 ocupando 32 bytes
3 – Inicializar a estrutura do serviço de comunicação:
Ex.:
800
802
804
806
808
810
812
814
816
818
820
822
802
257
= (w) 2727 - identidade
= (w) 32 - TAMANHO DO BUFFER DE TRANSMISSÃO
= (w) 832 - BUFFER DE TRANSMISSÃO TX
= (w) 32 - TAMANHO DO BUFFER DE RECEPÇÃO
= (w) 864 - BUFFER DE RECEPÇÃO
= (w) 0 - COMANDO
= (w) 0 - ESTADO
= (w) 0 - STATUS
= (w) 0 - TIPO DE PROTOCOLO: 0 = GENÉRICO ASCII
= (w) 62 - TOKEN INICIAL: >
= (w) 60 - TOKEN FINAL: <
= (w) 2 - CHECK_SUM : 2 BYTES
= (w) 0 - TIMEOUT
Manual do PLC
V1.00
258
Manual do PLC
V1.00
4 - Inicializar o serviço de comunicação:
#10255 = BASE ESTRUTURA
Ex.: #10255 = 800
5 – Para transmitir:
Colocar o CONTEÚDO da mensagem no buffer de transmissão com o número de
bytes correspondente ( ao conteúdo apenas ). O CNC vai transmitir:
{TOKEN_INICIAL} CONTEÚDO {CHECK_SUM} {TOKEN_FINAL}
OS CAMPOS ENTRE CHAVES SÃO OPCIONAIS, APENAS CONFORME
ESPECIFICADO.
TIMEOUT = QUANDO NÃO ZERO CONTA TEMPO, RECEPÇÃO DE MENSAGEM
ZERA TIMER.
5 – Para RECEBER:
Caso chegue uma resposta durante a contagem do tempo de timeout, esta zera
timer e não informa mais o erro de timeout.
Caso chegue uma resposta válida, apenas o CONTEÚDO da mensagem será
colocado no buffer de recepção e o tamanho do CONTEÚDO informado.
{TOKEN_INICIAL} CONTEÚDO {CHECK_SUM} {TOKEN_FINAL}
OS CAMPOS ENTRE CHAVES SÃO OPCIONAIS, APENAS CONFORME
ESPECIFICADO.
259
Manual do PLC
V1.00
38 - Função Atômica
A função atômica é a estrutura de dados que o interpretador do programa (PC ou
PLC) envia à fila de execução para ser executada pelo DSP.
38.1 - Estrutura da Função Atômica
FA_Struct:
Tipo de
Dado
Int16
Byte
Byte
ID
Tipo
Sync
Dados Data_Struc
t
Descrição
Identifica a função atômica
Tipo de função atômica
Indica se função atômica requer sincronismo da
execução
Estrutura de dados da função atômica, depende do
tipo de função
ID pode ser composto de forma a identificar várias informações. Por exemplo,
pode-se usar o byte mais significativo p/ identificar o número do bloco da receita e
o menos significativo p/ identificar o número da função atômica desse bloco.
38.2 - Blocos de Função Atômica
Cada bloco de função atômica possui n bytes, normalmente 32 ou 64 bytes. Os primeiros 2 bytes
(Int16) são o cabeçalho ou comando (CMD) do bloco. Os bytes remanescentes representam a
estrutura da função atômica, ou seja, os dados que são enviados à fila de execução. A estrutura do
bloco de função atômica está representada na tabela a seguir:
CMD
FA
Tipo de Dado
Int16
FA_Struct
Funções atômicas cujo tamanho ultrapasse o tamanho do bloco serão enviadas em blocos
subseqüentes ao inicial. Para isto, utilizam-se os 3 bits mais significativos de CMD para informar o
tipo de bloco que está sendo enviado, conforme tabela abaixo:
Descrição
0
Bloco Simples
1
Bloco Múltiplo
Início de Função Atômica
(FA)
00
B14
B13
CMD
B15
Valor
01
Complementos
10
Fim de FA
260
Manual do PLC
Bloco Simples
V1.00
-
Bloco Múltiplo
Indica que o bloco possui uma função atômica completa e
que não há blocos subseqüentes.
Indica que este bloco está contido em uma seqüência de
blocos que juntos formam uma função atômica completa.
Início de FA
-
Complementos
-
Fim de FA
-
261
Indica que o bloco é o primeiro de uma série de blocos que
formam uma função atômica completa.
Indica que o bloco faz parte de uma seqüência de blocos
que formam uma função atômica (bloco intermediário).
Indica que o bloco é o último de uma série de blocos que
formam uma FA completa.
Manual do PLC
V1.00
39- ESTRUTURAS
Int16 = Inteiro 16 bits ( 2 bytes )
Float32 = Número em ponto flutuante simples ( 4 bytes )
39.1 - CNC_AXES
Estrutura que possui os valores das coordenadas. Para cada eixo, contém o ID,
modo de coordenada (absoluta ou incremental) e seu valor, conforme tabela
abaixo:
Tipo
Descrição
id
CNC_AXIS_ID
ID do eixo
mode CNC_COORDINATE_MODE Modo de coordenada
value Float32
Valor da coordenada
Ou seja, possui 8 bytes por eixo.
Quando for enviado um número de eixos menor que o máximo de eixos
interpolados, no final deve ser enviado um id=0 (não definido) p/ informar o fim dos
eixos. Isso só não será necessário quando o valor do último eixo completar o bloco
e não houver mais nada a ser enviado, ou seja, não será enviado um outro bloco
só com id=0.
Tamanho = nEixos * 8 + 2
Considerando que o número máximo de eixos interpolados seja 6, essa estrutura
terá no máximo 6*8 = 48 bytes.
CNC_AXIS_ID
Estrutura do tipo Int16 que contém os valores possíveis p/ o ID do eixo.
Valor
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Descrição
Não definido
X
Y
Z
A
B
C
U
V
W
I
J
K
R
PR (Polar Radius)
PA (Polar Angle)
262
Manual do PLC
CNC_COORDINATE_MODE
Estrutura do tipo Int16.
Valor
0
1
2
Descrição
Absoluta
Incremental
Modal
39.2 - CNC_SET_ORIGIN_OFFSETS
Possui as informações do tipo e valores da origem a ser utilizada.
Tipo
Descrição
origin
Int16
Tipo de origem (zero) absoluta
incOffset Int16
Tipo de origem (zero) incremental
axes
CNC_AXES Valores das coordenadas da origem
Tamanho = 4 + (nEixos*8 + 2) ; Max = 52 bytes
Origem (zero) absoluta
Valor
0
1
2
3
4
5
6
Descrição
G54
G55
G56
G57
G53 (zero
máquina)
Atual
Não definido
Origem (zero) incremental
Valor
0
1
2
263
Descrição
G58
G59
Não definido
V1.00
Manual do PLC
V1.00
39.3 - CNC_SELECT_PLANE
Estrutura do tipo Int16 que contém os possíveis planos p/ interpolação circular ou
compensação de raio de ferramenta.
Valor
0
1
2
Descrição
XY
ZX
YZ
TAMANHO = 2 BYTES
39.4 - CNC_SET_FEED_RATE
Contém o tipo e valor do Feed Rate.
Tipo
ftype
rsvd
fvalue
Descrição
Tipo de feed rate: 0 = unidades/minuto
Int16
1 = unidades/volta
Int16
Alinhamento de 32 bits
Float32 Valor do feed rate
Tamanho = 8 bytes
39.5 - CNC_STRAIGHT_TRAVERSE
Estrutura do tipo CNC_AXES que contém os valores das coordenadas da
interpolação linear usando velocidade igual ao Rápido dos eixos.
Tamanho = (nEixos*8 + 2) ; Max = 48 bytes
39.6 - CNC_STRAIGHT_FEED
Estrutura do tipo CNC_AXES que contém os valores das coordenadas da
interpolação linear usando última velocidade configurada pela função atômica
FEED_RATE.
Tamanho = (nEixos*8 + 2) ; Max = 48 bytes
264
Manual do PLC
V1.00
39.7 - CNC_ARC_FEED
Estrutura que contém os valores das coordenadas (CNC_AXES) da interpolação
circular, usando última velocidade configurada pela função atômica _FEED_RATE,
bem como a direção do movimento (horário ou anti-horário).
Tipo
Descrição
Direção do movimento: 0 = horário
direction Int16
1 = anti-horário
2 = não definido
axes
CNC_AXES Valores das coordenadas da interpolação
circular
Tamanho = 2 + (nEixos*8 + 2) ; Max = 50 bytes
Para essa estrutura, foram feitas alterações para que uma interpolação circular de
2 eixos mais o raio caiba em 1 bloco de 32 bytes. Nesse caso, não é necessário
enviar um id=0 no final.
39.8 - CNC_THREAD_CUTTING
Estrutura que contém os valores das coordenadas (CNC_AXES) e os demais
dados da rosca, como passo, ângulo e distância de pull-out.
pitch
pullOut
angle
axes
Tipo
Float32
Float32
Float32
CNC_AXES
Descrição
Passo da rosca (em mm)
Distância de pull-out (em mm)
Ângulo de pull-out (em graus)
Valores das coordenadas para rosca
Tamanho = 3*4 + (nEixos*8 + 2) ; Max = 60 bytes
265
Manual do PLC
V1.00
40 - TIPOS DE FUNÇÃO ATÔMICA
40.1 - SET_ORIGIN_OFFSETS
Configura os valores das coordenadas das origens (G54 a G59).
 FA_Struct->Tipo = 0
 Data_Struct = CNC_SET_ORIGIN_OFFSETS
Exemplo:
Definição do G54 p/ coordenadas X,Y,Z - Base = I100
origin
incOffset
id
mode
value
id
mode
axes value
id
mode
value
id
Variáve
l
I100
I102
I104
I106
I108
I112
I114
I116
I120
I122
I124
I128129
Valor
0 (G54)
2 (não definido)
1 (X)
0 (absoluta)
10.0000
2 (Y)
0 (absoluta)
20.0000
3 (Z)
0 (absoluta)
30.0000
0 (não definido)
40.2 - SELECT_ORIGIN_OFFSETS
Seleciona qual origem será utilizada (G53 a G59).
 FA_Struct->Tipo = 1
 Data_Struct = CNC_SET_ORIGIN_OFFSETS
Exemplo:
Seleção do G58 - Base = I100
origin
incOffset
axes
id
Variáve
l
I100
6
I102
0
I1040
105
Valor
(não definido)
(G58)
(não definido)
266
Manual do PLC
V1.00
40.3 - SELECT_PLANE
Seleciona plano geométrico da interpolação circular ou da compensação de raio de
ferramenta.
 FA_Struct->Tipo = 3
 Data_Struct = CNC_SELECT_PLANE
Exemplo:
Seleção do plano XY - Base = I100
Variáve
l
CNC_SELECT_PLA I1000
NE
101
Valor
(XY)
40.4 - FEED_RATE
Configura o tipo e valor do feed rate.
 FA_Struct->Tipo = 8
 Data_Struct = CNC_SET_FEED_RATE
Exemplo:
Feed Rate = 1000 mm/min - Base = I100
Variáve
Valor
l
I100
0
(unidades/minuto)
I102
0
(alinhamento)
I1041000.0000
107
ftype
rsvd
fvalue
40.5 - STRAIT_TRAVERSE
Gera movimento de interpolação linear passando os valores das coordenadas
cartesianas. A velocidade é o Rápido dos eixos envolvidos.
 FA_Struct->Tipo = 10
 Data_Struct = CNC_STRAIGHT_TRAVERSE
Exemplo:
Interpolação linear de 3 eixos (XA10 YA15 ZI-20) - Base = I100
axes
267
id
mode
value
id
mode
Variáve
l
I100
I102
I104
I108
I110
Valor
1 (X)
0 (absoluta)
10.0000
2 (Y)
0 (absoluta)
Manual do PLC
value
id
mode
value
id
V1.00
I112
I116
I118
I120
I124125
15.0000
3 (Z)
1 (incremental)
-20.0000
0 (não definido)
40.6 - STRAIT_TRAVERSE_POLAR
Gera movimento de interpolação linear passando os valores das coordenadas
polares. A velocidade é o Rápido dos eixos envolvidos.
 FA_Struct->Tipo = 11
 Data_Struct = CNC_STRAIGHT_TRAVERSE
40.7 - STRAIT_FEED
Gera movimento de interpolação linear passando os valores das coordenadas
cartesianas. A velocidade é a última configurada pela função atômica
FEED_RATE.
 FA_Struct->Tipo = 12
 Data_Struct = CNC_STRAIGHT_FEED
40.8 - STRAIT_FEED_POLAR
Gera movimento de interpolação linear passando os valores das coordenadas
polares. A velocidade é a última configurada pela função atômica FEED_RATE.
 FA_Struct->Tipo = 13
 Data_Struct = CNC_STRAIGHT_FEED
268
Manual do PLC
V1.00
40.9 - ARC_CENTER
Define o centro da interpolação circular.
 FA_Struct->Tipo = 14
 Data_Struct = CNC_ARC_FEED
Exemplo:
Centro = XA5 YA10 - Base = I100
direction
id
mode
value
id
axes
mode
value
id
Variáve
l
I100
I102
I104
I106
I110
I112
I114
I118119
Valor
x
1 (X)
0 (absoluta)
5.0000
2 (Y)
0 (absoluta)
10.0000
0 (não definido)
40.10 - ARC_FEED
Gera movimento de interpolação circular passando os valores das coordenadas
cartesianas e a direção (horária ou anti-horária). A velocidade é a última
configurada pela função atômica FEED_RATE.
 FA_Struct->Tipo = 15
 Data_Struct = CNC_ARC_FEED
Exemplo:
Interpolação circular horária de 2 eixos c/ raio (XA10 YA50 R20) Base = I100
direction
id
mode
value
id
mode
axes value
id
mode
value
id
269
Variáve
l
I100
I102
I104
I106
I110
I112
I114
I118
I120
I122
I126127
Valor
0 (horário)
1 (X)
0 (absoluta)
10.0000
2 (Y)
0 (absoluta)
50.0000
13 (R)
0
20.0000
0 (não definido)
Manual do PLC
V1.00
40.11 - ARC_FEED_POLAR
Gera movimento de interpolação circular passando os valores das coordenadas
polares e a direção (horária ou anti-horária). A velocidade é a última configurada
pela função atômica FEED_RATE.
 FA_Struct->Tipo = 16
 Data_Struct = CNC_ARC_FEED
40.12 - THREAD_CUTTING
Gera movimento de rosca passando os valores das coordenadas cartesianas e
demais dados da rosca.
 FA_Struct->Tipo = 18
 Data_Struct = CNC_THREAD_CUTTING
Exemplo:
Rosca p/ X = 50 e Passo = 10 - Base = I100
pitch
pullOut
angle
id
mode
axes value
id
Variáve
l
I100
I104
I108
I112
I114
I116
I120121
Valor
10
0
0
1 (X)
0 (absoluta)
50.0000
0 (não definido)
40.13 - THREAD_CUTTING_POLAR
Gera movimento de rosca passando os valores das coordenadas polares e demais
dados da rosca.
 FA_Struct->Tipo = 19
 Data_Struct = CNC_THREAD_CUTTING
270
Manual do PLC
V1.00
40.14 - Tabela Resumida
Campos Tipo e Dados (Data_Struct) da estrutura da função atômica, bem como
seu tamanho.
Tamanho (em
bytes)
4 + (nEixos*8
0
SET_ORIGIN_OFFSETS CNC_SET_ORIGIN_OFFSETS + 2); max =
52
1 SELECT_ORIGIN_OFFSETS CNC_SET_ORIGIN_OFFSETS
6
3
SELECT_PLANE
CNC_SELECT_PLANE
2
8
FEED_RATE
CNC_SET_FEED_RATE
8
(nEixos*8 +
10
STRAIT_TRAVERSE
CNC_STRAIGHT_TRAVERSE
2); max = 48
(nEixos*8 +
11 STRAIT_TRAVERSE_POLAR CNC_STRAIGHT_TRAVERSE
2); max = 48
(nEixos*8 +
12
STRAIT_FEED
CNC_STRAIGHT_FEED
2); max = 48
(nEixos*8 +
13
STRAIT_FEED_POLAR
CNC_STRAIGHT_FEED
2); max = 48
2 + (nEixos*8
14
ARC_CENTER
CNC_ARC_FEED
+ 2); max =
50
2 + (nEixos*8
15
ARC_FEED
CNC_ARC_FEED
+ 2); max =
50
2 + (nEixos*8
16
ARC_FEED_POLAR
CNC_ARC_FEED
+ 2); max =
50
3*4 +
18
_THREAD_CUTTING
CNC_THREAD_CUTTING
(nEixos*8 +
2); max=60
3*4 +
19 _THREAD_CUTTING_POLAR
CNC_THREAD_CUTTING
(nEixos*8 +
2); max=60
Tipo
271
Data_Struct
Manual do PLC
V1.00
41 - EXEMPLOS DE USO
41.1 - Interpolação linear de 3 eixos
Feed = 1000 mm/min
XA10 YI-10 ZA30
Base = I100
Blocos de 32 bytes
FEED_RATE (Bloco 1):
CMD
ID
Tipo
Sync
ftype
rsvd
Dados
fvalu
e
Variável
I100-101
I102-103
I104
I105
I106-107
I108-109
I110-113
Valor
0xxxxxxx xxxxxxxx (bin)
0
8
0
0
(unidades/minuto)
x
(alinhamento)
1000.0000
STRAIT_FEED (Bloco 2):
CMD
ID
Tipo
Sync
id
mode
value
id
mode
Dados
value
id
mode
value
id
Variável
I100-101
I102-103
I104
I105
I106-107
I108-109
I110-113
I114-115
I116-117
I118-121
I122-123
I124-125
I126-129
I130-131
0xxxxxxx xxxxxxxx
1
12
0
1 (X)
0 (absoluta)
10.0000
2 (Y)
1 (incremental)
-10.0000
3 (Z)
0 (absoluta)
30.0000
0 (não definido)
Valor
(bin)
272
Manual do PLC
V1.00
41.2 - Interpolação circular de 2 eixos
XA10 YA50 R20
Base = I100
Blocos de 32 bytes
ARC_FEED (Bloco 1):
Variável
I100-101
I102-103
I104
I105
directio I106-107
n
id
I108-109
mode
I110-111
value
I112-115
Dado id
I116-117
s
mode
I118-119
value
I120-123
id
I124-125
mode
I126-127
value
I128-131
CMD
ID
Tipo
Sync
0xxxxxxx xxxxxxxx
2
15
0
0 (horário)
Valor
(bin)
1 (X)
0 (absoluta)
10.0000
2 (Y)
0 (absoluta)
50.0000
13 (R)
0 (absoluta)
20.0000
Nesse caso, não é enviado o id=0 no final, pois o bloco de 32 bytes já está
completo.
273
Manual do PLC
V1.00
42 - Apêndice
- Memórias Gerais do PLC (não estão ligadas a um serviço específico)
- Mapa do teclado/Painel
- Tabela de teclas
- Tabela de caracteres do display
- Novas instruções
274
Manual do PLC
V1.00
42.1 - Memórias Gerais do PLC
Memórias fixas que não estão ligadas a um serviço específico do PLC.
Endereço
0
Tipo
Bits
B00
B01
B02
B03
B04
B05
B06
B07
B00
B01
B02
B03
B04
B05
B06
B07
B00
B01
B02
B03
B04
B05
B06
B07
B00
B01
B02
B03
B04
B05
B06
B07
Nome
START
STOP
EMG
Descrição
Inicia movimento (ativo em 1)
Pára movimento
(ativo em 0)
Emergência do PLC (ativo em 0)
POTFPLC
POTSPLC
FEEDHOLD
DRYRUN
POTF por PLC
POTS por PLC
Feed Hold Geral
(ativo em 0)
Dry Run – Execução em avanço
REFOK_1
REFOK_2
REFOK_3
REFOK_4
REFOK_5
REFOK_6
REFOK_7
REFOK_8
FHOLD
DRYRUN
Status de Referência OK p/
Status de Referência OK p/
Status de Referência OK p/
Status de Referência OK p/
Status de Referência OK p/
Status de Referência OK p/
Status de Referência OK p/
Status de Referência OK p/
CNC STATUS: Feed Hold (ativo
Modo DryRun ativo
Modos de Simulação:
0=Normal(OFF) / 1=Pontos /
SIMUL
2=Desenho(Elementos+COMP_OFF)
/
3=Elementos
/
PUNCH_OK
Modo Puncionadeira: Ordem p/
PUNCH_BLOCK Movimento
bloqueado
(Modo
RUN
CNC em execução
EXESUSP
Execução suspensa
25
Bits
26
Bits
27
Bits
28
Bits
PRESET_x
29
Bits
OFFSET_x
32-35
INT32
POSMJ1
INT32
POSMJ8
--60-63
80
275
Bits
B00
B01
B02
B03
B04
B05
B06
VTEO_1
VTEO_2
VTEO_3
VTEO_4
VTEO_5
VTEO_6
VTEO_7
PROTEO MINI: Preset de eixo
com cota do PLC
(1
porPeça
eixo)
0 =bit
Zero
(usuário) ; 1 =
Zero Máquina
(1 bit por eixo)
Cota do PLC p/ eixo 1
(Mov
Manual
Incremental,
Independente e Preset)
Cota do PLC p/ eixo 8
(Mov
Manual
Incremental,
Independente e Preset)
Eixo em movimento (velocidade
teórica)
(1 bit por eixo)
Manual do PLC
V1.00
B07 VTEO_8
83
86
88
89
JANELA_x
Eixo
dentro
da
posicionamento
(1 bit por eixo)
B00
B01
B02
B03
B04
B05
B06
B07
LAGERR_1
LAGERR_2
LAGERR_3
LAGERR_4
LAGERR_5
LAGERR_6
LAGERR_7
LAGERR_8
Erro de Acompanhamento (1 bit
por eixo)
B00
B01
B02
B03
B04
B05
B06
B07
B00
B01
B02
B03
B04
B05
B06
B07
MLIVRE_1
MLIVRE_2
MLIVRE_3
MLIVRE_4
MLIVRE_5
MLIVRE_6
MLIVRE_7
MLIVRE_8
PRESET_TP
Bits
Bits
Bits
Bits
94
B00
B01
B02
Bits16 B03
B04
B05
B06
B07
96
B00 LAGSERV
B01 RSTLAG
B02
Bits16 B03
B04
B05
B06
B07
116
Bits
117
Bits
B00
B01
B02
B03
B04
B05
B06
B07
B00
B01
FOLGA_1
FOLGA_2
FOLGA_3
FOLGA_4
FOLGA_5
FOLGA_6
FOLGA_7
FOLGA_8
LIBAX_1
LIBAX_2
LIBAX_3
LIBAX_4
LIBAX_5
LIBAX_6
LIBAX_7
LIBAX_8
STOPAX_1
STOPAX_2
janela
de
Modo Livre: Copia Pto Real p/
Pto Teórico
(1 bit por eixo)
Tipo de preset de eixo (0 =
Compensação de Folga:
Ativa
(1 bit por eixo)
1
=
Tratamento do erro de Lag pelo
Reset do erro de Lag
Liberação
Liberação
Liberação
Liberação
Liberação
Liberação
Liberação
Liberação
Pára eixo
Pára eixo
de saída para
de saída para
de saída para
de saída para
de saída para
de saída para
de saída para
de saída para
1 (Modo Stop)
2
eixo
eixo
eixo
eixo
eixo
eixo
eixo
eixo
276
1
2
3
4
5
6
7
8
Manual do PLC
V1.00
118
Bits
119
Bits
120
Uint16
STOPAX_3
STOPAX_4
STOPAX_5
STOPAX_6
STOPAX_7
STOPAX_8
FCPOS_1
FCPOS_2
FCPOS_3
FCPOS_4
FCPOS_5
FCPOS_6
FCPOS_7
FCPOS_8
FCNEG_1
FCNEG_2
FCNEG_3
FCNEG_4
FCNEG_5
FCNEG_6
FCNEG_7
FCNEG_8
C1MS
124
Uint16
CNC_CAN_ERR
138
Uint16
CAN_ERR_CNT
140-147
Byte
DRIVE_STT
148-149 Bits16
B02
B03
B04
B05
B06
B07
B00
B01
B02
B03
B04
B05
B06
B07
B00
B01
B02
B03
B04
B05
B06
B07
MOD_STT
150-157
Byte
DRIVE_ERROR
198
Uint16
PLC_LOG_EVENT
270-285 Uint16
277
AXIS_REF
Pára
Pára
Pára
Pára
Pára
Pára
eixo
eixo
eixo
eixo
eixo
eixo
3
4
5
6
7
8
Status Geral (CNC -> PLC)
Fim de Curso Positivo (1 bit
por eixo)
Status Geral (CNC -> PLC)
Fim de Curso Negativo (1 bit
por eixo)
Contador de tempo entre ciclos
CAN: Registrador de status e
erros do CNC (CANES)
PLC limpa memória escrevendo 0
CAN: contadores de erros da
transmissão e recepção: CANTEC
CAN-OPEN:
status
de
comunicação (1 byte por eixo)
F0h = pré-operacional,
FFh = operacional,
CAN-OPEN:
status
de
comunicação (1 bit por módulo)
0 = não operacional , 1 =
operacional
Erros nos drives CAN (1 byte
por eixo)
Código
enviado
na
msg
de
emergência (080h + adr)
Um valor diferente de zero
produz um evento que vai ser
registrado
no
arquivo
Proteo.log
Sinal de saída enviado aos
eixos (1 word por eixo)
(unidade do conversor DA: +-
Manual do PLC
V1.00
42.2 - BITS PULSADOS DE EVENTOS
Bytes 260-267 (64 bits)
Bits permanecem ativos durante 1 ciclo do PLC
B00
B01
B02
B03
B04
B05
B06
Bits16 B07
B08
260
B09
B10
B11
B12
B13
B14
B15
1o ciclo do Plc (ao ligar)
Novo Plc
Atualizou parâmetros do CNC
Timer 50 ms
Timer 100 ms
Timer 200 ms
Timer 500 ms
Timer 1 segundo
Timer 1 hora
278
Manual do PLC
V1.00
42.3 - Códigos de Emergência - Proteo Mini
Código
EMG 1
EMG 2
EMG 4
EMG 8
EMG 16
Significado
Emergência gerada pelo PLC (bit 0.2)
Time-out do PLC (mostra num de instruções executadas)
Erro na execução do PLC (mostra código de erro do PLC)
Problema na Interrupção Principal de Controle
Problema na Interrupção da execução dos segmentos (RunCycle)
Códigos de erro do PLC (EMG 4):
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
279
kPLC_EXIT_OK
kPLC_EXIT_InvalidInstruction
kPLC_EXIT_CallStackOverflow
kPLC_EXIT_CallStackUnderflow
kPLC_EXIT_ParentesisStackOverflow
kPLC_EXIT_ParentesisStackUnderflow
kPLC_EXIT_UnbalancedParentesis
kPLC_EXIT_UnbalancedCallRet
kPLC_EXIT_ParameterOutOfRange
kPLC_EXIT_Found_ENDC_instruction
kPLC_EXIT_Invalid_TELA_Instruction
kPLC_EXIT_JUMP_InvalidAddress
0
1
2
3
4
5
6
7
8
9
10
11
Manual do PLC
V1.00
43 - Código de Teclas
Tecla
ASCII
NO_KEY
KEY_UNDEFINED
Código
0
1
KEY_DATA_SPACE
space
32
KEY_NUM_GRID
KEY_NUM_DOLLAR
#
$
35
36
KEY_NUM_LEFT_PARENTESIS
KEY_NUM_RIGHT_PARENTESIS
KEY_NUM_STAR
KEY_NUM_PLUS
KEY_NUM_COMMA
KEY_NUM_MINUS
KEY_NUM_DEC
KEY_NUM_DASH
(
)
*
+
,
.
/
40
41
42
43
44
45
46
47
KEY_NUM_0
KEY_NUM_1
KEY_NUM_2
KEY_NUM_3
KEY_NUM_4
KEY_NUM_5
KEY_NUM_6
KEY_NUM_7
KEY_NUM_8
KEY_NUM_9
0
1
2
3
4
5
6
7
8
9
48
49
50
51
52
53
54
55
56
57
KEY_NUM_EQUAL
=
61
KEY_DATA_A
KEY_DATA_B
KEY_DATA_C
KEY_DATA_D
KEY_DATA_E
KEY_DATA_F
KEY_DATA_G
KEY_DATA_H
KEY_DATA_I
KEY_DATA_J
KEY_DATA_K
KEY_DATA_L
KEY_DATA_M
KEY_DATA_N
A
B
C
D
E
F
G
H
I
J
K
L
M
N
65
66
67
68
69
70
71
72
73
74
75
76
77
78
280
Manual do PLC
KEY_DATA_O
KEY_DATA_P
KEY_DATA_Q
KEY_DATA_R
KEY_DATA_S
KEY_DATA_T
KEY_DATA_U
KEY_DATA_V
KEY_DATA_W
KEY_DATA_X
KEY_DATA_Y
KEY_DATA_Z
KEY_NUM_LEFT_BRACKET
KEY_NUM_RIGHT_BRACKET
__NOT_ASCII
KEY_NUM_SIGN
KEY_DATA_CLEAR
KEY_DATA_BACKSPACE
KEY_NAV_DELETE
KEY_NAV_ENT
KEY_NAV_NO_ENT
KEY_DATA_LINE_FEED
KEY_NAV_DOWN
KEY_NAV_HOME
KEY_NAV_END
KEY_NAV_F1
KEY_NAV_F2
KEY_NAV_F3
KEY_NAV_F4
KEY_NAV_GO_TO
KEY_NAV_GRF
KEY_NAV_HELP
KEY_NAV_LEFT
KEY_NAV_MOD
KEY_NAV_PGUP
KEY_NAV_PGDN
KEY_NAV_PROGRAM
KEY_NAV_RIGHT
KEY_NAV_TEACH_IN
KEY_NAV_UP
KEY_NAV_WHEEL
KEY_NAV_ALARMS
KEY_INCREMENTAL
KEY_CMD_CC
KEY_CMD_CHF
KEY_CMD_CIR
281
V1.00
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
]
79
80
81
82
83
84
85
86
87
88
89
90
91
93
CNC
[ +/- ]
[ CLEAR ]
[ CE ]
[ DELETE ]
[ENT]
[NO ENT]
[ LF ]
[ DOWN ]
[ HOME ]
[ END ]
[ F1 ]
[ F2 ]
[ F3 ]
[ F4 ]
[ GO TO ]
[ GRF ]
[ HELP ]
[←]
[ MOD ]
[ PG UP ]
[ PG DN ]
[ PGM ]
[ → ]
[ TEACH ]
[ ↑ ]
[ MANIV ]
[ ALARM ]
[ INCR ]
[ CC ]
[ CHF ]
[ CIR ]
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
Manual do PLC
KEY_CMD_CYC
KEY_CMD_EXP
KEY_CMD_FAT
KEY_CMD_FUNC
KEY_CMD_ISO
KEY_CMD_LBC
KEY_CMD_LBS
KEY_CMD_MIR
KEY_CMD_MSG
KEY_CMD_POLAR
KEY_CMD_POS_X
KEY_CMD_POS_Y
KEY_CMD_POS_Z
KEY_CMD_POS_A
KEY_CMD_POS_B
KEY_CMD_POS_C
KEY_CMD_POS_U
KEY_CMD_POS_V
KEY_CMD_POS_W
KEY_CMD_RND
KEY_CMD_ROT
KEY_CMD_SKP
KEY_CMD_STP
KEY_CMD_TCL
KEY_CMD_TDF
KEY_CTR_2ND
KEY_CMD_SKP_MODE
KEY_CMD_STOP_MODE
KEY_CMD_KERF
KEY_CMD_ISO_A
KEY_CMD_ISO_B
KEY_CMD_ISO_C
KEY_CMD_ISO_D
KEY_CMD_ISO_E
KEY_CMD_ISO_F
KEY_CMD_ISO_G
KEY_CMD_ISO_H
KEY_CMD_ISO_I
KEY_CMD_ISO_J
KEY_CMD_ISO_K
KEY_CMD_ISO_L
KEY_CMD_ISO_M
KEY_CMD_ISO_N
KEY_CMD_ISO_O
KEY_CMD_ISO_P
KEY_CMD_ISO_Q
KEY_CMD_ISO_R
V1.00
[ CYC ]
[ EXP ]
[ FAT ]
[ FUNC ]
[ ISO ]
[ LBC ]
[ LBS ]
[ MIR ]
[ MSG ]
[ POLAR ]
[ POS X ]
[ POS Y ]
[ POS Z ]
[ POS A ]
[ POS B ]
[ POS C ]
[ POS U ]
[ POS V ]
[ POS W ]
[ RND ]
[ ROT ]
[ SKP ]
[ STP ]
[ TCL ]
[ TDF ]
[ 2nd ]
[ SKP ]
[ STOP ]
[ KERF ]
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
188
189
190
191
[A]
[B]
[C]
[D]
[E]
[F]
[G]
[H]
[I]
[J]
[K]
[L]
[M]
[N]
[O]
[P]
[Q]
[R]
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
282
Manual do PLC
KEY_CMD_ISO_S
KEY_CMD_ISO_T
KEY_CMD_ISO_U
KEY_CMD_ISO_V
KEY_CMD_ISO_W
KEY_CMD_ISO_X
KEY_CMD_ISO_Y
KEY_CMD_ISO_Z
KEY_NAV_CLEAR_PGM
V1.00
[S]
[T]
[U]
[V]
[W]
[X]
[Y]
[Z]
[ CL PGM ]
213
214
215
216
217
218
219
220
221
FIRST_VIRTUAL_KBD_KEY
KEY_VIRT_KBD_0
KEY_VIRT_KBD_1
KEY_VIRT_KBD_2
KEY_VIRT_KBD_3
KEY_VIRT_KBD_4
KEY_VIRT_KBD_5
KEY_VIRT_KBD_6
KEY_VIRT_KBD_7
KEY_VIRT_KBD_8
KEY_VIRT_KBD_9
KEY_VIRT_KBD_10
KEY_VIRT_KBD_11
KEY_VIRT_KBD_12
KEY_VIRT_KBD_13
KEY_VIRT_KBD_14
KEY_VIRT_KBD_15
[VKB0]
[VKB1]
[VKB2]
[VKB3]
[VKB4]
[VKB5]
[VKB6]
[VKB7]
[VKB7]
[VKB7]
[VKB7]
[VKB7]
[VKB7]
[VKB7]
[VKB7]
[VKB7]
222
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
FIRST_KEY_INCREMETAL
KEY_ADD_100K
KEY_ADD_10K
KEY_ADD_1K
KEY_ADD_100
KEY_ADD_10
KEY_ADD_1
KEY_ADD_1TENTH
KEY_ADD_1CENT
KEY_ADD_1MILI
[ ADD_100K ]
[ ADD_10K ]
[ ADD_1K ]
[ ADD_100 ]
[ ADD_10 ]
[ ADD_1 ]
[ ADD_0.1 ]
[ ADD_0.01 ]
[ ADD_0.001 ]
238
238
239
240
241
242
243
244
245
246
FIRST_KEY_SUB
KEY_SUB_100K
KEY_SUB_10K
KEY_SUB_1K
KEY_SUB_100
KEY_SUB_10
KEY_SUB_1
KEY_SUB_1TENTH
KEY_SUB_1CENT
[ SUB_100K ]
[ SUB_10K ]
[ SUB_1K ]
[ SUB_100 ]
[ SUB_10 ]
[ SUB_1 ]
[ SUB_0.1 ]
[ SUB_0.01 ]
247
247
248
249
250
251
252
253
254
283
Manual do PLC
KEY_SUB_1MILI
V1.00
[ SUB_0.001 ]
255
284
Manual do PLC
KEY_ENTER_EDIT
VK_CMD_X_PLUS
VK_CMD_X_MINUS
VK_CMD_Y_PLUS
VK_CMD_Y_MINUS
VK_CMD_Z_PLUS
VK_CMD_Z_MINUS
VK_CMD_4_PLUS
VK_CMD_4_MINUS
VK_CMD_M3
VK_CMD_M4
VK_CMD_M4
VK_CMD_M8
VK_CMD_M9
VK_CMD_RAP
VK_CMD_ON_OFF
VK_STOP_MANUAL
VK_SET_MANUAL_JOG
VK_SET_MANUAL_INCREMENTAL
VK_SET_MANUAL_WHEEL
VK_SET_MANUAL_JOYSTICK
VK_CMD_POT_UP
VK_CMD_POT_DOWN
285
V1.00
[ EDIT ]
X+
XY+
YZ+
ZIV+
IV-]
M3
M4
M5
M8
M9
FAST
RELEASE
256
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
Manual do PLC
FIRST_VK (FOCO)
VK_GOTO_PROGRAM_EDITOR
VK_GOTO_EXEC_MONITOR_CNT
VK_GOTO_PARAM_EDITOR
VK_GOTO_TOOL_EDITOR
VK_GOTO_MEMORY_DUMP_PLC
VK_GOTO_ORIGINS_EDITOR
VK_GOTO_TRACER
VK_GOTO_SCOPE
VK_GOTO_LOGIC_ANALYZER
VK_GOTO_ALARMS
VK_GOTO_EXEC_MONITOR_STEP
VK_GOTO_MDI
VK_GOTO_CALCULATOR
VK_GOTO_HELP
VK_GOTO_MEMORY_DUMP_H
VK_GOTO_BIG_AXIS_POSITION
VK_GOTO_LOG_MONITOR
VK_GOTO_TOOL_EDITOR_2D
VK_GOTO_TOOL_EDITOR_3D
VK_GOTO_MUTINGA
VK_GOTO_DATAVIEW_TBL
VK_GOTO_DATAVIEW_GRF
VK_GOTO_RECIPE_EXPLORER
VK_GOTO_AXIS_ANALYZER
NÃO UTILIZADO
NÃO UTILIZADO
NÃO UTILIZADO
VK_GOTO_TOOL_CHANGER
VK_GOTO_CUT_MONITOR
VK_GOTO_TOUCH_CALIBRATION
NÃO UTILIZADO
VK_GOTO_TOUCH_TEST
V1.00
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
286
Manual do PLC
V1.00
16 MODOS
VK_MODE_0
VK_MODE_1
VK_MODE_2
VK_MODE_3
VK_MODE_4
VK_MODE_5
VK_MODE_6
VK_MODE_7
VK_MODE_8
VK_MODE_9
VK_MODE_10
VK_MODE_11
VK_MODE_12
VK_MODE_13
VK_MODE_14
VK_MODE_15
VK_MODE_16
287
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
Manual do PLC
V1.00
VK_CMD_START
VK_CMD_STOP
VK_CMD_ABORT
VK_OPTIONAL_STOP_ON
VK_OPTIONAL_STOP_OFF
VK_SKIP_ON
VK_SKIP_OFF
VK_SIM_MODE_OFF
VK_SIM_MODE_ON
VK_SIM_MODE_ELEMENTS
VK_SIM_MODE_DEMO
VK_PGM_CALL
VK_RESET_CNC
VK_REVERSE_EXEC_ON
VK_REVERSE_EXEC_OFF
VK_STOP_MANUAL_MODE
VK_MANUAL_MODE_JOG
VK_MANUAL_MODE_INCREMENTAL
VK_MANUAL_MODE_WHEEL
VK_MANUAL_MODE_JOYSTICK
VK_SHOW_SMALL_AXIS_POSITION
VK_SHOW_STATUS_BAR
VK_SHOW_STATUS_BAR
VK_CMD_FIRST_START
VK_CMD_RESUME_PGM_EXECUTION
VK_CMD_RESUME_PLCPGM_EXEC
VK_CMD_RESUME_LAST_BLOCK_ID_E
XECUTION
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
421
422
423
424
425
VK_CMD_SELECT_SD_CARD
VK_CMD_SELECT_FLASH
VK_CMD_IMG_TO_SD_CARD
VK_CMD_AUTORUN_TO_SD_CARD
VK_CMD_IMG_FROM_SD_CARD
426
427
428
429
430
VK_CMD_RESUME_PGM_EXECUTION_
NO_WAIT
VK_CMD_TAKE_FLASH_SNAP_SHOT
VK_CMD_TAKE_SDCARD_SNAP_SHOT
VK_CMD_RESUME_LAST_BLOCK_ID_
NO_WAIT
431
432
433
434
288
Manual do PLC
V1.00
50 CUSTOMSCREENS
VK_SCREEN1
VK_SCREEN2
VK_SCREEN50
500
501
.
.
.
549
VK_FIRST_FIELD_CODE
VK_LAST_FIELD
VK_NEXT_FIELD
VK_PREV_FIELD
VK_DESELECT_FIELD
550
551
552
553
554
.
.
.
289
Manual do PLC
V1.00
32 Userfields
VK_FIELD1
VK_FIELD2
VK_FIELD3
VK_FIELD4
VK_FIELD5
VK_FIELD6
VK_FIELD7
VK_FIELD8
VK_FIELD9
VK_FIELD10
VK_FIELD11
VK_FIELD12
VK_FIELD13
VK_FIELD14
VK_FIELD15
VK_FIELD16
VK_FIELD17
VK_FIELD18
VK_FIELD19
VK_FIELD20
VK_FIELD21
VK_FIELD22
VK_FIELD23
VK_FIELD24
VK_FIELD25
VK_FIELD26
VK_FIELD27
VK_FIELD28
VK_FIELD29
VK_FIELD30
VK_FIELD31
VK_FIELD32
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
290
Manual do PLC
V1.00
SoftKeys
FIRST_SOFT
KEY_SOFT_LEFT
KEY_SOFT_1
KEY_SOFT_2
KEY_SOFT_3
KEY_SOFT_4
KEY_SOFT_5
KEY_SOFT_6
KEY_SOFT_RIGHT
KEY_SOFT_V1
KEY_SOFT_V2
KEY_SOFT_V3
KEY_SOFT_V4
KEY_SOFT_V5
KEY_SOFT_V6
KEY_SOFT_V7
KEY_SOFT_V8
KEY_SOFT_V_SWAP
KEY_SOFT_RETURN
KEY_SOFT_UPDATE
LAST_SOFT
CÓDIGOS RESERVADOS CNC
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721 - 999
CÓDIGOS DE TECLAS ESPECIAS CRIADAS PELO PLC
CÓDIGOS TECLAS DO PLC
291
1000 - 9999
Manual do PLC
VK_STOP_EDIT
VK_EDIT_INCREMENTAL
VK_EDIT_NUMERIC
VK_EDIT_TEXT
VK_EDIT_COMBO
LAST_VK
KEY_VIRT_KBD_TIMEOUT
V1.00
900
901
902
903
904
905
906
292
Manual do PLC
V1.00
44 – Variáveis Reservadas
// RESERVED REGISTERS
// Reserved Address Tags
#define RESERVED_REGISTERS_BASE 10000
STDADR_CHANNEL = RESERVED_REGISTERS_BASE, //(+ 00 )
STDADR_PGM,
//(+ 01 ) R
STDADR_DIR,
//(+ 02 ) R
STDADR_BLOCK,
//(+ 03 ) R
STDADR_BLOCKSAHEAD,
//(+ 04 ) R
STDADR_ELAPSEDTIME,
//(+ 05 ) R
STDADR_EXECSTATUS,
//(+ 06 ) R
STDADR_POSTYPE,
//(+ 07 ) R
STDADR_PLANE,
//(+ 08 ) R
STDADR_POSMODE,
//(+ 09 ) R
STDADR_FEEDTYPE,
//(+ 10 ) R
STDADR_UNITS,
//(+ 11 ) R
STDADR_RADIUSCOMP,
//(+ 12 ) R
STDADR_LENGTHCOMP,
//(+ 13 ) R
STDADR_ORIGIN,
//(+ 14 ) R
STDADR_SHIFT,
//(+ 15 ) R
STDADR_SURFSPEED,
//(+ 16 ) R
STDADR_ACCURACY,
//(+ 17 ) R
STDADR_SPINDLE,
//(+ 18 ) R
STDADR_OPSTOP,
//(+ 19 ) R
STDADR_SPINDLE_MODE,
//(+ 20 ) R
STDADR_COOLER1,
//(+ 21 ) R
STDADR_COOLER2,
//(+ 22 ) R
STDADR_ACTIVETOOL,
//(+ 23 ) R
STDADR_ACTIVETOOLDEF,
//(+ 24 ) R
STDADR_LASTMCODE,
//(+ 25 ) R
STDADR_LASTS,
//(+ 26 ) R
STDADR_LASTF,
//(+ 27 ) R
STDADR_POTF,
//(+ 28 ) R
STDADR_POTS,
//(+ 29 ) R
STDADR_POSR_A,
//(+ 30 ) R
STDADR_POSR_B,
//(+ 31 ) R
STDADR_POSR_C,
//(+ 32 ) R
STDADR_POSR_U,
//(+ 33 ) R
STDADR_POSR_V,
//(+ 34 ) R
STDADR_POSR_W,
//(+ 35 ) R
STDADR_POSR_X,
//(+ 36 ) R
STDADR_POSR_Y,
//(+ 37 ) R
STDADR_POSR_Z,
//(+ 38 ) R
STDADR_POST_A,
//(+ 39 ) R
STDADR_POST_B,
//(+ 40 ) R
STDADR_POST_C,
//(+ 41 ) R
STDADR_POST_U,
//(+ 42 ) R
STDADR_POST_V,
//(+ 43 ) R
293
R
Manual do PLC
STDADR_POST_W,
STDADR_POST_X,
STDADR_POST_Y,
STDADR_POST_Z,
V1.00
//(+ 44 ) R
//(+ 45 )
//(+ 46 )
//(+ 47 )
R
R
R
STDADR_POSF_A,
STDADR_POSF_B,
STDADR_POSF_C,
STDADR_POSF_U,
STDADR_POSF_V,
STDADR_POSF_W,
STDADR_POSF_X,
STDADR_POSF_Y,
STDADR_POSF_Z,
//(+ 48 )
//(+ 49 )
//(+ 50 )
//(+ 51 )
//(+ 52 )
//(+ 53 )
//(+ 54 )
//(+ 55 )
//(+ 56 )
R
R
R
R
R
R
R
R
R
STDADR_POS_A,
STDADR_POS_B,
STDADR_POS_C,
STDADR_POS_U,
STDADR_POS_V,
STDADR_POS_W,
STDADR_POS_X,
STDADR_POS_Y,
STDADR_POS_Z,
//(+ 57 )
//(+ 58 )
//(+ 59 )
//(+ 60 )
//(+ 61 )
//(+ 62 )
//(+ 63 )
//(+ 64 )
//(+ 65 )
R
R
R
R
R
R
R
R
R
STDADR_TOOLRADIUS,
STDADR_TOOLENGTH,
STDADR_TOOLENGTH2,
STDADR_TOOLSIDE,
STDADR_FEEDRATE,
STDADR_SPINDLESPEED,
STDADR_USERLEVEL,
//(+ 66 )
//(+ 67 )
//(+ 68 )
//(+ 69 )
//(+ 70 )
//(+ 71 )
//(+ 72 )
R
R
R
R
R
R
R
//(+ 73 )
//(+ 74 )
//(+ 75 )
//(+ 76 )
//(+ 77 )
//(+ 78 )
//(+ 79 )
W
W
R
R
W
W
W
// data base : banco de dados
STDADR_PUT_DATA,
STDADR_GET_DATA,
STDADR_GET_INDEX,
STDADR_PUT_INDEX,
STDADR_CLEAR_ALL_DATA,
STDADR_SAVE_DATA,
STDADR_LOAD_DATA,
294
Manual do PLC
// tool data
STDADR_TOOL_DATA,
STDADR_TOOL_F,
STDADR_TOOL_L,
STDADR_TOOL_LX,
STDADR_TOOL_LZ,
STDADR_TOOL_R,
STDADR_TOOL_LC,
STDADR_TOOL_DL,
STDADR_TOOL_DLX,
STDADR_TOOL_DLZ,
STDADR_TOOL_DR,
STDADR_TOOL_TR,
STDADR_TOOL_AP,
STDADR_TOOL_AC,
STDADR_TOOL_DI,
STDADR_TOOL_W,
STDADR_TOOL_N,
STDADR_TOOL_TS,
STDADR_TOOL_COR,
STDADR_TOOL_UNIT,
295
V1.00
//(+ 80 )
//(+ 81 )
//(+ 82 )
//(+ 83 )
//(+ 84 )
//(+ 85 )
//(+ 86 )
//(+ 87 )
//(+ 88 )
//(+ 89 )
//(+ 90 )
//(+ 91 )
//(+ 92 )
//(+ 93 )
//(+ 94 )
//(+ 95 )
//(+ 96 )
//(+ 97 )
//(+ 98 )
//(+ 99 )
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
STDADR_POSTR_A,
STDADR_POSTR_B,
STDADR_POSTR_C,
STDADR_POSTR_U,
STDADR_POSTR_V,
STDADR_POSTR_W,
STDADR_POSTR_X,
STDADR_POSTR_Y,
STDADR_POSTR_Z,
//(+ 100 )
//(+ 101 )
//(+ 102 )
//(+ 103 )
//(+ 104 )
//(+ 105 )
//(+ 106 )
//(+ 107 )
//(+ 108 )
R
R
R
R
R
R
R
R
R
STDADR_POSTT_A,
STDADR_POSTT_B,
STDADR_POSTT_C,
STDADR_POSTT_U,
STDADR_POSTT_V,
STDADR_POSTT_W,
STDADR_POSTT_X,
STDADR_POSTT_Y,
STDADR_POSTT_Z,
//(+ 109 )
//(+ 110 )
//(+ 111 )
//(+ 112 )
//(+ 113 )
//(+ 114 )
//(+ 115 )
//(+ 116 )
//(+ 117 )
R
R
R
R
R
R
R
R
R
STDADR_POSTF_A,
STDADR_POSTF_B,
STDADR_POSTF_C,
STDADR_POSTF_U,
STDADR_POSTF_V,
STDADR_POSTF_W,
STDADR_POSTF_X,
STDADR_POSTF_Y,
//(+ 118 )
//(+ 119 )
//(+ 120 )
//(+ 121 )
//(+ 122 )
//(+ 123 )
//(+ 124 )
//(+ 125 )
R
R
R
R
R
R
R
R
Manual do PLC
STDADR_POSTF_Z,
V1.00
//(+ 126 ) R
296
Manual do PLC
// tracer
STDADR_TRACER_RESET,
STDADR_TRACER_ENABLE,
STDADR_TRACER_DISABLE,
//(+ 127 ) W
//(+ 128 ) W
//(+ 129 ) W
// Axes limits REGISTERS
STDADR_LIMIT_X_LIMIT,
STDADR_LIMIT_X_STATUS,
STDADR_LIMIT_X_POS,
STDADR_LIMIT_X_NEG,
//(+ 130 ) W
//(+ 131 ) R
//(+ 132 ) W
//(+ 133 ) W
STDADR_LIMIT_Y_LIMIT,
STDADR_LIMIT_Y_STATUS,
STDADR_LIMIT_Y_POS,
STDADR_LIMIT_Y_NEG,
//(+ 134 ) W
//(+ 135 ) R
//(+ 136 ) W
//(+ 137 ) W
STDADR_LIMIT_Z_LIMIT,
STDADR_LIMIT_Z_STATUS,
STDADR_LIMIT_Z_POS,
STDADR_LIMIT_Z_NEG,
//(+ 138 ) W
//(+ 139 ) R
//(+ 140 ) W
//(+ 141 ) W
STDADR_LIMIT_U_LIMIT,
STDADR_LIMIT_U_STATUS,
STDADR_LIMIT_U_POS,
STDADR_LIMIT_U_NEG,
//(+ 142 ) W
//(+ 143 ) R
//(+ 144 ) W
//(+ 145 ) W
STDADR_LIMIT_V_LIMIT,
STDADR_LIMIT_V_STATUS,
STDADR_LIMIT_V_POS,
STDADR_LIMIT_V_NEG,
//(+ 146 ) W
//(+ 147 ) R
//(+ 148 ) W
//(+ 149 ) W
STDADR_LIMIT_W_LIMIT,
STDADR_LIMIT_W_STATUS,
STDADR_LIMIT_W_POS,
STDADR_LIMIT_W_NEG,
//(+ 150 ) W
//(+ 151 ) R
//(+ 152 ) W
//(+ 153 ) W
STDADR_LIMIT_A_LIMIT,
STDADR_LIMIT_A_STATUS,
STDADR_LIMIT_A_POS,
STDADR_LIMIT_A_NEG,
297
V1.00
//(+ 154 )
//(+ 155 )
//(+ 156 )
//(+ 157 )
W
R
W
W
STDADR_LIMIT_B_LIMIT,
STDADR_LIMIT_B_STATUS,
STDADR_LIMIT_B_POS,
STDADR_LIMIT_B_NEG,
//(+ 158 ) W
//(+ 159 ) R
//(+ 160 ) W
//(+ 161 ) W
STDADR_LIMIT_C_LIMIT,
STDADR_LIMIT_C_STATUS,
STDADR_LIMIT_C_POS,
//(+ 162 ) W
//(+ 163 ) R
//(+ 164 ) W
Manual do PLC
STDADR_LIMIT_C_NEG,
V1.00
//(+ 165 ) W
298
Manual do PLC
V1.00
// G99 , G98 and G80
STDADR_CYC_RETURN_TYPE,
//(+ 166 ) R
STDADR_OVER_METAL,
//(+ 167 ) W
// SCOPE DATA
STDADR_SCOPE_DATA_AXIS_1,
STDADR_SCOPE_DATA_AXIS_2,
STDADR_SCOPE_DATA_CMD,
//(+ 168 ) W
//(+ 169 ) W
//(+ 170 ) W
// Extended TOOL DATA
STDADR_TOOL_N_WARN,
STDADR_TOOL_N_CORR,
STDADR_TOOL_XL_CORR,
STDADR_TOOL_ZR_CORR,
//(+ 171)
//(+ 172)
//(+ 173)
//(+ 174)
//User Tables Read/Write Access
STDADR_USER_TABLE_SET_ID,
STDADR_USER_TABLE_SET_LIN,
STDADR_USER_TABLE_SET_COL,
//(+ 180) W
//(+ 181) W
//(+ 182) W
//User Tables Read Access
STDADR_USER_TABLE_GET_DATA,
STDADR_USER_TABLE_GET_LINS,
STDADR_USER_TABLE_GET_COLS,
//(+ 183) R
//(+ 184) R
//(+ 185) R
// Table X,FX
STDADR_USER_TABLE_SET_XDATA,
STDADR_USER_TABLE_GET_LIN_XDATA
STDADR_USER_TABLE_SET_COL_FX,
STDADR_USER_TABLE_GET_FX ,
//(+ 186) W
//(+ 187) R
//(+ 188) W
//(+ 189) R
// Tool Changer
STDADR_TOOL_CHANGER_POSITION
STDADR_TOOL_CHANGER_ASK_TOOL
STDADR_TOOL_CHANGER_SET_TOOL
STDADR_TOOL_CHANGER_TOOL
STDADR_TOOL_CHANGER_ASK_POSITION
STDADR_TOOL_CHANGER_ASK_FREE_POSITION
//(+ 190) W
//(+ 191) R
//(+ 192) W
//(+ 193) W
//(+ 194) R
//(+ 195) R
// Inicialização dos objetos de tela
STDADR_MAIN_INITIALIZATION
//(+ 200)
// Velocidade Atual
STDADR_ACTUAL_FEEDRATE
//(+ 205 ) R
// Ângulo da Parada Indexada
STDADR_SPINDLE_INDEX_STOP_ANGLE
//(+ 206 )
// Velocidade Teórica S ( considerando todos os fatores )
299
W
W
W
W
R
R
Manual do PLC
STDADR_SPINDLE_THEO_SPEED
V1.00
//(+ 207)
300
R
Manual do PLC
// Preset Absoluto dos Eixos : G54
STDADR_PRESET_A
STDADR_PRESET_B
STDADR_PRESET_C
STDADR_PRESET_U
STDADR_PRESET_V
STDADR_PRESET_W
STDADR_PRESET_X
STDADR_PRESET_Y,
STDADR_PRESET_Z,
STDADR_PRESET_Z,
STDADR_SELECT_ORIGIN,
//(+ 210 )
//(+ 211 )
//(+ 212 )
//(+ 213 )
//(+ 214 )
//(+ 215 )
//(+ 216 )
//(+ 217 )
//(+ 218 )
//(+ 218 )
//(+ 219 )
// Last Stop Position
STDADR_POS_STOP_X,
STDADR_POS_STOP_Y,
STDADR_POS_STOP_Z,
//(+ 220 ) R
//(+ 221) R
//(+ 222 ) R
// Graphic Cutting Status
STDADR_GRAPHIC_CUTTING_STATUS,
//(+ 223 ) W
// Retomada de ciclo em multiplas passadas
STDADR_BREAK_POINT_N_TIMES_CONDITION,
//(+ 224 ) W
// Retomada de ciclo com função M
STDADR_BREAK_POINT_M_FUNCITION,
//(+ 225 ) W
// Define Avanço Programado
STDADR_SET_FEEDRATE,
//(+ 226 ) W
// Bloqueio de Avanço Programado ( != 0)
STDADR_SET_LOCK,
//(+ 227 ) W
// Status do Cursor de Execução
STDADR_EXE_CURSOR_STATUS
//(+ 228 ) R
// RTC Ano
STDADR_RTC_YEAR,
// RTC Mês
STDADR_RTC_MONTH,
// RTC Dia
STDADR_RTC_DAY,
// RTC Hora
STDADR_RTC_HOUR,
// RTC Minuto
STDADR_RTC_MINUTE,
// RTC Segundo
STDADR_RTC_SECOND,
301
V1.00
W
W
W
W
W
W
W
W
W
W
W
//(+ 230 ) R
//(+ 231 ) R
//(+ 232 ) R
//(+ 233 ) R
//(+ 234 ) R
//(+ 235 ) R
Manual do PLC
V1.00
// RTC YEAR_MONTH_DAY_SINCE_2000
// ( Y – 2000 ) * 2**9 + M * 2**5 + D
// EX: D=27 M =10 Y = 2009
// ( 2009 – 2000 ) * 2**9 = 4608
// 10 * 2**5 = 320
// 4608 + 320 + 27 = 4955
STDADR_RTC_YEAR_MONTH_DAYS_SINCE_2000, //(+ 236 ) R
// RTC HOUR_MINUTE_SECOND_OF_CURRENT_YEAR
// H * 2**12 + M * 2**6 + S
// EX: 13:27:45
// 13 * 2 ** 12 = 53248
// 27 * 2**6 = 1728
// 53248 + 1728 + 45 = 55021
STDADR_RTC_HOUR_MINUTE_SECOND_OF_CURRENT_YEAR,
//(+ 237 ) R
//User Tables Write Access
STDADR_USER_TABLE_WR_DATA,
STDADR_USER_TABLE_WR_FILE,,
//(+ 240 ) W
//(+ 241 ) W
// Current Block ID
STDADR_CURRENT_BLOCK_ID,
//(+ 245 ) W
// Tool Offsets ONLY for Graphics
STDADR_GRAF_TOOL_OFFSET_X ,
STDADR_GRAF_TOOL_OFFSET_Y ,
//(+ 246 ) W
//(+ 247 ) W
// Punch MODE
STDADR_SET_PUNCH_MODE
,
STDADR_SET_PUNCH_DIST
,
//(+ 248 ) W
//(+ 249 ) W
// Reverse Execution Status
STDADR_REVERSE_EXECUTION_STATUS
,
//(+ 250 ) R
// Generic PLC Serial Comunication Protocol
STDADR_PLC_SERIAL_GEN_PROTOCOL_SERVICE , //(+ 255 ) W
// GoTo M Table GoTo Line
STDADR_ELEMENTS_STORED_ON_M_TABLE ,
STDADR_CURRENT_MARK_INDEX_FROM_M_TABLE
STDADR_GOTO_MARK_INDEX_M_TABLE ,
STDADR_GOTO_LAST_MARK_LINE_M_TABLE ,
//(+ 260 )
//(+ 261 )
//(+ 262 )
//(+ 263 )
// Reset Execution Time
STDADR_RESET_EXEC_TIMER
, //(+ 265 ) W
R
R
W
W
// Feed Rate PGM Override
302
Manual do PLC
STDADR_FEED_RATE_OVERRIDE
303
V1.00
,
//(+ 266 ) W
Manual do PLC
// Distance to the next corner
STDADR_DISTANCE_TO_VERTICE
// Receipt : BACKUP / RESTORE PLC DATA
STDADR_REC_CMD
STDADR_REC_CMD_STATUS
STDADR_REC_AREA
STDADR_REC_SIZE
STDADR_REC_BLOCK
STDADR_REC_ID
STDADR_REC_BLK_ID
STDADR_REC_PLC_ADR
STDADR_REC_REGISTER
STDADR_REC_BLOCK_CNT
// CutMonitor
STDADR_CUT_GRAPH_OFFSET_X
STDADR_CUT_GRAPH_OFFSET_Y
STDADR_CUT_GRAPH_Rotation
STDADR_CUT_GRAPH_Board_Lenght_X
STDADR_CUT_GRAPH_Board_Lenght_Y
V1.00
, //(+ 267 ) R
, //(+ 270 )
, //(+ 271 ) R
, //(+ 272 )
, //(+ 273 )
, //(+ 274 )
, //(+ 275 )
, //(+ 276 )
, //(+ 277 )
, //(+ 278 )
, //(+ 279 )
W
W
W
W
W
W
W
W
, //(+ 280 )
, //(+ 281 )
, //(+ 282 )
, //(+ 283 )
, //(+ 284 )
W
W
W
W
W
304
W
Manual do PLC
V1.00
45 - Novas Instruções
NEWINST:
#db '
'
#db 'NOVAS INSTRUCOES'
;; TABELAS COM FLOATS
#DEFINE KFLOAT 1.23456F
#DEFINE KFLOAT1 27.2727F
;; DEFINE CONSTANTE FLOAT, NÚMERO PRECISA TERMINAR COM A LETRA “F”
;; DEFINE CONSTANTE FLOAT, NÚMERO PRECISA TERMINAR COM A LETRA “F”
TABELAF:
#DF
KFLOAT, KFLOAT1, 1.23456F , 27.2222 ;; TABELA ACEITA CONSTANTES FLOAT ( DEFINES) E NÚMEROS
SEGUIDOS OU NÃO DA LETRA “F”
;; INSTRUÇÕES NOVAS PROTEO
A
MW
1000 ;; OPERAÇÃO LÓGICA AND PARA WORD
AN
MW
1000 ;; OPERAÇÃO LÓGICA AND NEGADO PARA WORD
O
MW
1000 ;; OPERAÇÃO LÓGICA OR PARA WORD
ON
MW
1000 ;; OPERAÇÃO LÓGICA OR NEGADO PARA WORD
XO
MW
1000 ;; OPERAÇÃO LÓGICA XOR PARA WORD
XON MW
1000 ;; OPERAÇÃO LÓGICA XOR NEGADO PARA WORD
LFF
KF
1.234567
;; CARREGA ACUMULADOR COM CONSTANTE DE PONTO FLUTUANTE (
CONSTANTE - KF )
LFF
MF
20
;; CARREGA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE
CORRESPONDENTE ( MEMÓRIA - MF)
LFF
IMF
20
;; CARREGA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE
CORRESPONDENTE ( MEMÓRIA INDEXADA - IMF)
LFF
MF
10027 ;; CARREGA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE
CORRESPONDENTE ( #AREA VARIÁVEIS RESERVADAS DO CNC)
LFF
MF
20027 ;; CARREGA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE
CORRESPONDENTE ( #AREA H - MEMÓRIAS DE PONTO FLUTUANTE)
LFF
MF
30027 ;; CARREGA ACUMULADOR COM PONTO FLUTUANTE CORRESPONDENTE (
PARÂMETROS DE MÁQUINA DO CNC)
=FF
MF
0272 ;; SALVA ACUMULADOR PONTO FLUTUANTE NA MEMÓRIA CORRESPONDENTE (
MEMÓRIA - MF)
=FF
IMF
0272 ;; SALVA ACUMULADOR PONTO FLUTUANTE NA MEMÓRIA CORRESPONDENTE (
MEMÓRIA INDEXADA - IMF)
=FF
MF
10272 ;; SALVA ACUMULADOR PONTO FLUTUANTE NA MEMÓRIA CORRESPONDENTE (
#AREA VARIÁVEIS RESERVADAS DO CNC)
=FF
MF
20272 ;; SALVA ACUMULADOR PONTO FLUTUANTE NA MEMÓRIA CORRESPONDENTE (
#AREA H - MEMÓRIAS DE PONTO FLUTUANTE)
=FF
MF
30272 ;; SALVA ACUMULADOR PONTO FLUTUANTE NA MEMÓRIA CORRESPONDENTE (
PARÂMETROS DE MÁQUINA DO CNC)
==F
MF
0272 ;; FLAG NZ => SALVA ACUMULADOR PONTO FLUTUANTE NA MEMÓRIA
CORRESPONDENTE ( MEMÓRIA - MF)
==F
IMF
0272 ;; FLAG NZ => SALVA ACUMULADOR PONTO FLUTUANTE NA MEMÓRIA
CORRESPONDENTE ( MEMÓRIA INDEXADA - MF)
==F
MF
10272 ;; FLAG NZ => SALVA ACUMULADOR PONTO FLUTUANTE NA MEMÓRIA
CORRESPONDENTE ( #AREA VARIÁVEIS RESERVADAS DO CNC)
==F
MF
20272 ;; FLAG NZ => SALVA ACUMULADOR PONTO FLUTUANTE NA MEMÓRIA
CORRESPONDENTE ( #AREA H - MEMÓRIAS DE PONTO FLUTUANTE)
==F
MF
30272 ;; FLAG NZ => SALVA ACUMULADOR PONTO FLUTUANTE NA MEMÓRIA
CORRESPONDENTE ( PARÂMETROS DE MÁQUINA DO CNC)
LZF
MF
1000
;; COMPARA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE E VERIFICA SE
IGUAL
LZF
IMF
1000 ;; COMPARA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE E VERIFICA SE
IGUAL (MEMÓRIA INDEXADA - IMF)
LZF
KF
1.2345 ;; COMPARA ACUMULADOR COM CONSTANTE DE PONTO FLUTUANTE E VERIFICA SE
IGUAL
LNZF MF
1000 ;; COMPARA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE E VERIFICA SE
DIFERENTE
LNZF IMF
1000 ;; COMPARA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE E VERIFICA SE
DIFERENTE (MEMÓRIA INDEXADA - IMF)
LNZF KF
1.2345 ;; COMPARA ACUMULADOR COM CONSTANTE DE PONTO FLUTUANTE E VERIFICA SE
DIFERENTE
LPF
MF
MAIOR OU IGUAL
305
1000
;; COMPARA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE E VERIFICA SE
Manual do PLC
V1.00
LPF
IMF
1000 ;; COMPARA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE E VERIFICA SE
MAIOR OU IGUAL (MEMÓRIA INDEXADA - IMF)
LPF
KF
1.2345 ;; COMPARA ACUMULADOR COM CONSTANTE DE PONTO FLUTUANTE E VERIFICA
SE MAIOR OU IGUAL
LMF MF
1000
;; COMPARA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE E VERIFICA SE
MENOR
LMF IMF
1000 ;; COMPARA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE E VERIFICA SE
MENOR (MEMÓRIA INDEXADA - IMF)
LMF
KF
1.2345 ;; COMPARA ACUMULADOR COM CONSTANTE DE PONTO FLUTUANTE E VERIFICA SE
MENOR
AZF
MF
1000 ;; AND COMPARA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE E VERIFICA
SE IGUAL
AZF
IMF
1000 ;; AND COMPARA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE E COMPARA
SE IGUAL (MEMÓRIA INDEXADA - IMF)
AZF
KF
1.2345 ;; AND COMPARA ACUMULADOR COM CONSTANTE DE PONTO FLUTUANTE E
COMPARA SE IGUAL
ANZF MF
1000 ;; AND COMPARA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE E VERIFICA
SE DIFERENTE
ANZF IMF
1000 ;; AND COMPARA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE E VERIFICA
SE DIFERENTE (MEMÓRIA INDEXADA - IMF)
ANZF KF
1.2345 ;; AND COMPARA ACUMULADOR COM CONSTANTE DE PONTO FLUTUANTE E
VERIFICA SE DIFERENTE
APF
MF
1000 ;; AND COMPARA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE E VERIFICA
SE MAIOR OU IGUAL
APF
IMF
1000 ;; AND COMPARA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE E VERIFICA
SE MAIOR OU IGUAL (MEMÓRIA INDEXADA - IMF)
APF
KF
1.2345 ;; AND COMPARA ACUMULADOR COM CONSTANTE DE PONTO FLUTUANTE E
VERIFICA SE MAIOR OU IGUAL
AMF MF
1000 ;; AND COMPARA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE E VERIFICA
SE MENOR
AMF IMF
1000 ;; AND COMPARA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE E VERIFICA
SE MENOR (MEMÓRIA INDEXADA - IMF)
AMF KF
1.2345 ;; AND COMPARA ACUMULADOR COM CONSTANTE DE PONTO FLUTUANTE E
VERIFICA SE MENOR
OZF
MF
1000
;; OR COMPARA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE E VERIFICA SE
IGUAL
OZF
IMF
1000 ;; OR COMPARA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE E VERIFICA SE
IGUAL (MEMÓRIA INDEXADA - IMF)
OZF
KF
1.2345 ;; OR COMPARA ACUMULADOR COM CONSTANTE DE PONTO FLUTUANTE E VERIFICA
SE IGUAL
ONZF MF
1000 ;; OR COMPARA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE E VERIFICA SE
DIFERENTE
ONZF IMF
1000 ;; OR COMPARA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE E VERIFICA SE
DIFERENTE (MEMÓRIA INDEXADA - IMF)
ONZF KF
1.2345 ;; OR COMPARA ACUMULADOR COM CONSTANTE DE PONTO FLUTUANTE E VERIFICA
SE DIFERENTE
OPF
MF
1000 ;; OR COMPARA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE E VERIFICA SE
MAIOR OU IGUAL
OPF
IMF
1000 ;; OR COMPARA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE E VERIFICA SE
MAIOR OU IGUAL (MEMÓRIA INDEXADA - IMF)
OPF
KF
1.2345 ;; OR COMPARA ACUMULADOR COM CONSTANTE DE PONTO FLUTUANTE E VERIFICA
SE MAIOR OU IGUAL
OMF MF
1000 ;; OR COMPARA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE E VERIFICA SE
MENOR
OMF IMF
1000 ;; OR COMPARA ACUMULADOR COM MEMÓRIA DE PONTO FLUTUANTE E VERIFICA SE
MENOR (MEMÓRIA INDEXADA - IMF)
OMF KF
1.2345 ;; OR COMPARA ACUMULADOR COM CONSTANTE DE PONTO FLUTUANTE E VERIFICA
SE MENOR
INCF
IZF
INZF
DECF
DZF
DNZF
FRND
FFLUSH
;;
;;
;;
;;
;;
;;
;;
INCREMENTA ACUMULADOR
INCREMENTA ACUMULADOR CASO IGUAL ( FLAG Z )
INCREMENTA ACUMULADOR CASO DIFERENTE ( FLAG NZ )
DECREMENTA ACUMULADOR
DECREMENTA ACUMULADOR CASO IGUAL ( FLAG Z )
DECREMENTA ACUMULADOR CASO DIFERENTE ( FLAG NZ )
ARREDONDA ACUMULADOR PARA INTEIRO MAIS PRÓXIMO
;; CLEAR STACK PONTO FLUTUANTE
306
Manual do PLC
V1.00
FPUSH
;; DUPLICA ULTIMO RESULTADO NO STACK - VALOR SOBE NA PILHA
FPOP
;; DELETA ULTIMO RESULTADO NO STACK - VALOR DESCE NA PILHA
FADD
;; SOMA ACUMULADOR COM VALOR IMEDIATAMENTE ACIMA NA PILHA
FSUB
;; SUBTRAI ACUMULADOR COM VALOR IMEDIATAMENTE ACIMA NA PILHA
FMULT
;; MULTIPLICA ACUMULADOR COM VALOR IMEDIATAMENTE ACIMA NA PILHA
FDIV
;; DIVIDE ACUMULADOR COM VALOR IMEDIATAMENTE ACIMA NA PILHA
FABS
;; MODULO ACUMULADOR
FNEG
;; NEGA ACUMULADOR
FSQRT
;; RAIZ QUADRADA DO ACUMULADOR
FDIST
;; RAIZ QUADRADA DA SOMA DOS QUADRADOS DO ACUMULADOR E DO VALOR
IMED.ACIMA NA PILHA
FSIN
;; SENO DO ACUMULADOR
FCOS
;; COSSENO DO ACUMULADOR
FTAN
;; TANGENTE DO ACUMULADOR
FATAN
;; ARCO TANGENTE DO ACUMULADOR
FPOW
;; POTENCIA: ACUMULADOR ELEVADO AO VALOR IMEDIATAMENTE ACIMA NA PILHA
FINV
;; INVERSO DO ACUMULADOR ( 1/X )
FINT
;; TRUNCA PARTE FRACIONÁRIA DO ACUMULADOR FLOAT
FFRAC
;; RETIRA PARTE INTEIRA DO ACUMULADOR FLOAT
FPI
;; NUMERO PI
FSWAP
;; TROCA ACUMULADOR COM VALOR IMEDIATAMENTE ACIMA NA PILHA
FREAD
;; LE DA VARIÁVEL INDEXADA ( DEFINIR TIPO E INDICE, DA MESMA FORMA QUE
INSTRUÇÃO TELA)
FWRITE
;; ESCREVE NA VARIÁVEL INDEXADA (( DEFINIR TIPO E INDICE, DA MESMA
FORMA QUE INSTRUÇÃO TELA)
RZ
RNZ
IZ
IZ
INZ
INZ
DZ
DZ
DNZ
DNZ
A
O
XO
307
MB
MW
MB
MW
MB
MW
MB
MW
KW
KW
KW
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
;; RETORNA CASO FLAG ZERO
;; RETORNA CASO FLAG NÃO ZERO
;; INCREMENTA CASO FLAG ZERO
;; INCREMENTA CASO FLAG ZERO
;; INCREMENTA CASO FLAG NÃO ZERO
;; INCREMENTA CASO FLAG NÃO ZERO
;; INCREMENTA CASO FLAG ZERO
;; INCREMENTA CASO FLAG ZERO
;; INCREMENTA CASO FLAG NÃO ZERO
;; INCREMENTA CASO FLAG NÃO ZERO
;; AND ACC COM CONSTANTE WORD
;; OR ACC COM CONSTANTE WORD
;; XOR ACC COM CONSTANTE WORD
Manual do PLC
V1.00
46 - Alarmes e Erros CNC Proteo
Códigos de Erro
Erro ( 0 )
Proteo: NO__ERROR
Texto: "Código de erro inválido"
"Invalid Error Code"
Erro ( 1 )
Proteo: ERROR_BP_WAS_UNABLE_TO_OPEN_INPUT_FILE
Texto: "Não foi possível abrir o arquivo de entrada"
"Unable to open source file"
Erro ( 2 )
Proteo: ERROR_BP_PARSER_JAMED
Texto: "Interpretador não conseguiu processar linha de
comando"
"Parser was unable to process line"
Erro ( 3 )
Proteo: ERROR_BP_ALREADY_IN_PAUSE_STATE
Texto: "Interpretador já estava em modo pausa"
"Interpreter is already in pause state"
Erro ( 4 )
Proteo: ERROR_BP_IN_RUN_STATE
Texto: "Interpretador está executando um programa"
"Interpreter is in RUN state"
Erro ( 5 )
Proteo: ERROR_BP_EXECUTION_TERMINATE_PREMATURELLY
Texto: "Execução terminou prematuramente"
"Execution terminated prematurely"
Erro ( 6 )
Proteo: ERROR_BP_UNEXPECTED_EVENT
Texto: "Interpretador recebeu um evento inesperado"
"Interpreter received an unexpected event signal"
Erro ( 7 )
Proteo: ERROR_EXE_ALREADY_IN_PAUSE_STATE
Texto: "Gerenciador de Execução já estava em modo pausa"
"Execution Manager is already in pause state"
308
Manual do PLC
V1.00
Erro ( 8 )
Proteo: ERROR_EXE_IN_RUN_STATE
Texto: "Gerenciador de Execução está executando um programa"
"Execution Manager is in RUN state"
Erro ( 9 )
Proteo: ERROR_EXE_UNEXPECTED_EVENT
Texto: "Gerenciador de Execução recebeu um evento inesperado"
"Execution Manager received an unexpected event
signal"
Erro ( 10 )
Proteo: ERROR_LBL_IS_NOT_UNIQUE
Texto: "Label não é único"
"Label is not unique"
Erro ( 11 )
Proteo: ERROR_LBL_DOES_NOT_EXIST
Texto: "Label não existe"
"Label doesn't exist"
Erro ( 12 )
Proteo: ERROR_PGM_DOES_NOT_EXIST
Texto: "Programa não existe"
"Program doesn't exist"
Erro ( 13 )
Proteo: ERROR_SECOND_FLOW_COMMAND_NOT_ALLOWED
Texto: "Segunda busca não pode ser realizada"
"Second flow command not allowed"
Erro ( 14 )
Proteo: ERROR_AXIS_COORDINATE_DUPLICATION
Texto: "Coordenada de eixo duplicada"
"Axis coodinate duplication"
Erro ( 15 )
Proteo: ERROR_INCORRECT_CYCLE_PARAMETER
Texto: "Parâmetro de ciclo incorreto"
"Incorrect cycle parameter"
Erro ( 16 )
Proteo: ERROR_ILLEGAL_LABEL_NUMBER
Texto: "Número de label ilegal"
"Illegal label number"
309
Manual do PLC
V1.00
Erro ( 17 )
Proteo: ERROR_ILLEGAL_REPETITION_NUMBER
Texto: "Número de repetições ilegal"
"Illegal repetition number"
Erro ( 18 )
Proteo: ERROR_ILLEGAL_INPUT_BYTE_OFFSET
Texto: "Offset de byte de entrada ilegal"
"Illegal input byte offset"
Erro ( 19 )
Proteo: ERROR_ILLEGAL_INPUT_BIT_OFFSET
Texto: "Offset de bit de entrada ilegal"
"Illegal input bit offset"
Erro ( 20 )
Proteo: ERROR_ILLEGAL_INPUT_BYTE_ADDRESS
Texto: "Endereço de byte entrada ilegal"
"Illegal input address"
Erro ( 21 )
Proteo: ERROR_ILLEGAL_OUTPUT_BYTE_OFFSET
Texto: "Offset de byte de saída ilegal"
"Illegal output byte offset"
Erro ( 22 )
Proteo: ERROR_ILLEGAL_OUTPUT_BIT_OFFSET
Texto: "Offset de bit de saída ilegal"
"Illegal output bit offset"
Erro ( 23 )
Proteo: ERROR_ILLEGAL_OUTPUT_BYTE_ADDRESS
Texto: "Endereço de byte saída ilegal"
"Illegal output address"
Erro ( 24 )
Proteo: ERROR_ILLEGAL_PARAMETER_ADDRESS
Texto: "Endereço de parâmtro inválido"
"Illegal parameter address"
Erro ( 25 )
Proteo: ERROR_ILLEGAL_PGM_NUMBER
Texto: "Número de programa ilegal"
"Illegal program number"
310
Manual do PLC
Erro ( 26 )
Proteo: ERROR_ILLEGAL_OPERAND
Texto: "Operando ilegal"
"Illegal operand"
Erro ( 27 )
Proteo: ERROR_ILLEGAL_PLC_PARAMETER_ADDRESS
Texto: "Endereço de memória de PLC ilegal"
"Illegal PLC memory address"
Erro ( 28 )
Proteo: ERROR_ILLEGAL_PLC_PARAMETER_OFFSET
Texto: "Offset de memória de PLC ilegal"
"Illegal PLC memory offset"
Erro ( 29 )
Proteo: ERROR_ILLEGAL_TDF_DATA_ADDRESS
Texto: "Endereço TDF ilegal"
"Illegal TDF data address"
Erro ( 30 )
Proteo: ERROR_ILLEGAL_TDF_DATA_OFFSET
Texto: "Offset TDF ilegal"
"Illegal TDF data offset"
Erro ( 31 )
Proteo: ERROR_ILLEGAL_REGISTER_ADDRESS
Texto: "Endereço de registro ilegal"
"Illegal Register address"
Erro ( 32 )
Proteo: ERROR_ILLEGAL_REGISTER_OFFSET
Texto: "Número de registro ilegal"
"Illegal Register offset"
Erro ( 33 )
Proteo: ERROR_DIVISION_BY_ZERO
Texto: "Divisão por zero"
"Division by zero"
Erro ( 34 )
Proteo: ERROR_ILLEGAL_INTEGER_DIVISION
Texto: "Divisão Ilegal de inteiros"
"Illegal integer division"
311
V1.00
Manual do PLC
V1.00
Erro ( 35 )
Proteo: ERROR_OPERAND_SHOULD_BE_POSITIVE
Texto: "Operando deve ser positivo"
"Operand should be positive"
Erro ( 36 )
Proteo: ERROR_ILLEGAL_DATA_VALUE
Texto: "Valor ilegal"
"Illegal Data Value"
Erro ( 37 )
Proteo: ERROR_ILLEGAL_FUNCTION_TYPE
Texto: "Tipo de função ilegal"
"Illegal function type"
Erro ( 38 )
Proteo: ERROR_TCP_FILE_NOT_FOUND
Texto: "TCP - Arquivo não encontrado"
"TCP - File not found"
Erro ( 39 )
Proteo: ERROR_TCP_LOST_CONNECTION
Texto: "TCP - Aguardando nova conexão"
"TCP - Waiting for a new connection"
Erro ( 40 )
Proteo: ERROR_OPEN_RASC
Texto: "Não conseguiu abrir arquivo temporário"
"Could not open temporary file"
Erro ( 41 )
Proteo: ERROR_OPEN_SOURCE
Texto: "Não conseguiu abrir arquivo"
"Could not open Source file"
Erro ( 42 )
Proteo: ERROR_READ_SOURCE
Texto: "Não conseguiu ler arquivo"
"Could not read Source file"
Erro ( 43 )
Proteo: ERROR_WRITE_RASC
Texto: "Não conseguiu escrever arquivo temporário"
"Could not write temporary file"
312
Manual do PLC
Erro ( 44 )
Proteo: ERROR_WRITE_TO_FILE_IN_USE
Texto: "Não conseguiu escrever no arquivo em uso"
"Could not write to a file in use"
Erro ( 45 )
Proteo: ERROR_FSEEK_SOURCE
Texto: "Não conseguiu buscar posição no arquivo"
"Could not fseek Source file"
Erro ( 46 )
Proteo: ERROR_ERASE_SOURCE
Texto: "Não conseguiu apagar arquivo"
"Could not erase Source file"
Erro ( 47 )
Proteo: ERROR_RENAME_RASC
Texto: "Não conseguiu renomear arquivo temporário"
"Could not rename temporary file"
Erro ( 48 )
Proteo: ERROR_PLC_TIMEOUT
Texto: "PLC muito longo ou em loop: Time-Out"
"PLC loop condition detected: Time-Out"
Erro ( 49 )
Proteo: ERROR_WHILE_NESTING_LIMIT
Texto: "WHILE/END atingiu limite de encadeamento"
"WHILE/END nesting limit"
Erro ( 50 )
Proteo: ERROR_NEGATSTOP_X
Texto: "Fim de Curso Negativo do Eixo X"
"Negative Limit - Axis X"
Erro ( 51 )
Proteo: ERROR_POSITSTOP_X
Texto: "Fim de Curso Positivo do Eixo X"
"Positive Limit - Axis X"
Erro ( 52 )
Proteo: ERROR_NEGATSTOP_Y
Texto: "Fim de Curso Negativo do Eixo Y"
"Negative Limit - Axis Y"
313
V1.00
Manual do PLC
V1.00
Erro ( 53 )
Proteo: ERROR_POSITSTOP_Y
Texto: "Fim de Curso Positivo do Eixo Y"
"Positive Limit - Axis Y"
Erro ( 54 )
Proteo: ERROR_NEGATSTOP_Z
Texto: "Fim de Curso Negativo do Eixo Z"
"Negative Limit - Axis Z"
Erro ( 55 )
Proteo: ERROR_POSITSTOP_Z
Texto: "Fim de Curso Positivo do Eixo Z"
"Positive Limit - Axis Z"
Erro ( 56 )
Proteo: ERROR_NEGATSTOP_AUX1
Texto: "Fim de Curso Negativo do Eixo Auxiliar 1"
"Negative Limit - Auxiliary Axis 1"
Erro ( 57 )
Proteo: ERROR_POSITSTOP_AUX1
Texto: "Fim de Curso Positivo do Eixo Auxiliar 1"
"Positive Limit - Auxiliary Axis 1"
Erro ( 58 )
Proteo: ERROR_NEGATSTOP_AUX2
Texto: "Fim de Curso Negativo do Eixo Auxiliar 2"
"Negative Limit - Auxiliary Axis 2"
Erro ( 59 )
Proteo: ERROR_POSITSTOP_AUX2
Texto: "Fim de Curso Positivo do Eixo Auxiliar 2"
"Positive Limit - Auxiliary Axis 2"
Erro ( 60 )
Proteo: ERROR_NEGATSTOP_AUX3
Texto: "Fim de Curso Negativo do Eixo Auxiliar 3"
"Negative Limit - Auxiliary Axis 3"
Erro ( 61 )
Proteo: ERROR_POSITSTOP_AUX3
Texto: "Fim de Curso Positivo do Eixo Auxiliar 3"
"Positive Limit - Auxiliary Axis 3"
314
Manual do PLC
Erro ( 62 )
Proteo: ERROR_NEGATSTOP_AUX4
Texto: "Fim de Curso Negativo do Eixo Auxiliar 4"
"Negative Limit - Auxiliary Axis 4"
Erro ( 63 )
Proteo: ERROR_POSITSTOP_AUX4
Texto: "Fim de Curso Positivo do Eixo Auxiliar 4"
"Positive Limit - Auxiliary Axis 4"
Erro ( 64 )
Proteo: ERROR_NEGATSTOP_AUX5
Texto: "Fim de Curso Negativo do Eixo Auxiliar 5"
"Negative Limit - Auxiliary Axis 5"
Erro ( 65 )
Proteo: ERROR_POSITSTOP_AUX5
Texto: "Fim de Curso Positivo do Eixo Auxiliar 5"
"Positive Limit - Auxiliary Axis 5"
Erro ( 66 )
Proteo: ERROR_POSITSTOP_1
Texto: "Fim de Curso Positivo do Eixo 1"
"Positive Limit - Axis 1"
Erro ( 67 )
Proteo: ERROR_POSITSTOP_2
Texto: "Fim de Curso Positivo do Eixo 2"
"Positive Limit - Axis 2"
Erro ( 68 )
Proteo: ERROR_POSITSTOP_3
Texto: "Fim de Curso Positivo do Eixo 3"
"Positive Limit - Axis 3"
Erro ( 69 )
Proteo: ERROR_POSITSTOP_4
Texto: "Fim de Curso Positivo do Eixo 4"
"Positive Limit - Axis 4"
Erro ( 70 )
Proteo: ERROR_POSITSTOP_5
Texto: "Fim de Curso Positivo do Eixo 5"
"Positive Limit - Axis 5"
315
V1.00
Manual do PLC
V1.00
Erro ( 71 )
Proteo: ERROR_POSITSTOP_6
Texto: "Fim de Curso Positivo do Eixo 6"
"Positive Limit - Axis 6"
Erro ( 72 )
Proteo: ERROR_POSITSTOP_7
Texto: "Fim de Curso Positivo do Eixo 7"
"Positive Limit - Axis 7"
Erro ( 73 )
Proteo: ERROR_POSITSTOP_8
Texto: "Fim de Curso Positivo do Eixo 8"
"Positive Limit - Axis 8"
Erro ( 74 )
Proteo: ERROR_NEGATSTOP_1
Texto: "Fim de Curso Negativo do Eixo 1"
"Negative Limit - Axis 1"
Erro ( 75 )
Proteo: ERROR_NEGATSTOP_2
Texto: "Fim de Curso Negativo do Eixo 2"
"Negative Limit - Axis 2"
Erro ( 76 )
Proteo: ERROR_NEGATSTOP_3
Texto: "Fim de Curso Negativo do Eixo 3"
"Negative Limit - Axis 3"
Erro ( 77 )
Proteo: ERROR_NEGATSTOP_4
Texto: "Fim de Curso Negativo do Eixo 4"
"Negative Limit - Axis 4"
Erro ( 78 )
Proteo: ERROR_NEGATSTOP_5
Texto: "Fim de Curso Negativo do Eixo 5"
"Negative Limit - Axis 5"
Erro ( 79 )
Proteo: ERROR_NEGATSTOP_6
Texto: "Fim de Curso Negativo do Eixo 6"
"Negative Limit - Axis 6"
316
Manual do PLC
V1.00
Erro ( 80 )
Proteo: ERROR_NEGATSTOP_7
Texto: "Fim de Curso Negativo do Eixo 7"
"Negative Limit - Axis 7"
Erro ( 81 )
Proteo: ERROR_NEGATSTOP_8
Texto: "Fim de Curso Negativo do Eixo 8"
"Negative Limit - Axis 8"
Erro ( 82 )
Proteo: ERROR_INVALID_AXIS
Texto: "Eixo Inválido"
"Invalid Axis"
Erro ( 83 )
Proteo: ERROR_CANT_ADD_SEGMENT
Texto: "Não conseguiu adicionar bloco"
"Failled to add segment"
Erro ( 84 )
Proteo: ERROR_TURNING_COMP_OFF
Texto: "Erro ao desligar compensação de ferramenta"
"Failled to turn off tool compensation"
Erro ( 85 )
Proteo: ERROR_LINE_LINE_COMP
Texto: "Erro na compensação de ferramenta (Linha/Linha)"
"Tool compensation error (Line/Line)"
Erro ( 86 )
Proteo: ERROR_CIRCLE_NULL_RADIUS
Texto: "Erro na compensação de ferramenta (Circulo de raio
zero)"
"Tool compensation error (Circle with null radius)"
Erro ( 87 )
Proteo: ERROR_TANGENT_APROACH
Texto: "Erro na compensação de ferramenta (Aproximação
tangencial)"
"Tool compensation error (Tangent approach)"
Erro ( 88 )
Proteo: ERROR_TANGENT_EXIT
317
Manual do PLC
Texto:
V1.00
"Erro na compensação de ferramenta (Saída tangencial)"
"Tool compensation error (Tangent exit)"
Erro ( 89 )
Proteo: ERROR_LINE_CIRCLE_COMP
Texto: "Erro na compensação de ferramenta (Linha/Círculo)"
"Tool compensation error (Line/Circle)"
Erro ( 90 )
Proteo: ERROR_ROUND_INSERTION_NOT_POSSIBLE
Texto: "Erro na compensação de ferramenta (Impossível inserir
round)"
"Tool compensation error (Can´t insert round)"
Erro ( 91 )
Proteo: ERROR_CAN_COMM
Texto: "Falha na Comunicação CAN"
"CAN communication failled"
Erro ( 92 )
Proteo: ERROR_CAN_NODE
Texto: "Ocorreu Erro em um dispositivo CAN"
"CAN node failled"
Erro ( 93 )
Proteo: ERROR_LAG_AXIS1
Texto: "Erro de Acompanhamento no Eixo 1"
"Lag Error - Axis 1"
Erro ( 94 )
Proteo: ERROR_LAG_AXIS2
Texto: "Erro de Acompanhamento no Eixo 2"
"Lag Error - Axis 2"
Erro ( 95 )
Proteo: ERROR_LAG_AXIS3
Texto: "Erro de Acompanhamento no Eixo 3"
"Lag Error - Axis 3"
Erro ( 96 )
Proteo: ERROR_LAG_AXIS4
Texto: "Erro de Acompanhamento no Eixo 4"
"Lag Error - Axis 4"
Erro ( 97 )
318
Manual do PLC
Proteo: ERROR_LAG_AXIS5
Texto: "Erro de Acompanhamento no Eixo 5"
"Lag Error - Axis 5"
Erro ( 98 )
Proteo: ERROR_LAG_AXIS6
Texto: "Erro de Acompanhamento no Eixo 6"
"Lag Error - Axis 6"
Erro ( 99 )
Proteo: ERROR_LAG_AXIS7
Texto: "Erro de Acompanhamento no Eixo 7"
"Lag Error - Axis 7"
Erro ( 100 )
Proteo: ERROR_LAG_AXIS8
Texto: "Erro de Acompanhamento no Eixo 8"
"Lag Error - Axis 8"
Erro ( 101 )
Proteo: ERROR_PARAMETER_NOT_VALID
Texto: "Erro de Sistema - Parâmetros Inválidos"
"System Error - Invalid Parameters"
Erro ( 102 )
Proteo: ERROR_PLAN_LINKED_SEGMENT
Texto: "Erro no planejamento do bloco (1)"
"Block Planning Error (1)"
Erro ( 103 )
Proteo: ERROR_PLAN_MAX_INC
Texto: "Erro no planejamento do bloco (2)"
"Block Planning Error (2)"
Erro ( 104 )
Proteo: ERROR_PLAN_NO_SOLUTION
Texto: "Erro no planejamento do bloco (3)"
"Block Planning Error (3)"
Erro ( 105 )
Proteo: ERROR_PLAN_OVERFLOW_NUMPOINTS
Texto: "Erro no planejamento do bloco (4)"
"Block Planning Error (4)"
Erro ( 106 )
319
V1.00
Manual do PLC
V1.00
Proteo: ERROR_CANT_LINK_SEGMENT
Texto: "Erro no planejamento do bloco (5)"
"Block Planning Error (5)"
Erro ( 107 )
Proteo: ERROR_CIRCLE_CENTER_NOT_DEFINED
Texto: "Centro do Círculo não definido"
"Circle center is not defined"
Erro ( 108 )
Proteo: ERROR_DSP_RSVD1
Texto: "Reservado"
"Reserved"
Erro ( 109 )
Proteo: ERROR_DSP_RSVD2
Texto: "Reservado"
"Reserved"
Erro ( 110 )
Proteo: ERROR_CAN_COMM_AXIS1
Texto: "Falha na Comunicação CAN - Eixo 1"
"CAN communication failled - Axis 1"
Erro ( 111 )
Proteo: ERROR_CAN_COMM_AXIS2
Texto: "Falha na Comunicação CAN - Eixo 2"
"CAN communication failled - Axis 2"
Erro ( 112 )
Proteo: ERROR_CAN_COMM_AXIS3
Texto: "Falha na Comunicação CAN - Eixo 3"
"CAN communication failled - Axis 3"
Erro ( 113 )
Proteo: ERROR_CAN_COMM_AXIS4
Texto: "Falha na Comunicação CAN - Eixo 4"
"CAN communication failled - Axis 4"
Erro ( 114 )
Proteo: ERROR_CAN_COMM_AXIS5
Texto: "Falha na Comunicação CAN - Eixo 5"
"CAN communication failled - Axis 5"
Erro ( 115 )
320
Manual do PLC
Proteo: ERROR_CAN_COMM_AXIS6
Texto: "Falha na Comunicação CAN - Eixo 6"
"CAN communication failled - Axis 6"
Erro ( 116 )
Proteo: ERROR_CAN_COMM_AXIS7
Texto: "Falha na Comunicação CAN - Eixo 7"
"CAN communication failled - Axis 7"
Erro ( 117 )
Proteo: ERROR_CAN_COMM_AXIS8
Texto: "Falha na Comunicação CAN - Eixo 8"
"CAN communication failled - Axis 8"
Erro ( 118 )
Proteo: ERROR_CAN_COMM_MOD0
Texto: "Falha na Comunicação CAN - Módulo 0"
"CAN communication failled - Module 0"
Erro ( 119 )
Proteo: ERROR_CAN_COMM_MOD1
Texto: "Falha na Comunicação CAN - Módulo 1"
"CAN communication failled - Module 1"
Erro ( 120 )
Proteo: ERROR_CAN_COMM_MOD2
Texto: "Falha na Comunicação CAN - Módulo 2"
"CAN communication failled - Module 2"
Erro ( 121 )
Proteo: ERROR_CAN_COMM_MOD3
Texto: "Falha na Comunicação CAN - Módulo 3"
"CAN communication failled - Module 3"
Erro ( 122 )
Proteo: ERROR_CAN_COMM_MOD4
Texto: "Falha na Comunicação CAN - Módulo 4"
"CAN communication failled - Module 4"
Erro ( 123 )
Proteo: ERROR_CAN_COMM_MOD5
Texto: "Falha na Comunicação CAN - Módulo 5"
"CAN communication failled - Module 5"
Erro ( 124 )
321
V1.00
Manual do PLC
V1.00
Proteo: ERROR_CAN_COMM_MOD6
Texto: "Falha na Comunicação CAN - Módulo 6"
"CAN communication failled - Module 6"
Erro ( 125 )
Proteo: ERROR_CAN_COMM_MOD7
Texto: "Falha na Comunicação CAN - Módulo 7"
"CAN communication failled - Module 7"
Erro ( 126 )
Proteo: ERROR_CAN_COMM_MOD8
Texto: "Falha na Comunicação CAN - Módulo 8"
"CAN communication failled - Module 8"
Erro ( 127 )
Proteo: ERROR_CAN_COMM_MOD9
Texto: "Falha na Comunicação CAN - Módulo 9"
"CAN communication failled - Module 9"
Erro ( 128 )
Proteo: ERROR_CAN_COMM_MOD10
Texto: "Falha na Comunicação CAN - Módulo 10"
"CAN communication failled - Module 10"
Erro ( 129 )
Proteo: ERROR_CAN_COMM_MOD11
Texto: "Falha na Comunicação CAN - Módulo 11"
"CAN communication failled - Module 11"
Erro ( 130 )
Proteo: ERROR_CAN_COMM_MOD12
Texto: "Falha na Comunicação CAN - Módulo 12"
"CAN communication failled - Module 12"
Erro ( 131 )
Proteo: ERROR_CAN_COMM_MOD13
Texto: "Falha na Comunicação CAN - Módulo 13"
"CAN communication failled - Module 13"
Erro ( 132 )
Proteo: ERROR_CAN_COMM_MOD14
Texto: "Falha na Comunicação CAN - Módulo 14"
"CAN communication failled - Module 14"
Erro ( 133 )
322
Manual do PLC
Proteo: ERROR_CAN_COMM_MOD15
Texto: "Falha na Comunicação CAN - Módulo 15"
"CAN communication failled - Module 15"
Erro ( 134 )
Proteo: ERROR_CAN_STT_AXIS1
Texto: "Dispositivo CAN não operacional - Eixo 1"
"CAN device non-operational - Axis 1"
Erro ( 135 )
Proteo: ERROR_CAN_STT_AXIS2
Texto: "Dispositivo CAN não operacional - Eixo 2"
"CAN device non-operational - Axis 2"
Erro ( 136 )
Proteo: ERROR_CAN_STT_AXIS3
Texto: "Dispositivo CAN não operacional - Eixo 3"
"CAN device non-operational - Axis 3"
Erro ( 137 )
Proteo: ERROR_CAN_STT_AXIS4
Texto: "Dispositivo CAN não operacional - Eixo 4"
"CAN device non-operational - Axis 4"
Erro ( 138 )
Proteo: ERROR_CAN_STT_AXIS5
Texto: "Dispositivo CAN não operacional - Eixo 5"
"CAN device non-operational - Axis 5"
Erro ( 139 )
Proteo: ERROR_CAN_STT_AXIS6
Texto: "Dispositivo CAN não operacional - Eixo 6"
"CAN device non-operational - Axis 6"
Erro ( 140 )
Proteo: ERROR_CAN_STT_AXIS7
Texto: "Dispositivo CAN não operacional - Eixo 7"
"CAN device non-operational - Axis 7"
Erro ( 141 )
Proteo: ERROR_CAN_STT_AXIS8
Texto: "Dispositivo CAN não operacional - Eixo 8"
"CAN device non-operational - Axis 8"
Erro ( 142 )
323
V1.00
Manual do PLC
V1.00
Proteo: ERROR_CAN_STT_MOD0
Texto: "Dispositivo CAN não operacional - Módulo 0"
"CAN device non-operational - Module 0"
Erro ( 143 )
Proteo: ERROR_CAN_STT_MOD1
Texto: "Dispositivo CAN não operacional - Módulo 1"
"CAN device non-operational - Module 1"
Erro ( 144 )
Proteo: ERROR_CAN_STT_MOD2
Texto: "Dispositivo CAN não operacional - Módulo 2"
"CAN device non-operational - Module 2"
Erro ( 145 )
Proteo: ERROR_CAN_STT_MOD3
Texto: "Dispositivo CAN não operacional - Módulo 3"
"CAN device non-operational - Module 3"
Erro ( 146 )
Proteo: ERROR_CAN_STT_MOD4
Texto: "Dispositivo CAN não operacional - Módulo 4"
"CAN device non-operational - Module 4"
Erro ( 147 )
Proteo: ERROR_CAN_STT_MOD5
Texto: "Dispositivo CAN não operacional - Módulo 5"
"CAN device non-operational - Module 5"
Erro ( 148 )
Proteo: ERROR_CAN_STT_MOD6
Texto: "Dispositivo CAN não operacional - Módulo 6"
"CAN device non-operational - Module 6"
Erro ( 149 )
Proteo: ERROR_CAN_STT_MOD7
Texto: "Dispositivo CAN não operacional - Módulo 7"
"CAN device non-operational - Module 7"
Erro ( 150 )
Proteo: ERROR_CAN_STT_MOD8
Texto: "Dispositivo CAN não operacional - Módulo 8"
"CAN device non-operational - Module 8"
Erro ( 151 )
324
Manual do PLC
Proteo: ERROR_CAN_STT_MOD9
Texto: "Dispositivo CAN não operacional - Módulo 9"
"CAN device non-operational - Module 9"
Erro ( 152 )
Proteo: ERROR_CAN_STT_MOD10
Texto: "Dispositivo CAN não operacional - Módulo 10"
"CAN device non-operational - Module 10"
Erro ( 153 )
Proteo: ERROR_CAN_STT_MOD11
Texto: "Dispositivo CAN não operacional - Módulo 11"
"CAN device non-operational - Module 11"
Erro ( 154 )
Proteo: ERROR_CAN_STT_MOD12
Texto: "Dispositivo CAN não operacional - Módulo 12"
"CAN device non-operational - Module 12"
Erro ( 155 )
Proteo: ERROR_CAN_STT_MOD13
Texto: "Dispositivo CAN não operacional - Módulo 13"
"CAN device non-operational - Module 13"
Erro ( 156 )
Proteo: ERROR_CAN_STT_MOD14
Texto: "Dispositivo CAN não operacional - Módulo 14"
"CAN device non-operational - Module 14"
Erro ( 157 )
Proteo: ERROR_CAN_STT_MOD15
Texto: "Dispositivo CAN não operacional - Módulo 15"
"CAN device non-operational - Module 15"
Erro ( 158 )
Proteo: ERROR_CAN_NODE_AXIS1
Texto: "CAN: Erro no dispositivo - Eixo 1"
"CAN: Error on device - Axis 1"
Erro ( 159 )
Proteo: ERROR_CAN_NODE_AXIS2
Texto: "CAN: Erro no dispositivo - Eixo 2"
"CAN: Error on device - Axis 2"
Erro ( 160 )
325
V1.00
Manual do PLC
V1.00
Proteo: ERROR_CAN_NODE_AXIS3
Texto: "CAN: Erro no dispositivo - Eixo 3"
"CAN: Error on device - Axis 3"
Erro ( 161 )
Proteo: ERROR_CAN_NODE_AXIS4
Texto: "CAN: Erro no dispositivo - Eixo 4"
"CAN: Error on device - Axis 4"
Erro ( 162 )
Proteo: ERROR_CAN_NODE_AXIS5
Texto: "CAN: Erro no dispositivo - Eixo 5"
"CAN: Error on device - Axis 5"
Erro ( 163 )
Proteo: ERROR_CAN_NODE_AXIS6
Texto: "CAN: Erro no dispositivo - Eixo 6"
"CAN: Error on device - Axis 6"
Erro ( 164 )
Proteo: ERROR_CAN_NODE_AXIS7
Texto: "CAN: Erro no dispositivo - Eixo 7"
"CAN: Error on device - Axis 7"
Erro ( 165 )
Proteo: ERROR_CAN_NODE_AXIS8
Texto: "CAN: Erro no dispositivo - Eixo 8"
"CAN: Error on device - Axis 8"
Erro ( 166 )
Proteo: ERROR_CAN_NODE_MOD0
Texto: "CAN: Erro no dispositivo - Módulo 0"
"CAN: Error on device - Module 0"
Erro ( 167 )
Proteo: ERROR_CAN_NODE_MOD1
Texto: "CAN: Erro no dispositivo - Módulo 1"
"CAN: Error on device - Module 1"
Erro ( 168 )
Proteo: ERROR_CAN_NODE_MOD2
Texto: "CAN: Erro no dispositivo - Módulo 2"
"CAN: Error on device - Module 2"
Erro ( 169 )
326
Manual do PLC
Proteo: ERROR_CAN_NODE_MOD3
Texto: "CAN: Erro no dispositivo - Módulo 3"
"CAN: Error on device - Module 3"
Erro ( 170 )
Proteo: ERROR_CAN_NODE_MOD4
Texto: "CAN: Erro no dispositivo - Módulo 4"
"CAN: Error on device - Module 4"
Erro ( 171 )
Proteo: ERROR_CAN_NODE_MOD5
Texto: "CAN: Erro no dispositivo - Módulo 5"
"CAN: Error on device - Module 5"
Erro ( 172 )
Proteo: ERROR_CAN_NODE_MOD6
Texto: "CAN: Erro no dispositivo - Módulo 6"
"CAN: Error on device - Module 6"
Erro ( 173 )
Proteo: ERROR_CAN_NODE_MOD7
Texto: "CAN: Erro no dispositivo - Módulo 7"
"CAN: Error on device - Module 7"
Erro ( 174 )
Proteo: ERROR_CAN_NODE_MOD8
Texto: "CAN: Erro no dispositivo - Módulo 8"
"CAN: Error on device - Module 8"
Erro ( 175 )
Proteo: ERROR_CAN_NODE_MOD9
Texto: "CAN: Erro no dispositivo - Módulo 9"
"CAN: Error on device - Module 9"
Erro ( 176 )
Proteo: ERROR_CAN_NODE_MOD10
Texto: "CAN: Erro no dispositivo - Módulo 10"
"CAN: Error on device - Module 10"
Erro ( 177 )
Proteo: ERROR_CAN_NODE_MOD11
Texto: "CAN: Erro no dispositivo - Módulo 11"
"CAN: Error on device - Module 11"
Erro ( 178 )
327
V1.00
Manual do PLC
V1.00
Proteo: ERROR_CAN_NODE_MOD12
Texto: "CAN: Erro no dispositivo - Módulo 12"
"CAN: Error on device - Module 12"
Erro ( 179 )
Proteo: ERROR_CAN_NODE_MOD13
Texto: "CAN: Erro no dispositivo - Módulo 13"
"CAN: Error on device - Module 13"
Erro ( 180 )
Proteo: ERROR_CAN_NODE_MOD14
Texto: "CAN: Erro no dispositivo - Módulo 14"
"CAN: Error on device - Module 14"
Erro ( 181 )
Proteo: ERROR_CAN_NODE_MOD15
Texto: "CAN: Erro no dispositivo - Módulo 15"
"CAN: Error on device - Module 15"
Erro ( 182 )
Proteo: ERROR_PARSER_DATABASE
Texto: "Falha ao interpretar configuração Base de Dados"
"Didn´t understand configuration file for DataBase"
Erro ( 183 )
Proteo: ERROR_PARSER_MESSAGES
Texto: "Falha ao interpretar configuração Mensagens"
"Didn´t understand configuration file for Messages"
Erro ( 184 )
Proteo: ERROR_PARSER_USER_SCREEN
Texto: "Falha ao interpretar configuração Telas de Usuário"
"Didn´t understand configuration file for User
Screens"
Erro ( 185 )
Proteo: ERROR_PARSER_SOFTKEYS_MAIN
Texto: "Falha ao interpretar configuração SoftKeys Main"
"Didn´t understand configuration file for SoftKeys
Main"
Erro ( 186 )
Proteo: ERROR_PARSER_SOFTKEYS_ALT
Texto: "Falha ao interpretar configuração SoftKeys Alt"
"Didn´t understand configuration file for SoftKeys
Alt"
328
Manual do PLC
V1.00
Erro ( 187 )
Proteo: ERROR_PARSER_TOOL_EDITOR_2D
Texto: "Falha ao interpretar configuração Ferraments 2D"
"Didn´t understand configuration file for Tools 2D"
Erro ( 188 )
Proteo: ERROR_PARSER_TOOL_EDITOR_3D
Texto: "Falha ao interpretar configuração Ferraments 3D"
"Didn´t understand configuration file for Tools 3D"
Erro ( 189 )
Proteo: ERROR_PARSER_PARAMETERS
Texto: "Falha ao interpretar configuração Parâmetros Gerais"
"Didn´t understand configuration file for General
Parameters"
Erro ( 190 )
Proteo: ERROR_PARSER_PARAMETERS_PLC
Texto: "Falha ao interpretar configuração Parâmetros PLC"
"Didn´t understand configuration file for PLC
Parameters"
Erro ( 191 )
Proteo: ERROR_DUPLICATE_FILE_DIR
Texto: "Encontrou entrada duplicada de arquivo/diretório na
FLASH"
"Found duplicate file/dir entry in FLASH disk"
Erro ( 192 )
Proteo: MAX_ERROR_CODE
Texto: "Código de erro Inválido"
"Invalid Error Code"
46.1 Códigos de Alarme
Alarme ( 10000 )
Proteo: FIRST_ALARM_CODE
Texto: "Código de Alarme Inválido"
"Invalid Alarm Code"
Alarme ( 10001 )
Proteo: ALARM_DIVISION_BY_ZERO
Texto: "Divisão por zero"
"Division by zero"
329
Manual do PLC
V1.00
Alarme ( 10002 )
Proteo: ALARM_ILLEGAL_INTEGER_DIVISION
Texto: "Divisão Ilegal de inteiros"
"Illegal Integer division"
Alarme ( 10003 )
Proteo: ALARM_TCP_FILE_CORRUPTED
Texto: "TCP - Arquivo corrompido"
"TCP - Corrupted File"
Alarme ( 10004 )
Proteo: ALARM_CREATE_RASC
Texto: "Não conseguiu criar arquivo temporário"
"Could not create temporary file"
Alarme ( 10005 )
Proteo: ALARM_LOW_EXECUTION_MEMORY
Texto: "Espaço reduzido na memória de Execução"
"LOW Execution Memory"
Alarme ( 10006 )
Proteo: ALARM_LOW_TOTAL_MEMORY
Texto: "Espaço reduzido na memória Geral"
"LOW General Memory Alarm"
Alarme ( 10007 )
Proteo: ALARM_TOO_MANY_MACROS
Texto: "Excesso de Macros ou Ciclos de usuário"
"Too many MACROS or User Cycles"
Alarme ( 10008 )
Proteo: MAX_ALARM_CODE
Texto: "Código de Alarme Inválido"
"Invalid Alarm Code"
46.2 Códigos de Warning
Warning ( 20000 )
Proteo: FIRST_WARNING_CODE
Texto: "Código de Warning Inválido"
"Invalid Warning Code"
330
Manual do PLC
Warning ( 20001 )
Proteo: WARNING_EXECUTION_ABORTED
Texto: "Retomando a Execução"
"Resuming Execution"
Warning ( 20002 )
Proteo: MAX_WARNING_CODE
Texto: "Código de Warning Inválido"
"Invalid Warning Code"
46.3 Códigos de Emergência
Emergência ( 30000 )
Proteo: FIRST_EMERGENCY_CODE
Texto: "Código de Emergência Inválido"
"Invalid Emergency Code"
Emergência ( 30001 )
Proteo: EMERG_MCS_EVENT_FLAGS_ARE_CORRUPTED
Texto: "Controle de eventos está corrompido"
"MCS Event Flags are corrupted"
Emergência ( 30002 )
Proteo: EMERG_EMERGENCY_MEMORY_IN_USE
Texto: "Memória de Emergência já em uso"
"Emergency Memory already in use"
Emergência ( 30003 )
Proteo: EMERG_MEMORY_FULL
Texto: "Memória Cheia"
"Memory FULL"
Emergência ( 30004 )
Proteo: EMERG_REVIEW_SYSTEM_MEMORY_SIZE
Texto: "Memória de Sistema Insuficiente"
"System Memory Size Problem"
Emergência ( 30005 )
Proteo: EMERG_HEAP_MEMORY_OVERFLOW
Texto: "Memória Heap Insuficiente"
"Heap Memory Overflow"
Emergência ( 30006 )
331
V1.00
Manual do PLC
V1.00
Proteo: EMERG_PEGMSG_MEMORY_OVERFLOW
Texto: "Memória Msg Insuficiente"
"Msg Memory Overflow"
Emergência ( 30007 )
Proteo: EMERG_STACK_MEMORY_OVERFLOW
Texto: "Memória Stack Insuficiente"
"Stack Memory Overflow"
Emergência ( 30008 )
Proteo: EMERG_ARM_DSP_NOT_COMPATIBLE
Texto: "ARM & DSP : SOFTWARE BÁSICO INCOMPATÍVEL"
"ARM & DSP : FIRMWARES ARE NOT COMPATIBLE"
Emergência ( 30009 )
Proteo: MAX_EMERGENCY_CODE
Texto: "Código de Emergência Inválido"
"Invalid Emergency Code"
332
Download

MCS ENGENHARIA MCSplc Manual de PLC