Resolving PCS7 v6.1 WinCC Alarm Control Logging Not Active

David Krause17 min read
SiemensTroubleshootingWinCC
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 PCS7 v6.1 WinCC Alarm Control Logging Not Active

This reference covers the field-reported condition in SIMATIC PCS 7 V6.1 where messages generated by the ALARM_8P (SFB35) function block in an S7-400H AS appear in the top-of-screen overview area (@AlarmNew.PDL) but the full WinCC Alarm Control object on a process picture displays Not Active, shows an empty message list, or returns no rows for a configured MsgFilterSQL filter. The same root-cause pattern applies to V6.1+SPx and early V7.0 builds that still use the legacy ALARM_8P SFB.

Engineering note. The WinCC Alarm Control never "fails to start" in the traditional sense. The string Not Active means the control could not acquire a message selection from the underlying message archive / runtime database, OR the selection evaluates to zero rows because of a filter mismatch. Treat "Not Active" as a data-plane symptom, not a driver or display fault.

1. Problem Description

Typical symptoms reported on a PCS7 V6.1 redundant server pair (Master/Standby) with two OS clients and one ES:

  • Single-line overview at the top of every PCS7 picture updates correctly with incoming and outgoing messages.
  • Full-screen @AlarmNew.PDL opened from the operator area shows the same messages correctly.
  • An Alarm Control ActiveX embedded in a user picture or opened from a button displays Not Active, an empty list, or filters out every row.
  • MsgFilterSQL is set on the control (for example, Class IN (1,2,3,4,5,6,7,12,16) AND Type IN (1,2,19,20,37,38,55,56,71,72,89,106,122) AND State IN (1,2) AND Text2 LIKE 'Ad-8') but the list remains empty.
  • Archive tags for the message archive exist on the server, but no rows are written after a restart of WinCC Explorer.

For the engineering team this is significant because operators lose the area-filtered alarm view that the original design relies on, while the system appears to function normally for centralized alarm acknowledgment.

2. Root Cause Analysis Matrix

Use the matrix below to map the symptom to the most likely cause. Each row maps a symptom to the most probable cause and the corresponding section of this document.

Symptom Most Likely Cause Section
Overview OK, Alarm Control shows Not Active, no rows in archive Archive tags not created or archive runtime not started §7
Alarm Control works without filter, returns zero rows with filter Filter mismatch (Class/Type/State/Text2) §6
Alarm Control empty on client, OK on server Server prefix not selected on client-side control §4 / §8
Messages missing after OS project download POV/hierarchy mapping stripped during compile §5
Control shows Not Active only on one of the two redundant servers Archive redundancy partner not synchronized §8
Single-line works, Alarm Control empty for specific area only Area filter excludes the message class used in the project §5 / §6
User cannot acknowledge from Alarm Control Operator authorization level (WinCC User Administrator) §9

3. Alarm Logging Architecture in PCS7 V6.1

Before manipulating any control, understand the three logical layers that the Alarm Control reads from. PCS7 V6.1 separates the message flow as follows:

  1. AS layer (S7-400 / S7-400H): The ALARM_8P (SFB35) block packs up to eight associated values into a message frame and sends it to the OS via the S7 connection. For redundant AS pairs, messages are time-stamped on the H-CPU side using the synchronized time master.
  2. WinCC Alarm Logging runtime: On the OS server, Alarm Logging receives the frame, resolves the message number against the database, decorates it with the class, type, area, and priority, and writes it to the in-memory message buffer.
  3. WinCC Alarm Control (display): The ActiveX control on a WinCC picture subscribes to a selection on the alarm buffer. The selection can be a server prefix, a message class/type filter, a time range, an area (POV), or a MsgFilterSQL expression.

Single-line overview at the top of every PCS7 picture is a predefined WinCC Alarm Control configured by the PCS7 wizard. The control in @AlarmNew.PDL is also predefined. Both have working filters already configured. A user-defined Alarm Control in a custom picture is empty until you configure its Server Selection, Message Selection, and Filter properties. This is the most common reason for the Not Active string in PCS7 V6.1.

In PCS7 V6.1, the term Not Active appears in the control when the configured message selection resolves to no server, or when the server selection is set to Local on a client. Always start by setting the Server Name property on the control to the configured server prefix (for example OS1 or OS2) — see WinCC Alarm Control — Configuration Manual (Siemens ID 24001402).

4. Step-by-Step Resolution

Apply the steps in this order. Each step is independently verifiable, which keeps the troubleshooting loop tight on a live plant.

4.1 Prerequisites

  • PCS7 V6.1 + SPx installed (V6.1 SP1 minimum recommended).
  • Logged into the ES / OS server with an account in the SIMATIC HMI Windows group and in the WinCC Administrator user group (level 1000 for full operator authorization).
  • OS project is open in WinCC Explorer in Configuration mode.
  • The S7-400 / S7-400H AS is in Run with ALARM_8P instances compiled and downloaded.

4.2 Set the Server Selection on the Control

  1. Open the WinCC picture containing the Alarm Control in Graphics Designer.
  2. Right-click the control → Configuration Dialog → tab Message Lists.
  3. In the Server Selection box, set Server Name to the OS server prefix as configured in the WinCC project (e.g. OS1). On a redundant pair you can tick Use Server Prefix so the client control reads from the currently active server (Master or Standby).
  4. Apply, save the picture, and check whether the Not Active string disappears in Runtime.

4.3 Activate Message Class / Type Tabs

The control can show the Message Class and Type tabs as empty if no message class is selected. On the Toolbar tab of the Configuration Dialog, enable at least one of the message list buttons (Single Message, List, Short-Term Archive, Long-Term Archive). On a fresh picture, the default selection is often None, which is why the control shows Not Active.

4.4 Clear All Filters First

Before debugging any SQL filter, remove the filter entirely. If the control then shows messages, the filter is the cause, not the control configuration. This is the principle field engineers should follow: remove complexity first, then add it back one piece at a time.

4.5 Confirm Operator Rights

Authorization in PCS7 V6.1 is controlled in WinCC User Administrator. An operator with no Operator authorization on the Alarm Control will not see the list because the Operator messages selection is gated by authorization level. Add the operator to authorization level 1000 — Administrator for commissioning, then trim back to the production level (typically 6 — Operation) for go-live.

5. POV and Message Group Configuration

The Process Object View (POV) is the PCS7 mechanism that lets an operator select a plant area (Unit, Sub-unit) and see only the messages associated with that area. POV is configured from the STEP 7 Manager side, not the WinCC side.

5.1 Where POV Lives

POV entries are derived from the S7 project hierarchy. For each ALARM_8P call, the block inherits the hierarchy folder in which the CFC chart is located. When you compile the OS, PCS7 generates the POV tree in the WinCC database.

  1. Open STEP 7 Manager.
  2. Right-click the OS → Object properties → tab POV.
  3. Confirm the hierarchy is selected for compilation. A common mistake in V6.1 is to compile the OS only at the top level, which strips the POV tree from the WinCC side.
  4. Recompile the OS. Watch for warnings like POV entry not found or Hierarchy mismatch in the compile log.

5.2 Message Groups

Inside WinCC Explorer, Alarm Logging has a folder called Message Groups. This is a separate, user-defined classification that does not overlap with POV. Message Groups are useful when you want to assemble messages from different areas under a common name (e.g. Ad-8 messages that span multiple hierarchy levels).

To map messages to a group:

  1. In WinCC Explorer, navigate to Alarm LoggingMessage Groups.
  2. Right-click → New Group → name it (e.g. AD-8 Group).
  3. Open Messages → filter by Number range or by Class/Type → multi-select the rows → drag-and-drop onto the new group, or right-click → Properties → tab Group → tick the new group.
  4. Save the configuration and, in Runtime, use the Alarm Control's Define User Filter function to filter by this group.
In PCS7 V6.1 the Define User Filter function is accessed from the toolbar of the Alarm Control, not from the configuration dialog. It writes a runtime filter into the control without modifying the picture's MsgFilterSQL property. Use it for area-specific views that should be toggleable by the operator.

6. MsgFilterSQL Reference and Field-Tested Filters

The MsgFilterSQL property on the WinCC Alarm Control accepts a SQL-like selection expression evaluated against the message buffer. The expression is not standard SQL — it is a simplified grammar recognized by the WinCC message subsystem. Grammar is case-insensitive; identifiers and operators are evaluated in this order:

Field Meaning Example Values
Class Message class ID 1, 2, 3, 4, 5, 6, 7, 12, 16
Type Message type ID (sub-status within class) 1, 2, 19, 20, 37, 38, 55, 56, 71, 72, 89, 106, 122
State Message state 1 = came in, 2 = went out (acknowledged)
Text1..Text10 Associated value text slots Wildcard with LIKE
Number Message number 1000001..2000000 typically for PCS7 user messages
Priority Operator priority 0..15
AG AS number (from the message frame) 1, 2 (for redundant pair)
CPU CPU number in the AS 0, 1, 2, 3
Area POV hierarchy path Wildcard with LIKE

6.1 Class and Type Reference for ALARM_8P

The most common Class/Type combinations generated by ALARM_8P in PCS7 V6.1 are:

Class Type (in/out) Meaning
1 1 / 2 Alarm — high priority, requires acknowledgment (AH)
2 19 / 20 Warning (WH)
3 37 / 38 Fault (FH)
4 55 / 56 Operator message (OM)
5 71 / 72 Status message (SM)
6 89 / 90 Process message (PM)
7 Operator request (OR)
12 System message (SY)
16 106 / 122 Control message (CM, 106 = start, 122 = stop)

6.2 Field-Tested Filter for an Area Named "Ad-8"

The expression from the field case study — used to display every active or acknowledged message associated with the Ad-8 area — is:

Class IN (1,2,3,4,5,6,7,12,16) AND Type IN (1,2,19,20,37,38,55,56,71,72,89,106,122) AND State IN (1,2) AND Text2 LIKE 'Ad-8'

Field traps to look for:

  • Wildcard needed. LIKE 'Ad-8' matches only the literal string. If the associated value in Text2 is Ad-8/Unit-3, the filter returns zero rows. Use LIKE 'Ad-8%' or LIKE '%Ad-8%'.
  • Wrong text slot. Text2 is not always populated by the message number. Some PCS7 message numbers map the user text into Text1 or Text10. Inspect a working row in the Alarm Control with the Properties of Message dialog to find the correct slot.
  • No in/out symmetry. Always include the pair (1,2), (19,20), (37,38) etc. — operators expect to see both came in and went out in the same view.
  • Quoting. Use single quotes. Double quotes are not recognized in V6.1 MsgFilterSQL.
  • AND / OR precedence. When mixing AND with OR, wrap each OR group in parentheses. Example: (Class IN (1,2,3) OR Priority <= 3) AND State IN (1,2).
Behavior note. The Alarm Control evaluates the filter on the server side, not on the client. The client only receives the resulting selection. This means an empty list with a non-empty buffer is always a server-side filter problem, never a network problem.

7. Alarm Archive Configuration

The Alarm Control switches between active list, short-term archive, and long-term archive via the toolbar. If the archive is not configured, the journal controls return Not Active. Verify the archive before troubleshooting the filter.

7.1 Enable the Message Archive

  1. Open WinCC Explorer on the OS server.
  2. Right-click Alarm LoggingProperties → tab Archives.
  3. Tick Activate archive.
  4. Set the archive location (default: <Project>\ArchiveManager\AlarmLogging on the local drive of the server). On a redundant pair the path must be identical on both servers and point to a shared or replicated volume.
  5. Define the archive segment size (typical: 1 day, 200 MB segment cap) and the retention (typical: 30 days short-term, 365 days long-term).
  6. Activate the project. The Archive Manager service starts and creates the segment files.

7.2 Verify Archive Runtime

  1. In WinCC Explorer, open Alarm LoggingRuntime.
  2. Confirm the status line shows Runtime started.
  3. Trigger a test message (set an input on a working ALARM_8P input) and check the archive segment file (*.ALF) for a new row.
  4. Open the Alarm Control and select the Short-term archive toolbar button. The test message should appear in the journal view.

7.3 Typical Archive Faults in V6.1

Symptom Cause Fix
Archive Manager service does not start Path missing on the redundant partner Replicate the archive path on both servers with identical ACLs
Segments stop growing at 200 MB Segment cap reached, no rollover Increase segment size or shorten segment time
Old segments cannot be opened Backup tool locked the file Exclude archive folder from real-time antivirus scanning
Journal view shows Not Active Archive not activated in Properties Re-enable archive, restart Alarm Logging Runtime

8. Redundant Server Specifics (S7-400H)

On a PCS7 V6.1 redundant OS server pair, the Alarm Control on a client subscribes to the active server (the Master). When a failover happens, the client must re-evaluate the selection against the Standby server. Failures in this re-evaluation often look like Not Active for a few seconds — but if the message returns, it is a failover artifact, not a configuration fault.

8.1 Configuration of Server-Side State Replication

  1. Open WinCC Explorer on the Master server.
  2. Right-click the project → Redundancy → tab General.
  3. Tick Activate redundancy and configure the partner name (e.g. OS2 for a Master/Standby with OS1).
  4. On the Alarm Logging tab, tick Synchronize message archive. This ensures the Standby has the same message buffer state at takeover time.
  5. Click Settings on the same tab and verify the synchronization interval (default 1000 ms).
  6. Save and activate the project on both servers.

8.2 Verifying Redundancy in Runtime

  1. Trigger 10 messages on the AS side. Confirm they appear on the Master and the Standby receives them in lockstep (within the synchronization interval).
  2. Force a failover by stopping WinCC Runtime on the Master. Within 5–10 seconds the Standby takes over and the client Alarm Control must continue to display the live messages.
  3. Inspect the Redundancy State internal variable @RedundancyState in the control's status bar. A value of 2 means Standby, 1 means Master.
Field trap. If the client's Alarm Control was manually pointed at OS1 instead of using Use Server Prefix, a failover to OS2 produces Not Active in the control. Always tick Use Server Prefix for redundant systems.

9. Operator Authorization and Audit Trail

Alarm acknowledgment is gated by WinCC user authorization. The default PCS7 V6.1 authorization levels for the Alarm Control are:

Level Permission
1000 Administrator — full access
900 Service — view, acknowledge, change filters
6 Operation — view, acknowledge
5 Process monitoring — view only
2 Read only — view only, no acknowledgment

Open User Administrator in WinCC Explorer and verify the operator group has at least level 6 — Operation. For commissioning, add the engineer to level 1000 and reload the project.

10. Verification Procedure

After every change, run the verification sequence below. Each step has a pass/fail gate — do not move on until the gate is green.

  1. Single-line overview updates when a test input is toggled on the AS. (Gate: green = Alarm Logging runtime is up and receiving.)
  2. Server selection on the Alarm Control is set to the correct server prefix. (Gate: green = the Not Active string is replaced by the live list.)
  3. Filter removed. List populates. (Gate: green = filter is the only variable in the equation.)
  4. Filter re-applied with the area string using LIKE wildcard. (Gate: green = expected rows appear.)
  5. Archive enabled. Trigger a test. Switch to the Short-term archive view. (Gate: green = test row appears in the journal.)
  6. POV from STEP 7 compiled into the OS. Open a hierarchy node from the POV. (Gate: green = messages from that node appear.)
  7. Redundancy: failover test. (Gate: green = client control recovers without a manual refresh.)
  8. Authorization: log in as the operator, acknowledge a message. (Gate: green = the message goes from came in to acknowledged in the list.)

11. Quick Reference — @AlarmNew.PDL vs @AlarmJournal.PDL

Picture Source Shows Use When
@AlarmNew.PDL Active message buffer Currently active (came in, not yet went out) messages Live alarm list, area-independent
@AlarmJournal.PDL Short-term archive Historical messages within the archive retention Post-trip review, sequence-of-events
User-defined Alarm Control Active buffer + filter Filtered selection Area views, role-based views

For a custom area view, the simplest pattern is to call @AlarmNew.PDL in a picture window and pass the filter via the picture window's Parameter property. The wizard-generated picture has its filter pre-wired to the POV tree, so you inherit correct behavior without writing a custom MsgFilterSQL.

12. Common Field Errors and Their Fixes

Error Pattern Likely Cause Corrective Action
Single-line works, Alarm Control Not Active Server Selection is Local on a client Set Server Name to the OS server prefix, tick Use Server Prefix
Filter returns zero rows Class/Type IDs wrong for the project's message numbers Export the message list from Alarm Logging and confirm the IDs
Journal control Not Active only Archive not activated Enable archive in Alarm Logging properties and restart runtime
POV empty after OS download Hierarchy not selected at OS compile Open OS properties → POV → tick the relevant hierarchy levels → recompile
Filter works on server, empty on client Redundancy partner is not synchronized Re-check Redundancy settings on both OS servers
Acknowledge button greyed out Authorization level too low Raise the operator to level 6 minimum in User Administrator
Messages appear with delay after failover Synchronization interval too long Reduce the redundancy synchronization interval from 1000 ms to 500 ms
Area filter excludes the message class Class not in the Class IN (...) list Add the missing class IDs; do not stop at the default 1..7

13. Standards and Documentation Cross-References

For an authoritative read on which Class/Type IDs are valid in your installed Service Pack, cross-check the WinCC Information System shipped with the install media. PCS7 V6.1 SPx added and re-numbered several message classes compared to the GA build; the IDs above are the V6.1 SP4 baseline and are a safe starting point but should be confirmed against the local install.

14. FAQ

Why does the Alarm Control show "Not Active" even though the top-of-screen overview updates correctly?

The top-of-screen overview is a predefined WinCC Alarm Control with the server prefix pre-wired. A custom control on a user picture does not inherit that setting; you must set Server Name on the control to the OS server prefix (e.g. OS1) and tick Use Server Prefix. Until that is done, the control has no source and shows Not Active.

What is the difference between @AlarmNew.PDL and @AlarmJournal.PDL?

@AlarmNew.PDL reads from the live message buffer and shows currently active (came in, not went out) messages. @AlarmJournal.PDL reads from the short-term archive and shows historical messages within the archive retention. The single-line overview at the top of every PCS7 picture is a reduced version of @AlarmNew.PDL.

How do I filter alarms for a specific plant area like "Ad-8"?

Use the POV (Process Object View) tree compiled from STEP 7, or use MsgFilterSQL with a wildcard: Class IN (1,2,3,4,5,6,7,12,16) AND State IN (1,2) AND Text2 LIKE '%Ad-8%'. The trailing % wildcard is critical — without it, an exact-match on Ad-8 returns zero rows when the associated value contains Ad-8/Unit-3 or similar suffixes.

Why is the message archive empty even though messages arrive in the live list?

The archive is not enabled by default in PCS7 V6.1. Open WinCC Explorer → right-click Alarm LoggingProperties → tab Archives → tick Activate archive. Confirm the archive path is reachable on both redundant servers and that the Archive Manager service has started.

Can the same Alarm Control show messages from both redundant servers?

Yes. Tick Use Server Prefix on the control and configure redundancy in WinCC Explorer → project → Redundancy. The client subscribes to the currently active server (Master). During failover, the client switches to the Standby within the synchronization interval (default 1000 ms) and continues to display the live list without a manual refresh.

What authorization level is required to acknowledge an alarm in PCS7 V6.1?

Level 6 — Operation in the WinCC User Administrator grants view and acknowledge rights. Level 1000 — Administrator is required for configuration. Levels below 5 are read-only and cannot acknowledge. Configure the operator group, not individual users, in User Administrator for clean change management.

How do I confirm that POV is compiled into the OS?

Open STEP 7 Manager → right-click the OS → Object properties → tab POV. Tick the hierarchy levels you want to publish. Recompile the OS. Open WinCC Explorer → Alarm LoggingRuntime → confirm the POV tree appears under the control's POV dropdown.

Back to blog