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

Paramètre | Type de paramètre | Type de données | Description |
|---|---|---|---|
EN | Entrée | BOOL | Activation du bloc d'instruction.
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 |
|
MC_ExecutionMode | Entrée | SINT | Les valeurs sont les suivantes :
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.
|
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 langage à relais MC_SetPosition

Exemple de texte structuré MC_SetPosition

Résultats


Fournir une réponse