Journalisation d'événements occasionnels
Il est parfois nécessaire de rechercher des informations sur une interruption qui se produit une fois par semaine ou plus rarement. Avec un mécanisme de journalisation indiquant ce qu'il s'est passé au niveau de l'application juste avant, il est possible de mieux comprendre l'événement.
Les messages du journaliseur d'application sont enregistrés dans une mémoire tampon en anneau. Le nombre de messages envoyés étant parfois conséquent, leur délai de conservation après l'événement est limité. Une fois ce délai expiré, les messages du journaliseur enregistrés dans la mémoire tampon en anneau sont écrasés.
Afin d'éviter d'écraser le contenu de la mémoire tampon en anneau, il est possible de désactiver la journalisation à l'aide de la méthode DisableLogger du bloc fonction FB_ApplicationLoggerHandler.
Pour utiliser ce mécanisme de déclenchement, l'événement concerné doit être détecté dans le projet en ajoutant un POU de type Programme qui permet de vérifier l'état du projet à chaque cycle. Le programme s'exécute en parallèle du projet surveillé, lequel envoie les messages de journaliseur au journaliseur d'application selon la procédure habituelle. Une instance du bloc fonction FB_ApplicationLoggerHandler est mise en œuvre dans cet autre programme. Dès que le programme détecte l'événement, la méthode DisableLogger du bloc fonction FB_ApplicationLoggerHandler est appelée une fois.
Pour consigner également les données après l'événement, il convient de différer l'appel de la méthode (avec un bloc fonction TON, par exemple).