Règles générales propres aux blocs fonctionnels de contrôle du mouvement
Les règles générales propres aux Instructions de configuration d'axe Micro800 reposent sur les spécifications de contrôle des mouvements PLCopen.
Règle applicable à | Règle |
|---|---|
Paramètres d'entrée | Avec Execute : les paramètres sont utilisés avec le front montant de l'entrée d'exécution. Pour modifier un paramètre, changez le ou les paramètres d'entrée et déclenchez de nouveau le mouvement. si l'instance d'un bloc fonctionnel reçoit une nouvelle commande Execute avant qu'elle ne se termine (dans le cadre d'une série de commandes sur la même instance), la nouvelle commande Execute n'est pas prise en compte, et l'exécution de l'instruction précédemment émise se poursuit. Avec Enable : les paramètres sont utilisés avec le front montant de l'entrée d'activation et peuvent être constamment modifiés. |
Paramètres d'entrée manquante | Les entrées manquantes sont capturées lors de la compilation de l'application utilisateur. Les erreurs propres aux entrées manquantes ne sont pas gérées au niveau du contrôleur. |
Entrées dépassant les limites de l'application | Si un bloc de fonctions est commandé par des paramètres dont le résultat dépasse les limites de l'application, l'instance du bloc de fonctions génère une erreur. Dans ce cas, la sortie Error est activée et les informations propres à l'erreur sont indiquées par la sortie ErrorID. Dans la plupart des cas, le contrôleur reste en mode Exécuter et aucune erreur de mouvement n'est signalée en tant que défaut majeur du contrôleur. |
Règles de signe pour les entrées | Les valeurs des entrées d'accélération, de décélération et de jerk sont toujours positives. Les entrées propres à la vitesse, à la position et à la distance, en revanche, peuvent correspondre à des valeurs positives et négatives. |
Position et distance | La position est une valeur définie au sein d'un système de coordonnées. La distance, quant à elle, est une mesure relative exprimée en unités techniques. La distance correspond à la différence entre deux positions. |
Entrée relative à la position/distance | Seuls les mouvements linéaires sont pris en charge sur les contrôleurs Micro800. Pour le bloc de fonctions MC_MoveAbsolute, l'entrée relative à la position correspond à l'emplacement absolu à transférer à l'axe. Pour le bloc de fonctions MC_MoveRelative, l'entrée relative à la distance correspond à l'emplacement relatif (en considérant que la position actuelle de l'axe est 0) par rapport à la position actuelle. |
Entrée propre à la vitesse | La vitesse peut avoir une valeur signée mais vous pouvez aussi utiliser une entrée de direction pour définir le signe de la vitesse (vitesse négative x direction négative = vitesse positive). Pour des raisons de compatibilité, le paramètre « Direction » E s'applique à l'entrée et à la sortie propres à la vitesse. |
Entrée propre à la direction | Pour les mouvements de distance (position) dont la position cible (absolue ou relative) est définie, la direction du mouvement est unique. L'entrée propre à la direction dans le cadre d'un mouvement de distance n'est pas prise en compte. Pour les mouvements de vitesse, la valeur correspondant à l'entrée Direction peut être 1 (direction positive), 0 (direction actuelle) ou -1 (direction négative). Pour toute autre valeur, seul le signe est pris en compte. Par exemple, -3 représente une direction négative, +2 une direction positive, etc. Pour des déplacements de vitesse (MC_MoveVelocity), le signe (vitesse x direction) détermine la direction réelle du mouvement si la valeur est différente de 0. Par exemple, si vélocité x direction = +300, la direction est positive. |
Entrées propres à l'accélération, la décélération et le jerk |
|
Exclusivité de la sortie | Avec Execute : Lorsque Execute vaut Vrai, l'une des sorties Busy, Done, Error ou CommandAborted doit être également à TRUE. Les sorties sont mutuellement exclusives : seule l'une d'entre elles peut être TRUE dans un bloc fonctionnel. Seule l'une des sorties Active, Error, Done et CommandAborted est définie à la fois. Avec Enable : Les sorties Valid et Error sont mutuellement exclusives : seule l'une d'entre elles peut être TRUE dans un bloc fonctionnel. |
État de la sortie | Avec Execute : Les sorties Done, Error, ErrorID et CommandAborted sont réinitialisées avec le front descendant de l'instruction Execute. Néanmoins, le front descendant de l'instruction Execute ne permet pas d'arrêter ni d'influencer l'exécution du bloc de fonctions réel. Même si l'instruction Execute est réinitialisée avant la fin du bloc de fonctions, les sorties correspondantes sont définies pour au moins un cycle. Si l'instance d'un bloc de fonctions reçoit une nouvelle commande Execute avant qu'elle ne se termine (dans le cadre d'une série de commandes sur la même instance par exemple), la nouvelle commande Execute n'est pas prise en compte et l'exécution de l'instruction précédemment émise se poursuit. Avec Enable : les sorties Valid, Enabled, Busy, Error et ErrorID sont réinitialisées dès que possible avec le front descendant de l'instruction Enable. |
Comportement de la sortie Done | La sortie Done est définie lorsque l'action commandée s'est terminée avec succès. Lorsque plusieurs blocs de fonctions sont actifs séquentiellement sur le même axe, la condition suivante s'applique : Lorsqu'un mouvement sur un axe est interrompu par un autre mouvement sur le même axe avant qu'il ait atteint son objectif final, la sortie Done n'est pas définie sur le premier bloc fonctionnel. |
Comportement de la sortie Busy | Chaque bloc de fonctions peut disposer d'une sortie Busy pour indiquer que son exécution n'est pas terminée (pour les blocs de fonctions disposant d'une entrée Execute) ou qu'elle ne fonctionne pas et que de nouvelles valeurs de sortie peuvent être générées (dans le cas d'une entrée Enable). L'entrée Busy est définie au niveau du front montant de l'instruction Execute et réinitialisée lorsque l'une des sorties Done, Aborted ou Error est définie. Le bloc de fonctions doit demeurer dans la boucle active du programme d'application au moins aussi longtemps que l'entrée Busy est VRAI, car il est possible que les sorties subissent des modifications. Les blocs de fonctions d'une même instance et qui sont Busy ne peuvent pas s'exécuter tant qu'elles sont Busy. Les blocs de fonctions d'instances différentes peuvent remplacer le bloc de fonction en cours d'exécution. |
Comportement de la sortie CommandAborted | Cette sortie est définie lorsqu'un mouvement commandé est interrompu par une autre commande de mouvement. Le comportement de réinitialisation de la sortie CommandAborted est identique à celui de la sortie Done. Lors de la génération de la sortie CommandAborted, d'autres signaux de sortie, comme InVelocity, sont réinitialisés. |
Sortie Active | Cette sortie est requise pour les blocs de fonctions en mémoire tampon. Elle est définie au moment où le bloc de fonctions prend le contrôle du mouvement de l'axe correspondant. Pour le mode hors mémoire tampon, les sorties Active et Busy peuvent avoir la même valeur. |
Etats Enable et Valid | L'entrée Enable est couplée à une sortie Valid. L'entrée Enable dépend du niveau et la sortie Valid indique qu'un ensemble valide de sorties est disponible dans le bloc de fonctions. La sortie Valid est VRAI tant qu'une valeur de sortie valide est disponible et que l'entrée Enable est VRAI. Il est possible d'actualiser la valeur de sortie correspondante tant que l'entrée Enable est VRAI. Si une erreur survient au niveau du bloc de fonctions, la sortie n'est pas valide (la sortie Valid est définie sur FAUX). Lorsque la condition d'erreur disparaît, les valeurs réapparaissent et la sortie Valid est définie de nouveau. |
Traitement des erreurs de sortie | Sorties utilisées pour définir les erreurs : Tous les blocs disposent des deux sorties suivantes, qui sont utilisées pour les erreurs survenant lors de l'exécution :
les sorties Done et InVelocity sont utilisées pour une exécution réussie, elles excluent donc logiquement la sortie Error. Les erreurs d'instance ne génèrent pas systématiquement une erreur au niveau de l'axe (elles attribuent l'état Arrêt suite à une erreur à l'axe). |
Réinitialisation des sorties d'erreur :
| |
Types d'erreurs :
| |
Conventions de dénomination pour les types ENUM | En raison des contraintes de dénomination de la norme IEC au niveau de l'unicité des noms de variables, nous utiliserons la référence « mc » pour désigner l'espace de nom du contrôle de mouvement PLCopen pour les types ENUM. De cette façon, nous sommes en mesure d'éviter un conflit au niveau de l'utilisation des types ENUM « positif » et « négatif » pour les instances disposant de variables portant ces noms dans le reste du projet puisque nous les appellerons mcPositive et mcNegative respectivement. |
Fournir une réponse