États des axes de contrôle du mouvement
Pour le comportement de l'axe à haut niveau lorsque plusieurs blocs fonctionnels de contrôle du mouvement sont activés, la règle de base est que les commandes de mouvement sont toujours prises de manière séquentielle, même si le contrôleur peut réellement les traiter en parallèle. Toute commande de mouvement est une transition qui modifie l'état de l'axe et, par conséquent, la manière dont le mouvement en cours est calculé.
Diagramme des états des axes de contrôle du mouvement
L'axe se trouve toujours dans l'un des états définis, comme l'indique le diagramme suivant.
Diagramme des états des axes de contrôle du mouvement

Comportement des états des axes de contrôle du mouvement
Non | Remarque |
|---|---|
1 | Dans les états Arrêt suite à une erreur et Arrêt en cours, tous les blocs de fonctions (sauf MC_Reset), peuvent être appelés mais ils ne seront pas exécutés. MC_Reset génère une transition vers l'état Immobilisation. Si une erreur survient alors que l'état de la machine est Arrêt en cours, une transition est générée vers l'état Arrêt suite à une erreur. |
2 | Power.Enable = TRUE et une erreur existe sur l'axe. |
3 | Power.Enable = TRUE et il n'y pas d'erreur sur l'axe. |
4 | MC_Stop.Done AND NOT MC_Stop.Execute. |
5 | Lorsque le bloc de fonctions MC_Power est appelé alors que Enable vaut FAUX, l'état de l'axe passe à Désactivé quel que soit l'état, même Arrêt suite à une erreur. |
6 | Si une erreur survient alors que l'état de la machine est Arrêt en cours, une transition est générée vers l'état Arrêt suite à une erreur. |
Valeurs de code de l'état des axes de contrôle du mouvement
Vous pouvez surveiller l'état des axes grâce à la fonctionnalité Surveillance de l'axe.
Valeur de l'état | Nom de l'état |
|---|---|
0x00 | Désactivé |
0x01 | Immobilisation |
0x02 | Mouvement discret |
0x03 | Mouvement continu |
0x04 | Prise d'origine |
0x06 | Arrêt en cours |
0x07 | Arrêt suite à une erreur |
Mises à jour de l'état des axes
Lors de l'exécution du mouvement, la mise à jour d'état de l'axe dépend du moment où le bloc fonctionnel de mouvement correspondant est appelé par la scrutation POU. Ceci est toujours le cas, même lorsque le profil de mouvement est contrôlé par le moteur de mouvement dans le cadre d'une tâche d'arrière-plan, et ne dépend pas de la scrutation POU.
Par exemple, sur l'axe en mouvement d'une unité POU de schéma à relais (état de ligne = Vrai), un bloc de fonctions MC_MoveRelative de la ligne de programme est scruté et l'axe commence sont déplacement. Avant la fin de MC_MoveRelative, l'état de la ligne de programme passe à FAUX et MC_MoveRelative n'est plus scruté. Dans ce cas, l'état de l'axe ne peut passer de Mouvement discret à Immobilisation, même lorsque l'axe cesse complètement de bouger, et la vitesse passe à 0.
Fournir une réponse