Deciphering CPU 410-5H Event A217 and System Status List Throttling

Deciphering CPU 410-5H Event A217 and System Status List Throttling

A CPU 410-5H diagnostic buffer flooding every few milliseconds with 'Event ID 16# A217 No Entry in text database' and Additional Info 16# 80C3 indicates that an asynchronous system function—typically SFC51 (RDSYSST) reading the System Status List (SSL)—is being called without call throttling while resources are exhausted. Error code 16#80C3 (RET_VAL) signifies that the maximum number of concurrent SSL read requests has been exceeded. The buffer fills with unformatted hexadecimal messages because internal system events lack offline text entries in STEP 7. To resolve the flood, trace blocks calling SFC51, implement call interlocking using the BUSY output, and throttle execution cycles.

Table of Contents

Anatomy of Event ID 16# A217 and Return Code 16#80C3

In SIMATIC S7-400 and CPU 410-5H controllers, the diagnostic buffer captures hardware interrupts, operating state transitions, and operating system communication events. When inspecting the buffer, engineers occasionally observe thousands of entries logging the exact same event every few milliseconds:

  • Event ID: 16# A217
  • OB / Priority Class: OB 16# 01 (Cyclic execution program OB1 / cyclic interrupt)
  • Data ID 1/2: 16# 50 C0 (SSL List ID 16#0050 or 16#00C0, querying module diagnostics or connection status)
  • Additional Info 1: 16# 80C3

In SIMATIC system architecture, 16#80C3 is the standardized error code returned by system functions (RET_VAL):

'The maximum number of simultaneously active read requests for the system status list has been reached.'

Because asynchronous calls require multiple CPU cycles to extract hardware lists, invoking SFC51 cyclically on every CPU scan without waiting for the previous query to finish overwhelms internal operating system queues, triggering event A217 on every scan.

Why STEP 7 Reports 'No Entry in Text Database'

SIMATIC Manager displays the warning 'No entry in text database. Hexadecimal values will be displayed' because the event code 16# A217 belongs to internal operating system communication diagnostics. These events are primarily intended for internal firmware telemetry and diagnostic analysis by Siemens development teams.

Because standard engineering versions of STEP 7 do not contain localized text strings for internal OS telemetry in their offline descriptor libraries (s7diag.dll), the diagnostic buffer viewer renders the raw hexadecimal words rather than a translated narrative. The event does not signify hardware destruction or CPU corruption; it reflects application-level over-interrogation.

Identifying and Throttling SFC51 (RDSYSST) Callers in CFC

To eliminate the diagnostic flood and free CPU communication bandwidth, follow this procedure:

  1. Locate SFC51 Calls Using Chart Reference Data:
    - In SIMATIC Manager, open any CFC chart.
    - Press Ctrl+Alt+R to open Chart Reference Data.
    - Select View -> Cross-References Chart Element -> Block Types.
    - Search for SFC51 (RDSYSST) or custom diagnostic blocks (e.g. power monitoring drivers, third-party modbus wrappers).
    - Identify which chart and block calls SFC51.
  2. Implement Handshake Interlocking (BUSY):
    - Ensure that the trigger input (REQ) to SFC51 is asserted only when the output BUSY is FALSE.
    - Never tie REQ := TRUE statically in CFC.
  3. Throttle Execution via Cyclic OBs:
    - Move the diagnostic reading chart out of OB1 or fast OB35 (100ms) into a slow cyclic task such as OB32 (1000ms) or OB30 (5000ms).
    - Use a pulse timer or counter to execute the SSL query once every 10 to 30 seconds.

System Status List Diagnostic Event and Return Code Reference

The following table details diagnostic buffer parameters and return values associated with SSL over-polling:

Diagnostic FieldHexadecimal ValueSystem MeaningOperational SignificanceEvent ID16# A217Asynchronous system service eventCommunication subsystem queue rejectionOB Task16# 01Organization Block 1 (or cyclic OB)Triggered from cyclic user application codeDatID 1/216# 50 C0SSL ID 16#0050 / 16#00C0Target list: Module status or connection tableAdditional Info 116# 80C3RET_VAL Error CodeMaximum number of concurrent SSL queries exceededAdditional Info 216# 0000Reserved system fieldOperating system internal indexAdditional Info 316# 3FE6Internal memory pool tagIdentifies internal operating system buffer pool

[!NOTE]
Commercial Accuracy Notice: The SIMATIC PCS 7 CPU 410-5H (6ES7410-5HX08-0AB0) enforces Process Object capacity via > System Expansion Cards. Internal diagnostic events and System Status List queries consume CPU execution cycles, but consume > no Process Objects or runtime software licenses.

Verification

Verify that diagnostic buffer flooding has ceased:

  1. Clear Diagnostic Buffer: In SIMATIC Manager, select PLC -> Module Information -> Diagnostic Buffer. Click Clear Buffer (if permitted in test environment) or note the timestamp of the latest entry.
  2. Buffer Monitoring: Monitor the diagnostic buffer over 10 minutes of active operation. Verify that Event 16# A217 no longer increments every few milliseconds.
  3. Diagnostic Data Accuracy: Check the diagnostic block in CFC. Confirm that when called intermittently, output RET_VAL evaluates to 0 (Success) and outputs valid hardware status bytes.

Limitations and Operational Precautions

Observe these guidelines when querying controller system lists:

  1. Maximum Concurrent Calls: The S7-400 operating system supports a limited number of concurrent asynchronous SFC51 calls (typically 1 to 4 depending on firmware). Serialize multiple SSL queries sequentially.
  2. Avoid Heavy Polling During Startup: Interlock SSL queries with OB100 completion flags so that system status queries do not contend with distributed I/O startup synchronization.
  3. Firmware Updates: Ensure CPU 410-5H firmware is updated to the latest release (V8.2.2+), which incorporates enhanced operating system buffer pooling.

Engineer FAQ

Does Event 16# A217 mean the CPU 410-5H hardware is defective?

No. It is a software telemetry event indicating that application code is calling an asynchronous system function (like SFC51) faster than the CPU operating system can process the requests.

Why was this error only present on the power control PLC and not the process PLC?

The power control PLC contained logic or custom driver blocks reading energy meter connection status or SSL tables cyclically without throttling, while the process PLC did not contain those calls.

What does error code 80C3 mean in STEP 7 system functions?

Error code 16#80C3 means 'The maximum number of simultaneously active read requests for the system status list has been reached'. The calling block must wait for the current call to finish before re-triggering.

How do I throttle an SFC51 call in CFC?

Connect a pulse timer (e.g. TimerP configured for 10 seconds) to the REQ input, and interlock the pulse with NOT BUSY to ensure the previous query has completed.

Technical References

Related Articles

Related Tags

  • CPU 410-5H
  • Diagnostic Buffer
  • Event A217
  • SFC51
  • RDSYSST
  • 80C3
6 respuestas