Appel de sous-programmes dans des programmes d'interruption
Vous pouvez appeler un niveau d'imbrication de sous-programme dans un programme d'interruption. Les
accumulateurs et la pile logique sont partagés entre le programme d'interruption et le sous-programme
appelé.
Types d'interruptions prises en charge par le S7-200
Le S7-200 accepte les types suivants de programmes d'interruption :
Interruptions de communication : Le S7-200 génère des événements permettant à votre programme
-
de gérer l'interface de communication.
Interruptions d'E/S : Le S7-200 génère des événements pour différents changements d'état de
-
diverses E/S. Ces événements permettent à votre programme de réagir aux compteurs rapides, aux
sorties d'impulsions ou aux fronts montants ou descendants des entrées.
Interruptions commandées par horloge : Le S7-200 génère des événements permettant à votre
-
programme de réagir à intervalles spécifiques.
Interruptions de communication
Votre programme peut commander le port de communication série du S7-200. Ce mode d'exploitation de
cette interface est désigné par "communication programmable". Dans ce mode, votre programme définit le
débit, le nombre de bits par caractère, la parité et le protocole. Les interruptions d'émission et de réception
disponibles facilitent cette communication gérée par programme. Reportez-vous aux opérations de transfert
et de réception pour plus d'informations.
Interruptions d'E/S
Parmi les interruptions d'entrée/sortie, on compte les interruptions sur front montant ou descendant, les
interruptions de compteur rapide et les interruptions de sortie de trains d'impulsions. Le S7-200 peut générer
une interruption sur front montant ou descendant d'une entrée (I0.0, I0.1, I0.2 ou I0.3). Le système peut
détecter les événements "Front montant" et "Front descendant" pour chacune de ces entrées. Ces
événements permettent de signaler une situation exigeant une attention immédiate à l'apparition de
l'événement.
Les interruptions de compteur rapide permettent de réagir à des situations telles que valeur en cours égale
à valeur prédéfinie, modification du sens de comptage qui peut correspondre à une inversion du sens de
rotation d'un arbre, ainsi que remise à zéro externe du compteur. Chacun de ces événements de compteur
rapide permet de réagir rapidement à des événements rapides que la vitesse de cycle de l'automate
programmable ne permet pas de gérer.
Les interruptions de sortie de trains d'impulsions permettent de signaler immédiatement que l'émission du
nombre d'impulsions indiqué est achevée. Les sorties de trains d'impulsions sont généralement utilisées
pour la commande de moteurs pas à pas.
Vous pouvez valider chacune des interruptions présentées ci-dessus en associant un programme
d'interruption à l'événement d'E/S correspondant.
Interruptions commandées par horloge
Les interruptions commandées par horloge comprennent les interruptions cycliques et les interruptions
temporisées T32/T96. Les interruptions cycliques permettent d'exécuter des actions sur une base cyclique.
Vous définissez une période de 1 à 255 ms en incréments de 1 ms et écrivez cette période dans le SMB34
pour l'interruption cyclique 0 et dans le SMB35 pour l'interruption cyclique 1.
L'événement d'interruption cyclique donne la main au programme d'interruption approprié à chaque fois que
la temporisation correspondant à la période s'est écoulée. En général, vous utiliserez des interruptions
cycliques pour gérer l'échantillonnage d'entrées analogiques ou pour exécuter une boucle PID à des
intervalles de temps réguliers.
Pour valider une interruption cyclique, vous devez associer un programme d'interruption à l'événement
d'interruption cyclique ; la période définie commence alors à s'écouler. Durant l'association, le système
enregistre la valeur de la période, qui ne peut donc pas être influencée par des modifications ultérieures des
SMB34 et SMB35. Pour modifier cette période, vous devez changer sa valeur et réassocier le programme
d'interruption à l'événement d'interruption cyclique. Lorsque s'effectue cette nouvelle association, la fonction
d'interruption cyclique efface toute valeur de temps précédente et s'exécute avec la nouvelle période.
Jeu d'opérations S7-200
Chapitre 6
6
159