S7 F-System Response Time: Calculation Guide for S7-400H

David Krause11 min read
Safety SystemsSiemensTechnical Reference
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

S7 F-System Response Time: Calculation Guide for S7-400H

Safety instrumented functions in SIMATIC S7-400H redundant controllers require deterministic worst-case response time calculations to satisfy IEC 61508 / IEC 61511 SIL targets and to validate the Safety Instrumented System (SIS) loop before commissioning. This reference covers the formal Siemens methodology, the difference between S7 F Systems and Distributed Safety, the S7ftimeb.xls and S7fcotib.xls calculation workbooks, and the parameter set required to size the F-monitoring and reaction time for an S7-400H F-CPU pair.

Scope: The formulas and tool references below apply to the classic S7 F Systems library (S7 F Systems V6.x / F-Configuration Pack) used with S7-400 / S7-400H F-CPUs (CPU 416F, CPU 417F, CPU 414F/H, CPU 416F/H). For S7-1500F controllers, use the equivalent SIMATIC STEP 7 Safety Advanced tables in TIA Portal V17+.

1. Overview: What "Response Time" Means in an F-System

The response time of a safety function is the worst-case interval between a defined process event (for example, an F-input going to the safe state) and the corresponding safe reaction at the F-output. In Siemens terminology this is the maximum system reaction time of the F-application, sometimes written as tR,max or Tmax.

For an F-CPU the response time is the sum of:

  1. The F-input module acquisition time (including sensor test pulses).
  2. The F-CPU F-cycle time (F-runtime of the safety program).
  3. The PROFIsafe / PROFIBUS-DP or PROFINET transmission time.
  4. The F-CPU F-monitoring time (F_WD_Time / F_Host_WD).
  5. The F-output module reaction time (including output test pulses).

For an S7-400H redundant pair (two F-CPUs in hot-standby, synchronized by fiber-optic redundancy links), the response time calculation must additionally account for:

  • Master/reserve switchover time when a fault is detected on the active CPU.
  • Updated redundancy synchronization update window.
  • Dual-channel acquisition on SM 326F / SM 336F input modules.

2. Distributed Safety vs. S7 F Systems

Siemens ships two distinct F-libraries. They are not interchangeable, and the wrong tool produces a non-valid response time calculation. Use the table below as a hard rule when selecting the calculation workbook.

Attribute Distributed Safety S7 F Systems
F-library F-Blocks (F_FB, F_DB) from "S7 Distributed Safety" F-Blocks (F_FB / F_FB_C, F_CP) from "S7 F Systems"
Tool for response-time calculation S7fcotib.xls S7ftimeb.xls
Typical CPU CPU 315F/317F/319F (S7-300) and ET 200S / ET 200pro F-modules CPU 416F, CPU 417F, S7-400F / S7-400H F-CPUs
Programming environment STEP 7 V5.5 + Distributed Safety option STEP 7 V5.5 + S7 F Systems option / CFC
Reference manual "S7 Distributed Safety - Configuring and Programming", chapter on response time "Safety Engineering in SIMATIC S7" (entry ID 12490443), chapter 16
A common field error is opening S7ftimeb.xls against an F-program built with the Distributed Safety library (or vice versa). The two libraries use different F-runtime block signatures, different F-monitoring-time defaults, and a different internal pass structure, so the workbook will silently produce a non-conservative value. Always confirm the library in use before opening a calculation spreadsheet.

3. Response-Time Building Blocks

The maximum F-response time is the sum of the partial times of every F-relevant signal path. Each partial time is bounded by a parameter the user enters in the calculation sheet or in the HW Config.

3.1 F-Input Module Time (F_In)

Includes the input filter, the channel-discrepancy time on 1oo2 / 2oo2 evaluation, and the internal sensor-supply test pulse. For SM 326F DI 24×DC24V (6ES7326-1BK02-0AB0) the basic input time is documented in the module manual at 1 ms, plus a 0.5 ms debounce plus a test-pulse window that scales with the configured discrepancy tolerance.

3.2 PROFIsafe Bus Time (F_Bus)

For PROFIBUS-DP with PROFIsafe V2, the typical slot time on a 1.5 Mbps segment is 5.5 ms per PROFIsafe frame. On PROFINET the corresponding value is derived from the configured SendClock and ReductionRatio of the PROFINET IO. The S7ftimeb.xls sheet contains a PROFIsafe / bus time column that defaults to 5.5 ms × 2 (one frame each direction).

3.3 F-CPU F-Runtime (F_Cpu)

This is the worst-case F-program execution time per F-cycle. The S7 F Systems library inserts a measurement call (F_CYC_CO) that records the F-runtime in the diagnostic block. Insert the measured value in the S7ftimeb.xls column F-Runtime of the safety program.

3.4 F-Monitoring Times (F_WD_Time, F_Host_WD)

These are the watchdogs that force the F-CPU into the safe state if a fresh PROFIsafe telegram is not received within the configured time. They are the dominant adjustable parameters in the safety loop:

Parameter Where set Default Meaning
F_WD_Time PROFIsafe slot properties (HW Config, F-module) 150 ms Maximum interval between two consecutive valid PROFIsafe telegrams before the F-input is forced safe.
F_Host_WD F-CPU properties, F-monitoring time 3 × 2 ms = 6 ms (SF_WDOG_TIME_SET) Internal F-host watchdog; typically a multiple of the F-cycle OB35/OB10 base clock.
SF_WDOG_TIME_SET S7 F Systems library, F-shared DB 2 ms Base tick used to build F_Host_WD.

3.5 F-Output Module Time (F_Out)

Includes the read-back time of the F-DO (verifying the output actually de-energized) and the test-pulse window used to detect a stuck-at fault on the wiring. For SM 326F DO 10×DC24V/2A (6ES7326-2BF41-0AB0) the value is 1.0 ms read-back plus 0.5 ms test pulse plus the configured dark / light test period.

4. Maximum Response-Time Formula

The general Siemens formula (per the Safety Engineering in SIMATIC S7 manual, entry ID 12490443) is:

TR,max = F_In + F_Bus + F_Cpu + F_WD_Time + F_Out + F_Host_WD

All times are summed in milliseconds and represent the worst-case single occurrence of each term. The workbook internally multiplies terms that are time-multiplexed (for example, two PROFIsafe frames per cycle) by an explicit count factor.

4.1 Worked Example (Numeric)

The numeric values below match the published safety-function response-time example for a single-channel F-input and a standard F-CPU cycle:

Term Symbol Value Source / Assumption
F-input acquisition + test pulse F_In 1 ms + 0.5 ms = 1.5 ms SM 326F DI baseline, no sensor test pulses
PROFIsafe × 2 frames F_Bus 2 × 5.5 ms = 11.0 ms 1.5 Mbps PROFIBUS-DP, 5.5 ms per frame
F-program runtime (measured) F_Cpu 0 ms (no test pulses case) F-runtime per cycle
Device watchdog, 2 frames Device_WD1 1 ms + 0.5 ms + 2 × 5.5 ms = 12.5 ms Sum: 1 ms tick + 0.5 ms test + 2 PROFIsafe frames
F-host watchdog (3 × 2 ms) F_Host_WD 3 × 2 ms = 6 ms SF_WDOG_TIME_SET = 2 ms, multiplier = 3
F_WD_Time (configured) F_WD_Time1 20 ms PROFIsafe slot setting, HW Config
Resulting TR,max — ~ 51 ms Sum of above (rounded conservatively upward)

This matches the order-of-magnitude target for a single PROFIsafe loop without sensor test pulses on an S7-400F. With sensor test pulses enabled, add the configured test-pulse window (typically 0.5 ms to 4 ms per channel) to F_In.

5. Using S7ftimeb.xls (S7 F Systems)

S7ftimeb.xls is the official calculation workbook delivered with the S7 F Systems option. Open it in Microsoft Excel 2003+; macros must be enabled because the workbook evaluates the F-cycle structure.

5.1 Inputs Required by the Sheet

  1. F-CPU type and F-runtime of the safety program — read from CFC online (Online > F-block > Runtime) or from the diagnostic block F_CYC_RT.
  2. F-module catalog numbers for every F-input and F-output (for example, 6ES7326-1BK02-0AB0, 6ES7326-2BF41-0AB0).
  3. PROFIsafe / PROFINET configuration: baud rate, send-clock, reduction ratio, watchdog time.
  4. Channel-level parameters: 1oo1 / 1oo2 / 2oo2 evaluation, discrepancy time, test-pulse width.
  5. For S7-400H: redundancy mode (single-channel switchover, dual-channel) and the master/reserve switchover time (typical: 100 ms for a planned link update, 800 ms for an unplanned CPU failure).

5.2 Reading the Output

The bottom row of the Response Time tab shows TR,max in milliseconds. Each individual path is shown in a separate column, so a non-conforming loop can be traced back to the specific module or PROFIsafe slot that contributes the most time. S7ftimeb.xls also flags any input that is outside the range supported by the S7 F Systems library; for example, an F_WD_Time below the minimum F-cycle time triggers a warning.

6. S7-400H-Specific Considerations

An S7-400H redundant system uses two F-CPUs (for example, CPU 417-4H, order number 6ES7417-4HT14-0AB0) running in hot-standby with synchronized F-databases. Three additional terms enter the response-time calculation for H systems:

H-Specific Term Typical Value Notes
Master/reserve link update 50 – 100 ms Time to copy updated F-data from active to standby after a safety-relevant variable change.
Unplanned switchover time ≤ 800 ms Maximum time from a CPU fault to the reserve CPU becoming active and resuming PROFIsafe communication.
Dual-channel acquisition (F-I/O redundancy) + 1 cycle When redundant F-modules are wired in 1oo2, both channels must agree within the configured discrepancy time.
Safety implication: For SIL 3 applications the H-system's unplanned switchover time is added to TR,max when proving that the Safety Function Response Time (SFRT) meets the process demand. The 800 ms figure is the manufacturer limit on the CPU pair, not a configurable parameter.

7. Calculation Procedure (Step-by-Step)

  1. Identify the safety function and the SIL target. The Process Safety Time (PST) must be greater than TR,max.
  2. Open S7ftimeb.xls from the S7 F Systems installation directory (default: C:\Program Files\Siemens\Automation\S7F\Tools\).
  3. Enter the F-CPU catalog number and the measured F-runtime from CFC online diagnostics.
  4. List every F-input and F-output module; enter its catalog number and channel configuration.
  5. Enter the PROFIsafe parameters: baud rate, watchdog time, send-clock (for PROFINET).
  6. For S7-400H, set the redundancy flag and add the master/reserve switchover term.
  7. Read the computed TR,max from the bottom of the sheet.
  8. Compare TR,max against the Process Safety Time. If TR,max > 0.7 × PST, re-design (raise the PST, lower F-cycle load, or use a faster bus).
  9. Document the result in the Safety Lifecycle file with a screenshot of the sheet and the input parameter set.

8. Verification and Validation

After the calculation is documented, validate it against the real plant. The standard procedure is:

  1. Force the F-input into the safe state (for example, open the E-stop circuit) and timestamp the event with a high-resolution recorder (≥ 1 kHz sampling).
  2. Record the F-output de-energization time with the same recorder.
  3. Compare the measured time against TR,max from the sheet. The measured value must be less than TR,max; the ratio (measured ÷ TR,max) typically lands in the 0.3 – 0.7 range for a well-tuned loop.
  4. Repeat the test for every F-loop in the system, including dual-channel / 1oo2 inputs.
  5. For S7-400H, also perform a forced master/reserve switchover during a steady-state safety demand and record the additional latency.

9. Common Pitfalls and Field Notes

Symptom Root Cause Fix
TR,max much larger than the field measurement Default 150 ms F_WD_Time not adjusted to the actual F-cycle Lower F_WD_Time in HW Config to 2× the F-cycle, but never below 2 × F-cycle
F-CPU trips to STOP during commissioning F_Host_WD set below the worst-case F-runtime (load on OB35) Increase SF_WDOG_TIME_SET or the multiplier; check Online > F-Runtime for the worst cycle
Wrong workbook used (S7fcotib.xls instead of S7ftimeb.xls) Library mismatch — Distributed Safety blocks in an S7 F Systems project Verify the F-library via STEP 7 > Options > F-Library Info, then re-open the correct workbook
Discrepancy trip on a 1oo2 input Sensor test-pulse window is shorter than the channel acquisition time Increase the discrepancy time in the F-input channel parameters
PROFINET F-loop shows 1 frame per cycle, not 2 SendClock or ReductionRatio set too aggressively Restore SendClock to 1 ms and ReductionRatio to 1; re-check the PROFINET IO controller

10. Reference Documents and Tools

What is the difference between S7ftimeb.xls and S7fcotib.xls?

S7ftimeb.xls calculates the maximum response time for the S7 F Systems library (used on S7-400F / S7-400H F-CPUs), while S7fcotib.xls is for the S7 Distributed Safety library (used on S7-300F CPUs and ET 200S / ET 200pro F-modules). Using the wrong workbook gives a non-valid result because the two libraries use different F-runtime and F-monitoring defaults.

How is the maximum F-response time calculated for an S7-400H system?

TR,max = F_In + F_Bus + F_Cpu + F_WD_Time + F_Out + F_Host_WD. For an S7-400H pair add the master/reserve link update time (50–100 ms) and, when proving SIL 3, the unplanned switchover time (≤ 800 ms) from the active CPU to the reserve CPU.

What values should I use for F_WD_Time and F_Host_WD?

F_WD_Time is set in HW Config on the PROFIsafe slot; Siemens recommends 2 × the F-cycle, with a typical default of 150 ms. F_Host_WD is built from SF_WDOG_TIME_SET × multiplier, commonly 3 × 2 ms = 6 ms, and must be greater than the worst-case F-program runtime measured in CFC Online.

Where do I find the F-runtime of the safety program?

Open the CFC online view, right-click the F-cycle block, and select F-block > Runtime. The diagnostic block F_CYC_RT also exposes the maximum F-runtime recorded since last start. Enter that value into S7ftimeb.xls in the F-Cpu column.

Can S7ftimeb.xls be used for S7-1500F projects?

No. S7ftimeb.xls is the legacy tool for the S7 F Systems library on S7-400F / S7-400H. For S7-1500F controllers, use the response-time table generated by the "SIMATIC STEP 7 Safety Advanced: F-Execution Times, F-Runtimes, F-Monitoring and Reaction Times" tool inside TIA Portal V17+.

Back to blog