Skip to main content

Mise en mémoire tampon et fusion des mouvements

Les commandes de mouvement peuvent être mises en mémoire tampon avec CODESYS SoftMotion. Pour chaque mouvement commandé, il est possible de spécifier comment le mouvement est mis en mémoire tampon et comment le mélange doit être effectué entre le mouvement précédent et le nouveau mouvement. La trajectoire commandée est ajustée en arrondissant les coins afin que la trajectoire puisse être parcourue sans arrêt

La mise en mémoire tampon d'un mouvement et la manière dont il est effectué peuvent être configurées à l'aide du BufferMode entrée du bloc de mouvement (par exemple, MC_MoveDirectAbsolute ou MC_MoveCircularRelative). Pour plus d'informations, consultez les rubriques suivantes : MC_Buffer_Mode.

Le TransitionMode et TransitionParameter les entrées déterminent la façon dont les coins sont arrondis. Pour plus d'informations, consultez les rubriques suivantes : MC_TRANSITION_MODE.

Pour plus d'informations sur les mouvements, consultez les rubriques suivantes : Blocs fonctionnels pour les mouvements

Avis

Dans les modes de fusion, TransitionMode ne doit pas être égal à TMNone.

Astuce

Le mélange entre deux mouvements commence au plus tôt à la moitié du premier mouvement et se termine au plus tard à la moitié du deuxième mouvement.

Si le premier mouvement a déjà été planifié trop loin, le mélange peut ne plus être possible avec les paramètres définis. La zone de fusion est alors réduite ou la fusion n'est plus possible. Afin de garantir un mélange réussi, les deux mouvements doivent être commandés dans le même cycle.

Dynamique des trajectoires lors du mélange

Si le mélange est effectué entre des mouvements CP (entre des segments linéaires et circulaires), il convient de noter que l'accélération maximale de la trajectoire et la secousse de trajectoire maximale peuvent être dépassées pendant le mélange. Plus la plage de fusion est courte, plus cet effet sera important. Cependant, les limites des axes (accélération maximale de l'axe et secousse maximale de l'axe) sont toujours maintenues

Par conséquent, si l'accélération maximale de la trajectoire est faible et que l'accélération maximale de l'axe est élevée, des accélérations trop élevées peuvent se produire lors du mélange. Cela peut être contrecarré au moyen du AccFactor la saisie des blocs de mouvement, par example, en réduisant l'accélération maximale de l'axe pour un mouvement.

Caractéristiques de TMStartVelocity

Le calcul des points de mélange est basé sur une courbe de vitesse idéalisée, qui peut s'écarter de la courbe de vitesse réelle. À ce stade, une rampe de décélération est simulée sur la trajectoire initiale vers le point de mélange et une rampe d'accélération s'éloignant du point de mélange. Le minimum de la vitesse de trajectoire programmée et de la vitesse de trajectoire maximale estimée résultant des limites de l'axe est utilisé comme vitesse cible.

De plus, lors de la fusion entre des lignes droites, l'angle entre elles est pris en compte. Un rayon de courbure minimal pour l'élément de mélange résulte de la vitesse de trajectoire souhaitée et des limites dynamiques estimées. Les points A' et B' résultent à leur tour de ce rayon et de l'angle entre les droites

_sm_img_start_velocity_cp.png

Si les mouvements sont ralentis pendant le processus de mélange malgré un facteur défini de 1, il peut être utile d'augmenter le facteur.

Exemple

Dans un petit exemple d'application, une pièce est censée être prélevée. Le robot doit d'abord se déplacer au-dessus de la pièce, puis vers le bas pour la ramasser. Pour atteindre la pièce le plus rapidement possible, le déplacement entre les deux mouvements ne doit pas être arrêté, mais mélangé. La fusion avec le second mouvement devrait commencer dix unités avant la fin du premier mouvement.

Pour répondre aux exigences, deux mouvements doivent être commandés. Le premier mouvement (moveAbove) sur la pièce et le second mouvement (moveDown) vers le bas en direction de la pièce. Pour le second mouvement, il faut définir comment le mouvement doit être tamponné et mélangé

Comme le montre l'image suivante, BlendingHigh est sélectionné pour BufferMode. Cela définit que le mouvement doit être mis en mémoire tampon après le premier mouvement, puis mélangé. En outre, pour TransitionMode, TMCornerDistance est défini avec une distance de 10 unités pour intégrer en douceur le premier mouvement au second. Afin de régler les deux entrées TransitionMode et TransitionParameter de manière appropriée, le SMC_CornerDistance un bloc fonctionnel est utilisé.

_sm_img_blending_example.png