Purging and Managing Non-Acknowledgeable and Orphaned Alarms in SIMATIC PCS 7 OS Runtime
To purge orphaned or non-acknowledgeable alarms in SIMATIC PCS 7 OS Runtime where standard acknowledgment buttons fail, configure WinCC Alarm Hiding or execute version-specific alarm database resets. In PCS 7 V9.0 (WinCC V7.4 SP1), Siemens introduced native ODK functions (AXC_OnBtnDelMsg) to purge stuck messages. For PCS 7 V8.1 and V8.2 where these functions are absent, activate the Alarm Hiding toolbar button in WinCC AlarmControl to conceal the orphaned message, or perform an OS project compilation with memory reset followed by cycling the WinCC OS Server runtime to synchronize the Alarm Logging message queue with the AS Alarm_8P buffer.
Table of Contents
- Root Causes of Non-Acknowledgeable and Orphaned OS Alarms
- WinCC Version Differences: V9.0 Purge APIs vs V8.x Constraints
- Resolving Persistent Alarms via Alarm Hiding
- Resetting Alarm Logging Queues via OS Compilation and Runtime Cycling
- Comparison of Orphaned Alarm Resolution Methods
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
Root Causes of Non-Acknowledgeable and Orphaned OS Alarms
In SIMATIC PCS 7, process messages are generated at the controller level using Alarm_8P blocks (such as EventTs, MonAnL, or MonDiL) and transmitted to the OS Server over Named Connections. Non-acknowledgeable or stuck alarms typically arise under specific operational anomalies:
- Asymmetric State Transitions: A diagnostic message transition 'Came' (
C) was received by the OS, but the corresponding 'Went' (W) transition was lost due to network interruption, AS reboot, or CPU STOP before transmission. - Block Deletion in CFC Without OS Compilation: A technological block with an active alarm was removed or re-addressed in CFC and downloaded to the AS, but the OS was not compiled, leaving an unreferenced message ID in the WinCC Alarm Logging cache.
- Non-Acknowledgeable Message Classes: Messages configured under classes that do not require acknowledgment (e.g., Operating Messages or System Messages without Acknowledgment) cannot be acknowledged by operators using the standard single/group acknowledge buttons (
@AlarmAck). If the clearing event is missed, the message remains permanently in the active list.
WinCC Version Differences: V9.0 Purge APIs vs V8.x Constraints
Siemens Industry Online Support (SIOS) document 109751476 provides an engineering script to manually delete stuck messages from the active alarm list. However, compatibility depends heavily on the WinCC version:
- WinCC V7.4 SP1 / PCS 7 V9.0: Siemens introduced specialized internal C APIs and Open Development Kit (ODK) routines (
AXC_OnBtnDelMsgand enhancedMSRTSetMsgStatecalls) that allow scripts to programmatically force-clear entries from the active message buffer. - WinCC V7.3 / PCS 7 V8.1 and V8.2: These specific ODK delete APIs do not exist in the runtime libraries. Attempting to compile or execute the V9.0 script on V8.x generates script compilation errors (
function undefined). - Status Bar Icon Persistence: Even when messages are removed via SQL query scripts, block icons and screen title status bars may continue displaying alarm group symbols until the AS driver and OS internal group displays resynchronize.
Resolving Persistent Alarms via Alarm Hiding
For legacy systems running PCS 7 V8.0, V8.1, or V8.2 where deleting active alarms via API is unavailable, the recommended non-disruptive method is Alarm Hiding:
- Enable Alarm Hiding in AlarmControl:
- In WinCC Graphics Designer, open the process graphic or alarm screen template (@AlarmSelection.pdl).
- Open the properties of WinCC AlarmControl and navigate to the Toolbar tab.
- Enable the Hide message and Show hidden messages toolbar buttons. - Execute Manual Hiding in Runtime:
- In OS Runtime, navigate to the active alarm list.
- Select the orphaned, non-acknowledgeable alarm row.
- Click the Hide Message button on the toolbar.
- The alarm is instantly transferred from the active message window to the hidden message list, clearing visual clutter and suppressing unnecessary operator distraction.
Resetting Alarm Logging Queues via OS Compilation and Runtime Cycling
To permanently eliminate orphaned alarms without script workarounds, perform a synchronized system refresh:
- CFC and OS Compilation:
- In SIMATIC Manager, perform a full CFC compilation (CFC > Compile > Entire program).
- Execute an OS Compilation with the optionTags and messagesselected. - Deactivate and Clear Server Cache:
- On redundant servers, deactivate Server 2 runtime, then deactivate Server 1 runtime.
- In the OS project folder, ensure temporary database cache files (<project>.dcf) are cleared if database inconsistency is suspected. - Restart OS Servers Sequentially:
- Activate WinCC Runtime on Server 1; wait for Alarm Logging to reachInitializedstate.
- Activate WinCC Runtime on Server 2; verify redundant synchronization completes.
- The Alarm Logging cache re-reads actual signal states directly from the AS memory blocks.
Comparison of Orphaned Alarm Resolution Methods
The table below details available techniques for managing stuck alarms in SIMATIC PCS 7:
Verification
Verify that orphaned messages have been eliminated and normal alarm processing is intact:
- Open the WinCC AlarmControl incoming list; confirm the orphaned message is no longer visible.
- Inspect the plant area overview banner and screen hierarchy headers; confirm the group alarm summary indicators are dark and do not show false pending alarm counts.
- Navigate to the associated technological block icon in the process graphic; confirm the alarm badge is cleared.
- Trigger a test alarm on a healthy process block and verify that incoming, acknowledgment, and outgoing events log normally.
Limitations and Operational Precautions
Observe the following safeguards when troubleshooting OS alarms:
- Do Not Modify SQL Tables Directly: Direct manipulation of WinCC Microsoft SQL Server tables (
MESSAGES,ARCHIVE) bypasses the Alarm Logging transaction manager and will permanently corrupt the WinCC runtime database. - Redundant Server Synchronization: Always allow redundant server archives to fully synchronize before toggling operator stations or triggering maintenance resets.
- Verify Field Conditions: Never suppress or delete an alarm without verifying field instrumentation; ensure the alarm is truly orphaned and not reflecting an active hardware trip.
Engineer FAQ
Why can't I acknowledge certain system or operating messages in WinCC?
Certain message classes, such as 'System Messages' or 'Operating Messages', are engineered without acknowledgment requirements because they denote informational events. They are designed to clear automatically upon receiving an outgoing ('Went') state from the controller.
Why do block icons keep flashing after deleting a message from the alarm list?
Block icon state evaluation is calculated from internal PCS 7 group display tags (.EventState) maintained by the OS server cache and AS driver blocks. Manually purging a message from the alarm table does not reset the .EventState tag unless the AS sends an updated state.
Can Alarm Hiding be configured automatically using process logic?
Yes. SIMATIC PCS 7 features Smart Alarm Hiding, which automatically hides alarms based on plant operating states (e.g. hiding low-flow alarms when a pump is intentionally stopped).
Technical References
- Deleting Non-Acknowledgeable Messages in WinCC: SIOS Entry ID 109751476
- SIMATIC PCS 7 OS Process Control System - Alarm Engineering: https://support.industry.siemens.com/cs/ww/en/view/109780765
- WinCC V7.4 SP1 Alarm Logging Manual: https://support.industry.siemens.com/cs/ww/en/view/102601737
Related Articles
- Generating WinCC Alarm Messages for Drive Interlock Trip Conditions in SIMATIC PCS 7
- Decoding Diagnostic Alarm Placeholders (16#@1%X@) in SIMATIC PCS 7 System Driver Charts
- Resolving WinCC OS Server Startup Failures and License Database Corruption
Related Tags
- PCS 7 V9.0
- PCS 7 V8.1
- Alarm Logging
- Non-Acknowledgeable Alarms
- Alarm Hiding
- WinCC AlarmControl