Resolving WinCC Loop-in-Alarm Showing Disconnected Tags After Project Duplication
Problem Overview
The "Loop-in-Alarm" (sometimes written "Loop In Alarm") function in SIMATIC WinCC (TIA Portal) and SIMATIC WinCC Runtime Advanced / Professional is designed to navigate from an active alarm entry in the Alarm Control directly to the process picture that represents the source of that alarm. In PCS 7 / WinCC environments this is the foundation of operator guidance: clicking Loop-in-Alarm should open the relevant unit overview, highlight the offending block icon, and present live tag values from the AS (Automation Station).
The failure pattern reported on duplicated Operator Stations (OS) is:
- On the Engineering Station (ES), where the project is authored, Loop-in-Alarm works correctly: clicking the toolbar icon (or double-clicking the alarm row) opens the assigned picture, the plant-hierarchy buttons become highlighted, and tag values render normally.
- On the target OS, after the project has been transferred using the WinCC Project Duplicator (or "OS Project Duplicator"), clicking Loop-in-Alarm opens the correct picture window, but the picture content shows no live tag values. Visually it appears as "No connection to WinCC Runtime" — the same picture, opened through normal navigation on that OS, still renders tag values correctly.
The differential behavior — same picture works via direct navigation but not via the Loop-in-Alarm event on the same OS — is the diagnostic fingerprint of a configuration item that is reset or omitted by the duplication process rather than a hardware/connection fault.
Root Cause Analysis
Three interrelated configuration elements participate in the Loop-in-Alarm resolution path. Each is sensitive to the duplication process in a different way:
1. Tag Prefix Scope
Loop-in-Alarm evaluates the alarm's source location and concatenates it with the active picture's tag prefix to resolve which AS connection and which tag namespace to display. The WinCC Project Duplicator preserves prefix definitions but, in well-known edge cases, fails to rebind them to the correct runtime picture window when the picture is opened through the Loop-in-Alarm event handler instead of a button action that explicitly sets the prefix.
Diagnostic question: does the same picture open correctly when navigated manually (button click or hierarchy click) but render blank when opened via Loop-in-Alarm? If yes, the prefix is not being propagated to the Loop-in-Alarm-invoked picture window.
2. Plant Hierarchy Binding
Loop-in-Alarm relies on the plant hierarchy (unit / area hierarchy in the WinCC Configuration Studio) to find the picture associated with the alarm's source location. After duplication, the hierarchy database is normally preserved, but any path that referenced local file resources, custom DLLs, or scripts compiled against the ES path can fail silently on the target OS.
3. Compiled Scripts and HighLightBlockIcon
Each picture that participates in Loop-in-Alarm typically contains a HighLightBlockIcon event on the @AlarmOneLine.PDL or its parent. If this C / VBS script is marked "changed" (yellow lightning bolt in the Graphics Designer object properties) rather than "compiled" (green lightning bolt), the runtime skips it on the duplicated OS even though it executes correctly on the ES.
Affected Versions and Products
| Product | Versions Known to Exhibit the Pattern | Duplicator Tool |
|---|---|---|
| SIMATIC PCS 7 V9.0 / V9.1 | OS Server with WinCC Runtime V7.x | SIMATIC Manager » Options » OS Project Duplicator |
| SIMATIC WinCC (TIA Portal) V15.1 – V18 | RT Professional on Panel PC / IPC | TIA Portal » Project » Duplicate OS project |
| WinCC Comfort / RT Advanced V15.1 – V19 | Comfort Panels, TP/TP700–TP2200 | ProSave » Backup / Restore of Runtime project |
| WinCC Unified V16 – V20 | Unified Comfort Panels, Unified PC | TIA Portal » Project tree » Export device |
The Loop-in-Alarm event itself is documented as available on Basic Panels, Panels, Comfort Panels, RT Advanced, and RT Professional per the TIA Portal V20 events documentation.
Diagnostic Procedure
Before applying fixes, isolate which of the three root-cause groups applies to your project.
Step 1 — Confirm Differential Behavior
- On the duplicated OS, navigate to the picture manually (hierarchy button, configured navigate button, or direct URL).
- Confirm that tags render and update with live values.
- Open the Alarm Control, select an active alarm whose source picture is the same picture from step 1.
- Click the Loop-in-Alarm toolbar icon.
- Confirm that the picture opens but tags do not update.
If step 5 reproduces the fault, root cause is the Loop-in-Alarm resolution path — not network, AS connection, or licensing.
Step 2 — Inspect the Alarm Control Properties
Open the Alarm Control object on the overview picture. In the Properties dialog, inspect the General tab:
-
Action on double-click: confirm it is set to
1 - Loop In Alarm(not0 - No action). - Function Name: confirm the configured C / VBS function name.
- Picture Name / Parameter: confirm the picture name string passed to the function.
According to the standard configuration, the Function Name should be either:
-
OpenPicture(single string parameter) — used when the project does not use the Basic Process Control (BPC) option, or -
LoopInAlarm— used when BPC is enabled.
Mismatching these two (for example configuring OpenPicture on a BPC-enabled project) causes the picture to open but the prefix / hierarchy context to be lost.
Step 3 — Compare Compiled Scripts Between ES and OS
- On the ES, open
@AlarmOneLine.PDLin the Graphics Designer. - For each sample block icon, open Object Properties » Events » Miscellaneous » HighLightBlockIcon.
- Inspect the lightning bolt indicator:
- Green: the script has been compiled and is part of the runtime project.
- Yellow: the script has been changed but not recompiled since last compilation; the runtime on the OS will silently drop this handler.
- If yellow, open the script editor and recompile (menu: Compiler » Compile, or just close and reopen the picture).
- Re-transfer the project to the target OS using Project Duplicator.
Step 4 — Inspect Tag Prefix Definition
On the duplicated OS, open the picture that fails and inspect the picture window properties. Confirm that the tag prefix field contains the expected value (typically the area name from the plant hierarchy). A common pattern after duplication is that the prefix is set to a literal string in the ES authoring but is left empty on the OS runtime, causing tag reads to return invalid handles.
If the prefix is dynamic (set by a C / VBS action on the navigate button), the Loop-in-Alarm handler does not call that action — it bypasses the navigation script. The fix is to either:
- Move prefix assignment to the picture's Open event so it executes regardless of how the picture is invoked, or
- Set the prefix statically in the picture properties, accepting that the same picture cannot be reused across multiple areas.
Solution
Apply the following corrective steps in order. Each step is independently sufficient for a sub-class of failures.
Solution A — Recompile and Re-transfer
- Open the WinCC project on the ES.
- For every picture used by Loop-in-Alarm (
@AlarmOneLine.PDLand any user-defined Loop-in-Alarm target pictures), open each picture in the Graphics Designer. - Open each C / VBS event handler. Close it without changes.
- Open the project's Computer » Properties » Graphics Runtime and confirm "Compile all pictures on project download" is enabled.
- Compile the OS (menu OS » Compile in PCS 7, or Project » Compile » Software (rebuild all) in TIA Portal).
- Transfer to the target OS using the Project Duplicator again.
Solution B — Move Prefix Assignment to Picture Open Event
- Open the target picture in the Graphics Designer.
- On the picture's Open event, add a C action or VBScript that sets the tag prefix based on the alarm's source (or based on a configured tag).
- Remove the prefix assignment from the navigation button.
- Recompile and re-transfer.
This ensures the prefix is always set regardless of how the picture is opened.
Solution C — Replace Project Duplicator Transfer with Download from ES
If the differential behavior persists after Solutions A and B, replace the duplicator workflow with a direct download from the ES to the target OS:
- Configure the OS as a target in TIA Portal / SIMATIC Manager.
- Perform a full download (Online » Download to device).
- Verify that Loop-in-Alarm resolves correctly.
The full download preserves compiled scripts, picture binaries, and prefix bindings as a coherent set; the Duplicator sometimes preserves file structure but loses internal references between these elements.
Alarm Control Configuration Reference
The Alarm Control configuration that drives Loop-in-Alarm behavior is documented in the WinCC Information System under Working with WinCC » Alarm Logging » Configuring the Alarm Control. The relevant properties are summarized below.
| Property Tab | Property | Expected Value for BPC | Expected Value for Non-BPC |
|---|---|---|---|
| General | Action on double-click | 1 – Loop In Alarm | 1 – Loop In Alarm |
| General | Function Name | LoopInAlarm | OpenPicture |
| General | Picture Name / Parameter | Picture name string | Picture name string |
| Toolbar | Show "Loop-in-Alarm" button | Selected | Selected |
| Messages | Source picture column | Visible | Visible |
Verification
After applying any of the solutions above, verify on the target OS:
- Generate or trigger an alarm from a known tag (e.g. force a high-high limit on a simulated level tag).
- Wait for the alarm to appear in the Alarm Control on the target OS.
- Click the Loop-in-Alarm toolbar button.
- Confirm that:
- The correct picture opens.
- The plant-hierarchy buttons on the target picture become highlighted.
- Tag values render and update.
- The block icon for the alarming tag is highlighted (yellow border).
- Repeat for at least one alarm per area in the plant hierarchy.
Troubleshooting Matrix
| Symptom | Likely Cause | Fix |
|---|---|---|
| Picture opens, no tags, ES works | Uncompiled scripts on ES at duplicator time | Solution A: recompile, re-transfer |
| Picture opens, no tags, dynamic prefix used | Prefix set only in navigation button | Solution B: move prefix to Open event |
| Picture opens, wrong picture selected | Function Name vs BPC mismatch | Set Function Name to LoopInAlarm if BPC enabled |
| Picture opens, no hierarchy highlight | Plant hierarchy not transferred | Re-transfer with "include all options" |
| Loop-in-Alarm button disabled | Alarm source not assigned to picture | Configure source picture in alarm source mapping |
| Loop-in-Alarm icon is yellow in properties | HighLightBlockIcon script needs compile | Open script, close, recompile OS |
| All pictures fail on OS, ES fine | Package / transfer corruption | Solution C: full download from ES instead of duplicator |
Preventive Measures
- Always perform a full compile of the OS project on the ES immediately before running the Project Duplicator. Uncompiled script changes are the most common silent failure.
- Standardize tag-prefix assignment on the picture's Open event rather than on navigation buttons. This decouples picture behavior from the navigation logic that invokes it.
- Maintain a single source of truth for the BPC / non-BPC decision. If the project enables BPC, every Alarm Control must use
LoopInAlarmas the Function Name. - After each duplicator-based transfer, run a smoke test on the target OS: generate one alarm per area and confirm Loop-in-Alarm resolution before placing the OS into production.
- For large multi-OS projects, prefer a direct download from the ES to each OS over duplicator-based propagation to avoid divergence between OS stations.
Related Configuration Areas
The Loop-in-Alarm mechanism interacts with several other WinCC subsystems. The following list documents the items that should be checked alongside the Alarm Control configuration when troubleshooting:
- Alarm source mapping: each tag's alarm configuration must specify a source picture (or a source area that maps to one) for Loop-in-Alarm to resolve.
- Picture window properties: the picture window that hosts the Loop-in-Alarm target must allow independent tag prefix scoping.
- User administration: Loop-in-Alarm requires operator authorization in some configurations; verify that the current user has the appropriate level.
- Picture navigation caching: TIA Portal V17 and later include a picture caching option; if enabled, confirm that the cache has been invalidated after the transfer.
Why does Loop-in-Alarm work on the ES but not on the duplicated OS?
The WinCC Project Duplicator preserves file structure but does not always preserve compiled script state, dynamic tag-prefix bindings, or internal references between the Alarm Control and target pictures. Recompile the OS on the ES immediately before duplication, or replace the duplicator workflow with a direct download from the ES.
Which Function Name should the Alarm Control use — OpenPicture or LoopInAlarm?
If the project has the Basic Process Control (BPC) option enabled, use LoopInAlarm. If BPC is not enabled, use OpenPicture. A mismatch causes the picture to open but tag prefixes and hierarchy context to be lost.
How do I check whether scripts are compiled on the ES?
Open the picture in the Graphics Designer, select the object, open Properties » Events, and inspect the lightning bolt indicator next to the script event. A green bolt means compiled; a yellow bolt means changed but not compiled and will be skipped at runtime.
Can I use dynamic tag prefixes with Loop-in-Alarm?
Yes, but the prefix must be set on the picture's Open event, not on the navigation button. Loop-in-Alarm invokes the picture directly and bypasses any navigation-button logic, so any prefix assignment must run unconditionally when the picture opens.
Does the Loop-in-Alarm event exist on Basic Panels?
Yes. The Loop-in-Alarm event is supported on Basic Panels, Panels, Comfort Panels, RT Advanced, and RT Professional, as documented in the TIA Portal V20 events reference for SIMATIC WinCC.