Les bits système sont des opérandes spéciaux du CPU Siemens disponibles sans déclaration préalable.
Ils donnent accès aux horloges internes, à l'état du premier cycle, et à des mémentos toujours vrais ou faux.
⏱ Bits horloge (Clock Bits)
Comment ça marche : Les bits horloge basculent automatiquement entre 0 et 1 à fréquence fixe.
Par exemple %M0.4 bascule toutes les 1000 ms :
c'est la clock de 1 seconde.
Pour les activer sur S7-1200/1500, aller dans Propriétés CPU → Mémentos système et d'horloge
et choisir l'octet mémoire à utiliser (ex : MB0 pour l'horloge, MB1 pour les mémentos système).
Opérande S7-1200/1500
Ancien S7-300/400
Type
Période
Fréquence
Description
%M0.0
M0.0
BOOL
100 ms
10 Hz
Clock 100 ms — bascule 10× par seconde
%M0.1
M0.1
BOOL
200 ms
5 Hz
Clock 200 ms
%M0.2
M0.2
BOOL
400 ms
2,5 Hz
Clock 400 ms
%M0.3
M0.3
BOOL
500 ms
2 Hz
Clock 500 ms — clignotement lent voyant IHM
%M0.4
M0.4
BOOL
1 000 ms
1 Hz
Clock 1 seconde — %M0.4 est la clock de 1000 ms.
Elle bascule toutes les secondes (signal carré 50 %).
Idéal pour compteur secondes ou clignotement 1 Hz.
%M0.5
M0.5
BOOL
1 600 ms
0,625 Hz
Clock 1,6 seconde
%M0.6
M0.6
BOOL
2 000 ms
0,5 Hz
Clock 2 secondes
%M0.7
M0.7
BOOL
2 500 ms
0,4 Hz
Clock 2,5 secondes
Exemple — voyant clignotant à 1 Hz conditionné par un bouton :
Alternative plus précise : Pour une tâche cyclique très précise,
préférez un OB30 configuré à 1000 ms plutôt que %M0.4,
car les clock bits sont liés au cycle OB1 et peuvent légèrement dériver.
⚙ Mémentos système (System Memory Bits)
Opérande
Nom TIA
Type
Description
%M1.0
First_Scan
BOOL
Premier cycle — vrai uniquement lors du 1er cycle après STOP→RUN. Utiliser pour initialiser des variables.
%M1.1
DiagStatusUpdate
BOOL
Passe à 1 quand un nouvel événement diagnostic est disponible dans le tampon.
%M1.2
Always_TRUE
BOOL
Toujours à 1 — contact de forçage ou test de câblage.
%M1.3
Always_FALSE
BOOL
Toujours à 0 — pour désactiver une branche sans supprimer le réseau.
📦 Registres système
Opérande
Type
Description
%MD30
TIME
Temps de cycle courant en µs. Accessible via instruction RT ou lecture directe selon CPU.
%MW32
INT
Numéro du cycle en cours, s'incrémente à chaque exécution de OB1.
%MD100
DWORD
Registre d'erreur global. Lire via GET_ERROR ou dans OB de diagnostic.
📂 Blocs d'organisation système (OB)
OB
Nom
Déclencheur
OB1
Main Program
Cycle principal (scrutation cyclique)
OB10
Time of Day
Horloge temps réel — heure programmable
OB30
Cyclic Interrupt 1
Interruption cyclique configurable (1 ms à 60 000 ms)
OB35
Cyclic Interrupt 5
200 ms par défaut sur S7-300/400
OB40
Hardware Interrupt
Front montant/descendant sur entrée physique
OB80
Time Error
Dépassement du temps de cycle max
OB82
I/O Fault
Défaut module entrée/sortie
OB100
Startup
Exécuté une seule fois au démarrage (STOP → RUN)
OB121
Programming Error
Erreur de programmation (accès hors plage, type incorrect…)