B.3
Exemple : Opérations de temporisation
Générateur d'horloge
Vous pouvez utiliser, pour produire un signal qui se répète périodiquement, un générateur
d'impulsions d'horloge ou un relais clignotant. On trouve souvent des générateurs d'horloge
dans les systèmes de signalisation qui commandent le clignotement des lampes de
signalisation.
Dans l'automate S7-300, vous pouvez réaliser la génération d'impulsions d'horloge en utilisant
le traitement commandé par horloge dans des blocs d'organisation spéciaux. Toutefois,
l'exemple présenté dans le programme LIST suivant illustre l'utilisation de fonctions de
temporisation pour générer une période d'horloge.
Programme LIST pour générer une période d'horloge (rapport d'impulsion 1:1)
LIST
Explication
U
T1
//Lorsque la temporisation T1 s'est écoulée,
L
S5T#250ms
//charger la valeur de temps 250 ms dans T1 et
SV
T1
//démarrer T1 sous forme d'impulsion prolongée.
NOT
//Inverser le résultat logique.
BEB
//Mettre fin au bloc en cours si la temporisation s'exécute.
L
MB100
//Après l'exécution de la temporisation, charger le contenu de l'octet de
mémento MB100,
INC
1
//incrémenter le contenu de 1 et
T
MB100
//transférer le résultat dans l'octet de mémento MB100.
L'interrogation de l'état de signal
L'interrogation de l'état de signal de la temporisation T1 fournit le résultat logique RLG :
1
0
La temporisation est redémarrée une fois le temps écoulé. De ce fait, l'interrogation de l'état
de signal par l'instruction UN T1 ne délivre l'état de signal 1 que brièvement.
La figure montre comment se présente le bit RLG inversé.
1
0
Le bit RLG est égal à 0 toutes les 250 ms. L'opération BEB ne met alors pas fin au traitement
du bloc, mais incrémente le contenu de l'octet de mémento MB100 de 1.
Le contenu de l'octet de mémento MB100 change toutes les 250 ms de la manière suivante :
0 -> 1 -> 2 -> 3 -> ... -> 254 -> 255 -> 0 -> 1 ...
Langage LIST pour SIMATIC S7-300/400
A5E00706961-01
250 ms
250 ms
Exemples de programmation
B-5