Suite de l'exemple d'application pour les sémaphores
FB 1
:U
M 10.0
:SPB =M001
:
:UN
E
0.0
:BEB
:
:L
KH 2222
:T
MW 12
:UN
M 10.0
:S
M 10.0
:
M001 :SPA FB10
NOM
:SIGNAL
:
:BE
FB 10
NOM
:SIGNAL
:UN
M 10.1
:SPB FB 100
NOM
:SEMASET
:
:U
M 10.1
:UN
M 10.2
:S
M 10.2
:L
KT010.2
:SV
T 10
:
:U
M 10.2
:UN
M 10.3
:SPB FB 110
NOM
:SORTSIGN
:
:U
M 10.2
:UN
M 10.4
:UN
T 10
:SPB FB 101
NOM
:SEMARESE
:
:UN
M
10.4
:BEB
:
:L
KH0000
:T
MB10
:BE
Programmation de la CPU 948
C79000-G8577-C848-04
Si aucune signalisation n'est active
Générer la signalisation et
mettre à "1" le mémento SIGNALISATION.
Appel du bloc FB SIGNAL
Si le sémaphore n'est pas positionné,
appeler le bloc FB "positionner sémaphore".
Si le sémaphore est positionné et
si la temporisation n'est pas lancée,
lancer la temporisation.
Si la temporisation est lancée et
si aucune signalisation n'est transférée,
appeler le bloc FB "sortir signalisation".
Si la temporisation est lancée,
que le sémaphore n'est pas libéré
et que la temporisation est écoulée,
appeler le FB "libérer sémaphore".
Si le sémaphore est libéré,
mettre à "0" tous les mémentos.
Opérations sur sémaphores
Suite à la page suivante
3 - 79