Valeurs réelles, valeurs définies et temps mort
Cette page répond à la question de savoir quand les valeurs réelles et les valeurs définies sont reçues et envoyées, et comment elles sont liées au temps mort. Par souci de simplicité, nous nous concentrons sur la position, mais il en va de même pour d'autres valeurs telles que la vitesse ou le couple. Nous nous concentrons également sur EtherCAT. Le comportement est similaire pour les autres bus de terrain. (Notez que nous supposons la configuration par défaut et recommandée avec FrameAtTaskStart = TRUE
).
Quand les valeurs réelles sont-elles reçues ?
The actual position (<DriveA>.fActPosition
) is received at the beginning of the current bus task cycle. It is the actual position of the drive at the time of the previous EtherCAT SYNC event.
Dans le cycle de tâches de bus i, la trame EtherCAT qui a été envoyée lors du précédent cycle de tâches de bus i-1 est reçue. Ce cadre contient la position réelle qui a été verrouillée par le lecteur lors de l'événement SYNC i-2

Quand les valeurs définies sont-elles envoyées ?
Les valeurs définies qui sont calculées dans le cycle de tâches de bus actuel i sont envoyées au lecteur lors du cycle de tâches de bus suivant i+1 et appliquées par le lecteur lors de l'événement SYNC i+1. Voir le schéma ci-dessus.
Qu'est-ce que le temps mort, comment est-il estimé et comment est-il utilisé ?
En règle générale, le temps mort est important chaque fois qu'il est nécessaire d'effectuer une action exactement au moment où le lecteur atteint une position. Le temps mort est également important pour déterminer exactement la position du moteur à un moment donné. Les exemples incluent l'application de colle à haute vitesse ou la réalisation d'une sonde tactile dans l'API avec des entrées numériques de haute précision connectées à l'API.
Définition du temps mort
Le temps mort est le temps nécessaire au variateur pour atteindre réellement la position définie envoyée par l'API. Cela signifie que c'est le décalage entre fActPosition
et le fSetPosition
, au début du cycle de tâches du bus en cours. Le temps mort peut être configuré dans l'éditeur de disque général (Onglet : Général) ou à l'aide du Paramètre MC_Write bloc de fonction avec le numéro de paramètre 1070 (fSetActTimeLagCycles
).
Le temps nécessaire pour envoyer la position définie au variateur
Le temps nécessaire au contrôleur d'entraînement pour atteindre la position définie
Le temps nécessaire pour recevoir la position réelle du lecteur
Estimation du temps mort
Le temps mort peut être estimé à l'aide du SMC_EstimateDeadTime bloc fonctionnel. Le variateur doit être déplacé à une vitesse constante et la médiane ou la moyenne de plusieurs mesures de temps mort doit être utilisée
Le temps mort peut également être estimé à l'aide de l'éditeur de traces. Pour plus d'informations, consultez les rubriques suivantes : Détermination du temps mort du système
Utilisation du temps mort
Le temps mort est utilisé dans la fonctionnalité suivante. Si vous utilisez l'une de ces fonctions et que vous avez besoin d'une précision élevée, assurez-vous de déterminer et de configurer le temps mort.
Lors du passage du mode contrôleur au mode contrôleur
SMC_position
Pour plus d'informations, consultez les rubriques suivantes : Cas d'utilisation standard
En mode contrôleur
SMC_velocity
pour calculer la position définie à partir de la position réelle et de la vitesse définieEn mode contrôleur
SMC_torque
pour calculer la position définie à partir de la position réelle et de la vitesse réelleSi la supervision du décalage de position du logiciel est activée
Dans le
SMC_GetTravelTime
bloc de fonction si l'entréeValueSource
a la valeurMC_SOURCE.ACT
Dans le
SMC_DigitalCamSwitch_HighPrecision
bloc de fonction si l'entréeValueSource
a la valeurMC_SOURCE.ACT
Dans le
SMC_ETC_InterpolateAxisPosition
bloc fonctionnel (sonde tactile basée sur PLC)