Skip to main content

Utilizzo della ricerca blocchi

Una ricerca blocco consente di continuare l'interpolazione dopo un'interruzione. La posizione di arresto viene percorsa per prima e la traiettoria viene percorsa invariata da questa posizione. Per questo, il programma che esegue l'interpolazione e il programma che esegue la preelaborazione del percorso deve essere esteso.

Esempio 51. Esempio

Una testa di fresatura interrotta arresta la corsa. Dopo essere stato riparato, il percorso può essere proseguito con la ricerca del blocco.



Estendi l'applicazione di

  • Istanza del blocco funzione nel task di interpolazione che salva la posizione di preelaborazione

  • Istanza del blocco funzione nell'attività del percorso che accorcia un elemento del percorso

Per ulteriori informazioni, vedere: SMC_BlockSearchSavePos, SMC_BlockSearchPos e SMC_BlockSearch

Salvataggio della posizione di pre-elaborazione

Puoi usare il SMC_BlockSearchSavePos blocco funzione per il salvataggio della posizione corrente su comando. A questo punto, l'istanza del blocco funzione deve essere eseguita nel task dell'interpolatore. Il programma dell'interpolatore nell'esempio si chiama "CNC".

  1. Dichiarare un'istanza di SMC_BlockSearchSavePos blocco funzione nel programma che esegue l'interpolazione.

    bssp: SMC_BlockSearchSavePos;

  2. Connetti il ipo ingresso del SMC_BlockSearchSavePos istanza all'istanza dell'interpolatore.

  3. Connetti il bExecute input a una variabile di controllo che viene impostata nell'applicazione quando il programma CNC viene cancellato (ad esempio se il bAbort è stato impostato l'ingresso dell'istanza SMC_Interpolator). La posizione memorizzata in ePos l'uscita viene utilizzata come segue per la ricerca del blocco tramite SMC_BlockSearc. Dopo l'interruzione, bExecute deve essere resettato con un fronte di salita.

Esempio 52. Esempio

Parte del programma che esegue l'interpolazione con l'istanza di SMC_BlockSearchSavePos blocco funzionale in CFC.

_sm_img_interpolation_with_block_search.png


Utilizzo della ricerca a blocchi

Un'istanza del blocco funzione SMC_BlockSearch deve essere richiamato nello stesso task del resto della preelaborazione del percorso, in genere direttamente prima del blocco funzione SMC_CheckVelocities. quando acceso bExecute è presente un fronte di salita, viene eseguita una ricerca blocco. Dopo l'avvio, viene raggiunta la posizione memorizzata e il percorso viene eseguito invariato da questa posizione.

  1. Dichiarare un'istanza di SMC_BlockSearch blocco funzione nel programma eseguito dalla preelaborazione del percorso.

    bs: SMC_BlockSearch;

  2. Attuare l'attivazione del bExecute ingresso del SMC_BlockSearch esempio.

  3. Come ingresso epos del blocco funzione SMC_BlockSearch deve essere fatto in anticipo utilizzando il modulo funzione SMC_BlockSearchSavePos la posizione memorizzata viene trasferita.

Esempio 53. Esempio: ricerca blocco nella preelaborazione del percorso
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=> );

Il bStartFromSavedPos l'ingresso può essere attivato anche con una variabile di controllo. La variabile di controllo può essere attivata dopo una cancellazione per continuare di nuovo dall'ultima posizione salvata.