3.5.5
Opérations sur sémaphores Si, en fonctionnement multiprocesseur (voir chapitre 10), plusieurs
SES/SEF : positionnement
et libération de sémaphores
Tableau 3-29
Positionnement et libération de sémaphores
Opération
Opérande
SES
0 à 31
SEF
0 à 31
Programmation de la CPU 948
C79000-G8577-C848-04
CPU d'un automate programmable accèdent à une zone de mémoire
commune (périphérie, processeurs de communication, périphérie in-
telligente), le risque existe que les CPU écrasent mutuellement leurs
données et lisent des données intermédiaires erronées. Il est donc
nécessaire de coordonner l'accès des CPU à la zone de mémoire com-
mune.
La coordination des accès est possible à l'aide de sémaphores et des
instructions SES et SEF. On peut, par exemple, programmer la coordi-
nation suivante. Dans une configuration multiprocesseur, une CPU ne
pourra accéder à la zone de mémoire commune qu'après avoir posi-
tionné le sémaphore concerné (SES), un sémaphore xx ne pouvant
être positionné que par une seule CPU. Si une CPU n'arrive pas à posi-
tionner le sémaphore, elle doit renoncer à accéder à la mémoire.
De la même manière, une CPU doit renoncer à un nouvel accès à la
mémoire après avoir libéré le sémaphore (SEF).
Il ne s'agit pas d'opérations système.
Fonction
Positionnement d'un sémaphore
Libération d'un sémaphore
Evaluation des résultats de l'opération par FL 0/FL 1
Nota
Les instructions SES xx et SEF xx doivent être programmées dans
toutes les CPU qui doivent accéder de façon concertée à une
zone de mémoire commune.
Les FB standard, les blocs de dialogue et les blocs pour
communication multiprocesseur gèrent la coordination d'accès de
façon interne. Vous n'avez pas besoin de programmer les
opérations SES xx et SEF xx pour ces blocs.
Opérations sur sémaphores
3 - 75