Cette unité fonctionnelle génère une sortie d'impulsion comme suit :
Le compteur interne utilise 4 MHz comme source d'horloge pour une sortie haute fréquence comprise entre 100 Hz et 400 kHz.
Le compteur interne utilise 100 kHz comme source d'horloge pour une sortie basse fréquence comprise entre 2 Hz et 100 Hz. (Ici, la sortie désigne celle précédant le circuit externe diviseur de fréquence.)
Dans le cas d'une fréquence élevée, la fréquence de la sortie provenant directement du compteur interne est 4 M /Modulo (Modulo étant la valeur entière utilisée par le compteur pour diviser la source d'horloge). En l'occurrence, il est clair qu'une source d'horloge de 4 MHz est insuffisante pour générer toutes les fréquences entre 100 Hz et 400 kHz avec une précision de 0,5 %. Pour certaines fréquences, un algorithme spécifique permet de corriger la sortie. Celui-ci fait varier l'impulsion de sortie entre la source d'horloge divisée par la valeur Modulo et par la valeur Modulo + 1. Un taux de variation approprié est appliqué pour garantir une précision de 0,5 % de la fréquence moyenne.
Par exemple, si la fréquence de sortie souhaitée est de 393 kHz :
La valeur Modulo est égale à 10, l'impulsion de sortie réelle va varier entre 400 kHz et 363,6363 kHz, et le taux est compris entre 4:1 et 5:1.
La sortie réelle est la suivante :
Boucle du générateur d'impulsions (2 ms) :
Dans chaque voie PTO, un compteur 32 bits compte le nombre d'impulsions de sortie pour vérifier l'exactitude de ce nombre.
Une seule commande peut être envoyée et traitée lors d'un cycle de tâches de l'automate.
En cas d'envoi de plusieurs commandes :
-
Si BufferMode a pour valeur Aborted, le temps de réponse est fonction du cycle de tâches de l'automate. En d'autres termes, la commande en cours n'est pas arrêtée, mais la commande suivante ne démarre pas avant le cycle suivant.
-
Si BufferMode a pour valeur Buffered or BlendingPrevious, le temps de réponse est indépendant du cycle de tâches de l'automate (considérant que la commande a été envoyée au moins un cycle avant la fin de la commande en cours).