MC_SetPosition (contrôle des mouvements, définition de position)

L’instruction MC_SetPosition décale le système de coordonnées d'un axe en manipulant sa position réelle avec la même valeur sans générer de mouvement.
Détails de l'opération :
  • MC_SetPosition peut se terminer de façon concluante uniquement lorsque l'axe est à l'état Immobilisation, mouvement continu (MC_ExecutionMode = 0) ou lorsque le mouvement en cours s'achève pour se terminer avec l'état Immobilisation (MC_ExecutionMode = 1).
  • MC_SetPosition fonctionne de la même manière que MC_Home lorsque HomingMode = MC_HOME_DIRECT (0x04), sauf lorsque le bloc de fonctions MC_Home définit l'état d'origine de l'axe.
  • Lorsque MC_ExecutionMode = 0 (mcImmediately), l'exécution du bloc de fonctions MC_SetPosition signale une erreur si l'axe est en mouvement discontinu.
  • Lorsque MC_ExecutionMode = 1 (mcQueued), l'ajustement de la position réelle ne s'effectue que lorsque tous les autres mouvements précédents en cours sont terminés. Autrement dit, les blocs fonctionnels précédents doivent avoir au moins un des paramètres Done, Aborted ou Error est égal à Vrai.
Langages pris en charge : Diagramme de bloc de fonctions, diagramme de schéma à relais et texte structuré.
Cette instruction s'applique aux contrôleurs
Micro850
L50E et
Micro870
L70E qui prennent en charge le contrôle des mouvements.
MC_SetPosition
MC_SetPosition
Paramètres MC_SetPosition
Paramètre
Type de paramètre
Type de données
Description
EN
Entrée
BOOL
Activation du bloc d'instruction.
  • TRUE : Exécute le calcul MC_SetPosition actuel.
  • FALSE : Il n’y a pas de calcul.
Ne s'applique qu'aux programmes de langage à relais.
AxisIn
Entrée
AXIS_REF
FB_AXIS_REF
Utilisez le type de données AXIS_REF pour définir AxisIn.
Pour FB_Axis (axe retour codeur), utilisez le Type de données FB_AXIS_REF pour définir AxisIn.
Execute
Entrée
BOOL
TRUE : Commence à définir la position de l'axe.
Position
Entrée
REAL
La position absolue ou la distance relative à fixer pour l'axe.
Relative
Entrée
BOOL
  • TRUE : Définit la distance relative pour l'axe.
  • FALSE : Définit la position absolue de l'axe.
MC_ExecutionMode
Entrée
SINT
Les valeurs sont les suivantes :
  • 0 (
    mcImmediately
    ) : La fonctionnalité est valide immédiatement.
  • 1 (
    mcQueued
    ) : La nouvelle fonctionnalité devient valide lorsque :
  • Toutes les commandes de mouvement précédentes définissent l'un des paramètres de sortie suivants : Done, Aborted ou Error
  • L'axe n'est pas en mouvement.
Pour (MC_ExecutionMode = 0), ce bloc de fonctions se termine de façon concluante lorsque l'axe est à l'état Désactivé ou Immobilisation. L'exécution de ce bloc de fonctions signale une erreur si l'axe est en mouvement discontinu dans ce mode.
Pour (MC_ExecutionMode = 1), ce bloc de fonctions se termine de façon concluante lorsque l'axe est à l'état Désactivé ou Immobilisation ou que le mouvement continu peut se terminer, avec l'état Immobilisation.
D'autres valeurs d'entrée sont actuellement réservées et considérées comme des paramètres non valides.
ENO
Sortie
BOOL
Activation de la sortie.
Ne s'applique qu'aux programmes de langage à relais.
Axis
Sortie
AXIS_REF
Dans les programmes de schémas à relais, la sortie de l'axe est en lecture seule.
Done
Sortie
BOOL
TRUE : La position a une nouvelle valeur.
Busy
Sortie
BOOL
TRUE : Le bloc de fonctions n’est pas terminé.
Error
Sortie
BOOL
Indique qu’une erreur s’est produite.
  • TRUE : Une erreur a été détectée.
  • FALSE : Aucune erreur.
ErrorID
Sortie
UINT
Valeur numérique unique permettant d'identifier l'erreur. Les erreurs pour cette instruction sont définies dans les Identifiants des erreurs propres aux blocs fonctionnels de contrôle du mouvement.

Exemples MC_SetPosition

Exemple de diagramme de bloc de fonctions MC_SetPosition
Exemple de diagramme de bloc de fonctions MC_SetPosition
Exemple de langage à relais MC_SetPosition
Exemple de schéma à relais MC_SetPosition
Exemple de texte structuré MC_SetPosition
Exemple de texte structuré MC_SetPosition
Résultats
Résultats
Surveillance de l’axe
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal