S5 Timer Types to S7 Equivalents: SI/SE/SD/SS/SA → TON/TOF/TP
Comparison table of all five S5 timer types (SI, SE, SD, SS, SA) with their S7 STL and IEC 61131-3 equivalents. Behavior differences and migration notes.
S5 Timer Types to S7 Equivalents: SI/SE/SD/SS/SA → TON/TOF/TP
Complete Comparison Table
| S5 Timer | Name (EN) | Name (DE) | S7 STL Function | IEC 61131-3 | Exact Match? |
|---|---|---|---|---|---|
| SI | Pulse | Impuls | S_PULSE | TP | ⚠️ Approximate — SI is cut short, TP runs full duration |
| SE | Extended Pulse | Verlängerter Impuls | S_PEXT | TP | ⚠️ Approximate — SE is retriggerable, TP is not |
| SD | On-Delay | Einschaltverzögerung | S_ODT | TON | ✅ Exact match |
| SS | Retentive On-Delay | Speichernde Einschaltverzögerung | S_ODTS | — | ❌ No IEC equivalent (SS ≠ TONR) |
| SA | Off-Delay | Ausschaltverzögerung | S_OFFDT | TOF | ✅ Exact match |
Behavior Summary
SI (Pulse) → TP (approximate)
- SI: Output TRUE while input TRUE, max for set time. Goes FALSE if input goes FALSE early.
- TP: Output TRUE for set time regardless of input. Not cut short.
- Migration: Use S_PULSE for exact behavior. Use TP only if the "cut short" behavior is not needed.
SE (Extended Pulse) → TP (approximate)
- SE: Output TRUE for full set time. Retriggerable — new edge restarts timer.
- TP: Output TRUE for full set time. NOT retriggerable.
- Migration: Use S_PEXT for exact behavior. If retrigger is not used in the program, TP works.
SD (On-Delay) → TON ✅
- Exact 1:1 match. Both start timing when input goes TRUE, output goes TRUE after delay, both reset when input goes FALSE.
- Migration: Direct replacement. SD → TON.
SS (Retentive On-Delay) → No IEC equivalent ❌
- SS: Starts timing on rising edge. Continues even if input goes FALSE. Output latches TRUE. Must be reset with R.
- TONR (common misconception): TONR accumulates time across multiple input pulses. SS does NOT accumulate — it starts once and runs to completion.
- Migration: Use S_ODTS for exact behavior. Or implement with TON + SR flip-flop in SCL.
SA (Off-Delay) → TOF ✅
- Exact 1:1 match. Output goes TRUE immediately when input goes TRUE. When input goes FALSE, output stays TRUE for set time.
- Migration: Direct replacement. SA → TOF.
Migration Decision Tree
Which S5 timer? ──→ SD? ──→ Use TON (exact match)
──→ SA? ──→ Use TOF (exact match)
──→ SI? ──→ Does input go FALSE before timer expires?
──→ Yes, and that matters ──→ Use S_PULSE
──→ No / doesn't matter ──→ Use TP
──→ SE? ──→ Is retrigger used?
──→ Yes ──→ Use S_PEXT
──→ No ──→ Use TP
──→ SS? ──→ Use S_ODTS (or TON + SR in SCL)
S7 Code Examples
SD → TON (SCL):
TON_Instance(IN := StartCondition, PT := T#5s);
Output := TON_Instance.Q;
SA → TOF (SCL):
TOF_Instance(IN := RunSignal, PT := T#10s);
FanOutput := TOF_Instance.Q; // Fan runs 10s after motor stops
For individual timer command details, see: SI | SE | SD | SS | SA
Part of the S5→S7 Timer Reference. Maintained by PLCcheck.ai.
Related Articles
S5 Timer Conversion: KT Values to IEC Timers
Complete guide to converting Siemens S5 KT timer values to S7 IEC timers (TON, TOF, TP). Includes BCD format explanation, conversion table with 20+ examples, and behavior differences between S5 and IEC timers.
12 min read
migration-guideS5 to S7 Address Mapping: Complete I/O Conversion Table
Complete reference for converting Siemens S5 PLC addresses to S7 format. Covers inputs (E→I), outputs (A→Q), flags (M/F), data blocks (DW→DBW×2 with bit-level mapping), timers, counters, and peripherals.
14 min read
migration-guideConverting S5 AWL to S7 SCL: Step-by-Step
Practical guide for converting Siemens S5 AWL (Instruction List) code to S7 SCL (Structured Text). Includes conversion tables, code examples for bit logic, timers, counters, jumps, and data blocks.
14 min read
Analyze your PLC code with AI
PLCcheck Pro explains, documents, optimizes, and migrates PLC code — automatically.
Try PLCcheck Pro →Not affiliated with Siemens AG. S5, S7, STEP 5, STEP 7, and TIA Portal are trademarks of Siemens AG.