Overview
Report System Error (RSE) is the Siemens diagnostic generator that ships with STEP 7 V5.x and the equivalent System Diagnostics with Report System Errors tool inside TIA Portal. The wizard reads the hardware configuration (HW Config) of an S7-300 / S7-400 station together with all its DP / PN / AS-i slaves, then automatically writes the diagnostic function blocks, the instance DB, the relevant error OBs, the standard message texts, and the WinCC / WinCC flexible alarm log connection. The end result is a uniform, channel-accurate diagnostic display on the HMI without writing a single line of application code.
RSE is the recommended Siemens replacement for hand-coded SFB 52 / SFB 54 / SFB 81 diagnostic reads in STEP 7. It is the same diagnostic backbone used by ET 200S, ET 200M, ET 200pro, DP/AS-i LINK Advanced, and the majority of Siemens cataloged slave diagnostics.
Prerequisites
- STEP 7 V5.5 SP2 or later (or STEP 7 V5.6) for classic projects, or TIA Portal V16+ for the modern equivalent.
- S7-300 CPU 31x or S7-400 CPU 41x with firmware that supports diagnostic interrupts (essentially all standard CPUs except very early 312 IFM / 314 IFM).
- S7 Program: at least one OB1, OB100 (restart), and the diagnostic OBs the wizard will write (OB 80, 82, 83, 85, 86, 121, 122).
- HW Config fully compiled with all slaves parameterized and known to the catalog.
- For HMI display: WinCC V7.x, WinCC flexible 2008 SP3+, or a Comfort/Classic panel configured against the S7 station.
- Siemens support ID for RSE with DP/AS-i LINK Advanced: How do you implement the 'Report System Error' function with DP/AS-i LINK Advanced?
How RSE Works Internally
When the wizard is invoked, STEP 7 performs the following actions:
- Walks the HW Config tree, extracting the slot number, module order number, channel count, and diagnostic capability of every module.
- Generates FB 126 (
RSE_FB) – the cyclic diagnostic evaluator. - Generates DB 126 – the instance DB that holds the symbol list, the diagnostic status, and the message buffer.
- Generates or updates the diagnostic OBs (OB 82, OB 83, OB 86, and optionally OB 121 / OB 122).
- Generates the standard message texts in German, English, French, Italian, Spanish, and Chinese (depending on installed language pack) – each message is identified by its EV_ID (event ID).
- Creates the WinCC connection "S7 Diagnosis" or "RSE" with the alarm-logging tag mapping.
- Generates an entry for the DP/AS-i LINK Advanced (firmware V2.x and higher) where applicable.
At runtime, OB 82 fires on every diagnostic interrupt from a module, OB 83 on hot-swap insert/remove, OB 86 on rack/DP-slave failure, and OB 122 on access errors. RSE FB 126 then formats these events into the WinCC message structure and updates the message buffer in DB 126.
Classic STEP 7 Configuration (SIMATIC Manager)
Step 1: Open HW Config
Open the S7 project, select the S7 station, then double-click Hardware. Wait until the hardware tree is fully expanded and any catalog sync (HSP update) is complete. RSE depends on a clean compile: a yellow warning in HW Config means the wizard cannot resolve a slot.
Step 2: Launch the Wizard
Right-click the station header (rail 0) and choose Report System Error. In STEP 7 V5.5 the wizard is found at Station → Report System Error; in V5.6 the menu item is identical.
Step 3: Configure the Wizard Options
| Option | Default | Recommendation |
|---|---|---|
| Generate FB / DB | Yes | Always keep on; this writes FB 126 and DB 126. |
| Number range start | FB 126 / DB 126 | Change only if 126 is occupied by user code. |
| Generate / update OBs | Yes | Always keep on for first build; user OBs may be overwritten (confirm dialog). |
| Generate message texts | All installed languages | Uncheck languages you do not need to reduce PLC load. |
| Generate WinCC connection | Yes (if WinCC project is attached) | Keep on when the same project also owns the WinCC station. |
| Diagnostic for non-Siemens slaves | Manufacturer-specific | Off unless the GSD file provides standard diagnostics. |
Step 4: Compile and Download
Press Generate. The wizard produces the blocks, then Save and Compile the HW Config. Download HW Config + the S7 program (FB 126, DB 126, OBs) to the PLC and perform a cold restart (OB 100) so DB 126 is initialized.
Step 5: Activate Message Texts
If WinCC is in the same project, open WinCC Explorer, then Alarm Logging → Tools → Import. Import the .txt files generated under S7 Program → Sources → RSE. Each message text becomes an alarm row with the EV_ID as the message number.
TIA Portal: System Diagnostics with Report System Errors
In TIA Portal the wizard is invoked from the device view: right-click the CPU and choose Properties → System Diagnostics → Report System Errors. The configuration is otherwise equivalent to the classic wizard but is integrated into the device configuration rather than HW Config.
| Feature | STEP 7 V5.x | TIA Portal V16+ |
|---|---|---|
| Diagnostic FB | FB 126 (RSE_FB) | System diagnostic blocks generated automatically |
| Instance DB | DB 126 | DB generated by TIA, number user-selectable |
| Message texts | External import into WinCC | Embedded in TIA project; automatically linked to HMI tags |
| Supported CPUs | S7-300 / S7-400 / WinAC | S7-300 / S7-400 / WinAC (S7-1200/1500 use native diagnostics) |
| WinCC flexible | Direct message import | Via HMI proxy in TIA |
| WinCC Unified / Comfort | Manual alarm mapping | Automatic through TIA HMI integration |
The official entry point for the modern TIA Portal workflow is the documentation page Introduction to system diagnostics with Report System Errors (S7-300 / S7-400).
Diagnostic FBs and Error OBs
RSE generates or updates the following building blocks. The table below lists the standard slot numbers; user programs must not overwrite these unless the wizard is re-run.
| Block | Type | Purpose | RSE behavior |
|---|---|---|---|
| OB 82 | I/O diagnostic interrupt | Fired when a module reports a channel or module diagnostic event | Generated, calls FB 126 |
| OB 83 | Insert/remove interrupt | Hot-swap of ET 200S / ET 200pro stations | Generated, calls FB 126 |
| OB 86 | Rack failure | DP / PN slave or expansion rack goes down | Generated, calls FB 126 |
| OB 122 | I/O access error | Direct access to a faulty module / channel | Generated, calls FB 126 |
| OB 85 | Program execution error | OB-not-loaded or update fault | Optional, recommended |
| OB 121 | Programming error | Indirect addressing error | Optional |
| FB 126 | RSE_FB | Cyclic and event-driven diagnostic evaluator | Always generated |
| DB 126 | Instance DB | Holds symbol list, current state, message buffer | Always generated |
| SFB 52 / 53 / 54 / 81 | System diagnostic reads | Called from inside FB 126 | Used internally, do not delete |
Calling FB 126 Manually
For most stations the auto-call chain from OB 82/83/86 is sufficient. If you need cyclic refreshes (e.g., to detect intermittent channel faults that do not raise an interrupt), call FB 126 once per OB1 cycle:
CALL "RSE_FB" , "RSE_DB"
MODE := 1 // 0 = cyclic, 1 = single
RACK_NO := 0 // local rack, or DP slave PROFIBUS address
SLOT_NO := 4 // module slot
RET_VAL := MW100
Set MODE = 1 for one-shot reads on demand; MODE = 0 runs the full sweep on every call (heavier on CPU but covers diagnostic data the OB chain does not surface).
Message Text Structure
Every diagnostic event becomes a WinCC alarm. The message text follows a fixed template:
@1C%t@ System: @2C%t@ Event: @3C%t@ Slot: @4C%t@ Channel: @5C%t@ @6C%t@
Status: @7C%t@
Diagnostic: @8C%t@
The @nC%t@ placeholders are filled by RSE with:
- System identifier (CPU type / station name)
- Event class (Fault, Maintenance, Information)
- Event ID (mapped to the cataloged diagnostic of the module)
- Slot number and module order number
- Channel number (0-based)
- Module channel description from the catalog
- Status word (qualifier + maintenance + fault bits)
- Free-form diagnostic text from the manufacturer
The EV_ID numbering for S7-300/400 starts at 16#0000_0001 for the CPU itself and increments per slot. ET 200S modules use a 1000-step per DP-slave base; ET 200M modules use a 100-step per slot base. The HMI tag EV_ID on WinCC side is a DWORD; pass it through the standard WinCC alarm structure.
WinCC and WinCC flexible Integration
WinCC V7.x
- Open WinCC Explorer of the integrated project.
- Right-click Alarm Logging → Open.
- Select Tools → Import → STEP 7 Message Texts.
- Browse to S7 Program → Sources → RSE → *Language*.txt.
- Confirm; the EV_IDs become WinCC message numbers, the texts become the alarm lines.
- Wire the WinCC tags
RSE_Input/RSE_Output(raw + status) to the corresponding WinCC alarms. - Add the standard WinCC picture "SYSTEM_DIAG" to the HMI runtime – it displays the message buffer live.
WinCC flexible
WinCC flexible does not import the STEP 7 message texts automatically; the message texts must be regenerated with the panel's catalog (Tools → Report System Error for Panels). The result is the same EV_ID ↔ text mapping. On the panel, insert the "System Diagnostics" view from the library; it shows current and historical events.
Comfort Panels and WinCC Unified
Under TIA Portal the message texts are part of the HMI configuration; the panel proxy receives them through the HMI compilation. No manual import step is required.
DP/AS-i LINK Advanced Variant
When the project includes a DP/AS-i LINK Advanced gateway (e.g., 6GK1411-5AB00 or 6GK1411-5AB10), the RSE wizard extends the diagnostic coverage to the AS-i slaves hanging off the gateway. The wizard generates additional symbolic entries for every AS-i slave address discovered during HW Config, including power supply faults, slave presence, and analog out-of-range events.
Implementation steps are documented by Siemens support under the article How do you implement the 'Report System Error' function with DP/AS-i LINK Advanced?. Key points:
- Firmware of the gateway must be V2.0 or later.
- Diagnostic capability per AS-i slave must be enabled in the AS-i configuration tool (AcConNet or STEP 7 HW Config).
- RSE generates the additional symbol names prefixed with
ASi_(e.g.,ASi_Slave_3B). - The DP/AS-i LINK Advanced itself appears as a standard DP slave and consumes one DP diagnostic slot in the EV_ID range.
Commissioning and Verification
- Download all blocks and the HW Config to the PLC; run OB 100 (warm restart).
- Open STEP 7 → PLC → Diagnostic Buffer; verify the last entry reads "RSE initialized" (catalog text).
- In WinCC / WinCC flexible runtime, open the System Diagnostics view.
- Pull a single channel on a digital ET 200S module. Expected: a "Channel fault" alarm with the correct slot, channel, and order number.
- Disconnect a DP slave PROFIBUS connector. Expected: an OB 86 alarm "Rack failure DP slave X".
- Reconnect. Expected: the alarm clears automatically (acknowledgement model "without acknowledgement" for transient faults).
- Force a programming error (insert
L DW 1000on an undefined DB). Expected: OB 121 fires, the diagnostic view shows "Programming error". - Remove an ET 200S module while in RUN. Expected: OB 83 fires for both remove and re-insert events.
Verification commands in STEP 7 V5.x:
PLC → Diagnostic/Setting → Module Information
-- Tab "Diagnostic Buffer" shows OB 82/83/86 entries
PLC → Diagnostic/Setting → Operating Mode
-- CPU should remain in RUN even with OB 86 entries (RSE handles them)
Performance and Memory Budget
Approximate resource consumption on a typical S7-300 / S7-400 with 30 DP slaves and 5 ET 200S stations:
| Resource | Per module | Total (350 modules) |
|---|---|---|
| Load memory (MC7) | ~120 bytes | ~42 KB |
| Work memory (DB 126) | ~64 bytes | ~22 KB |
| Message text size | ~250 bytes per language | ~85 KB per language |
| OB 82/83/86 scan time | ~0.4 ms | ~140 ms worst case |
| Cyclic FB 126 sweep | ~6 ms | n/a (single pass) |
For larger stations (more than 1000 modules) reduce language count and switch FB 126 from cyclic (MODE = 0) to event-driven (default).
Troubleshooting Matrix
| Symptom | Root cause | Remedy |
|---|---|---|
| Wizard option is greyed out | HW Config not saved / not compiled | Save and compile HW Config; reopen wizard |
| Generated FB 126 has compile errors | CPU firmware too old for some slaves | Update HSP; right-click HW Config → Install HW Updates |
| Diagnostic alarms appear on PG but not on HMI | WinCC message import not executed | Re-import message texts; verify tag connection |
| CPU goes to STOP on OB 86 | OB 86 not generated by wizard | Re-run wizard with "Generate OBs" checked |
| Channel-specific fault shows only module-level | Module catalog version lacks channel diagnostics | Update HSP / GSD; re-compile HW Config |
| AS-i slave diagnostics missing | DP/AS-i LINK Advanced firmware < V2.0 | Upgrade gateway firmware, follow Siemens note 27079067 |
| DB 126 overwritten by user code | Manual edit of generated blocks | Re-run wizard and re-download; do not edit FB/DB manually |
| Message texts in wrong language on HMI | Panel project language set incorrectly | Switch runtime language; re-import corresponding .txt
|
| Slow runtime after RSE added | FB 126 set to cyclic on large station | Use event-driven mode or split station into segments |
Migration Path from STEP 7 V5.x to TIA Portal
- Migrate the S7 program with the TIA Portal migrator; FB 126 / DB 126 are preserved as system blocks.
- Re-open the device configuration of the S7-300 / S7-400 station.
- Re-run System Diagnostics with Report System Errors; the wizard detects the migrated blocks and asks whether to reuse them.
- Compile the HMI project; the WinCC alarm import is replaced by the integrated TIA alarm mapping.
- Download, restart, and re-run the verification sequence above.
FAQ
What is the Report System Error (RSE) function in Siemens STEP 7?
Report System Error is a STEP 7 wizard that auto-generates the diagnostic function block (FB 126), the instance DB (DB 126), the relevant error OBs (82, 83, 86, 122) and the standardized WinCC message texts from the current HW Config. It delivers module-, slot-, and channel-accurate diagnostics for S7-300, S7-400, ET 200S, ET 200M, and DP slaves without writing any application code.
Where is the Report System Error menu in STEP 7?
In STEP 7 V5.x open the S7 station, double-click Hardware to launch HW Config, then right-click the station header (rail 0) and select Report System Error. In TIA Portal the equivalent wizard is found at Device view → CPU properties → System Diagnostics and is documented on the Siemens TIA Portal cloud page for S7-300/S7-400.
Does Report System Error work with WinCC flexible panels?
Yes. The wizard generates a separate set of message texts for panels under Tools → Report System Error for Panels. The texts are imported into WinCC flexible by activating the catalogued system diagnostics view, which provides the standard diagnostic screen on Comfort, Mobile, and Multi Panels.
Can RSE be used with DP/AS-i LINK Advanced gateways?
Yes, provided the gateway firmware is V2.0 or later. The wizard extends the diagnostic coverage to all AS-i slaves configured below the gateway and prefixes their symbols with ASi_. Siemens support entry 27079067 details the implementation.
Why does the CPU still go to STOP on a DP slave failure after I ran RSE?
OB 86 was either not generated (the wizard option "Generate OBs" was unchecked) or was overwritten by user code. Re-run the wizard with all options checked, ensure no user code occupies OB 86, and re-download with a cold restart. After that the CPU remains in RUN and the failure appears only in the HMI alarm view.