Problem Overview
On a TIA Portal V16 project pairing an S7-1500 CPU with a TP700 Comfort HMI, the engineer needs an alarm overview that behaves like a true notification overlay: it appears automatically when an active alarm is raised, can be acknowledged or scrolled through, and can be dismissed by the operator without covering the process screen the rest of the time. A standard Alarm View placed on a fixed process screen satisfies the visibility requirement but blocks the underlying visualization and cannot be closed, which makes it unusable for screens that must remain readable (overview, navigation, recipe, or trend screens).
The intended architecture is a Global Screen carrying an Alarm Window object. The Global Screen is a WinCC Comfort/Advanced overlay layer that sits above the current process screen, so the alarm window is rendered on top of whatever screen is active, pops up when a configured alarm is pending, and closes when the operator dismisses it or the alarm goes inactive (depending on the configured behavior). The Global Screen concept is documented in the WinCC Comfort/Advanced engineering help and is the supported pattern for modal-style alarm notifications on Comfort Panel firmware that ships with TIA Portal V16 (HMI image V16.x).
Prerequisites
- Engineering: TIA Portal V16 Update x (V16, V16.0.1 ... V16.0.6+ as available), WinCC Comfort/Advanced V16 installed.
-
Runtime: TP700 Comfort panel running HMI image
16.0.x.xmatching the engineering version. Mismatched engineering/runtime images are a common cause of the alarm window silently failing to appear. - Controller: SIMATIC S7-1500 (any CPU with HMI alarm capability; standard for S7-1511, S7-1513, S7-1515, S7-1516, S7-1517, S7-1518).
-
HMI tags: At least one configured HMI tag bound to a discrete PLC bit (e.g.,
DB_HMI.Alarm_Class1[0]) that the PLC sets/clears to drive the alarm state. Bit messages, analog messages, and controller alarms are all valid triggers. -
PLC program: Discrete alarms generated with
ALARM_8P,NOTIFY_8P, or simply by writing to a tag wired to a bit message. For this tutorial, the simplest approach is a bit message triggered by a Boolean tag.
Architecture: Global Screen vs. Pop-Up Screen vs. Fixed Process Screen
WinCC Comfort/Advanced exposes three distinct screen types. Choosing the wrong one is the most common reason a "pop-up" alarm behaves like a permanent banner.
| Screen type | Behavior | Suitable for pop-up alarm | Notes |
|---|---|---|---|
| Process screen (fixed) | Single named screen visible; navigation between screens swaps content. | Yes (with Alarm View), but blocks underlying content. | Use for the alarm history/log review screen, not a notification overlay. |
| Global screen | Always rendered above the current process screen as a non-modal layer. All process screens automatically include it. | Yes — the recommended approach. | One global screen per panel. Alarm Window here acts as a pop-up. |
| Pop-up screen | Modal dialog invoked via a screen-change function or a tag-controlled pop-up; covers the entire process screen and forces an input. | Yes, but blocks operator from interacting with the process screen while open. | Best for confirmation dialogs, login prompts, value entry. |
For a non-modal alarm overlay that the operator can read and dismiss while the process screen stays interactive, the Global Screen with an Alarm Window is the correct combination.
Step-by-Step Configuration
1. Verify the HMI image / firmware alignment
- Open the TP700 Comfort device in the project tree.
- Right-click → Device Information or open Online & Diagnostics.
- Confirm the panel firmware reads
16.0.x.x. If the panel is older (e.g., V15 or V14 image), the global-screen feature is still present but the engineering/runtime V16-only properties (such as the new alarm window layout options) will not be honored. - If needed, perform a firmware update using ProSave; the matching V16 HMI image must be loaded before commissioning.
2. Add a Global Screen
- In the project tree, expand HMI → TP700 Comfort → Screens.
- Double-click Add new global screen. The default name is Global screen_1. Rename to something meaningful, e.g.,
GlobalScreen_Alarms. - The global screen opens with the full panel resolution. Comfort Panel TP700 resolution is
800 x 480pixels (4:3, 7").
3. Insert the Alarm Window object
- Open
GlobalScreen_Alarms. - From the Tools task card, under Controls, drag the Alarm Window object onto the global screen.
- Place the alarm window where it does not obscure the most important HMI widgets. The upper-right or lower strip is common practice; place it where the operator's eye naturally falls when an event happens.
- Resize the alarm window. A width of
300–400 pxand a height of200–300 pxis typical.
4. Configure Alarm Window properties
Select the alarm window and open the Properties pane. The following properties govern the pop-up behavior.
| Property | Recommended value | Effect |
|---|---|---|
| Display | Enabled (default) | Object is visible at runtime. |
| Mode | "Coming" / "Coming and Going" | Determines whether the window shows only on incoming alarms, or also displays a disappearance indication when an alarm clears. |
| Use alarm classes | Check the alarm classes the panel should monitor (e.g., Errors, Warnings). | Filters the alarm window to only the classes the operator must acknowledge on this overlay. |
| Position | Fixed coordinates, e.g., X = 400, Y = 0 | Global screens do not reposition dynamically. Anchor the alarm window in a fixed location. |
| Operator can close window | Enabled | This is the key property for the operator-controlled dismiss requirement. With this checked, the close button on the alarm window's title bar is active. |
| Single acknowledgment | Per design | Single-ack closes the row in the window when the operator acknowledges it; the window itself remains visible while other unacknowledged alarms are pending. |
| Auto-scroll on new alarm | Enabled | The newly raised alarm is scrolled into view automatically. |
5. Configure HMI alarms (bit messages)
- Open HMI → TP700 Comfort → HMI alarms.
- Add a new bit message, e.g., Alarm_001.
- Configure the trigger tag:
DB_HMI.Alarm_Class1[0](Bool). The tag is a pointer to a bit in the S7-1500's data block; any HMI tag whose datatype matches (Bool) and whose PLC address points to a Bool works. - Assign the message to the alarm class Errors (or the class that you included in the Alarm Window filter).
- Set acknowledgment: With acknowledgment for operator action, Without acknowledgment for status-only notifications.
- Define the event text, e.g.,
Motor overload trip. Use tag-output fields if you want to embed dynamic values:Motor current: %d A.
6. Trigger the alarm from the S7-1500 program
The simplest pattern uses a single Bool in a data block the HMI polls. In an S7-1500 OB1 / FB / FC body, in Structured Text or ladder:
// Set the alarm bit when the monitored condition is true
"DB_HMI".Alarm_Class1[0] := "Motor_DB".Current > "Motor_DB".SetpointCurrent * 1.10;
Or in ladder logic, the equivalent contact driving an output coil:
| Motor_DB.Current Motor_DB.SetpointCurrent*1.10 |
---|------[ > ]------------------------( DB_HMI.Alarm_Class1[0] )---|
For multi-bit alarm word generation, the S7-1500 supports ALARM_8P (errors requiring acknowledgment) and NOTIFY_8P (informational) function blocks. Each raises eight associated bits and their associated messages. Place calls in OB1 or a cyclic OB; the messages are sent to all configured HMI partners.
7. Compile, download, and verify
- Right-click the TP700 → Compile → Software (rebuild all). Resolve any compile errors (missing tag, unsupported object on global screen, etc.).
- Download to the panel: right-click → Download to device → Software (all). Confirm the panel accepts the project with no version mismatch warnings.
- On the panel, force the trigger tag in the PLC using the watch table (or trigger the process condition). The alarm window on the global screen should appear within 1–2 scan cycles (typically <500 ms on Comfort Panels).
- Acknowledge the alarm from the panel. The row should change state; if Mode is "Coming and Going," the row remains in the list while active and is removed only when the trigger bit clears.
Advanced: Programmatic Pop-Up Screens via TIA Portal Openness
If the application requires a true modal Pop-Up Screen — for example, an alarm dialog with input fields — instead of the non-modal global overlay, the TIA Portal Openness API (V16 and later) can be used to export a preconfigured pop-up screen and integrate it into the project. This is documented in the Siemens TIA Portal Help under TIA Portal Openness API → Exporting a pop-up screen:
The typical Openness workflow is:
- Connect to the TIA Portal from a .NET / Python Openness client.
- Open the project, navigate to the HMI device → Screens → Pop-up screens.
- Export the pop-up template as XML, modify screen properties, then re-import to generate a fully configured pop-up at runtime.
- Invoke the pop-up from a button via the system function
ShowPopUp/ShowPopUpAsWindowor via tag change in the screen's Events configuration.
Troubleshooting Matrix
| Symptom | Likely cause | Resolution |
|---|---|---|
| Alarm window does not appear at all. | Alarm Window is on a fixed process screen, not the global screen. | Move the Alarm Window to GlobalScreen_Alarms. Confirm by switching process screens; the alarm window should remain visible on top. |
| Alarm window visible but no events show up. | Alarm class filter does not match the message class. | In Alarm Window properties → Use alarm classes, enable the class of the generated message (Errors, Warnings, etc.). |
| Alarms appear in the alarm log (viewable in the panel) but not in the overlay. | The configured Mode of the Alarm Window is restrictive, or the bit message has no Status trigger. | Set Mode to "Coming and Going." Verify the bit message's Trigger tag is a Bool mapped to the correct PLC address. |
| Window appears but the close button is greyed out. | Property Operator can close window is disabled. | Enable the property in the Alarm Window configuration and re-download. |
| Window appears but stays on top of every screen even after acknowledging. | Global screen is intended; this is by design. If undesired, use a Pop-up screen instead and trigger it from PLC events. | Accept global-screen behavior, or refactor as pop-up screen triggered by alarm event tag. |
| Compile error: "Alarm Window is not supported on a global screen." | HMI image is older than V16, or the panel variant does not support global screen + alarm window. | Verify the panel type. Comfort Panels (TP700, TP900, TP1200, TP1500, TP1900, TP2200) all support global screens with alarm windows in V16 image. |
| Alarms appear late (>2 s). | Acquisition cycle on the HMI tag is too long. | In the tag's properties, set Acquisition cycle to 500 ms or 100 ms for the alarm trigger tag. |
Verification Checklist
- Alarm window appears on top of every process screen (switch screens to confirm).
- Triggering the alarm bit in the PLC causes the window to open within 1–2 scan cycles.
- Acknowledging an alarm marks the row; the window does not vanish while other active alarms remain.
- The close (X) button in the alarm window's title bar is enabled and dismisses the overlay.
- Subsequent alarm events re-open the window if it had been closed (depending on Mode and the filter configuration).
- The underlying process screen remains interactive while the alarm window is open (no full-screen modal behavior).
Design Recommendations
- Filter aggressively. Show only critical alarm classes in the global overlay (typically Errors). Push Warnings and Information messages to a dedicated alarm log screen reachable via a navigation button.
-
Group by system area. Use the alarm text to prefix the area:
Conveyor 1: motor overload. Operators can quickly triage without opening the alarm log. - Color the alarm window row. The alarm class is the standard cue: red for Errors, yellow for Warnings. Configure the alarm class colors in HMI alarms → Alarm classes (V16 supports per-class color customization).
- Bind to a "current alarm count" tag. For at-a-glance status, place a small indicator on every process screen showing the count of unacknowledged alarms. Drive the count with a script or a tag calculation; the global alarm window handles the notification, the count handles situational awareness.
- Use a separate process screen for full alarm history. This is a regular screen with an Alarm View (the tabular control), not the Alarm Window. Operators navigate to it on demand.
Edge Cases and Field-Proven Caveats
- Mixed Runtime Professional and Comfort: If the project also contains an RT Professional station, the Global Screen concept is Comfort/Advanced specific. On RT Professional, use C scripts in the screen's Open event to instantiate an alarm faceplate.
- Multiple panels, same project: Global screens are per-HMI-device. A TP700 and a TP1500 in the same project each need their own global screen definition.
- Logging rate: The alarm log is buffered; with the default 1024-entry buffer, a flurry of alarms can roll old entries. The global window only shows what is currently pending and is not a log — always provide a separate alarm-log process screen for post-event review.
- Time synchronization: Alarms carry the panel's local time stamp. If the S7-1500 and the panel are not time-synchronized (NTP or area pointer Date/Time), timestamps drift. Configure Connections → Area pointers → Date/Time for consistent logging.
FAQ
What is the difference between an Alarm Window and an Alarm View in WinCC Comfort?
An Alarm Window is a compact, headerless overlay designed to be hosted on a Global Screen and behave as a non-modal notification. An Alarm View is a full tabular control placed on a process screen showing pending, acknowledged, and historical alarms with columns and scrollbars. Use the Alarm Window on the global screen for pop-up behavior; use the Alarm View on a dedicated alarm-log screen for detailed review.
Why does my Alarm Window not appear when the alarm is raised?
The most common causes are: the Alarm Window was placed on a regular process screen instead of the Global Screen, the alarm class filter in the window excludes the class of the message being generated, or the trigger tag's acquisition cycle is set too long. Move the window to the Global Screen, enable the relevant alarm class in the window's properties, and set the tag's acquisition cycle to 500 ms or 100 ms.
Can the operator close the alarm window manually?
Yes. In the Alarm Window properties, enable Operator can close window. The window's title bar then shows an active X button. The window can be re-opened by the next incoming alarm (if Mode is "Coming") or remains closed until the operator opens the alarm log (if Mode is set to suppress the re-popup).
Do I need TIA Portal Openness to implement a pop-up alarm?
No. The standard, non-Openness workflow is to add a Global Screen to the Comfort Panel and place an Alarm Window on it — this gives a pop-up-style alarm without scripting. TIA Portal Openness is only needed for programmatic generation of parameterized pop-up screens, typically in mass-deployment engineering automation.
Which Siemens Comfort Panels support Global Screens with Alarm Windows?
All Comfort Panels (TP700, TP900, TP1200, TP1500, TP1900, TP2200) running HMI image V14 or later support Global Screens with Alarm Windows. For TIA Portal V16 features, the panel must run a matching V16 image.