Você está na página 1de 35

12 FUNÇÕES DE SUPORTE DE PROGRAMA

12-10-3 Variáveis
De todos os tipos de variáveis disponíveis para a unidade NC, somente as variáveis locais,
variáveis comuns e parte das variáveis do sistema são retidas mesmo após a energia ser
desligada.

1. Multiplexação de variáveis

Sob especificações de macro do usuário, as variáveis podem ter seus identificadores (números
de identificação) transformados em variáveis, o que é referido como multiplexação, ou
substituído com <expressão>.
Para <expressão>, somente uma expressão aritmética (para multiplicação, divisão, adição ou
subtração) pode ser usada.
Exemplo 1: Variáveis de multiplexação
#1=10 #10=20 #20=30 A partir de #1 = 10, #[#[#1]] = #[#10] resultará.
#5=#[#[#1]] A partir de #10 = 20, #[#10] = #20 resultará. Portanto, #5 = #20,
isto é, #5 = 30 resultará.
#1=10 #10=20 #20=30 A partir de #1 = 10, #[#[#1]] = #[#10] resultará.
#5=1000 A partir de #10 = 20, #[#10] = #20 resultará. Então, #20 = #5, i.e.
#[#[#1]]=#5 #20 = 1000 resultará.
Exemplo 2: Substituindo identificadores de variáveis com <expressão>
#10=5
#[#10+1]=1000 #6 = 1000 resultará.
#[#10–1]=–1000 #4 = –1000 resultará.
#[#10∗3]=100 #15 = 100 resultará.
#[#10/2]=100 #2 = –100 resultará.

2. Variáveis não definidas


Sob especificações de macro do usuário, as variáveis que permanecem não usadas após ligar
a energia, ou as variáveis locais que não são argumento especificado por G65, G66 ou G66.1
podem ser usadas como <vazio>. Variáveis também podem ser estabelecidas eficientemente
em <vazio>.
A variável #0 é sempre usada como uma variável <vazio>, e esta variável não pode ser
definida no lado esquerdo da expressão.

A. Expressão aritmética
#1=#0................. #1 = <vazio>
#2=#0+1 ............ #2 = 1
#3=1+#0 ............ #3 = 1
#4=#0∗10 .......... #4 = 0
#5=#0+#0 .......... #5 = 0
Nota: Cuidado para que <vazio> seja tratado de modo igual como 0 durante o
processamento de expressões.
<vazio> + <vazio> = 0
<vazio> + <constante> = constante
<constante> + <vazio> = constante

12-78
FUNÇÕES DE SUPORTE DE PROGRAMA 12
B. Aplicando variáveis
A aplicação de uma variável não definida sozinha resulta igualmente que o endereço seja
ignorado.
Se #1 = <vazio>
G0X#1Y1000 é equivalenta à G0Y1000, e
G0X[#1+10]Y1000 é equivalente à G0X10Y1000.

C. Expressão condicional
Somente para EQ e NE, <vazio> é diferente de 0 no significado.

Se #101 = <vazio> Se #101 = 0


#101EQ#0 <vazio> = <vazio> é válido. #101EQ#0 0 = <vazio> não é válido.
#101NE0 <vazio> ≠ 0 é válido. #101NE0 0 ≠ 0 não é válido.
#101GE#0 <vazio> ≥ <vazio> é válido. #101GE#0 0 ≥ <vazio>> é válido.
#101GT0 <vazio> > 0 não é válido. #101GT0 0 > 0 não é válido.

Lista de condições de válido e condições de não-válido


(Para expresssões condicionais incluindo variáveis não definidas)

Lado dir. EQ NE GT LT GE LE
Lado esq. Vazio Constante Vazio Constante Vazio Constante Vazio Constante Vazio Constante Vazio Constante

Vazio H H H H H
Constante H H H

H: Válidos (A expressão condicional é válida.)


Em branco: A expressão condicional não é válida.

12-79
12 FUNÇÕES DE SUPORTE DE PROGRAMA

12-10-4 Tipos de variáveis

1. Variáveis comuns (#100 a #199 e #500 a #999)


As variáveis comuns referem-se às variáveis a serem usadas em comum em qualquer posição.
Os identificadores de variáveis comuns que podem ser usados são de #100 a #199 ou de #500
a #999.

2. Variáveis locais (#1 a #33)


Variáveis locais referem-se ás variáveis que podem ser definidas como <argumento> ao
chamar um subprograma de macro, ou as que podem ser usadas localmente dentro do
programa principal ou de um subprograma. Não há relações entre macros. Assim, estas
variáveis podem ser sobrepostas uma com a outra, mas até um máximo de quatro níveis de
sobreposição.

G65Pp1L 1 <argumento>

onde p1 : Número do programa


1: Número de repetições
<Argumento> deve ser: Aa1 Bb1 Cc1 Zz1.
A seguir está representada a relação entre o endereço especificado por <argumento> e o
número da variável local usada na unidade de macro do usuário:

Comandos de Comandos de
chamada Endereço do chamada Endereço do
Variável local Variável local
G65 argumento G65 argumento
G66.1 G66.1
G66 G66
A #1 R #18
B #2 S #19
C #3 T #20
D #7 U #21
E #8 V #22
F #9 W #23
× ×* G #10 X #24
H #11 Y #25
I #4 Z #26
J #5 – #27
K #6 – #28
× ×* L #12 – #29
M #13 – #30
× ×* N #14 – #31
× × O #15 – #32
× ×* P #16 – #33
Q #17

Os endereços de argumento marcados com × na tabela acima não podem ser usados.
Entretanto, somente durante o modo G66.1, os endereços de argumento marcados com um
asterisco (*) nesta tabela podem ser usados adicionalmente. Também, o sinal (–) indica que
nenhum endereço é ligado cruzado ao número da variável local.

12-80
FUNÇÕES DE SUPORTE DE PROGRAMA 12
1. Variáveis locais para um subprograma podem ser definidas ao especificar <argumento>
quando chamar uma macro.

Programa principal Subprograma (O9900)

P/ subprograma #5=#4010
G65P9900A60.S100.F800 G91G01 X[#19*COS[#1]]
Y[#19*SIN[#1]]F#9
M02 M99

Controle do movimento e
outros após referir às
variáveis locais.
Configuração da variável A (#1)=60.000
local por argumento
F (#9)=800
Tabela de dados
da variável local S (#19)=100.000

2. Dentro de um subprograma, as variáveis locais podem ser livremente usadas.

Programa principal Subprograma (O1)

#30=FUP[#2/#5/2]
P/ subprograma
#5=#2/#30/2
M98H100L#30
G65P1A100.B50.J10.F500
X#1
M99
N100G1X#1F#9
Y#5
X–#1
Exemplo de fresamento de face X#5
M99

Variáveis locais po-


dem ser mudadas
Variável local config. por argumento
no subprograma
B

A (#1) 100.000
Tabela de B (#2) 50.000
J F (#9) 500
dados das
variáveis locais J (#5) 10.000 → 8.333
A (#30) → 3.

No programa de amostras para o fresamento de face que está mostrado acima, apesar do
argumento J ter sido inicialmente programado como um passo de usinagem de 10 mm, ele foi
mudado para 8.333 mm para assegurar usinagem de passo igual.
Também a variável local #30 contém os dados calculados sobre o número de vezes de
usinagem recíproca.

12-81
12 FUNÇÕES DE SUPORTE DE PROGRAMA

3. As variáveis locais podem ser usadas para cada um dos quatro níveis de chamada de
macro separadamente. Para o programa principal (nível de macro 0), variáveis locais
separadas também são estabelecidas. As variáveis locais de nível 0, contudo, não podem
ser designadas com argumentos.

Principal (Nível 0) O1 (Nível de Macro 1) O10 (Nível de Macro 2) O100 (Nível de Macro 3)

#1=0.1#2=0.2#3=0.3

P65P1A1.B2.C3. G65P10A10.B20.C30. G65P100A100.B200.

M02 M99 M99 M99

Variável local (0) Variável local (1) Variável local (2) Variável local (3)
#1 0.100 A(#1) 1.000 A(#1) 10.000 A(#1) 100.000
#2 0.200 B(#2) 2.000 B(#2) 20.000 B(#2) 200.000
#3 0.300 C(#3) 3.000 C(#3) 30.000 C(#3)
D(#7) D(#7)

Z(#26) Z(#26) Z(#26)

#33 #33 #33 #33

Na tela, é exibido como as variáveis locais estão sendo usadas correntemente.


Para mais detalhes, refira-se ao Manual de Operação.

12-82
FUNÇÕES DE SUPORTE DE PROGRAMA 12
3. Variáveis do sistema de entrada da interface de macros (#1000 a #1035)

Você pode checar o status de um sinal de entrada de uma interface ao ler o valor do número
apropriado (#1000 a #1035) da variável.
O valor lido do número da variável é 1 (contato fechado) ou 0 (contato aberto). Você também
pode checar o status de todos os sinais de entrada das variáveis de #1000 a #1031 ao ler o
valor do número da variável 1032. As variáveis de #1000 a #1035 somente podem ser lidas;
elas não podem ser colocadas no lado esquerdo de uma expressão aritmética.

Variável do Sinal de entrada da Variável do Sinal de entrada da


Pontos Pontos
sistema interface sistema interface
#1000 1 Registro R72, bit 0 #1016 1 Registro R73, bit 0
#1001 1 Registro R72, bit 1 #1017 1 Registro R73, bit 1
#1002 1 Registro R72, bit 2 #1018 1 Registro R73, bit 2
#1003 1 Registro R72, bit 3 #1019 1 Registro R73, bit 3
#1004 1 Registro R72, bit 4 #1020 1 Registro R73, bit 4
#1005 1 Registro R72, bit 5 #1021 1 Registro R73, bit 5
#1006 1 Registro R72, bit 6 #1022 1 Registro R73, bit 6
#1007 1 Registro R72, bit 7 #1023 1 Registro R73, bit 7
#1008 1 Registro R72, bit 8 #1024 1 Registro R73, bit 8
#1009 1 Registro R72, bit 9 #1025 1 Registro R73, bit 9
#1010 1 Registro R72, bit 10 #1026 1 Registro R73, bit 10
#1011 1 Registro R72, bit 11 #1027 1 Registro R73, bit 11
#1012 1 Registro R72, bit 12 #1028 1 Registro R73, bit 12
#1013 1 Registro R72, bit 13 #1029 1 Registro R73, bit 13
#1014 1 Registro R72, bit 14 #1030 1 Registro R73, bit 14
#1015 1 Registro R72, bit 15 #1031 1 Registro R73, bit 15

Variável do Sinal de entrada da


Pontos
sistema interface
#1032 32 Registro R72 e R73
#1033 32 Registro R74 e R75
#1034 32 Registro R76 e R77
#1035 32 Registro R78 e R79

Nota: Os seguintes sinais de entrada da interface são usados exclusivamente na operação


do sistema NC (não pode ser usado para outros propósitos).

Sinal de entrada da Descrição


interface
Registro R72, bit 0 Sensor de toque montado no spindle
Registro R72, bit 4 ATIVA trava dos eixos X e Y da máquina
Registro R72, bit 5 ATIVA trava dos códigos M, S e T
Registro R72, bit 6 ATIVA trava dos eixos Z da máquina

12-83
12 FUNÇÕES DE SUPORTE DE PROGRAMA

4. Variáveis do sistema de saída da interface de macros (#1100 a #1135)

Você pode enviar um sinal de saída da interface designando um valor ao número apropriado
(#1100 a #1135) da variável.
Todos os sinais de saída podem assumir o valor 0 ou 1.
Você também pode enviar todos os sinais de saída das variáveis de #1100 a #1131 ao mesmo
tempo designando um valor ao número das variáveis 1132. Além de escrever os dados para
compensar os sinais de saída de #1100 a #1135, a leitura do status do sinal de saída pode ser
feita.

Variável do Sinal de saída da Variável do Sinal de saída da


Pontos Pontos
sistema interface sistema interface
#1100 1 Registro R172, bit 0 #1116 1 Registro R173, bit 0
#1101 1 Registro R172, bit 1 #1117 1 Registro R173, bit 1
#1102 1 Registro R172, bit 2 #1118 1 Registro R173, bit 2
#1103 1 Registro R172, bit 3 #1119 1 Registro R173, bit 3
#1104 1 Registro R172, bit 4 #1120 1 Registro R173, bit 4
#1105 1 Registro R172, bit 5 #1121 1 Registro R173, bit 5
#1106 1 Registro R172, bit 6 #1122 1 Registro R173, bit 6
#1107 1 Registro R172, bit 7 #1123 1 Registro R173, bit 7
#1108 1 Registro R172, bit 8 #1124 1 Registro R173, bit 8
#1109 1 Registro R172, bit 9 #1125 1 Registro R173, bit 9
#1110 1 Registro R172, bit 10 #1126 1 Registro R173, bit 10
#1111 1 Registro R172, bit 11 #1127 1 Registro R173, bit 11
#1112 1 Registro R172, bit 12 #1128 1 Registro R173, bit 12
#1113 1 Registro R172, bit 13 #1129 1 Registro R173, bit 13
#1114 1 Registro R172, bit 14 #1130 1 Registro R173, bit 14
#1115 1 Registro R172, bit 15 #1131 1 Registro R173, bit 15

Variável do Sinal de saída da


Pontos
sistema interface
#1132 32 Registro R172 e R173
#1133 32 Registro R174 e R175
#1134 32 Registro R176 e R177
#1135 32 Registro R178 e R179

Nota 1: Os dados das variáveis do sistema de #1100 a #1135 são salvos de acordo com o
nível lógico (1 ou 0) do sinal que foi enviado por último. Os dados salvos são
apagados automaticamente ao ligar/desligar a energia.
Nota 2: O seguinte é aplicado se um dado diferente de 1 ou 0 é designado às variáveis de
#1100 a #1131:
<vazio> é considerado igual a 0.
Dado diferente de 0 e <vazio> é considerado igual a 1.
Dado menor que 0.00000001, entretando, é considerado como indefinido.

12-84
FUNÇÕES DE SUPORTE DE PROGRAMA 12

(R72, R73) #1032 #1132 (R172, R173)


Sinal de entrada Sinal de saída
#1000 #1100

#1001 #1101

#1002 #1102
Ler Ler e
#1003 #1103
somente escrever

#1028 #1128

#1029 #1129
macro- #1130
#1030
instrução
#1031 #1131

32 bit (R74, R75) (R174, R175) 32 bit


#1033 #1133
(R76, R77) (R176, R177)
#1034 #1134
(R78, R79) (R178, R179)
#1035 #1135

5. Compensação da ferramenta

Dados de COMPENSAÇÃO DA FERRAMENTA do tipo C são fornecidos p/ máqs. de tornear.


: Disponível × : Não disponível
Faixa dos números das variáveis Tipo A Tipo B Tipo C Tipo D
#100001 - #10001 - #2001 - Compens. da Compens. da
Comprim. Z
#100000+n #10000+n #2000+n geom. compr. geometria Z

#110001 - #11001 - #2201 - Compens. do Compens. do


×
#110000+n #11000+n #2200+n desg. compr. desgaste em Z

#160001 - #16001 -
Compens. da Compens. da
#160000+n #16000+n #2401 -
× geometria do geometria do R Raio R
*(#120001 - *(#12001 - #2400+n
diâmetro da ponta
#120000+n) #12000+n)
#170001 - #17001 -
170000+n #17000+n Compens. do Compens. do
#2601 -
× desgaste do. desgaste do
*(#130001 - *(#13001 - #2600+n
diâmetro R da ponta
#130000+n) #13000+n)
#120001 - #12001 - Compens. da
× × Comprim. X
#120000+n #12000+n geometria X

#130001 - #13001 - Compens. do


× ×
#130000+n #13000+n desgaste em X

#140001 - #14001 - Compens. da


× × Comprim. Y
#140000+n #14000+n geometria Y

#150001 - #15001 - Compens. do


× ×
#150000+n #15000+n desgaste emY

#180001 - #18001 - Sentido da Sentido da


× ×
#180000+n #18000+n compens. compens.

12-85
12 FUNÇÕES DE SUPORTE DE PROGRAMA

n: Número de ferramentas disponíveis (de acordo com a especificação da máquina)


Números das Máximo de n
variáveis
#100001 - #184000 4000
#10001 - #18999 999
#2001 - #2800 200

*: Os números das variáveis usados para a compensação da ferramenta dependem de um parâmetro:


F96 bit 0 = 0: #16001 a #16000+n, e #17001 a #17000+n
= 1: #12001 a #12000+n, e #13001 a #13000+n.

Nota: Configure o bit 0 do parâmetro F96 em “0” para usar os dados de COMPENSAÇÃO
DA FERRAMENTA do tipo C.

Usando os números das variáveis, você pode ler os dados da ferramenta ou designar dados.
Os números das variáveis usáveis sâo da ordem de #10000 ou #2000. Para a ordem de #2000,
entretanto, somente até 200 conjuntos de compensações de ferramenta podem ser usados.
Os últimos três dígitos de um número da variável indicam um número de compensação da
ferramenta.
Como com outras variáveis, os dados de compensação da ferramenta devem conter o ponto
decimal. Assim, o ponto decimal deve ser incluído ao configurar dados que têm dígitos
decimais.

Exemplo de programa Variáveis comuns Dados compens. da ferram.


Após a
execução
#101=1000 #101=1000.0
#10001=#101
#102=#10001 H1=1000.000
#102=1000.0

Exemplo: Medição dos dados de compensação da ferramenta

G28Z0T01 Retorno ao ponto zero


M06 Troca da Ferram. (Spindle T01)
#1
#1=#5003 Memória do ponto inicial
G00Z–500. Avanço rápido p/ posição de G00
segurança H1
G31Z–100.F100
#10001=#5063–#1 Medição do pulo G31
Cálculo da dist. de medição e #5063
configuração dos dados de
compensação da ferramenta
Sensor

Nota: O exemplo mostrado acima não permite nenhum atraso do sinal do sensor de pulo.
Também, #5003 indica a posição do ponto inicial do eixo Z, e #5063 indica as
coordenadas do pulo do eixo Z, isto é, a posição em que um sinal de pulo foi entrado
durante a execução de G31.

12-86
FUNÇÕES DE SUPORTE DE PROGRAMA 12
6. Offset do sistema de coordenadas da peça de trabalho

Usando os números das variáveis de 5201 a 5336, você pode ler os dados de offset do sistema
de coordendas da peça de trabalho ou designar dados.
Nota: O número de eixos controláveis depende das especificações da máquina.

No. do eixo
1º eixo 2º eixo 3º eixo 16º eixo Observações
Nome do dado

Uma espec. opcional de entrada/saída


DESLOC #5201 #5202 #5203 #5216
de dados externos é requerida.
G54 #5221 #5222 #5223 #5236
G55 #5241 #5242 #5243 #5256
G56 #5261 #5262 #5263 #5276 Uma característica do offset do sistema
de coordenadas da peça de trabalho é
G57 #5281 #5282 #5283 #5296 requerida.
G58 #5301 #5302 #5303 #5316
G59 #5321 #5322 #5323 #5336

(Exemplo 1) N1
M
N1 G28X0Y0Z0 –90.
N2 #5221=–20.#5222=–20.
N3
N3 G90G00G54X0Y0 –10.
W1 N11 –20.
W1
N10 #5221=–90.#5222=–10. Sistema de coordenadas
da peça de trabalho de
N11 G90G00G54X0Y0
G54 especificado por
N10 Sistema de coordenadas da peça
de trabalho de G54 especificado
M02 por N2

(Exemplo 2)
Sistema de coords. fundamentais da máquina
Deslocamento das coordenadas M
Sistema de
coordenadas G55
antes da G54
mudança
W2 (G55)
N100 #5221=#5221+#5201 W1 (G54)
#5222=#5222+#5202
#5241=#5241+#5201
#5242=#5242+#5202
#5201=0 #5202=0 Sistema de coords. fundamentais da máquina

Sistema de M
coordenadas G55
G54
após a
mudança
W2 (G55)
W1 (G54)

MEP166

O exemplo 2 motrado acima é aplicado somente quando os dados de deslocamento das


coordenadas deve ser adicionado aos dados de offset do sistema de coordenadas da peça de
trabalho (G54 ou G55) sem mudar a posição do sistema de coordenadas da peça de trabalho.

12-87
12 FUNÇÕES DE SUPORTE DE PROGRAMA

[Offset do sistema adicional de coordenadas da peça de trabalho]


As variáveis numeradas de 70001 a 75996 podem ser usadas para ler ou designar as
dimensões do offset do sistema adicional de coordenadas da peça de trabalho. O número da
variável para a origem do eixo de ordem k do sistema de coordenadas “Pn” pode ser calculado
como segue:
70000 + (n – 1) × 20 + k
Nota: O número total de eixos controláveis depende das especificações da máquina.

No. do eixo 16º


1º eixo 2º eixo 3º eixo 4º eixo Observações
Nome do dado eixo
G54.1P1 #70001 #70002 #70003 #70004 #70016 Somente disponível
G54.1P2 #70021 #70022 #70023 #70024 #70036 com a função
opcional para o
offset do sistema
G54.1P299 #75961 #75962 #75963 #75964 #75976 adicional de
G54.1P300 #75981 #75982 #75983 #75984 #75996 coordenadas.

Alternativamente, as variáveis numeradas de 7001 a 7956 podem ser usadas para ler ou
designar as dimensões do offset de sistema adicional de coordenadas da peça de trabalho. O
número da variável para a origem do eixo de ordem k do sistema de coordenadas “Pn” pode
ser calculado como segue:
7000 + (n – 1) × 20 + k
Nota: O número total de eixos controláveis depende das especificações da máquina.

No. do eixo 16º


1º eixo 2º eixo 3º eixo 4º eixo Observações
Nome do dado eixo
G54.1P1 #7001 #7002 #7003 #7004 #7016 Somente disponível
G54.1P2 #7021 #7022 #7023 #7024 #7036 com a função
opcional para o
G54.1P3 #7041 #7042 #7043 #7044 #7056
offset do sistema
adicional de
G54.1P48 #7941 #7942 #7943 #7944 #7956 coordenadas.

7. Offset do sistema de coordenadas local (#5381 a #5386)


Como mostrado abaixo, há números das variáveis estabelecidos para ler os valores da
correção local do sistema de coordenadas da peça de trabalho corrente.

Nrs. das variáveis Descrição


#5381 Valor do offset local para o 1º eixo.
#5382 Valor do offset local para o 2º eixo.
#5383 Valor do offset local para o 3º eixo.
#5384 Valor do offset local para o 4º eixo..
#5385 Valor do offset local para o 5º eixo.
#5386 Valor do offset local para o 6º eixo.

12-88
FUNÇÕES DE SUPORTE DE PROGRAMA 12
8. Posições dos pontos zero (#5701 a #5776)
Como mostrado abaixo, há números estabelecidos das variáveis para ler as posições do eixo
do 1º ao 4º ponto zero (como configurado pelos parâmetros de M4 a M7).

1º eixo 2º eixo ..... 16º eixo


M4 #5701 #5702 ..... #5716
M5 #5721 #5722 ..... #5736
M6 #5741 #5742 ..... #5756
M7 #5761 #5762 ..... #5776

9. Alarme do NC (#3000)

A unidade NC pode ser compelida a um status de alarme usando o número da variável 3000.

#3000 = 70 (CHAMAR#PROGRAMA#530)

Nr. do alarme Mensagem do alarme

A faixa de configuração para o nr. do alarme é de 1 a 6999.


O comprimento máximo disponível da mensagem do alarme é de 31 caracteres.
Nota: O tipo de mensagem de alarme exibido na tela depende do número de alarme
designado, como indicado na tabela seguinte.

Nr. do alarme designado Nr. do alarme exibido Mensagem de alarme exibida


1 a 20 [Alarme designado Nr.] + 979 Mensagem pré-config. p/ o alarme exibido nr. *1
21 a 6999 [Alarme designado Nr.] + 3000 Mensagem de alarme designada como ela é *2

*1 Refere-se aos alarmes nrs. 980 ao 999 cujas mensagens são pré-configuradas como indicado na Lista de Alarmes.
*2 Exibição de uma mensagem como ela é configurada na instrução de macro.

Ex. 1 de programa (Comando para a


exibição de “980 ALARME 1 MACRO
UTILIZADOR” na condição de #1=0)

IF[#1NE0]GOTO100 980 ALARME 1 MACRO UTILIZADOR


Parada da operação
#3000=1
por alarme do NC
N100

Ex. 2 de programa (Comando para a


exibição de “3021#ORIGINAL#ALARM#1”
na condição de #2=0)

IF[#2NE0]GOTO200 Parada da oper.


3021#ORIGINAL#ALARM#1
#3000=21(#ORIGINAL#ALARM#1) p/ alarme do NC
N200

12-89
12 FUNÇÕES DE SUPORTE DE PROGRAMA

10. Tempo integrado (#3001, #3002)


Usando as variáveis #3001 e #3002, você pode ler o tempo integrado existente durante a
operação automática ou designar dados.

Nr. da Dados c/ energia


Tipo Unid. Inicialização Contagem
Variável ligada
Tempo Integrado 1 3001 Mesmo como em Dados designados Sempre durante energia ligada
msec
Tempo Integrado 2 3002 energia desligada em variáveis. Durante início automático

11
O tempo integrado é alterado para 0 após ter alcançado aproximadamente 2.44 × 10 msec
(aproximadamente 7.7 anos).

O9010

P/ o subprograma #3001=0
WHILE[#3001LE#20]DO1
G65P9010T (Tempo permit. msec)

END1
M99

Variável local A execução dos blocos de DO1 a


END1 é repetida até que o tempo
T#20______
permitido tenha expirado, e, então, o
P/ a variável local #20
controle pula p/ o bloco de fim M99.

11. Valid. /invalid. de parada de bloco único ou espera de sinal de acabar função aux. (#3003)
Designando um dos valores listados na tabela abaixo para o número da variável 3003 permite
que a parada de bloco único seja tornada inválida nos blocos subseqüentes ou o programa seja
avançado para o próximo bloco sem nunca ter de esperar pela chegada de um sinal (FIN) de
terminar a execução do código de função auxiliar (M, S, T ou B).

#3003 Parada de bloco único Sinal de conclusão de função auxiliar


0 Efetiva Espera
1 Inefetiva Espera
2 Efetiva Não espera
3 Inefetiva Não espera

Nota: A variável #3003 é alterada para 0 por reconfiguração.

12-90
FUNÇÕES DE SUPORTE DE PROGRAMA 12

12. Validação/invalidação da manut. do avanço, variação da vel. de avanço ou G09 (#3004)


A manutenção do avanço, variação da velocidade de avanço ou G09 podem ser feitos válidos
ou inválidos para os blocos subseqüentes ao designar um dos valores listados na tabela abaixo
para o número da variável 3004.
#3004 Bit 0 Bit 1 Bit 2
Conteúdo (Valor) Manutenção do avanço Variação da vel. de avanço Checagem G09
0 Efetiva Efetiva Efetiva
1 Inefetiva Efetiva Efetiva
2 Efetiva Inefetiva Efetiva
3 Inefetiva Inefetiva Efetiva
4 Efetiva Efetiva Inefetiva
5 Inefetiva Efetiva Inefetiva
6 Efetiva Inefetiva Inefetiva
7 Inefetiva Inefetiva Inefetiva

Nota 1: A variável #3004 é alterada para 0 por reconfiguração.


Nota 2: Cada um dos bits listados torna a função válida se 0, ou inválida se 1.

13. Parada do programa (#3006)

O uso do número da variável 3006 permite que o programa seja parado após a execução do
bloco imediatamente precedente.

Formato:
#3006 = 1 (CHECK OPERAT)

String de caracteres a ser exibido

Configuração adicional de um string de caracteres (em 29 caracteres no máximo) em


parênteses permite que a mensagem de parada requerida seja exibida no monitor.

14. Imagem espelho (#3007)

O status de imagem espelho de cada eixo em um tempo particular pode ser checado ao ler a
variável de número 3007.
A variável #3007 tem cada bit ligado cruzado a um eixo, e estes bits indicam que:
Se 0, a imagem espelho é inválida.
Se 1, a imagem espelho é válida.
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Nr. do eixo 6 5 4 3 2 1

12-91
12 FUNÇÕES DE SUPORTE DE PROGRAMA

15. Status modal do comando G

O status modal do comando G em um bloco pré-lido pode ser checado usando números das
variáveis de 4001 a 4026. Para números das variáveis de #4201 a #4226, o status modal do
bloco que está sendo executado pode ser checado de uma maneira similar àquela descrita
acima.
Nrs. da variável
Bloco Bloco Função
pré-lido executado
#4001 #4201 Modo da interpolação G0-G3 : 0-3, G2.1 : 2.1, G3.1 : 3.1
#4002 #4202 Seleção do plano G17 : 17, G18 : 18, G19 : 19
#4003 #4203
#4004 #4204 Checagem do curso do pré-movimento G22 : 22, G23 : 23
#4005 #4205 Especificação do avanço G98 : 98, G99 : 99
#4006 #4206 Seleção polegada/mm G20/21 : 20/21
#4007 #4207 Compensação do diâmetro da ferramenta G40 : 40, G41 : 41, G42 : 42
#4008 #4208 Compensação do compr. da ferramenta G43.4 : 43.4, G43.5 : 43.5
#4009 #4209 Ciclo fixo G80 : 80, G73/74 : 73/74, G76 : 76, G83-G89 : 83-89
#4010 #4210
#4011 #4211
#4012 #4212 Sistema de coordenadas da peça de trabalho G54-G59 : 54-59, G54.1 : 54.1
#4013 #4213 Modo de usinagem (avanço) G61-64 : 61-64, G61.1 : 61.1, G61.4 : 61.4
#4014 #4214 Chamada modal de macro G66 : 66, G66.1 : 66.1, G67 : 67
#4015 #4215
#4016 #4216 Ativar/Cancelar – Conversão de coords. programadas G68.5/69.5 : 68.5/69.5
#4017 #4217 Ativar/Cancelar – Velocidade de corte constante G96/97 : 96/97
#4018 #4218
#4019 #4219
#4020 #4220 Controle de usinagem transversal G110 : 110, G110.1 : 110.1, G111 : 111
#4021 #4221
#4022 #4222
#4023 #4223 Usinagem poligonal G50.2 : 50.2, G51.2 : 51.2
#4024 #4224 Saída de código M/S/T/B para o sistema oposto G112 : 112
#4025 #4225
#4026 #4226 Ativar/Cancelar – Interpolação de coordenadas polares G12.1/13.1 : 12.1/13.1

12-92
FUNÇÕES DE SUPORTE DE PROGRAMA 12
16. Outras informações modais

As informações modais sobre fatores diferentes do status modal do comando G em um bloco


pré-lido podem ser checadas usando números das variáveis de 4101 a 4130. Para números
das variáveis de #4301 a #4330, a informação modal do bloco que está sendo executado pode
ser checada de maneira similar àquela descrita acima.

Nrs. da variável Nrs. da variável


Bloco Bloco Informação modal Bloco Bloco Informação modal
pré-lido executado pré-lido executado

#4101 #4301 #4112 #4312


#4102 #4302 Função miscelânea nr. 2 #4113 #4313 Função miscelânea M
#4103 #4303 #4114 #4314 Nr. de seqüência N
#4104 #4304 #4115 #4315 Nr. do programa O
#4105 #4305 #4116 #4316
#4106 #4306 #4117 #4317
#4107 #4307 Nr. compens. diâm. ferram. D #4118 #4318
#4108 #4308 #4119 #4319 Função spindle S

#4109 #4309 Velocidade de avanço F #4120 #4320 Função ferramenta T

#4110 #4310 Adic. sistema coords. pç trabalho


#4130 #4330 G54-G59: 0,
#4111 #4311 Nr. compen. comp. ferr. H G54.1P1-P300: 1-300

12-93
12 FUNÇÕES DE SUPORTE DE PROGRAMA

17. Informações de posição

Usando os números das variáveis de #5001 a #5116, você pode checar as coordenadas do
ponto de fim do bloco prévio, coordenadas da máquina, coordenadas da peça de trabalho,
coordenadas do pulo, coordenadas da compensação da posição da ferramenta e servodesvios.

Informação da Coordenadas Coords. da


Coords. da Valor do
do ponto de Coords. da Coords. do compens.
posição peça de servo
fim do bloco máquina pulo posição da
trabalho desvio
Nr. do eixo prévio ferramenta
1 #5001 #5021 #5041 #5061 #5081 #5101
2 #5002 #5022 #5042 #5062 #5082 #5102
3 #5003 #5023 #5043 #5063 #5083 #5103

16 #5016 #5036 #5056 #5076 #5096 #5116


Observações
Possível Impossível Impossível Possível Impossível Possível
(Leitura durante mov.)

Nota: O número de eixos controláveis depende das especificações da máquina.

1. As coordenadas do ponto de fim e as coordenadas do pulo lidas serão aquelas


relacionadas ao sistema de coordenadas da peça de trabalho.
2. As coordenadas do ponto de fim, as coordenadas do pulo e os servodesvios podem ser
checados mesmo durante o movimento. As coordenadas da máquina, as coordenadas da
peça de trabalho e as coordenadas da compensação da posição da ferramenta devem ser
checadas somente após o movimento ter parado.

Sistema de coords. fundamental da máquina M

Sistema de coords. da peça de trabalho W

G00

G01

Comando
lido
Coordenadas
do ponto final

W Sistema de coords. da
peça de trabalho

Coordenadas da
peça de trabalho
Sistema de
coords .da máquina
Coordenadas M
da máquina

MEP167

12-94
FUNÇÕES DE SUPORTE DE PROGRAMA 12
3. As coordenadas do pulo indicam a posição em que o sinal do pulo é ativado no bloco de
G31. Se o sinal do pulo não for ativado, as coordenadas do pulo indicarão a posição do
ponto final correspondente.

Comando
lido

Valor das coordenadas do pulo

Medidor, etc.

MEP168

4. A posição de ponto final indica a posição da ponta da ferramenta que não permite
qualquer compensação da ferramenta, enquanto que as coordenadas da máquina, as
coordenadas da peça de trabalho e as coordenadas do pulo indicam a posição do ponto
de referência da ferramenta que permite as compensações da ferramenta.

Sinal de pulo

F (Velocidade)
W Sistema de
coordenadas da
peça de trabalho
Coordenadas da
Coordenadas de entrada peça de trabalho Sistema de
do sinal de pulo
coordenadas
M da máquina
Coordenadas da máquina
Marca : Lida após a confirmação de parada.
Marca : Pode ser lida durante o movimento MEP169

A entrada de coordenadas de um sinal de pulo indica a posição dentro do sistema de


coordenadas da peça de trabalho. As coordenadas armazenadas nas variáveis de #5061
a #5066 são as existentes quando os sinais de pulo foram entrados durante o movimento
da máquina. Estas coordenadas podem, portanto, ser lidas a qualquer tempo após isso.
Consulte o Capítulo 14 para mais detalhes.

12-95
12 FUNÇÕES DE SUPORTE DE PROGRAMA

Exemplo 1: Medição da posição da peça de trabalho:


A seguir é apresentado um exemplo de medição da distância a partir de um
ponto de medição de referência até a extremidade da peça de trabalho:

Argumento (variável local)


O9031
F (#9) 200 N1 #180=#4003
X (#24) 100.000 N2 #30=#5001#31=#5002
Y (#25) 100.000
N3 G91G01Z#26F#9
Z (#26) –10.000
N4 G31X#24Y#25F#9
N5 G90G00X#30Y#31
G65P9031X100.Y100.Z-10.F200
N6 #101=#30–#5061#102=#31–#5062
P/ o subprograma
N7 #103=SQR[#101?#101+#102?#102]
N8 G91G01Z–#26
N9 IF[#180EQ91]GOTO11
(Variável comum) N10 G90
N11 M99
Entrada do sinal do pulo #101 87.245
#102 87.245
Ponto inicial #103 123.383
N4
Z N3 #102
#103
N8
N5
Y
X #101

#101 Valor da medição do eixo X N1 Armazenagem dos dados modais de G90/G91


#102 Valor da medição do eixo Y N2 Armazenagem dos dados do ponto inicial X, Y
#103 Valor linear da linha de medição N3 Entrada do eixo Z
#5001 Ponto inicial de medição do eixo X N4 Medição de X, Y (parada na entrada do pulo)
#5002 Ponto inicial de medição do eixo Y N5 Retorno para o ponto inicial X, Y
#5061 Ponto de entrada do pulo no eixo X N6 Cálculo dos dados incrementais de medição de X, Y
#5062 Ponto de entrada do pulo no eixo Y N7 Cálculo do valor linear da linha de medição
N8 Saída do eixo Z
N9, N10 Retorno do modal de G90/G91
N11 Retorno a partir de subprograma

12-96
FUNÇÕES DE SUPORTE DE PROGRAMA 12
Exemplo 2: Leitura das coordenadas de entrada do pulo:

–150 –75 –25 Y


–X X

N1 G91G28X0Y0
N2 G90G00X0Y0 –50
N3 X0Y–100.
N4 G31X–150.Y–50.F80 –75
N5 #111=#5061 #112=#5062
N6 G00Y0 –100
N7 G31X0
N8 #121=#5061 #122=#5062
N9 M02 –Y
Sinal do pulo
MEP171

#111 = –75. + ε #112 = –75. + ε


#121 = –25. + ε #122 = –75. + ε
onde ε indica um erro devido à demora da resposta. (Consulte o capítulo 14 para mais
detalhes.) A variável #122 indica a coordenada de entrada do sinal de pulo de N4, pois N7 não
tem um código de comando Y.

18. Parâmetros de medição

Os números das variáveis fornecidos para a leitura dos parâmetros de medição são como
segue:

Variàveis Descrição Parâmetro Registro R


#3071 Especificação de tolerância (Lim. inferior) p/ a medição da peça de trab. K17
#3072 Especificação de tolerância (Lim. superior) p/ a medição da peça de trab. K18
#3086 Velocidade de avanço do pulo para a medição K13
#3087 Velocidade de avanço da aproximação para a medição K14
#3088 Velocidade de avanço do pulo para a medição (para o eixo C) K15
#3089 Velocidade de avanço da aproximação para a medição (para o eixo C) K16
#5501 Excentricidade da ponta do sensor de toque (componente X) L1
#5502 Excentricidade da ponta do sensor de toque (componente Y) L2
#5503 Raio da esfera da ponta do sensor de toque (componente X) L3
#5504 Raio da esfera da ponta do sensor de toque (componente Y) L4
#58165 Freqüência de verificação para a medição da peça de trabalho K23 R8164, 8165
#58167 Velocidade de avanço do pulo para a medição K13 R8166, 8167
#58169 Velocidade de avanço da aproximação para a medição K14 R8168, 8169
#58171 Curso da medição para a medição da peça de trabalho K19 R8170, 8171
#58172 Distância de segurança do perfil – Diâmetro externo (Valor do raio) TC37 R8172
#58173 Distância de segurança do perfil – Diâmetro interno (Valor do raio) TC38 R8173
#58174 Distância de segurança do perfil – Face frontal TC39 R8174
#58175 Distância de segurança do perfil – Face oposta TC40 R8175
#58205 Curso de medição para a medição da ponta da ferramenta K20
#58221 Largura do sensor de medição da ponta da ferram. ao longo do eixo X L22
#58223 Largura do sensor de medição da ponta da ferram. ao longo do eixo Z L23
#58225 Posição de referência do sensor de medição da ponta da ferram. em X L24
#58227 Posição de referência do sensor de medição da ponta da ferram. em Z L25
#58229 Posição de referência do sensor de medição da ponta da ferram. em Y L26
#58259 Dist. da saída do eixo Z do ponto de aprox. após a med. do TOOL EYE L28

12-97
12 FUNÇÕES DE SUPORTE DE PROGRAMA

19. TNo. (#51999) e número da linha de dados (#3020) da ferramenta do spindle

As variáveis numeradas 51999 e 3020 podem checar o número da ferramenta e o número da


linha de DADOS FERRAMEN da ferramenta montada no spindle.

Variável do sistema Descrição


#51999 Número da ferramenta da ferramenta do spindle
Número da linha de DADOS FERRAMEN da
#3020
ferramenta do spindle

Nota 1: Estas variáveis do sistema são variávies somente de leitura.


Nota 2: Durante a operação de checagem do percurso da ferramenta ambas as variáveis
(#51999 e #3020) armazenam dados com simples referência para o “TNo.”
programado em um código T e, portanto, permanecem zero (0) quando o programa
relacionado não usou códigos T.

20. Dados da ferramenta MAZATROL

Usando as variáveis tabuladas abaixo, os dados da ferramenta MAZATROL podem ser lidos ou
escritos, como requerido.
Variáveis a partir de #60001 .... Quantidade de ferramentas: 400 (máxima)
Variáveis a partir de #600001 .. Quantidade de ferramentas: 4000 (máxima)
A quantidade máxima de ferramentas aplicáveis depende das especificações da máquina.
(n = Número de indexação da ferramenta)
Variáveis do sistema Dados da ferramenta MAZATROL
#60001 a #60000+n #600001 a #600000+n Compr. da ferram. (fresamento)/Compr. A (torneamento)
#61001 a #61000+n #610001 a #610000+n Diâm. da ferram. (fresamento)
#62001 a #62000+n #620001 a #620000+n Marcação da vida da ferramenta
#63001 a #63000+n #630001 a #630000+n Marcação do dano da ferramenta
#64001 a #64000+n #640001 a #640000+n Compensação do desgaste em X
#65001 a #65000+n #650001 a #650000+n Compensação do desgaste em Y
#66001 a #66000+n #660001 a #660000+n Compensação do desgaste em Z
#67001 a #67000+n #670001 a #670000+n Número do grupo
#68001 a #68000+n #680001 a #680000+n Comprimento B (torneamento)

O comprimento A e o comprimento B são calculados como segue:


Comprimento A = Valor do eixo Z no parâmetro S23 – OFFSET Z FERRAMENTA
Comprimento B = Valor do eixo X no parâmetro S23 – OFFSET X FERRAMENTA
Nota 1: Durante a checagem do percurso da ferramenta, os dados da ferramenta podem ser
checados, mas não podem ser designados.
Nota 2: As marcações da vida da ferramenta (variáveis de #62001/#620001) e as marcações
dos danos da ferramenta (variáveis de #63001/#630001) podem tomar 1 ou 0 como
sua lógica determina (1 para ATIVAR, 0 para CANCELAR).

12-98
FUNÇÕES DE SUPORTE DE PROGRAMA 12
21. Dados da ferramenta EIA/ISO

Usando as variáveis tabuladas abaixo, os dados da ferramenta EIA/ISO (dados de


gerenciamento da vida da ferramenta) podem ser lidos ou escritos, como requerido.
Variáveis a partir de #40001 .... Quantidade de ferramentas: 960 (máxima)
1 ≤ n ≤ 960 (n = Número de seqüência da linha de dados da ferramenta)
Variáveis a partir de #400001 .. Quantidade de ferramentas: 4000 (máxima)
1 ≤ n ≤ 4000 (n = Número de seqüência da linha de dados da ferramenta)
A quantidade máxima de ferramentas aplicáveis depende das especificações da máquina.
Variáveis de sistema Dados correspondentes
#41001 a #41000+n #410001 a #410000+n Nr. dos dados da compensação do comprimento
#42001 a #42000+n #420001 a #420000+n Marcação da vida da ferramenta
#43001 a #43000+n #430001 a #430000+n Marcação do dano da ferramenta
#45001 a #45000+n #450001 a #450000+n Tempo de operação da ferramenta (segundos)
#46001 a #46000+n #460001 a #460000+n Tempo de vida da ferramenta (segundos)

Nota 1: Durante a checagem do percurso da ferramenta, os dados da ferramenta podem ser


checados, mas não podem ser designados.
Nota 2: As marcações da vida da ferramenta (variáveis de #42001/#420001) e as marcações
dos danos da ferramenta (variáveis de #43001/#430001) podem tomar 1 ou 0 como
sua lógica determina (1 para ATIVAR, 0 para CANCELAR).

22. Data e tempo (Ano-mês-dia e hora-minuto-segundo)

Variáveis numeradas 3011 e 3012 podem ser usadas para ler dados de data e tempo.

Nrs. das variáveis. Descrição


#3011 Data (Ano-mês-dia)
#3012 Tempo (Hora-minuto-segundo)

A data armazenada em #3011 consiste em 8 dígitos (os dígitos 4, 2 e 2 indicam


respectivamente ano, mês e dia), e o tempo em #3012 é composto de três grupos de dados de
dois dígitos (para hora, minuto e segundo, nesta ordem).
Exemplo: Se a data é 15 de dezembro de 2006, e o tempo é 16:45:10, os dados são
configurados como segue nas variáveis correspondentes do sistema:
#3011 = 20061215
#3012 = 164510.

23. Número total de peças usinadas e o número de peças requeridas

As variáveis numeradas 3901 e 3902 podem ser usadas para ler ou designar o número total de
peças usinadas e o número de peças requeridas.
Nr. da variável Descrição
#3901 Número total de peças usinadas
#3902 Número de peças requeridas

Nota 1: Estas variáveis devem consistir em números inteiros de 0 a 9999.


Nota 2: A leitura e escrita de dados para estas variáveis é certamente suprimida durante a
checagem do percurso da ferramenta.

12-99
12 FUNÇÕES DE SUPORTE DE PROGRAMA

24. Configurando e usando os nomes das variáveis


Qualquer nome das variáveis pode ser designado para cada uma das variáveis comuns #500 a
#519. O nome das variáveis, entretanto, deve consistir em sete alfanuméricos ou menos que
começam com uma letra do alfabeto.

Formato:
SETVNn [NAME1, NAME2, .....]
Nr. inicial da variável a ser nomeada

Nome de #n (Nome das variáveis)

Nome de #n + 1 (Nome das variáveis)

Cada nome das variáveis deve ser separado usando a vírgula (,).
Descrição detalhada
- Uma vez o nome da variável tenha sido configurado, ele permanece válido mesmo após a
energia ser desligada.
- As variáveis em um programa podem ser chamadas usando os nomes das variáveis. A
variável a ser chamada deve, entretanto, ser colocada entre colchetes ([ ]).
Exemplo: G01X[#POINT1]
[#TIMES]=25
- Os nomes das variáveis podem ser checados na tela de UTIL. PARAMETRO Nº1. Os nomes
designados para as variáveis #500 a #519 são exibidos de F47 a F66.
Exemplo: Programa SETVN500[ABC,EFG]
Na tela
F46 0
F47 ABC ← Nome da variável designado para #500
F48 EFG ← Nome da variável designado para #501
F49 ← Nome da variável designado para #502
F50

12-100
FUNÇÕES DE SUPORTE DE PROGRAMA 12

25. Número da linha de dados da ferramenta (#3022 e #3023)


As variáveis numeradas 3022 e 3023 podem ser usadas para ler o número da linha de dados
de uma ferrramenta particular.

Nr. da variável Descrição


#3022 Designação da ferramenta requerida (somente para designação).
Como é o caso com um código T, use as partes integral e decimal,
respectivamente, para especificar a ferramenta requerida com seu número e
sufixo.
#3022 = .
: Número da ferramenta
: Sufixo
#3023 Número da linha de dados da ferramenta especificada (somente para ler).
Use esta variável para ler o número da linha de dados da ferramenta
especificada pela variável #3022.
A leitura em #3023 é zero (0) se não há ferramenta correspondente
registrada na memória.

Exemplo:
TNo. Configuração #3022 Leitura em #3023
1 A 1.01 1
1 B 1.02 2
1 C 1.03 3
2 A 2.61 4
2 B 2.62 5
2 C 2.63 6
3 H 3.08 7
3 V 3.22 8
3 Z 3.26 9
: : : :
: : : :
Falha – 0

26. Unidade do sistema e unidade da entrada: Polegada ou mm (#3094)


A variável numerada 3094 pode ser usada para garantir a informação sobre o tipo e
combinação da unidade do sistema e unidade da entrada (polegada ou mm).

Valor de #3094 Unidade do sistema Unidade da entrada


0 mm G21 (mm)
0 polegada G20 (polegada)
1 mm G20 (polegada)
2 polegada G21 (mm)

27. Entrada de dados em polegada como modo inicial ATIVAR/CANCELAR (#51000)

A variável numerada 51000 pode ser usada para garantir a informação quanto a se, ou não, a
entrada de dados em polegada é configurada (por F91 bit 4) como o modo inicial.
Valor de #51000 F91 bit 4 Modo inicial
1000 0 Entrada de dados em mm
10000 1 Entrada de dados em polegada

12-101
12 FUNÇÕES DE SUPORTE DE PROGRAMA

28. Código M de fixação do eixo C: M210 ou M310 (#3095)

A variável numerada 3095 pode ser usada para garantir a informação se o número do código M
de fixação do eixo C é 210 ou 310.

29. Sistema de coordenadas MAZATROL válido/inválido (#3098)


A variável numerada 51000 pode ser usada para garantir a informação se o bit 1 do parâmetro
F91 é configurado para “1” ou “0” (para tornar o sistema de coordenadas MAZATROL válido ou
inválido).

30. Dados básicos para o gerenciamento da vida da ferramenta (#3102)


A variável numerada 3102 pode ser usada para obter a informação sobre os dados básicos
para o gerenciamento da vida da ferramenta.

Valor de #3102 Dados básicos para o gerenciamento da vida da ferramenta


1 Número de peças de trabalho usinadas com a ferramenta
2 Tempo de aplicação da ferramenta
4 Valor da compensação do desgaste do eixo X
8 Valor da compensação do desgaste do eixo Y
16 Valor da compensação do desgaste do eixo Z

A variável #3102 pode tomar um valor da soma de múltiplos valores enumerados acima quando
o gerenciamento da vida da ferr. é feito correntemente nos respectivos tipos de dados básicos.

31. Conteúdo dos parâmetros S12 ou S23 (#3200 e #3212 ou #3223)

As variáveis numeradas 3200, 3212 e 3223 podem ser usadas para ler as configurações de
parâmetros particulares S. Use #3200 previamente para especificar o eixo desejado.

Configuração #3200 Descrição


0 a 15 Nrs. de série das configurações de eixos significativos no sistema corrente
65 a 90 Notação decimal do código ASCII de nome do eixo no sistema corrente

Exemplo 1: #3200 = 0;
Designação da config. do 1º eixo significativo (normalmente: X) no sistema.
Exemplo 2: #3200 = 67;
Designação do eixo C (’C’ = 0x43 [Hexadecimal] = 67 [Decimal])
Nr. da variável Parâmetro S
#3212 S12
#3223 S23

Nota 1: #3200 é inicializado (para zero) ao reconfigurar o NC.


Nota 2: Não é necessário repetir escrevendo em #3200 na próxima vez que a leitura com
#3212 ou #3223 deve ser feita para o mesmo eixo.
Nota 3: Leia #3200 como requerido para checar sua última configuração.
Nota 4: A configuração de #3200 não é checada quanto a qualidade apropriada (quanto a se
o eixo designado é pré-configurado apropriadamente) no bloco de #3200, mas
resultará um alarme (809 NUMERO INTRODUZIDO ILEGAL) a ser causado no bloco
de leitura de #3212 ou #3223 quando a configuração não for apropriada.

12-102
FUNÇÕES DE SUPORTE DE PROGRAMA 12
32. Número da ferramenta corrente e posição corrente em coordenadas da máquina

Usando as variáveis tabuladas abaixo, é possível ler o número do sistema correntemente ativo,
o número da ferramenta correntemente usada, as coordenadas da máquina da posição
corrente e os valores correntes do offset de Z e C.

Nrs. das variáveis Descrição Registro R


#8000 Número do sistema correntemente ativo
#8001 Nr. da ferramenta corrente R1999
#8010 Coordenada X da máquina
#8011 Coordenada Y da máquina
#8012 Coordenada Z da máquina
#9101 Valor da compensação Z corrente
#9102 Valor da compensação C corrente

33. Informação da posição para o cabeçote móvel motorizado

As variáveis numeradas 56154 e 56156 podem ser usadas para designar as posições
particulares como requerido para mover um cabeçote móvel motorizado.
Variáveis Descrição
#56154 Posição 1 do cabeçote móvel
#56156 Posição 2 do cabeçote móvel

Nota 1: A faixa de configuração é de –9999.999 a 0 para a entrada de dados em mm ou de


–999.9999 a 0 para a entrada de dados em polegadas.
Nota 2: A “Posição 1” e a “Posição 2” são as respectivas posições, para as quais o cabeçote
móvel pode ser movido pelas funções miscelâneas M841 e M842.

34. Valor da transferência da peça de trabalho (#3024)

A variável numerada 3024 pode ser usada para configurar o valor da operação de transferência
da peça de trabalho que é executada no programa EIA/ISO. O bloco de configurar a variável
#3024 não causa nenhum movimento do eixo na máquina, mas informa a unidade NC que a
peça de trabalho está sendo transferida de modo que um percurso da ferramenta que evita a
colisão com a peça de trabalho possa ser traçado em tempo para realizar com sucesso o
processo por um programa MAZATROL no lado do spindle nr. 2 de torneamento.
<Exemplo de programação>
Programa MAZATROL

Seleção do CAB. 1 Programa EIA/ISO

M540 (Modo Transfer ATIVAR)


Usinagem no
spindle nr. 1 de torneamento :
G90G1W-1200.4 (Transfer)
Unidade SUB-PROG :
Seleção do CAB. 2 #3024=1200.4 (Config. do valor de transfer)

Usinagem no
M99
spindle nr. 2 de torneamento

Unidade de FIM

Nota: Para uma operação de reinício, baseada em um programa MAZATROL da estrutura


acima, a partir de um bloco de usinagem no lado do spindle nr. 2 de torneamento,
introduza um bloco de “#3024 = 1200.4” no modo MDI antes de iniciar a operação.

12-103
12 FUNÇÕES DE SUPORTE DE PROGRAMA

35. Número de série do eixo C (#50506)

A variável numerada 50506 pode ser usada p/ ler o número de série de configuração do eixo C.

36. Dados na tela de MEDIÇÃO AUTO

Use as variáveis tabuladas abaixo para ler e escrever os dados na tela de MEDIÇÃO AUTO.
: Possível
Variáveis Descrição Leitura Escrita
#58066 F-SNS (Ferramenta do sensor)
#58067 COR-FER. (Ferramenta a ser compensada)
#58069 DADO A MEDIR X
#58071 DADO A MEDIR Y
#58073 DADO A MEDIR Z
#58075 DADOS MEDIDOS X
#58077 DADOS MEDIDOS Y
#58079 DADOS MEDIDOS Z
#58080 PONTO DE MEDIÇÃO #1 (Nome do eixo em
código ASCII)
#58081 PONTO DE MEDIÇÃO #2 (Nome do eixo em
código ASCII)
#58083 PONTO DE MEDIÇÃO #1 (Posição)
#58085 PONTO DE MEDIÇÃO #2 (Posição)
#58087 VALOR DO OFFSET X
#58089 VALOR DO OFFSET Y
#58091 VALOR DO OFFSET Z
#58093 VALOR DO OFFSET COMPR.
#58095 VALOR DO OFFSET ACT-φ
#58097 LIMITE DE TOLERÂNCIA +/X
#58099 LIMITE DE TOLERÂNCIA –/Z

37. Dados no registro R (#500000 a #516383, #550000 a #566383)

Use as seguintes variáveis para ler e escrever dados de dois bytes de registro R:
#500000 + Nr. de registro R (#500000 a #516383)
Exemplo 1: Use a variável numerada 500100 para o registro de R100.

Use as seguintes variáveis para ler e escrever dados de quatro bytes de registro R:
#550000 + Nr. de registro R (#550000 a #566383)
Exemplo 2: Use a variável numerada 560100 para o registro de R10100/R10101.

12-104
FUNÇÕES DE SUPORTE DE PROGRAMA 12
12-10-5 Comandos de operação aritmética
Várias operações podem ser executadas entre as variáveis que usam o seguinte formato.
#i = <expressão>
onde <expressão> deve consistir em constante(s), variável(eis), função(ões) ou operador(es).
Na tabela abaixo, as constantes podem ser usadas em vez de #j e/ou #k.

[1] Definição/substituição de
#i=#j Definição/substituição
variáveis
[2] Operações do tipo #i=#j+#k Adição
adicional #i=#j–#k Subtração
#i=#jOR#k Adição lógica (Para cada um de 32 bits)
#i=#jXOR#k Exclusivo OU (Para cada um de 32 bits)
[3] Operações tipo #i=#j∗#k Multiplicação
multiplicativa #i=#j/#k Divisão
#i=#jMOD#k Excesso
#i=#jAND#k Produto lógico (Para cada um de 32 bits)
[4] Funções #i=SIN[#k] Seno
#i=COS[#k] Cosseno
#i=TAN[#k] Tangente (tanq é usado como senq/cosq.)
#i=ATAN[#j] Arco-tangente (ATAN ou ATN pode ser usado.)
#i=ACOS[#j] Arco-cosseno
#i=SQRT[#k] Raiz quadrada (SQRT ou SQR é disponível.)
#i=ABS[#k] Valor absoluto
#i=BIN[#k] Conversão BINÁRIA a partir de BCD
#i=BCD[#k] Conversão BCD a partir de BINÁRIA
#i=ROUND[#k] Arredondamento p/ o número inteiro mais próximo
(ROUND ou RND é disponível.)
#i=FIX[#k] Cortar todos os dígitos decimais
#i=FUP[#k] Contagem de todos os dígitos decimais como 1s
#i=LN[#k] Logaritmo natural
#i=EXP[#k] Expoente com a base e (= 2.718 ...)

Nota 1: Em princípio, dados sem um ponto decimal são tratado como dados que têm um
ponto decimal. (Exemplo: 1 = 1.000)
Nota 2: Os offsets a partir da variável #10001, os offsets do sistema de coordenadas da peça
de trabalho a partir da variável #5201, e outros dados tornam-se dados que têm um
ponto decimal. Se os dados sem um ponto decimal forem definidos usando estes
números de variáveis, um ponto decimal também será designado para estes dados.
Exemplo:
Variável comum

#101=1000
#101 1000
#10001=#101 Execução #102 1.000
#102=#10001

Nota 3: A <expressão> após uma função deve ser colacada entre colchetes ([ ]).

12-105
12 FUNÇÕES DE SUPORTE DE PROGRAMA

1. Prioridade da operação

A prioridade mais alta é dada para as funções, operações multiplicativas e operações aditivas,
nesta ordem.
#101=#111+#112∗SIN[#113]
[1] Função
[2] Multiplicativa
[3] Adicional

2. Especificando um nível de prioridade operacional


A parte para a qual o primeiro nível de prioridade de operação deve ser dado pode ser
colocado entre colchetes ([ ]). Até cinco conjuntos de colchetes, incluindo os de funções,
podem ser usados para uma expressão.
#101=SQRT[[[#111–#112]∗SIN[#113]+#114]∗#15]

Uma vez
Duas vezes
Três vezes

3. Exemplos de instruções de operação

[1] Programa principal G65 P100 A10 B20. #1 10.000


e especificação de #101=100.000 #2 20.000
argumento #102=200.000 #101 100.000
#102 200.000
[2] Definição, #1=1000 #1 1000.000
substituição #2=1000. #2 1000.000
= #3=#101 #3 100.000
Dados de variáveis comuns
#4=#102 #4 200.000
#5=#5081 #5 –10.000 Valor do offset
[3] Adição, #11=#1+1000 #11 2000.000
subtração #12=#2–50. #12 950.000
+– #13=#101+#1 #13 1100.000
#14=#5081–3. #14 –13.000
#15=#5081+#102 #15 190.000
[4] Adição lógica #3=100 #3 = 01100100
OR #4=#3OR14 14 = 00001110
#4 = 01101110 = 110
[5] Exclusivo OU #3=100 #3 = 01100100
XOR #4=#3XOR14 14 = 00001110
#4 = 01101010 = 106
[6] Multiplicação, #21=100∗100 #21 10000.000
Divisão #22=100.∗100 #22 10000.000
∗/ #23=100∗100. #23 10000.000
#24=100.∗100. #24 10000.000
#25=100/100 #25 1.000
#26=100./100 #26 1.000
#27=100/100. #27 1.000
#28=100./100. #28 1.000
#29=#5081∗#101 #29 –1000.000
#30=#5081/#102 #30 –0.050

[7] Excede #31=#19MOD#20 #19 48


= = 5 excede 3
MOD #20 9
[8] Produto lógico #9=100 #9 = 01100100
AND #10=#9AND15 15 = 00001111
#10 = 00000100 = 4

12-106
FUNÇÕES DE SUPORTE DE PROGRAMA 12
[9] Seno #501=SIN[60] #501 0.866
SIN #502=SIN[60.] #502 0.866
#503=1000∗SIN[60] #503 866.025
#504=1000∗SIN[60.] #504 866.025
#505=1000.∗SIN[60] #505 866.025
#506=1000.∗SIN[60.] #506 866.025
Nota: SIN[60] é igual a SIN[60.].
[10] Cosseno #541=COS[45] #541 0.707
COS #542=COS[45.] #542 0.707
#543=1000∗COS[45] #543 707.107
#544=1000∗COS[45.] #544 707.107
#545=1000.∗COS[45] #545 707.107
#546=1000.∗COS[45.] #546 707.107
Nota: COS[45] é igual a COS[45.].
[11] Tangente #551=TAN[60] #551 1.732
TAN #552=TAN[60.] #552 1.732
#553=1000∗TAN[60] #553 1732.051
#554=1000∗TAN[60.] #554 1732.051
#555=1000.∗TAN[60] #555 1732.051
#556=1000.∗TAN[60.] #556 1732.051
Nota: TAN[60] é igual a TAN[60.].
[12] Arco-tangente #561=ATAN[173205/1000000] #561 60.000
ATAN #562=ATAN[173.205/100.] #562 60.000
#563=ATAN[1.732] #563 59.999
[13] Arco-cosseno #521=ACOS[100000/141421] #521 45.000
ACOS #522=ACOS[100./141.421] #522 45.000
#523=ACOS[1000/1414.213] #523 45.000
#524=ACOS[10./14.142] #524 44.999
#525=ACOS[0.707] #525 45.009
[14] Raiz quadrada #571=SQRT[1000] #571 31.623
SQRT #572=SQRT[1000.] #572 31.623
#573=SQRT[10.∗10.+20.∗20.] #573 22.361
#574=SQRT[#14∗#14+#15∗#15] #574 190.444
Nota: Para aumento da precisão, execute as
operações entre [ ] assim que possível.
[15] Valor absoluto #576=–1000 #576 –1000.000
ABS #577=ABS[#576] #577 1000.000
#3=70.
#4=–50.
#580= ABS[#4–#3] #580 120.000
[16] BIN, BCD #1=100
#11=BIN[#1] #11 64
#12=BCD[#1] #12 256
[17] Arredondamento #21=ROUND[14/3] #21 5
para o número #22=ROUND[14./3] #22 5
inteiro mais #23=ROUND[14/3.] #23 5
próximo #24=ROUND[14./3.] #24 5
ROUND #25=ROUND[–14/3] #25 –5
#26=ROUND[–14./3] #26 –5
#27=ROUND[–14/3.] #27 –5
#28=ROUND[–14./3.] #28 –5
[18] Corte de todos os #21=FIX[14/3] #21 4.000
dígitos decimais #22=FIX[14./3] #22 4.000
FIX #23=FIX[14/3.] #23 4.000
#24=FIX[14./3.] #24 4.000
#25=FIX[–14/3] #25 –4.000
#26=FIX[–14./3] #26 –4.000
#27=FIX[–14/3.] #27 –4.000
#28=FIX[–14./3.] #28 –4.000

12-107
12 FUNÇÕES DE SUPORTE DE PROGRAMA

[19] Contagem de todos #21=FUP[14/3] #21 5.000


os dígitos decimais #22=FUP[14./3] #22 5.000
como 1s #23=FUP[14/3.] #23 5.000
FUP #24=FUP[14./3.] #24 5.000
#25=FUP[–14/3] #25 –5.000
#26=FUP[–14./3] #26 –5.000
#27=FUP[–14/3.] #27 –5.000
#28=FUP[–14./3.] #28 –5.000
[20] Logaritmo #101=LN[5] #101 1.609
natural #102=LN[0.5] #102 –0.693
LN #103=LN[–5] Alarme 860 CALCULO IMPOSSIVEL
[21] Expoente #104=EXP[2] #104 7.389
EXP #105=EXP[1] #105 2.718
#106=EXP[–2] #106 0.135

4. Precisão da operação

Os erros listados na tabela abaixo são gerados por uma operação aritmética, e a taxa de erro
aumenta cada vez que uma operação é executada.

Formato da operação Erro médio Erro máx. Espécie de erro

a=b+c ε ε
2.33 × 10–10 5.32 × 10–10 Mín. ,
a=b–c c b
a=b•c 1.55 × 10–10 4.66 × 10–10
ε
a = b/c 4.66 × 10–10 1.86 × 10–9 Erro relativo
a
a= b 1.24 × 10–9 3.73 × 10–9
a = sin b
5.0 × 10–9 1.0 × 10–8
a = cos b Erro absoluto ε grau
a = tan–1 b/c 1.8 × 10–6 3.6 × 10–6

Nota: A função TAN (Tangente) é calculada como SIN/COS (Seno/Cosseno).

5. Notas sobre a deterioração da precisão

A. Adição/subtração
Como para as operações do tipo adicional, se um valor absoluto é subtraído de outro, o erro
–8
relativo não pode ser reduzido abaixo de 10 .
Por exemplo, quando os valores verdadeiros (tais valores, a propósito, não podem ser
substituídos diretamente) de #10 e #20 são como segue:
#10 = 2345678988888.888
#20 = 2345678901234.567
então, #10 – #20 = 87654.321 não resultaria do cálculo de #10 – #20. Isto ocorre porque, como
o número efetivo de dígitos da variável é oito (decimal), os valores aproximados de #10 e #20
são:
#10 = 2345679000000.000
#20 = 2345678900000.000
Mais exatamente, os valores binários internos diferem levemente desses valores. Portanto, na
realidade, um erro significativo resulta como segue:
#10 – #20 = 100000.000.

12-108
FUNÇÕES DE SUPORTE DE PROGRAMA 12
B. Relação lógica

Como para EQ, NE, GT, LT, GE e LE, o processamento é executado em uma maneira similar à
adição e subtração, desta forma, cuidado com os erros. Por exemplo, para avaliar se #10 é
igual a #20 do exemplo acima, a expressão condicional
IF [#10EQ#20]
não é apropriada devido aos erros. Neste caso, portanto, comande uma macroinstrução como
mostrado abaixo para permitir uma tolerância aceitável na avaliação sobre a igualdade dos dois
valores.
IF [ABS[#10 – #20] LT200000]

C. Funções trigonométricas

Para as funções trigonométricas, embora o erro absoluto seja garantido, o erro relativo não é
–8
menor que 10 . Portanto, cuidado ao executar a multiplicação ou divisão após as operações
com funções trigonométricas.

12-10-6 Comandos de controle


O fluxo do programa pode ser controlado usando comandos IF ∼ GOTO ∼ and WHILE DO ∼.

1. Formatação de desvio

Formato: IF [expressão condicional] GOTO n


onde n é um número de seqüência no mesmo programa.
O desvio ocorrerá para o bloco encabeçado por número de seqüência ‘n’ se a condição
permanece ou se a condição não pemanece, o próximo bloco será executado.
Uma configuração independente de instrução GOTO sem IF [expressão condicional] executará
o desvio incondicional para o bloco especificado.

A [expressão condicional] consiste nos seis seguintes tipos:

#i EQ #j = ( #i é igual a #j.)
#I NE #j ≠ (#i não é igual a #j.)
#i GT #j > (#i é maior que #j.)
#I LT #j < (#i é menor que #j.)
#I GE #j ≥ (#i é igual a #j, ou maior que #j.)
#I LE #j ≤ (#i é igual a #j, ou menor que #j.)

Para GOTO n, n deve ser um número de seqüência dentro do mesmo programa. Se o múmero
de seqüência não existe neste programa, um alarme 843 SEQUENCIA (Snº) NÃO
ENCONTRADA ocorrerá. Uma expressão ou variável pode ser usada em vez de #i, #j ou n.
A designação do número de seqüência Nn deve ser configurada no começo do bloco de
destino. Em caso contrário, um alarme 843 SEQUENCIA (Snº) NÃO ENCONTRADA resultará.
Se, entretanto, o bloco começar com “/” e Nn seguir, o programa pode ser desviado para dentro
deste número de seqüência.

12-109
12 FUNÇÕES DE SUPORTE DE PROGRAMA

N10 #22=#20 #23=#21 Desvio para N100


IF[#2EQ1] GOTO100 Se #2 = 1. Procura Procura
para
#22=#20–#3 para N10
#23=#21–#4 N100 a ser
con-
N100 X#22 Y#23 tinuada
#1=#1+1 p/ trás
do cabe-
çalho

Nota: Durante a procura do número de seqüência de destino do desvio, se a área a partir


do bloco depois de “IF ...” para o fim do programa (% de código) é procurada (procura
para frente) em vão, então, a área a partir do cabeçalho abaixo ao bloco antes de
“IF ...” será a próxima a ser procurada (procura para trás). Portanto, levará mais
tempo para executar a procura para trás (procura no sentido oposto ao fluxo do
programa) que executar a procura para frente.

2. Execução de loops

Formato:
WHILE [Expressão de condição] DOm (m = 1, 2, 3 127)

ENDm

A área a partir do próximo bloco para o bloco ENDm executa o loop enquanto a expressão
condicional permanece. Se a expressão condicional não permanece, o controle será transferido
para o bloco depois de ENDm. No formato mostrado acima, DOm pode preceder WHILE.
Você deve sempre usar WHILE [expressão condicional] DOm e ENDm em pares. Se você
omitir WHILE [expressão condicional], a área a partir de DOm para ENDm executará loops
infinitamente. Em DOm, m (1 a 127) identifica o número de loops a executar. (DO1, DO2, DO3,
e assim por diante, até DO127)
O número máximo disponível de graus de multiplicidade é 27.

12-110
FUNÇÕES DE SUPORTE DE PROGRAMA 12
[1] O mesmo nr. de identificação pode ser usado [2] O nr. de identificação de WHILE ∼ DOm é arbitrário.
repetidamente.
WHILE ∼ DO1
WHILE ∼ DO1
END1

Usável
WHILE ∼ DO3
END1
END3

Usável
WHILE ∼ DO2
WHILE ∼ DO1
END2

Usável
WHILE ∼ DO1
END1
END1

[3] Até 27 níveis de WHILE ∼ DOm podem ser usados. [4] O número total de níveis de WHILE ∼ DOm não deve
m pode ser de 1 a 127, independente da quantidade de exceder 27.
repetição. WHILE ∼ DO1

DO1 WHILE ∼ DO2


WHILE ∼ DO1
WHILE ∼ DO27
WHILE ∼ DO2 DO2
WHILE ∼ DO28
WHILE ∼ DO27 DO27 END28 Não-usável
Usável
END27
END27

END2 END2
END1
END1

Nota: Para repetição, m uma vez usado não pode ser


usado novamente.
[5] WHILE ∼ DOm deve preceder ENDm. [6] WHILE ∼ DOm deve corresponder à ENDm um-a-um no
mesmo programa.

WHILE ∼ DO1
END1

Não-
usável WHILE ∼ DO1
Não-
usável
WHILE ∼ DO1
END1

[7] WHILE ∼ DOm não devem sobrepor. [8] Desvio para fora da faixa de WHILE ∼ DOm é possível.

WHILE ∼ DO1 WHILE ∼ DO1

Não-usável WHILE ∼ DO2


IF ∼ GOTOn

END1 Usável END1

END2 Nn

12-111
12 FUNÇÕES DE SUPORTE DE PROGRAMA

[9] Desvio em WHILE ∼ DOm não é permitido. [10] Subprograma pode ser chamado usando M98, G65, G66,
WHILE ∼ DO1 etc. a partir do meio de WHILE ∼ DOm.
IF ∼ GOTOn
Programa principal Subprograma
Não-usável
IF ∼ GOTOn
WHILE ∼ DO1 WHILE ∼ DO2
WHILE ∼ DO1 END1
Não-
usável G65 P100
Usável END2
WHILE ∼ DO1 able P/ sub-
Nn programa
END1
Nn M99
M02
END1
END1

[11] A execução do loop pode ser programada [12] Se WHILE e END não são incluídos em pares no
independentemente em um subprograma que é chamado subprograma (incluindo subprograma de macro), um erro
usando G65/G66 a partir do meio de WHILE ∼ DOm. Até de programa resultará em M99.
27 níveis de repetição p/ ambos os programas podem ser
feitos. Programa principal Subprograma

Programa principal Subprograma


M65 P100 WHILE ∼ DO1
WHILE ∼ DO1 WHILE ∼ DO1

M02 M99
G65 P100
Usável END1
P/ sub-
END1 programa
Alarme 868 “DO-END” NÃO COINCIDENTE
M99

12-112

Você também pode gostar