Imagínese:
no tengo una máquina y un libro que enseña programación CNC basada en el formato ISO (sin códigos paramétricos ni muestras). Una vez que domine este libro, quiero presentarme a la programación CNC paramétrica. ¿Alguien puede proporcionar algunos ejemplos (no me importa el resultado, solo quiero ver las fórmulas utilizadas) o referencias a sitios web que muestren ejemplos o los conceptos básicos para este tipo de programación CNC? Gracias de antemano por cualquier ayuda.
Espero que eso tenga sentido para alguien que no sea yo. Este ejemplo es tan básico como parece, pero las posibilidades son infinitas.
O0001 (Número de programa)
#100=1. (Diámetro de la fresa)
#101=3.0 (posición X del agujero)
#102=1.5 (posición Y del agujero)
#103=.5 (Profundidad del agujero avellanado)
#104=400 (Velocidad en RPM)
#105=3.5 (Avance en IPM)
#106=3. (Número de compensación de longitud de herramienta)
#107=2.0 (Diámetro del agujero avellanado)
G90 G54 S#104 M03 (Seleccionar modo abs, sistema de coordenadas, iniciar husillo)
G00 X#101 Y#102 (Rápido al centro del agujero)
G43 H#106 Z.1 (Instaurar compensación de longitud de herramienta, aproximación rápida a la posición Z)
G01 Z-#103 F[#105 / 2]
Y[#102 + #107 / 2 - #100 / 2] F#105
G02 J-[#107/2 - #100/2]
G01 Y#102
G00 Z.1
M30
Si la gente continúa agregando ejemplos a esta publicación, podría convertirse en una referencia útil para las personas que desean aprender un poco de programación CNC paramétrica, ya que parece haber una falta de código de muestra disponible.
N10 G70 HC=1 LY=20 PLPZ=0,75 FIL=0 BLO=0 ACC=0 RUO=0 PRS=1 PRL=1 Z=PRK KA=0,000 LZ=0,750 LX=80
N30 RR=6 TX=4 TY=3
N50 X97.25 Y-0.5 TP=1 PRF=0.752 L=PON F=22.9 VF=3. S=18000 G41 G46 TRZ=0 M55
N60 G1 X97 Y-0,25 F22,9
N70 X.25 G1
N80 Y=LPY-TY-.25 G1
N90 X=TX+.25
LPX = Panel X
LPY = Panel Y
RR = Radio
TX = Muesca del dedo del pie X
TY = Muesca del dedo del pie Y
Este programa ajustará el programa según el tamaño del panel. Además, los parámetros son para la esquina del radio y la muesca del pie.
O4028 (PERFORACIÓN DE AGUJEROS)
(VERSIÓN 1.2 - 19/08/89 - CERDOS FUERA DEL CENTRO DEL CÍRCULO)
(PARA SACAR EL CENTRO DEL AGUJERO, ESTABLEZCA H EN 1 AL LLAMADA A LA MACRO)
(LA POS DE INICIO DEBE ESTAR SOBRE EL CENTRO DEL AGUJERO)
(A=#1=AJUSTE DE DIÁMETRO)
(D=#7=DIÁMETRO DEL AGUJERO)
(F=#9=AVANCE)
(H=#11=ESTABLECER EN 1 AL CENTRO DE CERDO)
(R=#18=DISTANCIA DE VIAJE RÁPIDO A LA SUPERFICIE DE TRABAJO)
(T=#20=N° DE COMPENSACIÓN PARA EL RADIO DE LA HERRAMIENTA)
(Z=#26=PROFUNDIDAD DEL AGUJERO DESDE LA SUPERFICIE DE TRABAJO)
#2=#5001(X POS INICIO)
#3=#5002(X POS INICIO)
El siguiente código se utiliza para mecanizar la mortaja de una placa frontal de cerradura en el borde biselado de una puerta. Los parámetros se pasan al sub y sin importar el largo, ancho o espesor de la placa frontal, o el espesor de la puerta o borde (Y+, Y-) se mecaniza correctamente (o como se pasaron los parámetros, nadie dijo esos tenían razón). Puede ver que no hay ningún código de máquina real en este lío de texto hasta N480.
El siguiente código es una versión antigua que tengo en mi disco aquí en casa. Entonces, si quieres analizarlo y encontrar mis errores matemáticos, no te preocupes demasiado, estoy seguro de que he reescrito la rutina en la máquina.
;SUBRUTINA PARA PLACAS FRONTALES DE CERRADURA DE EMBUTIR
;COMPENSARÁ EN Y Y Z POR EL BORDE BISELADO (EL VALOR PASADO EN QEG DEBE SER EL BORDE VERDADERO DE LA PUERTA)
;ASEGÚRESE DE QUE LA DIMENSIÓN DE BISEL PASADA COINCIDE CON EL AJUSTE DEL ÁNGULO DATIMACC PARA EL AGREGADO UTILIZADO
;LA PLACA FRONTAL SE CENTRARA EN Z Y SE CENTRARA EN EL BOLSILLO DE EMBUTIR EN X
;CAMBIO DE HERRAMIENTA REALIZADO ANTES DE LLAMAR AL SUB
;------------------------------------------------- ---------
;[PARAMETROS]
; QBV=BISEL
; QEG=REF BORDE
; HCL=ENTRADA CL DEL HUSO X
; QOC=COMPENSACIÓN A CL DE EMBUTIR DE HCL
; QFW=ANCHO DE LA PLACA FRONTAL
; QFL=LONGITUD DE LA PLACA FRONTAL
; QFD=PROFUNDIDAD DE LA PLACA FRONTAL
;------------------------------------------------- ---------
;[EJEMPLO]
;N100 QBV=3.58 QEG=0.00 QOC=31.75 HCL=889.0 QFW=31.8 QFL=203.5 QFD=5.60 L=S23 G0
;------------------------------------------------- ---------
;VERIFICACIÓN (VERIFICACIONES FALLIDAS SALEN EN :
1)
N30 JM($L(ST1,1) $C(65)):
1
;ÁNGULO DEL HUSILLO
N50 JM!($S(SA)=$S(QBV)):
1
;NOMBRE DE LA HERRAMIENTA
;AGGRE TIPO DE HERRAMIENTA
N80 JM(ST3 $C(80)):
1
;DIAM DE CORTE
;RADIO DE CORTE
N100 ATR=ATD/2
; CORRECCIONES DISPARADORAS
;COMP MOVIMIENTO (Z)
N110 ACR=((_C(QBV))*ATD)/2
;COMP Y DE MOVIMIENTO
N130 ACY=_T(QBV*ATD)
;PUNTO CENTRAL EN X
N140 PCX=HCL+QOC
;DETERMINACIÓN DE BORDES Y DECLARACIONES DE VAR CONDICIONALES
N150 JM(QEG (LY/2)):
6
;FONDO DE EMBUTIR EN Y
N390 BMY=(AMP-DCIY)-ACHY
;ARRIBA DE EMBUTIR EN Y
N400 TMY=(AMP+DCIY)+ACHY
N410 JM:
7
:
6
;FONDO DE EMBUTIR EN Y
N420 BMY=(AMP+DCIY)+ACHY
;ARRIBA DE EMBUTIR EN Y
N430 TMY=(AMP-DCIY)-ACHY
:
7
N440 API=AMP
N450 APO=API
N460 APU=CMZ
N470 APD=APU
N480 PAN=2 UT=1 ORX=PCX ORY=ASY MO=0 AN1=AAN QZ=-6.36 PRF=0 ANG=QBV USC=1 RES=1 Z=PRK PCT=0 PG40=1 PRC=0 L=G100
N490 Z=CMZ G1
N500 Y=EDY G1
N510 Y=API Z=CMZ G1
N520 X=ASX G1
N530
:
4
N540 DPA=DPA+ACD
N550 JM(APD=>BMZ):
5
N560 APU=APU-ACD
N570 API=API+ACY
N580 APO=APO-ACY
N590 Y=API Z=APU G1
N600 X=ASXG1
N610 Y=APO Z=APD G1
N620 X=AEX G1
N630 Y=API Z=APU G1
N640H:
4
:
5
N650 Y=TMY Z=TMZ G1
N660 X=ASXG1
N670 Y=BMY Z=BMZ G1
N680 X=AEX G1
N690 Y=TMY Z=TMZ G1
N700 X=PCX G1
N710 Y=CONJUNTO G1
N720 L=fuente de alimentación
N730 L=POFF
;BORRAR VARS AQUÍ ANTES DE SALIR
:
1
%
[PERFORACIÓN01]
%
[TABLA FORI01]
%
[ETIQUETA01]
2=1850
3=2054
6=2503
7=2601
4=2844
5=3033
1=3392
%
(LIMPIEZA DE BOLSILLO)
#100=(RADIO FINAL------->) 2.6
#101=(ANCHO DE CORTE------->) .2
#102=(TASA DE AVANCE---------->)100
#103=(Z LIQUIDACIÓN DE DEVOLUCIÓN->)1
#104=(AVANCE DE PASADA FINAL>) 50
#105=(RPM EN SENTIDO HORARIO------>) 10000
#106=(PROFUNDIDAD DE CORTE------->) -.5
#107=(X CENTRO DE BOLSILLO---->)0
#108=(CENTRO DE BOLSILLO Y---->)0
T1M6
M8
N1M98P1
G0G54G43H1Z.1X#107Y#108S#105M3
F#102
G1Z#106
G3R#101 X#101
G3X#100Y0.0I-#101Q#101F#102
G3I-#100
G3R#100X0
G0Z#103
M30
En lugar de programar diferentes velocidades de avance, es posible hacer que el control calcule el avance sobre la marcha. En la parte superior del programa hay una lista de variables para avance y rpm. Cree un subprograma para calcular la velocidad de avance según el tamaño del arco. Si el movimiento es recto, haga que el avance sea un sfm específico (avance de superficie por minuto). Las empresas de herramientas enumeran fórmulas para sus herramientas. Recuerda que la imaginación es la clave. Véalo y luego dibuje el punto de la ruta lógica que desea lograr y finalmente prográmelo.
Ejemplo; #100=85;sfm
#101=.005;carga de viruta por diente
#102=4;número de flautas
#103=.375;diámetro de la herramienta
#104=(85*3.82/#103);rpm
#105=(#104*#101*#102);alimentar
Este programa resulta divertido para el operador si desea experimentar con la vida útil de la herramienta. Además, estas macros se pueden instalar en publicaciones para resolver problemas del cambiador de herramientas, etc. Incluso instalé una macro en una publicación que insertaba automáticamente una compilación de herramientas y tenía una línea de código que el operador podía editar para que nunca tuviera que ir a su oficina. Configurar página.