Utilisation de la recherche de bloc
Une recherche de bloc permet de poursuivre l'interpolation après une interruption. La position d'arrêt est parcourue en premier et la trajectoire est parcourue sans changement à partir de cette position. Pour cela, le programme qui effectue l'interpolation et le programme qui effectue le prétraitement du chemin doivent être étendus.
Une tête de fraisage interrompue arrête la course. Après avoir été réparé, le chemin peut être poursuivi avec la recherche de bloc.
Prolongez l'application en
Instance de bloc fonction dans la tâche d'interpolation qui enregistre la position de prétraitement
Instance de bloc fonction dans la tâche de chemin qui raccourcit un élément de chemin
Pour plus d'informations, voir : SMC_BlockSearchSavePos, SMC_BlockSearchPos et SMC_BlockSearch
Enregistrement de la position de prétraitement
Vous pouvez utiliser le SMC_BlockSearchSavePos
bloc fonction de sauvegarde de la position courante sur commande. A ce moment, l'instance du bloc fonction doit s'exécuter dans la tâche de l'interpolateur. Le programme d'interpolation dans l'exemple est nommé "CNC".
Déclarer une instance du
SMC_BlockSearchSavePos
bloc fonction dans le programme que l'interpolation exécute.bssp: SMC_BlockSearchSavePos;
Connectez le
ipo
entrée de laSMC_BlockSearchSavePos
instance à l'instance d'interpolateur.Connectez le
bExecute
entrée dans une variable de contrôle qui est définie dans l'application lorsque le programme CNC est annulé (par exemple si lebAbort
l'entrée de l'instance SMC_Interpolator a été définie). La position mémorisée auePos
la sortie est utilisée comme suit pour la recherche de bloc au moyen deSMC_BlockSearc
. Après interruption,bExecute
doit être réinitialisé avec un front montant.
Partie du programme qui effectue l'interpolation avec l'instance du SMC_BlockSearchSavePos
bloc fonctionnel dans CFC.

Utiliser la recherche de bloc
Un exemple de SMC_BlockSearch
le bloc de fonction doit être appelé dans la même tâche que le prétraitement du chemin restant, généralement juste avant le SMC_CheckVelocities
bloc fonctionnel. Si un front montant existe à bExecute
, une recherche de bloc est effectuée. Après le démarrage, la position enregistrée est parcourue et la trajectoire est parcourue sans modification à partir de cette position.
Déclarer une instance du
SMC_BlockSearch
bloc fonctionnel dans le programme que le prétraitement de chemin exécute.bs: SMC_BlockSearch;
Mettre en œuvre le déclenchement de la
bExecute
entrée de laSMC_BlockSearch
exemple.La position enregistrée précédemment avec le
SMC_BlockSearchSavePos
bloc de fonction doit être transmis en tant queepos
entrée de laSMC_BlockSearch
bloc fonctionnel.
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=> );
Les bStartFromSavedPos
l'entrée peut également être activée avec une variable de contrôle. La variable de contrôle peut être activée après une annulation afin de continuer à nouveau à la dernière position enregistrée.