Problem Definition: Multi-HMI Alarm Acknowledgment Synchronization
When a single WinCC Flexible (or WinCC Unified) project is distributed across multiple HMI panels connected to one PLC, alarm acknowledgment must remain consistent across every panel. The canonical scenario:
- One main HMI with full functionality.
- Up to five additional remote HMIs with reduced screens (two mimic views plus alarm view).
- A single alarm class with a shared acknowledge tag such as
DB9.DBX1.1. - Up to 512 alarms configured in the project.
The architectural question is: if HMI #1 writes 1 to the ACK tag of a discrete alarm, do HMI #2 through HMI #6 automatically recognize that bit as acknowledged? In a default WinCC Flexible configuration the answer is no. Each HMI evaluates its own internal ACK state; only the PLC sees the unified value. To synchronize acknowledgment state, the PLC must arbitrate the ACK bit and broadcast the consolidated result back to every HMI.
Prerequisites
| Item | Specification |
|---|---|
| Engineering software | WinCC Flexible 2008 SP5 or later; TIA Portal V15 to V20 for WinCC Comfort / Advanced / Professional migration |
| HMI panels | SIMATIC Comfort Panels (TP700 to TP2200) or WinCC Runtime Advanced / Professional on PC |
| PLC | SIMATIC S7-300 / S7-400 / S7-1200 / S7-1500 with PROFINET or MPI / PROFIBUS connection |
| Connection budget | One HMI connection per panel; verify PLC connection resource limits (S7-300 up to 16, S7-1500 up to 128 depending on CPU) |
| Optional license | Sm@rtAccess option (article number 6AV2107-...; consult Siemens Industry Mall for the current option code per panel family) |
| Network | Shared PROFINET subnet; each HMI assigned a unique IP within the same subnet |
Architecture Options Compared
Three viable architectures exist for multi-HMI alarm acknowledgement. Choose based on panel count, license cost, and engineering effort.
| Option | Mechanism | Engineering Effort | License Cost | Synchronization Latency |
|---|---|---|---|---|
| A. PLC-arbitrated ACK bit | Each HMI sets a dedicated ACK request bit; PLC ORs them into a single ACK tag and pulses clear | Medium: ladder logic per alarm group | None (uses existing tags) | 1 PLC scan plus HMI poll, typically 250 to 500 ms |
| B. Sm@rtAccess remote control | Main panel runs the active project; remote panels mirror the main through Sm@rtAccess | Low: configure one Sm@rtAccess session | Sm@rtAccess option per panel | Network-dependent, typically 100 to 300 ms |
| C. WinCC Unified multi-device load (TIA V20) | Single TIA project with multiple HMI devices compiled and loaded independently | Medium: maintain two HMI device objects | None for WinCC Unified PC RT | Same as Option A, still PLC-arbitrated |
When to choose each option
- Option A: best when remote panels must operate independently (one fails, the others continue) and Sm@rtAccess licensing is undesirable.
- Option B: best when remote panels are simple view-only stations and centralized screen logic on the main panel is acceptable.
- Option C: best when you have already migrated to TIA Portal V20 and run WinCC Unified PC Runtime.
Option A: PLC-Arbitrated Alarm Acknowledge Bit (Step-by-Step)
Step 1 - Create one ACK tag per HMI and one shared ACK tag in the PLC
In the PLC DB (for example DB9), create the following structure:
DB9.DBX 0.0 // HMI_1 ACK request (set by HMI_1 on ACK button)
DB9.DBX 0.1 // HMI_2 ACK request
DB9.DBX 0.2 // HMI_3 ACK request
DB9.DBX 0.3 // HMI_4 ACK request
DB9.DBX 0.4 // HMI_5 ACK request
DB9.DBX 0.5 // HMI_6 ACK request
DB9.DBX 1.0 // ACK_Alarm_Group_A (consolidated, read by all HMIs)
DB9.DBX 1.1 // ACK_Alarm_Group_B (consolidated)
... (one consolidated bit per alarm group)
Step 2 - Configure the alarm class ACK tag in each HMI
In WinCC Flexible under Alarms -> Alarm Classes, or in TIA Portal under HMI Tags -> Alarm settings, set the acknowledgment tag to the PLC tag (for example DB9.DBX1.1). All six panels point to the same tag. The HMI only reads the bit; it never writes to it.
Step 3 - Configure each HMI ACK button to set its own request bit
On the alarm view ACK button event (WinCC Flexible: Events -> Press -> SetBit), use SetBit("DB9.DBX0.0", 1) for HMI_1, SetBit("DB9.DBX0.1", 1) for HMI_2, and so on. Do not point every HMI at the consolidated bit; that would cause every HMI to see a self-acknowledgment and propagate errors.
Step 4 - PLC arbitration ladder logic
The PLC scans the six request bits every cycle and sets the consolidated ACK tag when at least one is true, then clears the request bits after a configurable pulse.
// S7-1200 / S7-1500 STL or LADDER equivalent
A "DB9".DBX 0.0
O "DB9".DBX 0.1
O "DB9".DBX 0.2
O "DB9".DBX 0.3
O "DB9".DBX 0.4
O "DB9".DBX 0.5
= "DB9".DBX 1.1 // Consolidated ACK for alarm group B
// Clear request bits after 200 ms pulse
A "DB9".DBX 1.1
L S5T#200MS
SD "T10"
A "T10"
R "DB9".DBX 0.0
R "DB9".DBX 0.1
R "DB9".DBX 0.2
R "DB9".DBX 0.3
R "DB9".DBX 0.4
R "DB9".DBX 0.5
Step 5 - Group alarms by ACK tag to scale beyond 512 alarms
For 512 alarms, do not create 512 individual ACK tags. Group alarms by category (Process, System, Drive, Safety) and assign one ACK tag per group. Four to eight groups are typical. The PLC then consolidates per-group ACK requests and broadcasts per-group consolidated bits.
Option B: Sm@rtAccess Configuration
Sm@rtAccess is a Siemens HMI runtime option that allows a remote panel (or PC) to take control of a main panel's active project. When the remote panel is in Sm@rtAccess mode, alarm acknowledgments performed on the remote are routed to the main panel's runtime, which in turn writes them to the PLC. Because only one runtime executes the project, the ACK state is inherently synchronized.
Step-by-step
- Install the Sm@rtAccess option on the main panel (license key transferred via ProSave or TIA Portal).
- In the main project, enable Sm@rtAccess under HMI device settings -> Runtime properties.
- Configure the IP address of the main panel as the Sm@rtServer in the remote panel's project.
- Set the remote panel's start screen to the Sm@rtAccess connection screen.
- Operator presses Connect on the remote panel; the main panel's project appears.
Trade-offs
- If the main panel fails, all remote panels lose alarm visibility. Option A is more fault-tolerant.
- Sm@rtAccess consumes the main panel's connection slot; on Comfort Panels this typically limits the number of simultaneous remotes to four or fewer.
- Network bandwidth: each remote screen change streams pixel data over the network. With two mimic screens and an alarm view the load is modest, typically under 500 kbit/s.
Option C: WinCC Unified Multi-Device Loading (TIA Portal V20)
In TIA Portal V20 with WinCC Unified PC Runtime, a single project can contain multiple HMI device objects. Each device compiles to its own runtime image and loads independently to its target PC. The official Siemens documentation describes the multi-device loading procedure:
- Compile each HMI device individually (right-click -> Compile -> Software only).
- Select all HMI devices in the project tree.
- Right-click -> Load to File System or Load to Device.
- If the wizard detects another HMI is loading, select Cancel and load sequentially, or allow parallel load when network bandwidth permits.
See the TIA Portal V20 documentation: Loading projects of multiple HMI devices simultaneously (RT Unified).
Project Structure: One Project vs Two HMI Devices
The SiePortal thread "One project on two HMIs" (sieportal.siemens.com/.../one-project-on-two-hmis/138812) confirms the standard pattern: create HMI_1, complete its connection and tags, then use Add new device -> HMI to insert HMI_2 with its own IP. Tag references can be shared by exporting the HMI tag table as a CSV and re-importing, or by referencing the same PLC tags symbolically in TIA Portal.
The SiePortal thread "Same Screens, Multiple HMI's" (sieportal.siemens.com/.../same-screens-multiple-hmi-s/212827) reinforces that each HMI requires its own connection entry because the IP address of the PLC connection is per-device. In WinCC Flexible you cannot have one HMI device object serving two physical panels with different IPs; you must create two devices and maintain them as siblings.
Start-Up Page Routing: MAIN vs MINOR
The original requirement was to use a single project but vary the start page per panel. Three patterns work:
-
Project-level tag plus schedule: Read
HMI_Roletag at startup and use a screen-by-tag-value tag-multiplex. SetHMI_Roleto0for main,1for remote. - Two projects, shared tag table: One project for main with full screens, one project for remote with only the two mimic and alarm screens. Both reference the same PLC tags. Maintenance doubles, but the runtime footprint halves on remote panels.
- Sm@rtAccess: One project, remote panels connect via Sm@rtAccess and inherit the main's screens automatically.
Acquisition Cycle and Poll Timing
WinCC Flexible polls PLC tags on a configurable acquisition cycle. For alarm ACK tags, 250 ms is the typical default and is short enough to feel responsive when paired with a 200 to 500 ms PLC clear pulse. For WinCC Unified PC Runtime, the polling model is event-driven on tag change rather than cyclic, but you can still enforce a 100 ms minimum refresh in the HMI tag properties.
| Platform | Default Acquisition Cycle | Recommended for Alarm ACK |
|---|---|---|
| WinCC Flexible 2008 | 1000 ms (adjustable) | 250 ms |
| WinCC Comfort / Advanced (TIA) | 500 ms (adjustable) | 250 ms |
| WinCC Professional / Unified | Event-driven | 100 ms minimum |
Verification Checklist
| Check | Expected Result |
|---|---|
| Acknowledge alarm on HMI_1 only | Alarm clears from HMI_1 and HMI_2 through HMI_6 within 1 s |
| Acknowledge alarm on HMI_6 only | Alarm clears from HMI_1 through HMI_6 within 1 s |
| Simultaneous ACK from HMI_1 and HMI_3 | Single ACK; request bits cleared by PLC pulse |
| Disconnect HMI_3 from network | Remaining panels continue to acknowledge; ACK state remains consistent |
| Power-cycle main panel | Remote panels show last-known alarm state from PLC; new ACKs still work |
| PLC in STOP | HMIs show No connection to PLC but do not lock out alarm view navigation |
Troubleshooting Matrix
| Symptom | Likely Cause | Resolution |
|---|---|---|
| ACK on HMI_1 does not clear alarm on HMI_2 | Each HMI uses its own ACK tag rather than the consolidated PLC bit | Re-point every HMI's alarm class ACK tag to the PLC consolidated bit, for example DB9.DBX1.1
|
| Alarm oscillates ACK / un-ACK rapidly | PLC clears the consolidated bit faster than the HMI polls it | Increase pulse timer from 200 ms to 500 ms or 1 s; reduce HMI acquisition cycle to 100 ms |
| Multiple ACKs recorded for one operator action | Each HMI button writes directly to the consolidated bit, then PLC ORs it again | Buttons write only to per-HMI request bits; only the PLC writes to the consolidated bit |
| ACK works for one alarm group but not another | Alarm class ACK tag misconfigured for one group | Verify each alarm class points to the correct PLC tag; export alarm configuration as CSV and audit |
| Sm@rtAccess remote shows Connection failed | Main panel Sm@rtAccess option not licensed, or firewall blocking ports 102 / 443 | Verify license with ProSave -> License Manager; check Windows Firewall on main panel PC |
| WinCC Unified multi-device load fails halfway | Parallel load exceeds PG / PC interface bandwidth | Load devices sequentially; see TIA V20 multi-device loading |
| Remote panel shows stale alarm state | Acquisition cycle too long for the alarm group | Reduce acquisition cycle in HMI tag properties to 250 ms or less |
| Operator must ACK twice on a single panel | PLC clear pulse ended before the HMI re-read the bit | Extend PLC pulse timer to at least 2x the HMI acquisition cycle |
Best Practices Summary
- Always arbitrate ACK in the PLC. HMIs should only signal ACK intent; the PLC owns the canonical state.
- One ACK bit per alarm group, not per alarm. 512 alarms collapse to 4 to 8 ACK tags.
- Pulse-clear the request bits in the PLC with a timer greater than the HMI poll cycle.
- Never let an HMI write to the consolidated ACK tag; that creates the self-ACK feedback loop.
- Separate the engineering project from the runtime topology: in WinCC Flexible and TIA, create one HMI device per physical panel; share the PLC tag database.
- If using Sm@rtAccess, document the failover behavior: main panel loss equals all remotes lose visibility.
- For TIA Portal V20 / WinCC Unified, follow the multi-device loading procedure documented at TIA Portal V20 cloud docs.
Does an acknowledgment on one WinCC Flexible HMI automatically appear on the other five?
Only if all six HMIs read the same PLC ACK tag and the PLC arbitrates the consolidated bit. By default each HMI evaluates its own internal ACK state, so without PLC arbitration the ACK on HMI #1 is not visible on HMI #2 through HMI #6.
What is the minimum ladder logic to share ACK bits for 512 alarms?
Group the 512 alarms into four to eight categories. Each category uses one PLC bit as the consolidated ACK tag. The PLC scans six HMI request bits, ORs them into the category bit, then pulses clear. One network of six OR instructions and one timer handles all 512 alarms.
Is Sm@rtAccess required for multi-HMI alarm synchronization?
No. Sm@rtAccess is one of three viable architectures. The PLC-arbitrated ACK-bit pattern (Option A) achieves synchronization without Sm@rtAccess and without additional licensing, and is more fault-tolerant because each panel operates independently.
Can one WinCC Flexible project contain two HMI devices with different IPs?
Yes. Add a second HMI device under the project, configure its PROFINET / IP address, and define a separate connection to the PLC. Tag references and screens can be reused, but each device maintains its own runtime image. This is confirmed in the SiePortal thread One project on two HMIs.
What HMI acquisition cycle is recommended for alarm ACK synchronization?
250 ms is typical for WinCC Flexible and is short enough to feel responsive when paired with a 200 to 500 ms PLC clear pulse. For WinCC Unified reduce to 100 ms if the network and PLC scan time permit; otherwise stay at 250 ms to avoid unnecessary PROFINET load.