Alguns controladores numéricos têm ciclos especiais, muitas vezes opcionais, exactamente para a maquinação deste tipo de trabalho.O presente exemplo, para além de mostrar os mais importantes htmectos da chamada simples de um programa de macro, deve ser também apresentado – e exaustivamente detalhado em sala – na perspectiva mais vasta da criação de programas especiais, de utilização frequente, quando não disponíveis, por defeito, no CNC.
O formato de chamada apenas difere do tradicional ciclo fixo, na especificação do código G65 e respectivo número de programa de macro a chamar (P).
Embora seja possível, como foi dito, fazer a chamada da macro com um código G, o que tornaria o processo indistinguível dum ciclo fixo, para o operador comum, parece-nos razoável a preferência desta forma, no âmbito das acções de formação normalmente realizadas. Não só se torna mais universal a sua utilização, como dispensa a necessidade de alterações nos parâmetros-máquina, geralmente não permitidas aos operadores das máquinas-ferramenta, ainda que experientes.
Formato de chamada
Coordenada X do centro do círculo (especificação absoluta ou incremental) | ||
Coordenada Y do centro do círculo (especificação absoluta ou incremental) | ||
Profundidade dos furos | ||
Coordenada de um ponto de aproximação – plano de segurança | ||
Velocidade de avanço de trabalho | ||
Raio do círculo sobre o qual se maquinam os furos | ||
Ângulo inicial de furação | ||
Valor incremental do ângulo (sentido horário quando se especifica um valor negativo) | ||
Número de furos a executar |
Programa Principal
Programa que chama um programa de macro, onde se efectuam todos os cálculos e instruções de maquinação.
O002 |
G90 G92 X0 Y0 Z100. |
G65 P9100 X100. Y50. R30. Z-50. F500 I100. A0 B45. H5 |
M30 |
Macro (Programa Chamado)
O9100 | |
#3=#4003 | Guarda um código G do grupo 3 (G90,G91) (a) |
G81 Z#26 R#18 F#9 K0 | Ciclo de furação.Pode também programar-se L0 em vez de K0 (b) |
IF[#3 EQ 90] GOTO 1 | Transfere a execução (salta) a N1, se está no modo de coordenadas absolutas, G90 (a) |
#24=#5001+#24 | Calcula a abcissa – coordenada X – do centro (a) |
#24=#5001+#24 | Calcula a ordenada – coordenada Y – do centro |
N1 WHILE[#11 GT 0] DO 1 | Até que o número de furos restantes atinja o valor 0 |
#5=#24+#4*COS[#1] | Calcula a posição do novo furo no eixo X |
#6=#25+#4*SIN[#1] | Calcula a posição do novo furo no eixo Y |
G90 X#5 Y#6 | Desloca-se à posição de destino calculada, e executa o novo furo |
#1=#1+#2 | Actualiza o ângulo |
#11=#11-1 | Diminui o número de furos |
END 1 | Fim do “ciclo” WHILE – repetição |
G#3 G80 | Repõe o valor original do código G |
M99 | Volta ao programa principal |
Significado das variáveis
Memoriza o código G do grupo 3 | |
Coordenada X do furo seguinte a executar | |
Coordenada Y do furo seguinte a executar |
Notas
Uma explicação mais detalhada da técnica de guardar os valores modais, é feita nas notas ao programa, exemplo de chamada modal de uma macro (G66). Importa aqui salientar a necessidade de verificação do tipo de coordenadas activas, absolutas ou incrementais, quando é executada a chamada à macro. Como é referido na explicação do formato de chamada, neste exemplo, as coordenadas X e Y do centro do círculo podem ser especificadas, na linha de chamada, em ambos os formatos. Notar que os códigos G90 e G91 são modais, pelo que as ditas coordenadas dependem do último código deste grupo, programado. O objectivo desta macro é executar furos posicionados sobre um círculo de raio I. O cálculo da posição desses furos faz-se então, por consequência, com base na posição do seu centro. O programa verifica antes do cálculo do centro de cada furo, se as coordenadas do centro do círculo são absolutas ou incrementais, por comparação com o valor da variável de sistema #4003, guardado na variável local #3.Se a comparação for verdadeira (#3 = 90), as coordenadas são absolutas, e usam-se os valores dos argumentos transferidos (#24 e #25) para o respectivo cálculo trigonométrico.Se a comparação for falsa (#3 = 91), então os valores transferidos às variáveis #24 e #25, representam a distância do centro do círculo à posição da ferramenta, quando a macro é chamada. (Uma explicação mais detalhada da técnica de decisão, é feita nas notas ao programa, exemplo de chamada modal de uma macro (G66)). |
|
O ciclo fixo de furação G81, foi programado dentro da macro, ficando assim activo até à especificação de um código G80, sendo executado após cada novo posicionamento calculado no programa de macro.Um outro caso, muito comum, é a criação de um programa principal, onde é definido o ciclo fixo, e a posterior chamada de um sub-programa, que contenha apenas as coordenadas dos furos a executar. |
Notar que as letras (endereços) utilizados na linha de G66, embora possam ser usadas aleatoriamente, correspondem exactamente às utilizadas na definição do ciclo fixo G81; as letras X,Y e Z correspondem às coordenadas, mas apenas pela correspondência destes endereços com as respectivas variáveis locais da macro.Ter em atenção a rigorosa programação das variáveis correspondentes na linha de ciclo.
Código NC não comentado
%
O002
G90 G92 X0 Y0 Z100.
G65 P9100 X100. Y50. R30. Z-50. F500 I100. A0 B45. H5
M30
%
%
O9100
#3=#4003
G81 Z#26 R#18 F#9 K0
IF[#3 EQ 90] GOTO 1
#24=#5001+#24
#24=#5001+#24
N1 WHILE[#11 GT 0] DO 1
#5=#24+#4*COS[#1]
#6=#25+#4*SIN[#1]
G90 X#5 Y#6
#1=#1+#2
#11=#11-1
END 1
G#3 G80
M99
%