🔷 TIA Portal — Référence

Bits & Variables système

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.0M0.0 BOOL100 ms10 Hz Clock 100 ms — bascule 10× par seconde
%M0.1M0.1 BOOL200 ms5 Hz Clock 200 ms
%M0.2M0.2 BOOL400 ms2,5 Hz Clock 400 ms
%M0.3M0.3 BOOL500 ms2 Hz Clock 500 ms — clignotement lent voyant IHM
%M0.4M0.4 BOOL1 000 ms1 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.5M0.5 BOOL1 600 ms0,625 Hz Clock 1,6 seconde
%M0.6M0.6 BOOL2 000 ms0,5 Hz Clock 2 secondes
%M0.7M0.7 BOOL2 500 ms0,4 Hz Clock 2,5 secondes

Exemple — voyant clignotant à 1 Hz conditionné par un bouton :

// Réseau 1 — Clignotant 1 seconde LD %M0.4 // Clock 1000 ms (1 Hz) = clock 1 seconde AND %I0.0 // Condition : bouton autorisation = %Q0.0 // Sortie voyant
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érandeNom TIATypeDescription
%M1.0First_Scan BOOL Premier cycle — vrai uniquement lors du 1er cycle après STOP→RUN. Utiliser pour initialiser des variables.
%M1.1DiagStatusUpdate BOOL Passe à 1 quand un nouvel événement diagnostic est disponible dans le tampon.
%M1.2Always_TRUE BOOL Toujours à 1 — contact de forçage ou test de câblage.
%M1.3Always_FALSE BOOL Toujours à 0 — pour désactiver une branche sans supprimer le réseau.

📦 Registres système

OpérandeTypeDescription
%MD30TIME Temps de cycle courant en µs. Accessible via instruction RT ou lecture directe selon CPU.
%MW32INT Numéro du cycle en cours, s'incrémente à chaque exécution de OB1.
%MD100DWORD Registre d'erreur global. Lire via GET_ERROR ou dans OB de diagnostic.

📂 Blocs d'organisation système (OB)

OBNomDéclencheur
OB1Main ProgramCycle principal (scrutation cyclique)
OB10Time of DayHorloge temps réel — heure programmable
OB30Cyclic Interrupt 1Interruption cyclique configurable (1 ms à 60 000 ms)
OB35Cyclic Interrupt 5200 ms par défaut sur S7-300/400
OB40Hardware InterruptFront montant/descendant sur entrée physique
OB80Time ErrorDépassement du temps de cycle max
OB82I/O FaultDéfaut module entrée/sortie
OB100StartupExécuté une seule fois au démarrage (STOP → RUN)
OB121Programming ErrorErreur de programmation (accès hors plage, type incorrect…)
OB122I/O Access ErrorAccès à une adresse E/S inexistante