Resolving @CPU_RT Block Static Data on Siemens PCS 7 AS-417

David Krause13 min read
Process ControlSiemensTroubleshooting
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

Resolving @CPU_RT Block Static Data on Siemens PCS 7 AS-417

The Siemens PCS 7 @CPU_RT function block is the standard mechanism for reading cycle, OB, and communication load telemetry out of an AS controller into WinCC/Operator Station trend and alarm views. When the block reports all zero or frozen values for an AS-417 redundant pair while a newer AS-410 single works correctly, the failure is almost always caused by a missing SFC78 system function on the controller firmware, not by CFC download or wiring problems. This reference documents the diagnostic procedure, the firmware/version matrix, the @CPU_RT input/output map, and the upgrade path that restores live CPU runtime data.

1. Problem Description

A PCS 7 multiproject contains two automation stations:

  • AS-1: Single AS 410-5H (newer generation) — @CPU_RT populates correctly with live cycle and OB data.
  • AS-2: Redundant AS 417-4H pair — @CPU_RT block is automatically generated, downloaded, and online, but all runtime outputs remain at static zero or near-zero.

The CFC chart compiles clean, the block is connected, no block error (B-STATUS) is raised, and the OS server receives the data telegram — the values are simply not being updated. Both PC stations (ES/OS server and OS client / Open PCS7 server) are configured with the Maintenance Station / Asset Management option enabled.

Observed @CPU_RT outputs on the failed AS-2:

Output Value Interpretation
DAT_PLAU 0 / static No plant data timestamp
SL_OB 0 No OB1 OB run-time data
SL_OB_EX 0 No extended OB1 run-time data
N_OB1_CY changes OB1 cycle counter increments locally
MAXCYCTI static Maximum cycle time never sampled
TOTALMIN 0 No total minute counter
SFC78_EX 0 SFC78 not present on CPU firmware
Key indicator: If SFC78_EX = 0 at the @CPU_RT output, the underlying SFC78 ("OB_RT" / runtime data system function) does not exist on that CPU's firmware. The block is correctly running, but the system call that actually reads the cycle statistics returns a non-implemented error every cycle.

2. Affected Controllers and Firmware

Per the official Siemens application documentation "Prevention of overload using CPU_RT" (Entry ID 55692652), the @CPU_RT block requires a controller firmware revision level that supports SFC78. The following matrix is the field-confirmed behavior for PCS 7 V7.0+ and PCS 7 V8.x/V9.x maintenance stations:

Controller Topology Minimum FW for @CPU_RT SFC78 Available Notes
AS 410-5H Single or redundant Firmware supplied (V8.x) Yes (native) Modern CPU; @CPU_RT supported from PCS 7 V8.0 SPx with current firmware
AS 410-5H Single V5.0 or higher (legacy line) Yes Single-CPU mode requires V5.0+ to expose runtime SFCs to @CPU_RT
AS 417-4H Redundant V4.5 or higher Yes (FW V4.5+) V4.0.x firmware is the most common field failure — SFC78 not implemented
AS 417-4H Redundant V4.0.12 (latest V4.0) No @CPU_RT compiles, downloads, runs — outputs stay zero
AS 416-3 / 416-2 Single V5.0 or higher Yes Older single-CPU 416 line needs V5.0+
Engineering rule: On any AS-4xx controller where the SFC catalog is generated before V4.5 (417-4H redundant) or V5.0 (single), do not rely on @CPU_RT for maintenance-station trending. Use the controller's diagnostic buffer and SZL partial lists (SFC51 / SFC78) read by custom logic instead.

3. Root Cause: SFC78 Not Implemented on V4.0.x Firmware

The @CPU_RT block calls the operating system function SFC 78 "OB_RT" to retrieve the OB1/OB35/OB40 etc. execution times, the OB1 cycle counter, and the per-OB time-stamped run-time buffers. SFC 78 is part of the S7-400 system function catalog added with the CPU-RT-aware firmware series:

  • SFC 78 — Read OB run-time buffer (return of OB start time, OB run time, OB priority, etc.)
  • SFC 79 — Read OB run-time data set (used by the same block family for extended stats)

On AS 417-4H redundant systems with firmware V4.0.0 through V4.0.12, SFC 78 is not implemented in the operating system. The CPU returns error code W#16#8083 / SF= — "Function not implemented in this CPU". The @CPU_RT block traps this error, sets its SFC78_EX output to 0, and freezes all derived outputs.

The failure mode is therefore:

  1. CFC downloads a healthy @CPU_RT instance.
  2. On the first cycle, the block invokes SFC 78.
  3. SFC 78 returns "function not supported" (RET_VAL = 0x8083 / SF flag set).
  4. Block sets SFC78_EX := 0 and leaves all runtime outputs at 0 / stale.
  5. OS server receives the zero values; WinCC trend shows a flat line.

The CPU's own diagnostic buffer will typically log a single SFC 78 not-implemented entry at the first call and then suppress further messages — this is why the buffer may not flag the issue unless the operator pulls it manually.

4. The @CPU_RT Block I/O Map

The block instance is created automatically by PCS 7 in the master data library under CPU_RT (PCS 7 AP library). Key inputs and outputs to inspect when troubleshooting:

4.1 Inputs

Input Type Meaning Default / Field-validated
MAX_RTRG INT Maximum number of run-time registers to be polled. If set to 0, no data is collected — the block disables all runtime polling. 50 (recommended). Never 0 in production.
SAMPLE_T TIME Sample time for live value update 1 s typical
RESET BOOL Reset statistics FALSE
LADDR INT Logical base address of the CPU diagnostic resource 0 (system default)
MODE INT Acquisition mode (cyclic / on-demand) 0 (cyclic)
Common gotcha: A MAX_RTRG = 0 input value silently disables runtime acquisition. Always verify this input on the block instance in CFC before assuming a firmware problem.

4.2 Outputs

Output Type Meaning
SFC78_EX BOOL 1 = SFC 78 available on this CPU; 0 = SFC 78 not available (firmware too old)
DAT_PLAU DATE_AND_TIME Timestamp of last valid plant data
SL_OB TIME Sum of OB1 run time in last cycle
SL_OB_EX TIME Sum of extended OB1 run time
N_OB1_CY DINT OB1 cycle counter (changes even when other outputs are static — confirms block is running)
MAXCYCTI TIME Maximum OB1 cycle time observed
MINCYCTI TIME Minimum OB1 cycle time
TOTALMIN DINT Total number of minutes the block has been active
ERROR BOOL Block-level error flag
STATUS WORD Block-level status / error code
RET_VAL_SFC WORD Return value of SFC 78 raw call (use to distinguish not-implemented vs. busy vs. error)

When troubleshooting, the single most important reading is SFC78_EX. If it reads 0, you do not have a CFC, OS, or wiring problem — the controller itself cannot service the request.

5. Step-by-Step Diagnostic Procedure

Follow this sequence in the order shown. Each step is a quick online check on the AS-2 (417-4H) side.

Step 1 — Confirm the firmware level

In SIMATIC Manager / TIA Portal, right-click the AS-2 station > Target system > Diagnostics > Operating mode, or open HW Config and read the CPU's online Module information > Firmware field.

  • For AS 417-4H redundant: the firmware must be V4.5 or higher.
  • For AS 41x single: the firmware must be V5.0 or higher.

The current V4.0.12 firmware for AS 417-4H is published in Siemens Support Entry 109474747 (Firmware Update S7-400 CPUs). This is the latest release on the V4.0 line; it does not add SFC 78.

Step 2 — Verify the @CPU_RT instance is downloaded and online

Open the CFC chart that contains the @CPU_RT instance. Confirm the chart Status is Online with project and that the block's Online view shows no download pending. The instance symbol must be green in the CFC chart.

Step 3 — Read the SFC78_EX output

Open the block in CFC (right-click > Open instance or Monitor/Modify) and read SFC78_EX. If 0, stop here — the block cannot be fixed at the CFC layer; the CPU firmware must be upgraded.

Step 4 — Read RET_VAL_SFC

Read the raw SFC 78 return value:

RET_VAL (hex) Meaning Action
W#16#0000 OK — but @CPU_RT still reports 0; check inputs Inspect MAX_RTRG and SAMPLE_T
W#16#8083 Function not implemented in this CPU Upgrade firmware to V4.5 (redundant 417) or V5.0 (single)
W#16#80A1 / 80A2 Parameter / communication error Re-check LADDR and CPU diagnostic resource assignment
W#16#80C3 Resource busy Increase SAMPLE_T; check OB1 load

Step 5 — Confirm the @CPU_RT is on a supported PCS 7 version

The @CPU_RT block was introduced in PCS 7 V7.0. On PCS 7 V6.x projects, the block will compile against the older AP library but will not call SFC 78 — instead, it returns a constant zero set. Verify your PCS 7 ES version: Help > About > SIMATIC PCS 7. Target is PCS 7 V7.0+ with SPx up to date.

Step 6 — Confirm the Maintenance Station / Asset Management option

Some runtime functions of @CPU_RT are gated by the Asset Management option (a license-keyed option of the Maintenance Station). If the option is missing, the block will compile and run, but several derived outputs stay at zero even on supported firmware. The relevant PCS 7 option is Asset Management (sometimes called Maintenance Station — Asset Management) on the OS server.

6. Firmware Upgrade Procedure for AS 417-4H (V4.0 → V4.5+)

Safety: Firmware upgrades on a redundant S7-400H pair must be performed on both CPUs. Plan a maintenance window; the upgrade requires a CPU stop / run transition on each side. The redundant partner remains in run during a step-by-step upgrade, but you must follow the Siemens SIMATIC H-system firmware upgrade procedure strictly to avoid sync loss.

6.1 Prerequisites

  • Functional ESD-safe programming device (PG) with the latest STEP 7 / SIMATIC Manager on a supported Windows version.
  • Ethernet or MPI/DP path from PG to both CPUs in the H-station (primary and backup).
  • Latest firmware files (H-CPU firmware >= V4.5, e.g. V4.5.7 or V5.x) downloaded from Siemens Industry Online Support.
  • Current CPU-RT aware PCS 7 ES (V7.0+ SPx).
  • Backed-up project archive and CPU password list.

6.2 Upgrade sequence (redundant H system)

  1. Open SIMATIC Manager > Target system > H-Firmware-Update (or PLC > Update Firmware on the selected CPU in HW Config).
  2. Select the backup CPU first (slot 1 or 3, depending on rack).
  3. Follow the wizard, browse to the *.upd firmware file for AS 417-4H V4.5+.
  4. The backup CPU is taken out of run, updated, restarted, and re-synced.
  5. Repeat for the primary CPU. The system performs a master/standby swap, then updates the original primary.
  6. Both CPUs should report V4.5.x in Module information > Firmware and be in redundant RUN.

6.3 Re-download the CFC chart

After the firmware upgrade, perform a full CFC download of the AS-2 program (or at minimum the chart containing @CPU_RT). This clears any latched error state in the block. Do not perform an initial load — use Download > Changes only to preserve the current DBs.

6.4 Verify the fix

Open the @CPU_RT instance online. Confirm:

  • SFC78_EX = 1
  • RET_VAL_SFC = W#16#0000
  • SL_OB, SL_OB_EX, MAXCYCTI and MINCYCTI now show real values that move with OB1 load.
  • DAT_PLAU updates each polling cycle.

In WinCC / Maintenance Station, open the CPU Diagnostic overview picture. The trend lines for OB1 run time and cycle time should now show live data instead of flat zero.

7. Configuration Pitfalls and Common Field Errors

The following are field-confirmed failure modes that masquerade as "SFC78 missing" and should be ruled out before scheduling a firmware upgrade.

7.1 MAX_RTRG = 0

If the input is wired from a constant 0 (e.g. left at default after a project copy), the block disables runtime polling at the input layer, before SFC 78 is called. This is a CFC issue, not a firmware issue. Set MAX_RTRG = 50 for typical PCS 7 V7.0/V8.x projects.

7.2 Wrong AP library version

The @CPU_RT block shipped with PCS 7 V7.0 is older than the V7.1+ and V8.x versions. Old blocks do not always honor new firmware features, and may keep SFC78_EX = 0 even on a V4.5 CPU. Perform Options > AP Library Update in the PCS 7 ES, recompile the CFC chart, and re-download.

7.3 OS-side option gating

The Maintenance Station needs the Asset Management option. Without it, the picture's runtime display will look "dead" even if the block is producing live data. This is OS-side and does not affect SFC78_EX, but the visual symptom is the same as the firmware issue.

7.4 Multi-project vs. single-project OS configuration

In multiproject setups (ES/OS server + OS client / Open PCS7 server), only the OS server that owns the AS-2 picture receives the live @CPU_RT values. The OS client mirrors, but only for the pictures actively loaded on the client. Verify picture activation on the client; client-side flat lines are not an SFC 78 problem.

7.5 Time sync / OB1 cycle count vs. SFC78 mismatch

Local counters like N_OB1_CY are generated inside the block and increment even if SFC 78 is missing. The block's OB1_CNT is independent of SFC 78 and uses an internal incrementer, so a moving N_OB1_CY with a static SL_OB / MAXCYCTI is the smoking gun for "SFC 78 not implemented".

8. Alternative Performance Data Methods (Pre-Upgrade Workarounds)

If the firmware upgrade cannot be scheduled immediately, two pre-upgrade workarounds can supply partial performance data without @CPU_RT:

8.1 SFC 51 "RDSYSST" — Read system status list

Use SFC 51 with SSL ID W#16#0132 (CPU characteristics) and W#16#0922 (communication load) to read CPU operating hours and the COM load. These SSLs are available on V4.0 firmware and provide a partial substitute for the @CPU_RT outputs.

8.2 SFC 6 / SFC 87 / diagnostic buffer

The CPU's diagnostic buffer can be polled via SFC 6 "RD_SINFO" and parsed to extract OB start / stop events. This is a textual record rather than a live numeric trend, but it does provide evidence of overload events when @CPU_RT is offline.

8.3 Maintenance Station "standard" CPU picture

The default Maintenance Station CPU diagnostic picture (without @CPU_RT-derived extensions) will still display CPU operating mode, last restart, memory usage, and diagnostic buffer entries on V4.0.x firmware. This is the most reliable pre-upgrade view.

9. Verification Checklist

After any firmware upgrade or configuration fix, run the following verification sequence:

  1. Read CPU firmware in HW Config online — confirm V4.5+ (redundant 417) or V5.0+ (single 41x).
  2. Read SFC78_EX = 1 and RET_VAL_SFC = W#16#0000 on the @CPU_RT instance.
  3. Confirm SL_OB, SL_OB_EX, MAXCYCTI, MINCYCTI move with load.
  4. Open the Maintenance Station CPU picture on the OS server — live trend lines present.
  5. On the OS client, activate the picture and confirm the values are mirrored.
  6. Force a transient OB1 load (e.g. simulation / test routine) and confirm MAXCYCTI rises in response.
  7. Clear CFC online error view — no remaining SFC 78 calls in the diagnostic buffer.

10. Related Siemens Documentation

Reference the following official Siemens resources for firmware procurement, function block documentation, and license information:

What is the minimum firmware for @CPU_RT to work on an AS 417-4H redundant pair?

Firmware V4.5 or higher is required on the AS 417-4H. V4.0.x firmware (the latest of which is V4.0.12) does not implement SFC 78, so @CPU_RT will run but every runtime output remains at zero. The block's SFC78_EX output will read 0.

What is the minimum firmware for @CPU_RT on a single (non-redundant) AS 41x CPU?

Single AS 41x controllers require firmware V5.0 or higher for full @CPU_RT support. The AS 410-5H newer line supports SFC 78 natively on its current firmware series without requiring an upgrade on most current PCS 7 V8.x/V9.x projects.

How can I confirm the issue is firmware and not CFC configuration?

Open the @CPU_RT block online and read the SFC78_EX output. If SFC78_EX = 0, the SFC 78 call is failing on the CPU and the firmware is the cause. Also read MAX_RTRG: a value of 0 disables runtime acquisition at the input layer and produces the same symptom. If MAX_RTRG > 0 and SFC78_EX = 0, the firmware does not support SFC 78.

Does the Maintenance Station Asset Management option affect @CPU_RT data?

Yes. Without the Asset Management option (a license-keyed feature of the Maintenance Station), some derived @CPU_RT outputs and the live CPU picture on the OS may remain flat even when the CPU firmware supports SFC 78. Confirm Asset Management is licensed on the OS server before assuming a firmware problem.

Is there a workaround if I cannot upgrade firmware right now?

Yes. Use SFC 51 (RDSYSST) to read SSL IDs W#16#0132 (CPU characteristics) and W#16#0922 (communication load) for partial performance metrics, and SFC 6 (RD_SINFO) to read the diagnostic buffer for OB start/stop events. The standard Maintenance Station CPU picture (without @CPU_RT extensions) also provides operating mode, restart time, and memory usage on V4.0.x firmware.

Back to blog