Ce bloc fonction permet le référencement d'un variateur à la valeur de capture de position d'une sonde tactile. Ce type de référencement est piloté par le contrôleur (voir MC_Home pour le référencement contrôlé par le variateur).
L'entrée Trigger indique le front du signal de capture à détecter (front descendant ou front montant). La direction du mouvement de référencement est définie dans l'entrée Direction. L'entrée MaxTravelDistance est utilisée pour indiquer la course maximum du mouvement de référencement. Si le front du signal de capture n'est pas détecté sur cette distance, l'exécution du bloc fonction est abandonnée et une erreur est détectée.
Le mouvement de référencement est lancé (entrées Acceleration et Jerk) à une vitesse constante (entrée Velocity) dans la direction définie par l'entrée Direction.
Lorsque le front spécifié du signal de capture est détecté, la valeur de position correspondante est définie comme position d'origine. Le mouvement décélère conformément à la valeur de décélération définie à l'entrée Deceleration.
Selon la valeur de l'entrée ReturnToZero, le mouvement s'arrête (FALSE) ou se poursuit jusqu'au point zéro (TRUE).
Exemple 1 avec les paramètres d'entrée suivants :
Direction: PositiveDirection
Trigger: RisingEdge
Mouvements :
Elément |
Mouvement |
---|---|
1 |
Mouvement de référencement (recherche du front du signal de capture de position). |
2 |
Mouvement vers le point zéro (si ReturnToZero a pour valeur TRUE). |
3 |
Mouvement vers la fin de course (échec du référencement). |
Scénarios :
Elément |
Scénario |
---|---|
A |
Le mouvement de référencement est effectué avec une valeur faible à l'entrée Velocity (1). Le front montant est détecté et le mouvement s'arrête. Après le mouvement de référencement, un mouvement vers zéro est effectué (2). |
B |
Le mouvement de référencement est effectué avec une valeur élevée à l'entrée Velocity (1). Le front montant est détecté et le mouvement s'arrête. Après le mouvement de référencement, un mouvement vers zéro est effectué (2). |
C |
Le mouvement de référencement est lancé après le front montant et avant le front descendant (1), c'est-à-dire sur le déclencheur. Le mouvement est arrêté par la fin de course (3). Le référencement n'a pas réussi car le mouvement de référencement ne peut pas être lancé à une position située entre le front montant et le front descendant. |
D |
Le mouvement de référencement démarre après le front descendant (1). Le mouvement est arrêté par la fin de course (3). Le référencement n'a pas réussi. |
Exemple 2 avec les paramètres d'entrée suivants :
Direction: PositiveDirection
Trigger: FallingEdge
Mouvements :
Elément |
Mouvement |
---|---|
1 |
Mouvement de référencement (recherche du front du signal de capture de position). |
2 |
Mouvement vers le point zéro (si ReturnToZero a pour valeur TRUE). |
3 |
Mouvement vers la fin de course (échec du référencement). |
Scénarios :
Elément |
Scénario |
---|---|
A |
Le mouvement de référencement est exécuté (1). Le front descendant est détecté et le mouvement s'arrête. Après le mouvement de référencement, un mouvement vers zéro est effectué (2). |
B |
Le mouvement de référencement est lancé entre le front montant et le front descendant (1), c'est-à-dire sur le déclencheur. Le mouvement est arrêté par la fin de course (3). Le référencement n'a pas réussi car le mouvement de référencement ne peut pas être lancé à une position située entre le front montant et le front descendant. |
C |
Le mouvement de référencement démarre après le front descendant (1). Le mouvement est arrêté par la fin de course (3). Le référencement n'a pas réussi. |
Le front du signal de capture de position est détecté via les IDNs de la bibliothèque. Cela implique un délai qui dépend de la fréquence à laquelle le bloc fonction doit être appelé pour terminer son exécution. Si l'entrée ReturnToZero a pour valeur FALSE, ce délai correspond à la distance jusqu'à la sonde tactile une fois que la sortie Done du bloc fonction a pris la valeur TRUE.
Lorsque l'exécution du bloc fonction est lancée, la propriété IsHomed de l'axe prend la valeur FALSE. Une fois que l'entrée HomePosition a été définie sur la position de l'axe, la propriété IsHomed de l'axe prend la valeur TRUE.
Si une fin de course matérielle est déclenchée pendant le mouvement de référencement, l'exécution du bloc fonction est abandonnée et une erreur est détectée (DriveInError).
Vous ne pouvez pas lancer ce bloc fonction en tant que bloc fonction en mémoire tampon ni exécuter un bloc fonction en mémoire tampon après l'exécution de ce bloc fonction.
Ce bloc fonction ne peut être lancé que lorsque l'axe est dans l'état de fonctionnement PLCopen StandStill. Les états de fonctionnement PLCopen admissibles après l'exécution du bloc fonction sont Stopping, ErrorStop ou StandStill.
Entrée |
Type de données |
Description |
---|---|---|
Axis |
Axis_Ref |
Référence à l'axe pour lequel le bloc fonction doit être exécuté. |
Trigger |
Référence à la source de capture de position du variateur pour lequel le bloc fonction doit être exécuté. Le bloc fonction détecte le front spécifié du signal de capture et place l'axe à cette valeur de position. Valeurs possibles :
Si la valeur n'est pas valide, l'exécution du bloc fonction est abandonnée et une erreur est détectée (InvalidCaptureSource). Si la source de capture de position spécifiée est en cours d'utilisation lorsque le bloc fonction démarre, l'exécution de ce dernier est abandonnée et une erreur est détectée (CaptureSourceAlreadyInUse). Si le front indiqué pour le signal de capture de position n'est pas valide, l'exécution du bloc fonction est abandonnée et une erreur est détectée (InvalidCaptureEdge). Si le déclencheur est abandonné par le bloc fonction MC_AbortTrigger, l'exécution du bloc fonction est abandonnée et une erreur est détectée (TriggerExternalAborted). |
|
Execute |
BOOL |
Plage de valeurs : FALSE, TRUE. Valeur par défaut : FALSE. Un front montant de l'entrée Execute démarre le bloc fonction. Le bloc fonction poursuit son exécution et la sortie Busy prend la valeur TRUE. Un front montant sur l'entrée Execute est ignoré pendant l'exécution du bloc fonction. |
HomePosition |
LREAL |
Plage de valeurs : valeur LREAL Valeur par défaut : 0 Position (en unités définies par l'utilisateur) qui est définie comme position d'origine lorsque le front indiqué du signal de capture est détecté. Si la valeur est définie hors de la plage modulo d'un axe modulo, une erreur est détectée (PositionOutsideModulo). Si la valeur est définie hors de la plage de mouvement admissible d'un axe linéaire, une erreur est détectée (HomePositionOutsideLimits).
NOTE : Après le référencement, la position de l'axe est différente de la position d'origine détectée en raison de la décélération jusqu'à l'arrêt (entrée Deceleration après la détection du front du signal de capture de position pendant le mouvement de référencement à vitesse constante (Velocity)).
|
MaxTravelDistance |
LREAL |
Plage de valeurs : Valeur LREAL positive ou négative Valeur par défaut : 0 Distance maximum (en unités définies par l'utilisateur) du mouvement de recherche du front du signal de capture. Comportement :
|
Velocity |
LREAL |
Plage de valeurs : Valeur LREAL positive Valeur par défaut : 0 Valeur de la vitesse (en unités définies par l'utilisateur) pour le mouvement de référencement à vitesse constante. Si la valeur est zéro ou négative, l'exécution du bloc fonction est abandonnée et une erreur est détectée (NonPositiveHomingVelocity). |
Acceleration |
LREAL |
Plage de valeurs : Valeur LREAL positive Valeur par défaut : 0 Valeur de l'accélération (en unités définies par l'utilisateur) pour le mouvement de référencement à vitesse constante. Si la valeur est zéro ou négative, l'exécution du bloc fonction est abandonnée et une erreur est détectée (AccelerationOutOfRange). |
Deceleration |
LREAL |
Plage de valeurs : Valeur LREAL positive Valeur par défaut : 0 Valeur de décélération (en unités définies par l'utilisateur) du mouvement de référencement après détection du front du signal de capture. Si la valeur est zéro ou négative, l'exécution du bloc fonction est abandonnée et une erreur est détectée (DecelerationOutOfRange). |
Jerk |
LREAL |
Plage de valeurs : Valeur LREAL positive Valeur par défaut : 0
|
Direction |
Valeur par défaut : PositiveDirection Direction du mouvement de référencement. Valeurs possibles :
Si la valeur n'est pas valide, l'exécution du bloc fonction est abandonnée et une erreur est détectée (DirectionInvalid). Voir la description des valeurs dans MC_Direction. |
|
ReturnToZero |
BOOL |
Plage de valeurs : FALSE, TRUE. Valeur par défaut : FALSE. TRUE : Une fois la position d'origine définie, le mouvement se poursuit vers la position zéro (ce qui correspond à un mouvement à MC_MoveAbsolute vers la position 0.0).
NOTE : Si le bloc fonction MC_SetPosition est exécuté avec ReturnToZero défini sur TRUE, le mouvement se poursuit vers le point zéro tel qu'il a été calculé au départ.
FALSE : Aucun mouvement n'est effectué une fois la position d'origine définie. L'état de fonctionnement PLCopen reste Homing pendant toute la durée du mouvement de retour à zéro. |
Sortie |
Type de données |
Description |
---|---|---|
Done |
BOOL |
Plage de valeurs : FALSE, TRUE. Valeur par défaut : FALSE.
|
Active |
BOOL |
Plage de valeurs : FALSE, TRUE. Valeur par défaut : FALSE.
|
CommandAborted |
BOOL |
Plage de valeurs : FALSE, TRUE. Valeur par défaut : FALSE.
|
Error |
BOOL |
Plage de valeurs : FALSE, TRUE. Valeur par défaut : FALSE.
|
ErrorID |
Cette énumération fournit des informations de diagnostic. |