CONCEITOS FUNDAMENTAIS – VARIÁVEIS

Num programa normal de maquinação atribuem-se valores numéricos directamente aos endereços da linguagem, para criar uma instrução válida. Por exemplo: “G01 X10.”
Numa macro, alternativamente à atribuição directa, podemos utilizar um número de variável que guarde o valor desejado.
Quando se utiliza uma variável, o seu valor pode modificar-se durante a execução do programa, ou mediante operação no modo “MDI”.IMPORTANTE: Chamamos a atenção para o indispensável cuidado na alteração dos valores das variáveis em “MDI”, por forma a não as redefinir com valores indesejáveis na continuação da execução do programa.

Exemplo:

#1 = #1 + 100
G01 X#1 F300

Representação das variáveis

Como fica desde já claro do exemplo acima, o número da variável deve ser sempre precedido de um caracter definido pela linguagem. Em Fanuc, linguagem em que basearemos esta apresentação teórica, é utilizado o caracter ‘#‘.

Em Heidenhain, a identificação da variável faz-se com a letra ‘Q‘ antes do seu número (Ex: Q1)

Notar que, ao contrário do que acontece nas linguagens usadas para programação em PC, as variáveis não podem ser identificadas por nomes.

O número da variável pode, em Fanuc, ser especificado por uma expressão, obrigatoriamente definida entre parêntesis rectos. Exemplo:

#[#1+#2-12]

Tipos de variáveis

As variáveis classificam-se em quatro tipos, dependendo do número usado para a sua declaração:

Número
Tipo
Função
#0
Nula
Variável sempre nula. A ela não pode ser atribuído nenhum valor.
#1 – #33
Local
Podem utilizar-se variáveis locais numa determinada macro, para memorizar dados como o resultado de operações realizadas apenas dentro dessa mesma macro. Estas variáveis são reiniciadas a zero, depois de desligada a tensão da máquina. Quando uma macro é chamada pelo respectivo código, podem transferir-se para estas variáveis os valores dos argumentos atribuídos, na linha de chamada, aos correspondentes endereços. (Ver tabela em “Chamada simples”)
#100 – #149 (#199)
#500 – #531 (#999)
Comuns
As variáveis comuns podem partilhar-se entre diferentes macros. Quando a tensão é desligada, as variáveis de #100 a #149 (#199) são reiniciadas a zero, mantendo-se, no entanto, memorizados os valores das variáveis #500 – #531 (#999).
NOTA: As variáveis comuns #132 a #199 e #532 a #999 são opcionais, recomendando-se a sua disponibilidade na tabela de variáveis, disponível no controlador.
#1000 –
Sistema
Estas variáveis são usadas para ler e escrever diversos dados NC, como por exemplo a posição actual dos eixos, da compensação, dos códigos G de determinado grupo, etc.Neste trabalho mostraremos a utilização de apenas algumas delas.

Os valores das variáveis são automaticamente arredondados de acordo com o valor de incremento mínimo definido nos parâmetros máquina, para o endereço em questão.

Limitações

As variáveis não podem ser utilizadas para referenciar:

  • Números de programa (Ex: O#1)
  • Números de sequência (Ex: N#3 Y200.)
  • Números de salto opcional de bloco (Ex: /#2G00 X100.)

VARIÁVEIS DE SISTEMA

As variáveis de sistema podem utilizar-se para ler e gravar dados NC internos, tais como: dados de posição actual, valores de compensação de ferramenta, códigos activos, etc.

Devido à utilização de algumas delas, nos programas apresentados, transcrevemos abaixo tabelas com os números das variáveis mais relevantes neste capítulo.

Valores de compensação de ferramenta

Os valores de compensação de ferramenta podem ler-se e escrever-se empregando variáveis de sistema. Os números das variáveis utilizadas dependem do número de pares de compensação disponíveis, independentemente de se fazer distinção entre compensação geométrica e de desgaste, e distinção entre compensação do comprimento e raio da ferramenta. Quando o número de pares não ultrapassa os 200, também podem utilizar-se as variáveis de #2001 a #2400.

Memória tipo A de compensação de ferramenta
Nº compensação
Número da variável
1
:
200
:
999
#10001 (#2001)
:
#10200 (#2200)
:
#10999
Memória tipo B de compensação de ferramenta
Nº compensação
Compensação
geométrica
Compensação
de desgaste
1
:
200
:
999
#11001 (#2201)
:
#11200 (#2400)
:
#11999
#10001 (#2001)
:
#10200 (#2200)
:
#10999
Memória tipo C de compensação de ferramenta
Nº compensação
Compensação do comprimento
da ferramenta (H)
Compensação do raio
da ferramenta (D)
Compensação
geométrica
Compensação
de desgaste
Compensação
geométrica
Compensação
de desgaste
1
:
200
:
999
#11001 (#2201)
:
#11201 (#2400)
:
#11999
#10001 (#2001)
:
#10201 (#2200)
:
#10999
#13001
:
:
:
#13999
#12001
:
:
:
#12999

Alarmes de macro

Nº da variável
Função
#3000
Quando se atribui um valor de 0 a 200 à variável #3000, o comando numérico pára com um alarme. Depois da expressão pode aparecer uma mensagem com o máximo de 26 caracteres. No ecrã visualiza-se o número do alarme, somando 3000 ao valor da variável #3000, junto com a mensagem definida.
Exemplo:
#3000=1 (FERRAMENTA NÃO ENCONTRADA)
A página de alarmes exibirá: “3001 FERRAMENTA NÃO ENCONTRADA”

Informação modal

Pode ler-se a informação modal especificada num bloco de programa, até ao bloco imediatamente anterior.

Nº da variável
Função
Grupo
#4001
G00, G01, G02, G03, G33
1
#4002
G17, G18, G19
2
#4003
G90, G91
3
#4004
4
#4005
G94, G95
5
#4006
G20, G21
6
#4007
G40, G41, G42
7
#4008
G43, G44, G49
8
#4009
G73, G74, G76, G80-G89
9
#4010
G98, G99
10
#4011
G50, G51
11
#4012
G65, G66, G67
12
#4013
G96, G97
13
#4014
G54-G59
14
#4015
G61-G64
15
#4016
G68, G69
16
:
:
:
#4022
Código B
22
#4102
Código D
#4109
Código F
#4111
Código H
#4113
Código M
#4114
Número de sequência
#4115
Número de programa
#4119
Código S
#4120
Código T
#4130
Código P (Número do sistema de coordenadas peça adicional, actualmente seleccionado)

Exemplo:

#1=#4001
O valor resultante na variável #1 será 0, 1, 2, 3 ou 33

Se a variável de sistema especificada para leitura de informação modal corresponder a grupo de código não utilizável, será gerado um alarme.

Posição actual

A informação de posição é apenas de leitura, isto é, apenas podem ler-se os valores das variáveis de sistema correspondentes.

Nº da variável
Informação da posição
Sistema de coordenadas
Valor da compensação da ferramenta
Leitura durante deslocamento
#5001-#5008
Ponto no final do bloco
Peça
Não incluído
Válido
#5021-#5028
Posição actual
Máquina
Incluído
Inibido
#5041-#5048
Posição actual
Peça
Incluído
Inibido
#5061-#5068
Sinal de salto
Peça
Incluído
Válido
#5081-#5088
Valor do corrector de comprimento da ferramenta
Inibido

O primeiro dígito (de 1 a 8) representa um número de eixo.

Nas variáveis #5081 a #5088 guarda-se o valor da compensação da ferramenta actualmente utilizado para a sua execução, em lugar do valor do corrector de comprimento imediatamente anterior.

Nas variáveis #5061 a #5068 guarda-se a posição da ferramenta, onde se activa um sinal de salto num bloco com G31 (Função de salto; não confundir com os saltos da alteração de sequência de programa, explicados no capítulo de chamada de macros).

Quando está inibida a leitura durante o deslocamento, significa que não podem ser lidos os valores esperados, devido à função de leitura prévia (carga em buffer).