Fonctions de fenêtre au point
Les fonctions de fenêtre au point sont GetInPositionBand et SetInPositionBand (voir Réglage de la position d'un axe). La fenêtre au point est la tolérance sur la position d'une cible utilisée pour déterminer les états IN_POSITION et AXIS_AT_TARGET. Si la valeur absolue de la différence entre la position réelle et la position à atteindre est inférieure à la fenêtre au point, le Module donne les valeurs suivantes pour IN_POSITION et AXIS_AT_TARGET suivantes :
-
Le bit IN_POSITION est positionné à 1 après l'arrêt de l'axe (bit d'état STOPPING) à une position cible et si la position de l'axe se trouve dans la fenêtre au point de la position cible. Il n'est pas positionné à 1 si la position est extérieure à la fenêtre au point, ou au démarrage du mouvement suivant. Il n'est pas positionné à 1 pendant une action Hold ou FastStop; en revanche il est positionné à 1 lorsque Halt a mis fin à un profil de mouvement. IN_POSITION est positionné à 0 lors de la désactivation et à 1 lors de la réactivation.
-
AXIS_AT_TARGET est positionné à 1 une fois l'axe arrivé à la fin d'un profil de mouvement (bit d'état PROFILE_END) vers une position cible et une fois que la position de l'axe se trouve dans la fenêtre au point de la position cible. Il n'est pas positionné à 1 si la position est extérieure à la fenêtre au point, ou au démarrage du mouvement suivant. Il n'est pas positionné à 1 si une action Halt ou FastStop, une désactivation du variateur ou un défaut interrompt un profil de mouvement avant que l'axe ne s'arrête à la position cible, même si la position de l'axe se trouve dans la fenêtre au point de la cible. La désactivation et la réactivation du variateur ne modifie pas l'état du bit AXIS_AT_TARGET. Ce bit n'est pas positionné à 1 si AXIS_POS_LIMIT ou AXIS_NEG_LIMIT est défini. AXIS_AT_TARGET est similaire au bit IN_POSITION, à la différence que :
-
il n'est pas modifié lorsque le variateur est désactivé,
-
il est positionné à 0 à la fin d'un arrêt et il n'est pas modifié après une réactivation du variateur,
-
il est positionné à 0 si l'axe se trouve sur une butée,
-
il est vérifié après que le bit PROFILE_END soit positionné à 1 alors que IN_POSITION est vérifié après que STOPPING soit positionné à 1.
Il se peut que le bit AXIS_AT_TARGET ne soit pas positionné à 1 suite à des fonctions de mouvement normales, telles que Halt. Attendez que PROFILE_END et IN_POSITION soient positionnés à 1, et contrôlez ensuite AXIS_AT_TARGET avec une instruction séparée.