Skip to main content

Usar la búsqueda de bloques

Una búsqueda de bloque permite que la interpolación continúe después de una interrupción. La posición de parada se recorre primero y el camino se recorre sin cambios desde esta posición. Para ello, se debe ampliar el programa que realiza la interpolación y el programa que realiza el preprocesamiento de la ruta.

ejemplo 51. Ejemplo

Un cabezal de fresado interrumpido detiene el recorrido. Después de ser reparado, la ruta se puede continuar con la búsqueda de bloques.



Extienda la aplicación por

  • Instancia de bloque de función en la tarea de interpolación que guarda la posición de preprocesamiento

  • Instancia de bloque de funciones en la tarea de ruta que acorta un elemento de ruta

Para obtener más información, consulte: SMC_BlockSearchSavePos, SMC_BlockSearchPos y SMC_BlockSearch

Guardar la posición de preprocesamiento

Puedes usar el SMC_BlockSearchSavePos bloque de función para guardar la posición actual en el comando. En este momento, la instancia del bloque de funciones debe ejecutarse en la tarea del interpolador. El programa interpolador del ejemplo se denomina "CNC".

  1. Declare una instancia del SMC_BlockSearchSavePos bloque de función en el programa que realiza la interpolación.

    bssp: SMC_BlockSearchSavePos;

  2. Conecta el ipo entrada de la SMC_BlockSearchSavePos instancia a la instancia del interpolador.

  3. Conecta el bExecute entrada a una variable de control que se establece en la aplicación cuando se cancela el programa CNC (por ejemplo, si el bAbort se configuró la entrada de la instancia SMC_Interpolator). La posición almacenada en el ePos La salida se utiliza de la siguiente manera para la búsqueda de bloques mediante SMC_BlockSearc. Después de la interrupción, bExecute debe reiniciarse con un flanco ascendente.

ejemplo 52. Ejemplo

Parte del programa que realiza la interpolación con la instancia del SMC_BlockSearchSavePos bloque de función en CFC.

_sm_img_interpolation_with_block_search.png


Usando la búsqueda de bloques

Una instancia de la SMC_Búsqueda de bloque El bloque de funciones debe llamarse en la misma tarea que el preprocesamiento de la ruta restante, generalmente directamente antes del SMC_CheckVelocities bloque de funciones Si existe un flanco ascendente en bExecute, luego se realiza una búsqueda de bloque. Después de comenzar, se recorre la posición guardada y la ruta se recorre sin cambios desde esta posición.

  1. Declare una instancia del SMC_BlockSearch bloque de función en el programa que realiza el preprocesamiento de ruta.

    bs: SMC_BlockSearch;

  2. Implementar la activación del bExecute entrada de la SMC_BlockSearch ejemplo.

  3. La posición guardada previamente con el SMC_BlockSearchSavePos El bloque de funciones tiene que ser pasado como el epos entrada de la SMC_BlockSearch bloque de funciones

ejemplo 53. Ejemplo: búsqueda de bloque en el preprocesamiento de ruta
PROGRAM CNC_PreparePath
...
VAR
        bs: SMC_BlockSearch;
END_VAR
...
bs(
                ePos:=CNC.bssp.ePos ,
                bExecute:=rncf.bExecuteDecoder ,
                bAbort:= ,
                bAppend:= ,
                poqDataIn:=ncd.poqDataOut ,
                bStartFromSavedPos:=CNC.bssp.bPositionStored ,
                nSizeOutQueue:=SIZEOF(agiBufBlockSearch) ,
                pbyBufferOutQueue:=ADR(agiBufBlockSearch) ,
                bDone=> ,
                bBusy=> ,
                bError=> ,
                wErrorID=> ,
                poqDataOut=> );

los bStartFromSavedPos La entrada también se puede activar con una variable de control. La variable de control se puede activar después de una cancelación para continuar nuevamente en la última posición guardada.