Skip to main content

Déclencheurs

Les déclencheurs peuvent être utilisés pour effectuer des actions telles que la mise en marche d'un outil lorsqu'une position définie sur la trajectoire est atteinte, ou avec un décalage temporel avant ou après. Dans ce but, CODESYS SoftMotion offre la possibilité de configurer des déclencheurs pour les mouvements, puis de lire en continu le temps restant jusqu'à ce que la position soit atteinte.

Lorsque vous utilisez des déclencheurs, faites attention aux points suivants :

  • Le temps jusqu'à ce qu'un déclencheur soit atteint ne peut être récupéré que lorsque le groupe d'axes s'est approché du déclencheur jusqu'à l'heure d'une prévision configurable. La configuration de cette prévision et les impacts des paramètres sont expliqués dans le Configuration de l'application pour utiliser des déclencheurs section.

  • La trajectoire n'est pas modifiée par l'utilisation de déclencheurs. En particulier, la trajectoire n'est pas ralentie pour respecter la prévision configurée. Si, par exemple, la position d'un déclencheur au début d'un mouvement est déjà atteinte après 0,01 seconde, alors même une prévision plus élevée ne peut pas faire en sorte qu'une notification soit fournie sur l'atteinte du point plus de 0,01 seconde à l'avance.

Pour plus d'informations, consultez les exemples Exemple de déclencheur 1 : exemple simple et Exemple de déclencheur 2 : Processus de collage.

Configuration de l'application pour utiliser des déclencheurs

Paramétrage de la durée prévisionnelle

La durée de prévision détermine jusqu'où dans le futur la planification est effectuée. Celle-ci est fixée par le fPlanningForecastDuration paramètre de la SMC_TuneCPKernel bloc fonctionnel. La façon dont ce paramètre doit être défini dépend des exigences de l'application. Il existe deux exigences principalement contradictoires :

  1. Durée de prévision la plus longue possible

  2. Latence la plus faible possible. La latence au démarrage d'un mouvement augmente car il faut d'abord établir la prévision. La taille de cette latence supplémentaire dépend principalement des performances du contrôleur utilisé et est généralement bien inférieure à la prévision configurée. De plus, la latence du groupe d'axes pour réagir aux mouvements interrompus et aux interruptions augmente de la prévision configurée. La prévision n'a pas d'incidence sur MC_GroupHalt et MC_GroupStop. Les deux blocs fonctionnels agissent toujours immédiatement et indépendamment de la prévision configurée.

Le fPlanningForecastDuration paramètre de la SMC_TuneCPKernel bloc fonctionnel doit donc être réglé aussi haut que nécessaire mais aussi bas que possible. Si une prévision n'est pas requise, le paramètre peut être laissé à la valeur par défaut de 0.

La prévision disponible réelle peut différer de celle configurée pour diverses raisons, par exemple, si la fin du dernier mouvement est déjà presque atteinte. Les prévisions actuellement disponibles peuvent être surveillées au moyen du CurrentPlanningForecast sortie de MC_GroupReadStatus.

Configuration du nombre maximum de déclenchements par mouvement

Comme livré, CODESYS SoftMotion prend en charge jusqu'à 8 déclencheurs par mouvement. Si ce nombre n'est pas suffisant, le MAX_NUM_TRIGGERS_PER_MOVEMENT Le paramètre peut être modifié en tant que paramètre de bibliothèque. C'est possible avec le Gestionnaire de bibliothèque et l'éditeur respectif pour le paramètres de la bibliothèque. Pour utiliser les paramètres de la bibliothèque, un CODESYS version >= SP19 est recommandée.

Commande et évaluation des déclencheurs

Deux blocs fonction sont disponibles pour commander les déclencheurs : SMC_GroupPrepareTrigger et SMC_GroupReadTrigger.

Les déclencheurs sont affectés à un mouvement. Chaque déclencheur individuel doit être préparé à l'aide du SMC_GroupPrepareTrigger bloc fonctionnel. La position peut être spécifiée relative, absolue ou comme une intersection avec un plan (voir SMC_TriggerPositionType). L'ordre d'appel de SMC_GroupPrepareTrigger et le mouvement respectif est d'une importance particulière car les déclencheurs préparés sont affectés au prochain mouvement commandé dans le même cycle. Par conséquent, dans chaque application, vous devez faire attention aux points suivants :

  1. SMC_GroupPrepareTrigger doit toujours être appelé avant le bloc fonction mouvement.

  2. Les déclencheurs et le mouvement respectif doivent toujours être commandés dans le même cycle. Si aucun mouvement n'est démarré dans le cycle, les déclencheurs préparés sont rejetés et le CommandAborted sortie de la SMC_GroupPrepareTrigger blocs fonctionnels est défini.

Lorsque le déclencheur est affecté à un mouvement, les informations sur un déclencheur peuvent être récupérées à l'aide de SMC_GroupReadTrigger. Dès que le déclencheur est dans la durée de prévision disponible, le statut passe à SMC_TRIGGER_STATUS.Active et le temps jusqu'à ce que le déclencheur soit atteint peut être lu. L'heure se réfère toujours à l'heure de début du cycle en cours. Selon le moment où le déclencheur doit être déclenché (avant, pendant ou après que la position est atteinte), l'action souhaitée peut être exécutée dans l'application dans un cycle approprié.

Les déclencheurs ne peuvent pas être annulés lorsqu'ils ont été affectés à un mouvement. Au lieu de cela, ils peuvent simplement être ignorés.

Si un mouvement est interrompu par un deuxième mouvement avec MC_BUFFER_MODE.Aborting, les déclencheurs affectés au premier mouvement disparaissent également.

Déclencheurs de mouvements avec blending

Pour les mouvements avec Mise en mémoire tampon et mélange des mouvements, les déclencheurs sont projetés sur le chemin de fusion. L'image suivante montre qualitativement un cas dans lequel un mouvement de P1 à P2 ainsi qu'un mouvement suivant ont chacun été commandés avec mélange. La fusion avec le premier mouvement se termine au point B, et la fusion avec le mouvement précédent commence au point A. Le déclencheur bleu est situé entre P1 et B. Il est projeté sur la moitié arrière du premier mouvement de fusion (mis en évidence par la ligne bleue) . De la même manière, la gâchette rouge, située entre A et P2, est projetée sur la moitié avant du second mouvement de mixage (mise en évidence par le trait rouge). Le déclencheur vert est en dehors des zones de fusion et n'est pas décalé.

_sm_img_digital_switches.png

Lors de la fusion avec des déclencheurs, il existe une fonction spéciale concernant l'état du mouvement et les déclencheurs respectifs. Le bloc fonction de commande pour passer des rapports P1 à P2 Done dès que le point A est atteint. Cependant, le déclencheur rouge associé à ce mouvement reste actif jusqu'à ce que la position sur l'élément de fusion vers laquelle il a été projeté soit atteinte.