Persistance d'une position d'axe
Un axe doté d'un codeur absolu peut enregistrer une position afin de conserver sa position précédente après le redémarrage du contrôleur. Le repérage n'est pas obligatoire. SMC3_PersistPosition et SMC3_PersistPositionLogical les blocs fonctionnels fournissent les fonctionnalités nécessaires à l'opération de sauvegarde. Les données nécessaires sont enregistrées dans SMC3_PersistPosition_Data et SMC3_PersistPositionLogical_Data.
Le bPositionStored la sortie indique si le contenu de PersistentData ont changé. Cela se produit à des moments différents selon le type de persistance.
La plage de valeurs conservée par l'encodeur doit être configurée sur SMC_PersistPosition.maxPersistedValue entrée. Pour les codeurs multitours, la valeur est définie 16#FFFFFFFFFF. Pour un encodeur à tour unique 12 bits, par exemple, la valeur est définie sur 2^12 = 4096
Pour plus d'informations, consultez : Persistance des données
Astuce
L'instance est rendue persistante au moyen d'une déclaration as VAR_PERSISTENT ou le gestionnaire de persistance d'Application Composer.
Persistance de la position d'axe d'un codeur absolu multitours avec un axe physique
Condition requise : L'axe est équipé d'un codeur absolu multitour.
Utilisez le SMC3_PersistPosition FB pour rendre persistante la position de l'axe physique. Le programme respectif s'exécute dans la tâche de mouvement.
Créez une instance de
SMC3_PersistPositionbloc fonctionnel pour l'axe.pp: SM3_BASIC.SMC3_PersistPosition;Instancier une structure de données persistante du
SMC3_PersistPosition_Datataper.pp_Data: SM3_BASIC.SMC3_PersistPosition_Data1;Prolongez le programme de la tâche de mouvement afin qu'un appel de la
SMC3_PersistPositioninstance y est implémentée.Appel implémenté dans CFC :

Le bloc fonction est appelé en cycles avec la tâche de mouvement. le
SMC3_PersistPositioninstance effectue la restauration de la position enregistrée lors de l'opération de démarrage. En fonctionnement normal, le FB enregistre la position réelle dans la structure de données correspondante.
Maintien de la position de l'axe d'un codeur absolu monotour avec axe physique
Condition préalable : L'axe physique dispose d'un codeur absolu monotour.
Utilisez le SMC3_Position persistante bloc fonctionnel pour rendre persistante la position de l'axe. Le programme correspondant s'exécute dans la tâche de mouvement. La position n'est affichée correctement que si l'axe n'a parcouru aucune distance ou seulement une courte distance (maximum de la moitié de la distance en un tour) entre la mise hors tension et la mise en marche du contrôleur. Par exemple, vous pouvez utiliser un frein mécanique pour ce faire. Si l'axe effectue un mouvement important lorsque le contrôleur est éteint, il reçoit une position incorrecte. Il n'est pas possible de vérifier via le FB.
Créez une instance de
SMC3_PersistPositionbloc fonctionnel pour l'axe.ppst_X: SM3_BASIC.SMC3_PersistPositionSinglturn;Instanciez une structure de données persistante du
SMC3_PersistPosition_Datatype.ppst_Data_X: SMC3_PersistPositionSingleturn_Data;Étendez le programme de la tâche de mouvement de sorte qu'un appel du
SMC3_PersistPositionl'instance est implémentée et la structure de données persistante duSMC_PersistPosition_Datale type lui est transmis.
Conserver la position d'axe d'un axe logique
Condition : L'axe est logique.
Utilisez le SMC3_PersistPositionLogique bloc fonctionnel pour rendre persistante la position de l'axe logique. Cela ne fonctionne que si la position de l'axe physique supérieur est rendue persistante. La position d'un axe virtuel ne peut pas être rendue persistante au moyen de ces FB.
Créez une instance de
SMC3_PersistPositionLogicalbloc fonctionnel pour l'axe.ppl: SM3_BASIC.SMC3_PersistPositionLogical;Instancier une structure de données persistante du
SMC3_PersistPositionLogical_Datataper.ppl_Data: SMC3_PersistPositionLogical_Data;Prolongez le programme de la tâche de mouvement afin qu'un appel de la
SMC3_PersistPositionLogicalinstance est implémentée et les données persistantes de typeSMC3_PersistPositionLogical_Datalui est transmis.