Resolving WinCC Professional SCADA Animation Errors in TIA Portal

David Krause18 min read
HMI / SCADASiemensTroubleshooting
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

Problem Profile: When WinCC Professional Animations Fail

SCADA animations in WinCC Professional, the TIA Portal HMI engineering environment for SIMATIC Panels and Runtime Advanced, depend on a chain of dependent objects: PLC tag values → HMI tag mapping → animation trigger conditions → graphic object properties. When a blinking indicator, color change, or visibility toggle does not behave as configured, the failure point is rarely the animation itself. It is one of the underlying links.

Typical reported symptoms include:

  • Static color or visibility that should toggle on a bit value remains fixed.
  • Blinking animations execute on some screen objects but not on others sharing the same tag.
  • Animations work in the engineering system (ES) preview but not on the HMI device or Runtime Advanced.
  • Color schema changes override configured animation colors.
  • Animations flicker or update only on screen change.

The classic case — WinCC Professional under TIA Portal V11 with mixed working and non-working animations, and a question about the "Global Color Schema" — is one of the most common variations of this failure. The remainder of this article maps every layer that has to be verified before changing project settings.

Engineering principle: In WinCC, an animation is a property binding. If the bound expression evaluates to a fixed result, the property is fixed. The job is to find why the expression does not return what you expect.

Root Cause Categories

Across thousands of service cases handled by Siemens support and integrator partners, animation failures on SIMATIC HMI fall into seven root-cause buckets. The matrix below summarizes each, the diagnostic signal, and the first corrective action.

# Root cause Diagnostic signal First action
1 PLC connection / tag acquisition fault Tag shows "Connection error" or last value frozen in HMI tag table Verify the PLC project node, PG/PC interface, and online reachability
2 Tag address mismatch (bit, byte, word) Tag value in HMI does not reflect PLC value Cross-check address, data type, and access mode in the PLC tag list
3 Animation trigger expression error Expression evaluates to constant TRUE/FALSE in test mode Re-evaluate the trigger condition; check parentheses and operator precedence
4 Bit extraction (mask vs. bit position) Only some bits in a word trigger their animation Verify bit number vs. byte offset; use Bit(0) notation
5 Global design / color schema override Configured colors ignored, palette style applied instead Check Design / Appearance settings; disable global scheme or set per-object override
6 Compile/download order or stale RT cache Animations work in ES preview only Rebuild project, perform a full download, restart Runtime
7 Update cycle mismatch (cycle too slow) Animation lags, blinks slowly, or skips transitions Reduce acquisition cycle or switch to "On change" trigger

Continue through the diagnostic steps below in the order shown. Step 1 is the most common culprit and the cheapest to verify.

Pre-Diagnostic Checklist

Before opening the project, gather the following data points. They cut the diagnostic time in half.

  1. Engineering environment: TIA Portal version (V11, V13 SP1, V15, V15.1, V16, V17, V18, V19) and installed HSPs.
  2. Runtime target: Comfort Panel (TP700…TP2200, KP, KTP), Unified Comfort Panel (MTP700…MTP2200), IPC with WinCC Runtime Advanced, or PC with WinCC Runtime Professional.
  3. Firmware on HMI: Boot loader and image version, visible in "System Information" → "Device" tab on the HMI or via the SIMATIC Automation Tool.
  4. PLC: S7-1200, S7-1500, ET 200SP, S7-300/400, or third-party controller. CPU firmware and project version.
  5. Connection path: PROFINET, PROFIBUS, MPI, Ethernet/IP, or routed through a CP.
  6. Animation list: Each screen object with the failing animation, the HMI tag bound, the trigger expression, and the expected behavior.
  7. Recent project history: Last compile, last full download, last TIA Portal upgrade, last HMI firmware update.
Field rule: A TIA Portal upgrade from V15 → V16 → V17 → V18 can reset Design / Color schema defaults and invalidate per-object overrides that the previous project used. Always re-test animations after a portal upgrade.

Step 1: Verify PLC-HMI Connection and Tag Update Path

The first question is always: does the HMI Runtime have a live, error-free connection to the PLC? If the connection is down, every external tag value is frozen on its last known state and no animation trigger can re-evaluate.

1.1 Check the connection status in the HMI diagnostics view

On a Comfort Panel or Unified Panel, press the system menu (the wrench icon) and navigate to Diagnostics → Connections. A green status indicator next to the connection name confirms an active path. A red or amber indicator points to a connection fault. On WinCC Runtime Professional (PC-based), use the WinCC Explorer → System Information → Connections or open the HMI diagnostics dialog from the toolbar.

1.2 Inspect the HMI tag in the engineering system

  1. Open the HMI tag editor and select the tag bound to the failing animation.
  2. Right-click the tag and select "Monitor".
  3. The tag should show the current PLC value with a refresh indicator pulsing at the configured acquisition cycle.
  4. If the value is "QualityCode = Bad" or shows "Initial value" only, the connection is broken or the address is not being read.

1.3 Force a value from the PLC side

In TIA Portal, online-connect to the PLC, open the watch table or force table that contains the source tag, and toggle the value. If the HMI tag in the monitor window follows the change, the connection is healthy and Step 1 is closed. If the HMI tag does not change, jump to Step 2.

Step 2: Inspect Tag Mapping and Address Resolution

Animation failures frequently originate from the address, not the animation. The HMI tag can be syntactically valid in TIA Portal but point to a different bit or byte than the PLC program writes to.

2.1 Confirm the data type

HMI tag data type PLC counterpart Common mismatch
Bool M0.0, I0.0, Q0.0, DB1.DBX0.0 Bit number off by one (start at 0, not 1)
Int MW0, DB1.DBW0 Byte-swap between little- and big-endian controllers
Real DB1.DBD0 Configured as Int → truncation; animation never triggers
Word MW0, DB1.DBW0 Animation reads entire word instead of masked bit
DInt DB1.DBD0 Cross-project reference to a different DB number
WString / String DB1.DBB0..n Length mismatch; tag shows garbage

2.2 Verify the connection resource

The HMI connection in TIA Portal must reference the same PLC node that the project is online-connected to. If the project contains two PLC nodes (e.g., during commissioning of a redundant system), verify the HMI tag points to the active controller's name and IP address.

2.3 Cross-check bit-level access for blinking animations

Blinking animations in WinCC are typically driven by a Bool HMI tag. If the tag is configured as a Word and the animation trigger uses a bit-extraction expression such as Bit(0, "TagName"), the expression must be syntactically correct and the acquisition cycle must be fast enough to catch the bit toggle. A common error is using HmiTagName.X0 notation on a Word tag, which returns 0 even when the underlying bit is set.

Reference the WinCC Professional engineering manual for the exact syntax supported in your portal version; the SIMATIC WinCC Professional V17 system manual covers supported animation trigger expressions and evaluation rules. For TIA Portal V15.1 and earlier, the Siemens Industry Online Support portal hosts the equivalent manuals under entry IDs 109751020 (V15.1) and 109741729 (V14 SP1).

Step 3: Animation Trigger Configuration Audit

Once the tag is reading correctly, the next stop is the animation configuration. WinCC Professional supports the following object-level animation types in the Properties pane:

  • Visibility — show or hide an object based on a tag or expression.
  • Flashing / Blinking — toggle visibility at a configurable interval based on a Bool trigger.
  • Movement — translate an object along X or Y based on a tag value.
  • Color animation — change fill, line, or text color across a value range.
  • Appearance / size — scale, rotation, or transparency bound to a tag.

3.1 Inspect the trigger expression

Open the failing object in the HMI screen editor, navigate to Properties → Animations, and double-click the configured animation. Verify:

  1. The tag or expression is bound to the correct HMI tag, not a similarly named one.
  2. The expression returns a Boolean for visibility / flashing and a numeric range for color / movement.
  3. Operators and parentheses are balanced. A common mistake is 'TagA' == 1 OR 'TagB' == 1 being interpreted as equality comparison on a Word tag without the leading 0; in some versions the expression must be written 'TagA' == 1 OR 'TagB' == 2 to preserve the OR semantics.
  4. The animation is enabled (the "Active" checkbox is set, which is the default but can be unchecked during screen editing).

3.2 Check the value ranges for color and movement animations

Color and movement animations interpolate between a minimum and maximum range. If the actual tag value never enters the configured range, the animation appears static. Confirm the range bounds match the engineering units of the underlying process variable. For example, a tank level animation bound to 0..100 percent will appear at the minimum color when the raw tag reads 0–100 in engineering units of 0…100.0; if the PLC writes 0…10000 in mL, the animation never advances past the first color band.

3.3 Animation intervals for flashing

Flashing animations in WinCC Professional are bound to a Bool trigger plus an interval. The default is 500 ms. If the trigger toggles faster than the screen update cycle, the visual effect is muted. Set the flashing interval equal to or larger than the HMI tag acquisition cycle. Recommended starting points are listed below.

Application Acquisition cycle Flashing interval
Alarm acknowledgment 500 ms 500 ms
Heartbeat indicator 250 ms 1000 ms
Fault lamp 1000 ms 500 ms
High-speed status 100 ms 200 ms

Step 4: Global Appearance / Color Schema Interference

The "Global Color Schema" or "Global Appearance" setting in WinCC was historically used in WinCC V5.x through V7.2 to enforce a corporate design across all screens. In WinCC Professional under TIA Portal, the equivalent is the "Design" property of the HMI device, accessible via the project tree → HMI device → "Runtime settings" → "Design".

When a global design is active, individual object color settings can be overridden. Symptoms include:

  • Color animation configured to switch between red and green shows a single muted color across the entire screen.
  • Line and fill colors do not respond to property changes.
  • Buttons and indicators inherit the global palette regardless of per-object overrides.

4.1 Disable the global design for the test screen

  1. Open the HMI device configuration in the project tree.
  2. Navigate to "Runtime settings" → "Design".
  3. Clear the "Activate global design" option (or set the design to "Standard" if the option is greyed out in your portal version).
  4. Recompile and download the project to the target.

4.2 Per-object override

If the corporate design must remain active, right-click the object in question, open Properties → Appearance, and enable "Override design settings". In TIA Portal V18 and later, this is exposed as a per-object checkbox in the Appearance group. The SIMATIC HMI product page lists the supported design palettes per panel family.

Important: The "Global Color Schema" was a feature in WinCC V5.x → V7.2 (Classic, not TIA Portal). When migrating a WinCC Flexible or WinCC V7 project into TIA Portal, this setting is not carried over, and the new "Design" framework can produce visual differences. Always re-validate animations after a migration.

Step 5: Compile, Rebuild, and Download Order

A common source of "animation not working at runtime" cases is a partial download or a stale HMI Runtime image. The procedure below ensures a clean transfer of the configured animations.

  1. In the project tree, right-click the HMI device and select "Compile" → "Software (rebuild all)".
  2. Watch the compile output for warnings such as "Object X: tag not found" or "Animation on object Y references unconfigured trigger".
  3. Resolve all warnings; do not proceed to download if warnings remain.
  4. Right-click the HMI device, select "Download to device" → "Software and configuration".
  5. If the HMI prompts for overwrite mode, select "Overwrite all" to ensure a clean transfer of all screens and animations.
  6. After the download completes, restart the HMI Runtime manually (Control Panel → "OP" → "Reboot" on a Panel; Service Tool on a PC Runtime).

For PC-based WinCC Runtime Professional, the project must be activated in the WinCC Explorer and the runtime window restarted. A stopped runtime will not execute any animation, even if all configuration is correct. The activation sequence is: WinCC Explorer → right-click the project → "Activate". If the runtime reports "Project is being used by another process", close any open ProSave, TIA Portal, or HMI monitor sessions that may hold a lock on the project file.

Step 6: Runtime Cache and Project Regeneration

If the animation still does not execute after a clean download, the runtime's internal project file may be inconsistent. On WinCC Runtime Professional, delete the project folder under C:\ProgramData\Siemens\Automation\WinCC\ and retransfer the project. On Comfort Panels, use the Service Tool to format the internal storage (the "Restore factory settings" path) and reload the project.

For environments with WebNavigator or WinCC Unified, clear the browser cache on the operator client, as the JavaScript-based animation engine caches compiled templates. A typical cache location for Unified clients is %LocalAppData%\Siemens\UnifiedPC\cache\.

The Schneider Electric FAQ on Industrial Graphic display issues describes a similar class of symptoms (loading circle, partial updates) and is useful for cross-platform comparison, although the fix paths are platform-specific.

Common Animation Failure Matrix

Use this matrix when the diagnostic steps above have not yet isolated the issue. Each row maps a symptom, a probable cause, and the corrective action.

Symptom Most probable cause Corrective action
Blinking animation dead on all objects HMI connection to PLC is down; tag is frozen Check connection diagnostics; verify PG/PC interface and IP routing
Blinking works on one object, dead on another Animation disabled on the second object, or trigger expression differs Compare the two objects' Properties → Animations panels
Color animation shows only one color Global design / color schema overrides the per-object color Disable the global design or enable per-object override
Movement animation offset by one pixel Range mismatch; value rarely reaches the maximum bound Set range bounds to the actual process variable range
Animation works in ES preview, dead on Runtime Stale runtime image; partial download Full compile + "Overwrite all" download + runtime restart
Animation works initially, stops after a few hours Connection loss; trigger tag overflow; or HMI tag buffer fill Inspect connection diagnostic logs; reduce update frequency
Visibility animation never hides the object Trigger expression always evaluates to TRUE Check for the literal "1" or "TRUE" constant in the trigger
All animations lag noticeably Acquisition cycle is too slow or HMI CPU is overloaded Reduce acquisition cycle; reduce number of concurrently animated objects

Advanced Edge Cases

12.1 Multiplexed tags on WinCC Runtime Professional

When the HMI tag count is high, project authors sometimes use a single multiplexed tag to drive many objects. If the multiplex pointer is misconfigured, only the first object in the table receives the correct value and the rest show static behavior. Use the HMI tag table's multiplex view to verify the pointer is being updated, and confirm the index variable matches the expected screen object count.

12.2 Faceplate and library instance animations

Faceplates published in the TIA Portal library expose interface tags. An animation on the faceplate instance refers to the interface tag, not the underlying PLC tag. If the interface tag is not wired during faceplate instantiation, the animation has no live value source. Right-click the faceplate instance and verify the interface tag connections in "Properties" → "Interface".

12.3 Scripts overriding animation properties

If the screen uses a C or VB script that sets an object's Visible or BackColor property at runtime, the script can override the configured animation on every cycle. Audit the Scripts editor for any "Set" calls to the affected object's properties and either remove them or move the logic to a different attribute that is not bound to an animation.

12.4 Security and user-rights interaction

Some animation triggers are gated by user rights. If the logged-in operator lacks the required authorization group, the trigger expression can return a "no access" sentinel that does not match any animation state. Verify the operator's group and the animation's authorization dependency in the user administration view.

12.5 Language switching interference

Animation triggers can use the current language ID. If the project supports multiple languages and the language is switched at runtime, a misconfigured language-dependent trigger can change state unexpectedly. For animation triggers, prefer language-independent comparisons such as numeric or bitwise checks.

12.6 Animation interaction with screen templates

If the affected screen is built from a template (e.g., a header, navigation bar, or process area), the template may carry its own animation bindings that override local settings. Audit the template's animations in the project library and either disable conflicting bindings or convert them to per-instance configuration.

Performance and Update Cycle Tuning

On Comfort Panels in the TP700…TP1500 range, the maximum recommended count of concurrently animated screen objects is around 50 when each animation has a 250 ms update cycle. Beyond this threshold, the panel's internal processor becomes the bottleneck and animations appear to skip or freeze. Reduce the load by:

  1. Increasing the acquisition cycle from 100 ms to 500 ms for non-critical status indicators.
  2. Switching the trigger from "Cyclic" to "On change" so the screen redraws only on value transitions.
  3. Consolidating multiple Boolean triggers into a single Word tag and using the Bit() extraction function to read individual bits.
  4. Replacing color or movement animations with static graphics where appropriate — a state indicator that switches between two static icons consumes less CPU than a continuous color interpolation.

Unified Comfort Panels (MTP series) and PC-based Runtime Professional handle a higher concurrent animation count, but the same principles apply: minimize acquisition frequency, prefer on-change triggers, and reduce the number of objects bound to live tags.

Verification Procedure

After applying the corrective action, perform the following checks to confirm the fix.

  1. Online tag verification: Open the HMI tag monitor, toggle the source PLC value, and confirm the HMI tag follows within the configured acquisition cycle.
  2. Single-screen animation test: Navigate to the affected screen, force a value change, and verify the animation executes as configured.
  3. Cross-screen test: Navigate to a different screen and back, then re-force the value. Confirm the animation does not "stick" on a stale state.
  4. Long-duration test: Leave the HMI running for at least one hour to confirm the connection does not drop and the animation does not freeze.
  5. Compile clean check: Re-run "Compile" → "Software (rebuild all)" and confirm zero warnings related to the affected screens and tags.

If any check fails, return to the root cause matrix and continue with the next candidate. Do not introduce additional changes before re-verifying, as multiple simultaneous changes obscure the cause.

FAQ

Why does my WinCC Professional animation work in the TIA Portal preview but not on the HMI?

The engineering system preview executes animations in local simulation without an active PLC connection. A failed animation at runtime is almost always either a connection fault, an address mismatch, a compile warning that suppressed the animation, or a stale runtime image. Perform a full rebuild, an "Overwrite all" download, and a runtime restart to clear the runtime cache.

How do I activate or disable the Global Color Schema / Global Design in WinCC Professional?

Open the HMI device in the project tree, navigate to "Runtime settings" → "Design", and toggle the "Activate global design" option. In TIA Portal V18 and later, you can also enable a per-object override via Properties → Appearance → "Override design settings". The legacy "Global Color Schema" from WinCC V5.x → V7.2 is not carried over by the migration tool and must be re-implemented as a TIA Portal Design.

My blinking animation only works on some screen objects. What should I check first?

Compare the animation configuration on a working object and a failing one. The most common differences are: the active checkbox is cleared on the failing object, the trigger tag points to a different HMI tag with a similar name, or the trigger expression uses a different operator such as == 1 vs. = 1 in older portal versions. Use the tag monitor to verify both objects are bound to a live, changing value.

Can a TIA Portal upgrade break existing SCADA animations?

Yes. Upgrading from V15 to V18, for example, can reset design defaults, change the trigger expression parser, and invalidate previously valid color or range bindings. After any portal upgrade, recompile the project, resolve all warnings, perform a full download, and re-verify every animation. Treat the upgrade as a re-commissioning event for the HMI portion of the project.

What is the difference between an HMI tag and a PLC tag in the context of animations?

The PLC tag is the variable in the controller program; the HMI tag is the project-local variable on the HMI device that WinCC Professional uses to drive the animation. The HMI tag can be external (mirrors a PLC tag over the connection) or internal (resides only on the HMI). An animation can only bind to HMI tags; the link from HMI tag to PLC tag must be healthy for the animation to reflect process values.

What is the recommended acquisition cycle for a blinking alarm indicator?

For alarm acknowledgment indicators, use a 500 ms acquisition cycle with a 500 ms flashing interval. For faster fault or heartbeat indicators, drop the acquisition cycle to 100–250 ms and keep the flashing interval at 200–1000 ms so the visual transition is visible. Always set the flashing interval equal to or larger than the acquisition cycle to avoid visual aliasing.

Back to blog