Ce bloc fonction active le couplage maître-esclave avec le profil pour une came électronique définie dans une table de cames.
La bibliothèque prend en charge les types de came suivants (lois de mouvement) via la bibliothèque CommonMotionTypes (pour plus d'informations, consultez ST_MultiCam et ET_CamType dans le guide de la bibliothèque CommonMotionTypes) :
oLigne droite
oSinus simple
oPolynôme général du cinquième degré
oPolynôme standard du cinquième degré
ST_MultiCam présente la même structure de données que PacDrive3 et peut donc être créé avec le même éditeur de cames.
Le bloc fonction fournit un mécanisme de rampe. Le mécanisme de rampe est activé en définissant l'entrée SlaveStartMode sur RampIn et il est configuré via les entrées VelocityOffsetRampIn, AccelerationOffsetRampIn, DecelerationOffsetRampIn et JerkOffsetRampIn. La direction de la rampe d'un axe modulo peut être définie via l'entrée RampInDirection.
Nom de bibliothèque et espace de noms
Nom de la bibliothèque : PLCopen MC part 1
Espace de noms : PLCO
Entrée |
Type de données |
Description |
---|---|---|
Master |
Axis_Ref |
Référence à l'axe pour lequel le bloc fonction doit être exécuté. |
Slave |
Axis_Ref |
Référence à l'axe pour lequel le bloc fonction doit être exécuté. |
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. Ce bloc fonction peut être redémarré en cours d'exécution. Les valeurs cibles sont remplacées par de nouvelles valeurs lorsque se produit le front montant. |
CamTableID |
MC_CAM_ID |
Identificateur de la table de cames à utiliser. Le type de données MC_CAM_ID est un alias de ST_MultiCam de la bibliothèque CommonMotionTypes. Pour plus d'informations, consultez le guide de la bibliothèque CommonMotionTypes. |
BufferMode |
Valeur par défaut : Aborting Mode de tampon. Valeurs possibles : oValeur Aborting oValeur Buffered Voir la description des valeurs dans MC_Buffer_Mode. |
|
Periodic |
BOOL |
Plage de valeurs : FALSE, TRUE. Valeur par défaut : FALSE. TRUE démarre le mode périodique pour MC_CamIn. Ce mode répète l'exécution de la came de façon continue. FALSE démarre la came en mode mono-utilisation. La position de l'axe esclave du front le plus proche (premier ou dernier point de came) est figé s'il n'est pas dans la plage définie, c'est-à-dire lorsque l'axe esclave est immobile (mais encore à l'état SynchronizedMotion) et que la came n'est pas dans la plage définie. NOTE : Que la came démarre en mode périodique ou mono-utilisation, elle indique EndOfProfile, et une tâche de mouvement en mémoire tampon (si cette tâche existe) devient active lorsque EndOfProfile est atteint (même si la came est définie de façon périodique). |
MasterStartMode |
Valeur par défaut : Absolute Valeurs possibles : oValeur Absolute oValeur Relative Voir la description des valeurs dans MC_Master_Start_Mode. |
|
SlaveStartMode |
Valeur par défaut : Relative Valeurs possibles : oValeur Relative oValeur RampIn Voir la description des valeurs dans MC_Slave Start_Mode. |
|
RampInDirection |
Direction de la rampe pour le couplage si l'axe esclave est de type modulo. La direction est celle dirigée vers la cible absolue du mécanisme de rampe (où MC_CamIn est considéré comme InSync) par rapport à la position de l'axe esclave, et non la période Y du profil de came. Si l'axe esclave n'est pas de type modulo, les valeurs de cette entrée n'ont aucun effet. Valeur par défaut : PositiveDirection Valeurs possibles : oValeur PositiveDirection : oValeur NegativeDirection oValeur ShortestWay Voir la description des valeurs dans MC_Direction. |
|
VelocityOffsetRampIn |
LREAL |
Plage de valeurs : -2 147 483 648 à 2 147 483 647 Valeur par défaut : 0 Décalage de vitesse pour le mécanisme de rampe en unités définies par l'utilisateur. |
AccelerationOffsetRampIn |
LREAL |
Plage de valeurs : toute valeur LREAL positive Valeur par défaut : 0 Décalage d'accélération pour le mécanisme de rampe en unités définies par l'utilisateur. |
DecelerationOffsetRampIn |
LREAL |
Plage de valeurs : toute valeur LREAL positive Valeur par défaut : 0 Décalage de décélération pour le mécanisme de rampe en unités définies par l'utilisateur. |
JerkOffsetRampIn |
LREAL |
Plage de valeurs : toute valeur LREAL positive et zéro oValeurs positives : limite de jigue (en unités/s3) (jigue maximum où l'accélération est modifiée). oZéro : limite de jigue désactivée. L'accélération passe instantanément de zéro à l'accélération maximum (jigue infinie). Valeur par défaut : 0 |
Sortie |
Type de données |
Description |
---|---|---|
InSync |
BOOL |
Plage de valeurs : FALSE, TRUE. Valeur par défaut : FALSE. oTRUE : si les axes sont couplés et la came est traitée. |
Busy |
BOOL |
Plage de valeurs : FALSE, TRUE. Valeur par défaut : FALSE. oFALSE : le bloc fonction n'est pas exécuté. oTRUE : le bloc fonction est en cours d'exécution. |
Active |
BOOL |
Plage de valeurs : FALSE, TRUE. Valeur par défaut : FALSE. oFALSE : le bloc fonction ne contrôle pas le mouvement de l'axe. oTRUE : le bloc fonction contrôle le mouvement de l'axe. |
CommandAborted |
BOOL |
Plage de valeurs : FALSE, TRUE. Valeur par défaut : FALSE. oFALSE : l'exécution n'a pas été interrompue. oTRUE : l'exécution a été interrompue par un autre bloc fonction. |
Error |
BOOL |
Plage de valeurs : FALSE, TRUE. Valeur par défaut : FALSE. oFALSE : bloc fonction en cours d'exécution, aucune erreur détectée durant l'exécution. oTRUE : une erreur a été détectée pendant l'exécution du bloc fonction. |
ErrorID |
ET_Result |
Cette énumération fournit des informations de diagnostic. |
EndOfProfile |
BOOL |
Plage de valeurs : FALSE, TRUE. Valeur par défaut : FALSE. TRUE : après exécution du dernier segment de la came. |
RampInDuration |
TIME |
Indique le temps restant jusqu'à la fin de la procédure de rampe et le passage de la sortie InSync à la valeur TRUE. |
Contrairement aux spécifications de PLCopen Motion Control Part 1, Version 2.0, la bibliothèque ne fournit pas de bloc fonction MC_CamTableSelect distinct. La table de cames est définie sous forme d'entrée de MC_CamIn.
La bibliothèque ne fournit pas de bloc fonction MC_CamOut distinct. Un bloc fonction en cours d'exécution peut être annulé par tout autre bloc fonction.
Ce bloc fonction permet une grande flexibilité pour les mouvements absolus et relatifs. Par exemple, il n'y a pas nécessairement une relation entre le modulo d'un axe maître (ou esclave) et la période d'application d'une came dans la direction X (ou Y). Par conséquent, les corrections de décalage peuvent être appliquées à la volée en réglant légèrement la période d'application du profil de came dans la direction X ou Y. Cela ne serait pas possible avec l'axe modulo qui n'est pas modifiable lorsque l'axe exécute un bloc fonction.
Valeurs possibles de ET_Result
ErrorId |
Cause |
Correctif |
---|---|---|
AxisInErrorStop |
Le bloc fonction ne peut pas être exécuté car une erreur d'axe a été détectée et l'axe est à l'état ErrorStop. |
Vérifiez que l'axe n'est pas à l'état ErrorStop lors de la tentative de lancement d'un nouveau bloc fonction. |
AxisInvalid |
Aucun axe défini pour l'entrée Axis ou l'axe défini ne prend pas en charge la fonction définie. Pour MC_Touchprobe et MC_AbortTrigger : l'axe défini ne prend pas en charge la capture. |
Connectez l'axe pour lequel le bloc fonction doit être exécuté sur l'entrée Axis. Pour MC_Touchprobe et MC_AbortTrigger : utilisez un axe qui prend en charge la capture. |
AxisIsDisabled |
Le bloc fonction ne peut pas être exécuté car l'axe est à l'état Disabled. |
Vérifiez que l'axe n'est pas à l'état Disabled lors de la tentative de lancement d'un nouveau bloc fonction. |
AxisIsStopping |
Le bloc fonction ne peut pas être exécuté car un bloc fonction MC_Stop est actif et l'axe est à l'état Stopping. |
Vérifiez que l'axe n'est pas à l'état Stopping lors de la tentative de lancement d'un nouveau bloc fonction. |
IfMotionCommandNotSupported |
L'axe connecté ne prend pas en charge toutes les fonctions nécessaires. |
Vérifiez que l'axe connecté implémente l'interface IF_MotionCommand de la bibliothèque MotionInterface. |
InvalidC |
L'un des points de la came électronique contient une valeur C non valide. |
C est la valeur du segment incurvé suivant de la came électronique. Valeurs possibles pour C : 0 < C ≤ 1. |
InvalidCamTableID |
La définition de la came électronique n'est pas valide. |
Vérifiez qu'une table de cames correcte est fournie pour MC_CamIn via l'entrée CamTableID. |
InvalidK |
L'un des points de la came électronique contient une valeur K non valide. |
K est la courbure de la came électronique à la position pour laquelle K est définie. La valeur doit être 0 pour un sinus simple (ET_CamType = SimplSin) et pour un polynôme général du cinquième degré (ET_CamType = Poly5Com). |
InvalidLambda |
L'un des points de la came électronique contient une valeur Lambda non valide. |
Lambda est la valeur du segment suivant de la came avant le point d'inflexion. Valeurs possibles pour Lambda : 0 < Lambda < 1. |
InvalidM |
L'un des points de la came électronique contient une valeur M non valide. |
M est la pente de la came électronique à la position pour laquelle M est définie. |
MasterAxisNotHomed |
L'axe maître n'a pas été placé en position d'origine. |
L'exécution de MC_CamIn avec mcAbsolute pour MC_Master_Start_Mode requiert un axe en position d'origine. |
MasterInvalid |
L'objet à l'entrée Master n'est pas valide. |
Fournissez une référence valide pour l'axe pour lequel exécuter le bloc fonction (objet de l'arborescence des équipements tel qu'un axe ou un codeur). |
NoBusCommunication |
Le bus de terrain n'est pas à l'état Operational (Sercos : phase 4). |
Vérifiez que le bus de terrain est à l'état Operational (Sercos : phase 4) au front montant de l'entrée Execute et durant l'exécution. |
OutOfMemory |
Mémoire insuffisante pour la commande de mouvement. |
Réduisez la mémoire requise par votre application. |
UnexpectedReturnValue |
Valeur de retour du système indéterminable. |
Contactez le représentant Schneider Electric. |