Siemens SIMATIC S7-1500 fault OB80: Time error (cycle time exceeded)
The operating system calls the time error OB (OB80) on the first violation of the maximum cycle time within a cycle, when the number of queued, unfinished OB requests reaches the configured warning limit, and on expired or skipped time-of-day interrupts. If OB80 is not present and the cyclic program exceeds the maximum cycle time, the CPU goes to STOP. If the cycle time is exceeded twice in the same cycle (2xMaxCycleTime), the CPU goes to STOP whether or not OB80 exists.
Diagnose this with AI
Try Free PLC Fault Diagnostic Upload a keypad photo, the fault history or a parameter export from your Siemens SIMATIC S7-1500. InduQT compares the evidence and suggests the next useful checks.
When it happens
- RUN, when the cyclic program (OB1 and interrupting OBs) runs longer than the maximum cycle time
- RUN, when a cyclic interrupt OB is started again before its previous run finished
- On return to RUN or after a clock change, for time-of-day interrupts
Likely causes and checks
1Cyclic program too long for the configured maximum cycle time
- Points to it
- Measured cycle times (Online & diagnostics) close to the limit; OB80 start info Fault_ID 16#01.
- Check
- Compare the measured maximum cycle time with the configured maximum cycle time.
2Loop in the program that runs far longer under some conditions
- Points to it
- Cycle time normally short, then a sudden overrun after an edit or a data change.
- Check
- Review FOR/WHILE loops and indirect jumps in the block named by Csg_OBnr.
3Interrupt OBs or communication load interrupting the cycle
- Points to it
- Fault_ID 16#02, 16#07 or 16#09 (OB still running, request buffer overflow, interrupt loss); many cyclic or hardware interrupts.
- Check
- Review interrupt OB periods, priorities and run times.
Telling it apart
- Without OB80 one overrun stops the CPU; with OB80 the CPU continues after the first overrun but still stops on a second overrun in the same cycle.
- RE_TRIGR restarts the cycle monitoring time; Siemens names it as the way to prevent a 2xMaxCycleTime STOP where long cycles are expected, but it does not shorten the program.
- Fault_ID in the OB80 start information separates cycle time overruns (16#01) from OB request overloads (16#02, 16#07) and time-of-day interrupt events (16#05, 16#06).
Relevant parameters
| Parameter | Name | Why it matters |
|---|---|---|
| CPU properties > Cycle | Maximum cycle time (cycle monitoring time) | Upper limit for the cyclic program; exceeding it calls OB80 or stops the CPU if OB80 is missing. |
| RE_TRIGR | Restart cycle monitoring | Instruction that restarts the cycle monitoring time at a chosen point. |
Evidence to collect
- Diagnostics buffer export with the time error entry
- Measured cycle times (minimum, current, longest)
- Configured maximum cycle time and minimum cycle time
- OB80 start information (Fault_ID, Csg_OBnr, Csg_Prio), if OB80 logs it
- Recent program changes
Work on fuel trains, burners, pressure vessels and electrical equipment must be done by qualified personnel following the manufacturer’s documentation and local codes. Never bypass a safety device or interlock.