Definition und Zweck:
 Die Zykluskontrolle (engl. Cycle Time Monitoring oder Scan Time Monitoring) ist ein Überwachungsmechanismus in speicherprogrammierbaren Steuerungen (SPS), der die tatsächliche Laufzeit des SPS-Programms während eines Zyklus überwacht. Ihr Hauptzweck ist es, zu verhindern, dass die Zykluszeit der SPS einen vordefinierten Maximalwert überschreitet.
Die Zykluskontrolle ist entscheidend für die Determinismus und Echtzeitfähigkeit einer SPS. Wenn die Programmlaufzeit zu lang wird, kann dies dazu führen, dass die SPS nicht mehr innerhalb ihrer garantierten Zeitschranken reagiert, was zu unvorhersehbarem Verhalten, Fehlfunktionen oder sogar gefährlichen Zuständen führen kann.
Funktionsweise und Reaktion:
        Ein integrierter Watchdog-Timer (oder eine ähnliche Funktion) wird zu Beginn jedes SPS-Zyklus gestartet. Wenn das SPS-Programm den Watchdog nicht innerhalb der konfigurierten maximalen Zykluszeit „füttert“ (zurücksetzt), nimmt der Watchdog an, dass das Programm in einer Endlosschleife feststeckt oder abgestürzt ist. Daraufhin löst er einen System-Reset der SPS aus, der sie in einen definierten, sicheren Startzustand bringt.
Ursachen für Zykluszeitüberschreitungen:
- Endlosschleifen im Programm: Schleifen ohne korrekte Abbruchbedingung.
- Komplexe Berechnungen: Zu viele oder zu rechenintensive Operationen in einem Zyklus.
- Zu viele Kommunikationsaufgaben: Übermäßige Kommunikation mit Feldgeräten oder anderen Systemen.
- Hardware-Fehler: Probleme mit Modulen, die die Bearbeitung verlangsamen.
- Falsche Parametrierung: Watchdog-Zeit zu kurz eingestellt.
Relevanz in der Automatisierung:
 Die Zykluskontrolle ist ein grundlegendes Element für die Robustheit und Zuverlässigkeit von SPS-Systemen:
- Sicherheit: Verhindert unkontrolliertes Maschinenverhalten durch überlange Zykluszeiten.
- Determinismus: Stellt sicher, dass die SPS immer innerhalb ihrer definierten Zeitschranken reagiert.
- Fehlerdiagnose: Eine Überschreitung der Zykluszeit ist ein klarer Indikator für ein Problem im SPS-Programm oder in der Hardware.
- Programmierpraxis: Programmierer müssen ihre Programme optimieren, um die Zykluszeit nicht zu überschreiten.
Die maximale Zykluszeit wird vom Anwender in der Engineering-Software konfiguriert und muss sorgfältig auf die Anforderungen des Prozesses abgestimmt sein.
→ Siehe auch: Watchdog, Zyklus, Zykluszeit, Echtzeitfähigkeit, SPS, Programm-Zyklus, Fehlerbehandlungsroutine

