Skip to main content

Ejemplo 09 de CNC: uso de compensación de longitud de herramienta

Vea el proyecto de ejemplo para esto CNC09_ToolLengthCorr.project en el directorio de instalación de CODESYS entre ..\CODESYS SoftMotion\Examples.

Este ejemplo muestra cómo usar el bloque SMC_ToolLengthCorr se puede compensar la longitud de una herramienta.

Para obtener más información sobre el tema de la compensación de la longitud de la herramienta, consulte: Preprocesamiento

Solicitud

Para el ejemplo, se utiliza una cinemática Gantry3 junto con un eje de orientación adicional (AxisA) que puede girar sobre el eje Z. Una herramienta con una longitud de 2 unidades en la dirección Z se adjunta a su vez al eje de orientación.

Se debe ejecutar un programa CNC simple. Esto se almacena en el proyecto como un externo CNC.cnc archivo y se puede abrir con un editor de texto. En el programa CNC, la corrección de la longitud de la herramienta se activa primero mediante código G G43. los I, J, y K los parámetros corresponden al desplazamiento en las direcciones X, Y y Z para esto. A continuación, se recorren tres puntos en el plano XY. Durante el movimiento al último punto, el eje adicional A también gira 90 grados.

N000 G43 I0 J0 K2 (Activate tool length correction with tool offset X=0 Y=0 Z=2)
N010 G01 X10 F10 E100 E-100
N020 G03 Y10 R5N030 G01 X0 A90

La aplicación consta de varias partes. En el CNC_PreparePath programa, el programa CNC CNC.cnc se importa como un archivo desde el controlador y se procesa previamente. En el CNC programa, las unidades se encienden primero, como en los otros ejemplos. Luego se realiza la interpolación del programa CNC leído anteriormente. En cada ciclo, el interpolador emite una posición establecida (piSetPosition) y el corrector actual de la herramienta (adToolLength). los SMC_ToolLengthCorr POU requiere esta información para compensar la longitud de la herramienta especificada. La posición compensada es luego transformada y finalmente pasada a los ejes por medio del SMC_ControlAxisByPos POU.

Sugerencia

El programa es casi idéntico a los otros ejemplos. Solo el SMC_ToolLengthCorr Se ha insertado POU después del interpolador y antes de la transformación para procesar la salida de posición establecida por el interpolador.

sm_img_cnc_example9_1.png

Puesta en marcha

Compile e inicie el programa creado. El programa ejecuta el movimiento CNC en cuanto el CNC_PreparePath.xStart se ha configurado la entrada. Puede hacer clic en el comienzo botón para establecer esta variable en la aplicación o en la visualización. Una vez que el programa se haya ejecutado por completo, puede aplicar un nuevo flanco ascendente para reiniciarlo.

Durante la ejecución del programa CNC, tenga en cuenta las salidas del interpolador (piSetPosition, adToolLength) y la posición compensada (piOut) del SMC_ToolLengthCorr POU.

Nota: La rotación de AxisA durante el último movimiento del programa CNC no tiene ningún efecto (adicional) sobre la posición cartesiana compensada en este ejemplo porque la herramienta solo tiene un desplazamiento en dirección Z. Si agrega un componente al desplazamiento de la herramienta (en el archivo CNC, en el controlador en la carpeta de la aplicación) en dirección X e Y, entonces la rotación de AxisA durante el último movimiento tendrá un efecto adicional sobre la posición compensada.