TP170A Button Reverts Screen in WinCC Flexible SP3 Runtime Fix

David Krause10 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 Description

The Siemens SIMATIC TP170A (6AV6 545-0BA15-0AX0 and related variants) is a 5.7-inch STN mono HMI panel from the 170-series that originally shipped with ProTool/Pro and was later supported by WinCC Flexible 2008. When a project is migrated from ProTool to WinCC Flexible and downloaded to the panel, the runtime behavior can present a confusing symptom: pressing a configured button (for example, a "Start" or motor command) does not execute the assigned PLC tag or function, but instead causes the active screen to revert to the previous screen in the navigation hierarchy.

This behavior is reproducible only on the physical panel; WinCC Flexible's offline simulator (RT simulation on the engineering PC) typically runs the button event correctly. Because the symptom appears at runtime only, the root cause is almost always in one of the following areas:

  • Z-order / layer assignment of the touched object (an invisible or partially overlapping object on a higher layer captures the press)
  • Migration artifacts that left an event pointing to a deleted template screen or template button
  • Corrupted runtime image on the panel flash
  • WinCC Flexible 2008 SP3 build that has known runtime bugs for migrated 170-series projects
  • Touch calibration or panel firmware that misinterprets the press coordinate

Affected Versions and Hardware

Component Version / Part Number Status
TP170A mono (RS232) 6AV6 545-0BA15-0AX0 Affected by migration issue
TP170A color 6AV6 545-0BC15-0AX0 Affected by migration issue
TP170B mono 6AV6 545-0BB15-0AX0 Same 170-series runtime engine
TP170B color 6AV6 545-0BD15-0AX0 Same 170-series runtime engine
WinCC flexible 2008 Without SP3 or SP3 base Known runtime bugs
WinCC flexible 2008 SP3 + Hotfix 1 / Hotfix 2 Recommended build
ProTool/Pro V6.0 SP2-SP5 Source format prior to migration
Note: The TP170A and TP170B share the same Windows CE 3.0 runtime image (HMI Runtime 170). The fix paths described here apply identically to both panels.

Root Cause Analysis

Layer and Z-Order Interference

In WinCC Flexible, every screen element sits on a numeric layer (level 1 through 32 in the editor). The runtime always routes a touch event to the highest-numbered layer that contains a touch-enabled object at the press coordinate. If the original ProTool project was constructed with screen navigation buttons placed on layer 1 and command buttons on layer 5, the migration routine often inverts or normalizes those layer assignments. After migration, a "Start" button sitting visually on top of a navigation button (or vice-versa) can receive the press event of the navigation button because the layer priority has been silently swapped.

A typical migrated TP170A screen layout looks like the diagram below, where the navigation element occupies a higher layer than expected:

TP170A Screen - Layer Conflict Diagram Layer 5 (visible Start) SetBit M0.0 Layer 12 (invisible nav) ActivateScreen 'Prev' Runtime: touch event routes to Layer 12 first Result: ActivateScreen fires, SetBit never executes Fix: move Start to Layer 16 OR delete orphan nav button

Migration Artifact: Orphan Template Reference

ProTool projects stored button graphics and events in screen-level templates. WinCC Flexible converts those to screen-global objects but keeps the original event linkage. When a ProTool template instance was deleted in the source project but the index entry was retained, WinCC Flexible imports the orphan and binds the press event to the wrong function. The simulator correctly suppresses orphans because it reads the live project tree; the runtime on the panel uses the compiled image, which still references the orphan.

Corrupted Runtime Image

If the download to the panel was interrupted, or if the project was transferred using a ProTool migration path that produced inconsistent CRC values, the runtime image on the flash can hold partial event tables. Pressing a button then executes a default fallback action, which on the 170-series runtime is defined as "ActivateScreen Previous".

Firmware/OS Mismatch

The TP170A originally shipped with ProTool runtime versions that bundled Windows CE 3.0 and an HMI runtime build that handled events in a different order than the WinCC Flexible compiled runtime. After migrating the source but not updating the panel OS, the new compiled runtime can be served by an older HMI runtime engine whose event dispatcher still uses the legacy ProTool priority rules.

Diagnostic Procedure

Before applying any fix, run the diagnostic sequence below to isolate the root cause:

  1. Open the migrated project in WinCC flexible 2008 SP3. Select Project > Compile > All (with consistency check). Note every warning related to "Event", "Template", or "Reference".
  2. Inspect the affected screen. In the editor, right-click the offending button, choose Properties > Layer, and record the layer number.
  3. Enable the layer view. From the menu View > Layers, toggle Show all layers. Visually confirm whether an invisible button (typically an ActivateScreen or navigation element) overlaps the command button.
  4. Run the offline simulator. Press Start > Runtime > Start with simulator and exercise the button. If the simulator runs the SetBit/SetValue correctly, the runtime image is the problem. If the simulator also reverts, the project logic is the problem.
  5. Check the panel image version. On the TP170A, enter transfer mode (the panel will display the version line "WinCC flexible 2008 SP3 HFx"). Compare against the engineering project version reported in Project > Properties > Identification.
  6. Enable runtime event trace. If available on your build, open Tools > Trace > Event log and reproduce the press. The trace will record which object ID received the event and which function was dispatched.

Solution Path A: Correct the Layer Assignment

Use this path when the diagnostic step 3 reveals an overlapping invisible object on a higher layer.

  1. Open the screen editor and select the command button (for example, "Start").
  2. Open Properties > Layer and set the layer to the maximum used in the screen (typically 16 or 20).
  3. Select any navigation button overlapping the command button and lower its layer to 1, or delete it if it is a leftover from ProTool.
  4. Recompile with consistency check enabled.
  5. Transfer the project to the panel and verify the press behavior in runtime.

Solution Path B: Re-Authorize the Button Event

Use this path when the simulator also fails to execute the command, indicating a project-logic fault rather than a runtime-image fault.

  1. Right-click the button and select Properties > Events.
  2. Delete every entry under Press, Release, and Click.
  3. Re-author the Press event: choose SetBit or SetValue depending on the PLC tag type (BOOL for motor start, INT/REAL for setpoints).
  4. Re-author the Release event only if the controlled device requires edge-triggered reset (typical for jog commands).
  5. Recompile and transfer.
Engineering note: For a S7-200/300/400 PLC connected over MPI/PROFIBUS to the TP170A, use SetBit with tag address syntax DB1.DBX0.0 for bit-level commands and DB1.DBW2 for word-level setpoints. For a LOGO! or S7-200 over PPI, use V0.0 or V0 respectively.

Solution Path C: Reset Panel OS to Factory Settings

Use this path when the runtime image is suspected to be corrupted or when the panel OS build predates the migrated project. The reset wipes the runtime image and reloads the factory-default HMI runtime image, then the project is transferred again from WinCC flexible.

  1. Power on the TP170A while holding the upper-left and lower-right corners of the touch area, or use the standard Start > Settings > OP > Transfer menu on panels that expose it.
  2. When the transfer menu appears, select OS Update (also called "Update operating system").
  3. Enable the option Reset to factory settings. This flag is critical; without it, the OS update leaves existing runtime remnants in place.
  4. Confirm the OS source. Use the WinCC flexible 2008 SP3 image that matches the device:
    • For TP170A mono: \Support\TP170A\Image\TP170A_IM.IMG
    • For TP170A color: \Support\TP170A_Color\Image\TP170A_IM.IMG
  5. Start the update. The panel reboots twice; allow up to 10 minutes.
  6. After the panel returns to transfer mode, transfer the migrated project (now recompiled) to the panel.
  7. Test the previously failing button in runtime.
Warning: Selecting "Reset to factory settings" erases all recipes, passwords, and the active runtime project. Back up any panel-resident data using Backup/Restore > Serial backup to PC before starting the OS update.

Solution Path D: Apply the Latest WinCC Flexible 2008 SP3 Hotfix

Siemens released multiple hotfixes for WinCC flexible 2008 SP3 that addressed runtime event handling on the 170-series. The relevant update is referenced in the official Siemens support entry Update for WinCC flexible 2008 Service Pack 3. Apply the highest hotfix available for your build before any further troubleshooting. Hotfix 6 (HF6) is the last publicly released for the SP3 line and contains corrected runtime event dispatch code for migrated 170-series projects.

Verification Procedure

Step Action Expected Result
1 Press the previously failing button on the panel Configured action executes; screen does not change
2 Watch the PLC tag in the cross-reference (WinCC flexible RT trace or STEP7 watch table) Bit transitions 0 -> 1 on press, 1 -> 0 on release (if Release event is configured)
3 Press the navigation button that was suspected as the culprit Screen changes to the correct target, not the previous screen
4 Cycle power to the panel Runtime behavior is identical to step 1; no regression
5 Repeat the test with the panel in transfer mode briefly, then back to runtime No state corruption; button functions correctly

Preventive Measures for Future ProTool Migrations

  • After migrating a ProTool project, open every screen and verify that command buttons sit on the highest layer (16-20). Document the layer number in the screen header comment.
  • Avoid using ProTool template buttons in new sections; switch to WinCC flexible "Faceplate" objects, which carry event priority correctly.
  • Run the consistency check with the option Detect duplicate event handlers enabled (WinCC flexible 2008 SP3 HF2 and later).
  • Maintain a single canonical WinCC flexible version (2008 SP3 HF6) for all engineering stations. Mixing SP2 and SP3 builds has been observed to produce runtime images that diverge.
  • For every 170-series panel, schedule an annual OS update to factory settings and reload. This clears flash wear artifacts that mimic event-dispatch bugs.

Related TP170A Runtime Anomalies and Cross-Reference

Symptom Likely Cause Reference Solution
Button press causes previous-screen activation Layer conflict or orphan template Solution A or B above
Button press causes tag write but PLC does not respond Area pointer misconfigured (DB or bit zone) Check Connections > Area Pointers
Touch calibrates incorrectly after OS reset Calibration data lost Re-enter calibration via OP > Touch > Calibrate
Panel displays "Transfer aborted" repeatedly Baud rate mismatch on MPI/PPI Match PC adapter to panel MPI settings (default 187.5 kbps)
Project downloads but runtime stays on "Loading..." Corrupted compressed runtime image Disable compression in transfer settings and re-transfer

Connection and Communication Notes

The TP170A supports MPI, PPI (slave), and PROFIBUS-DP. After a ProTool migration, the area pointer definitions are typically preserved, but the connection name occasionally changes from S7-200/PPI to S7-300/MPI based on the ProTool source. Verify the active connection under Project > Connections and ensure that the device name on the panel matches the configured PLC station address.

For an S7-200 connected over PPI, the typical area pointers are:

  • Clock: VB600..VB607 (8 bytes)
  • Date: VB608..VB615
  • Acknowledgment: V608.0..V608.7
  • Coordination: VW610..VW611
  • Project ID: VW612..VW613

For an S7-300/400 connected over MPI/PROFIBUS, area pointers map to DB segments. Always verify against the WinCC flexible online help for the chosen PLC family.

FAQ

Why does my TP170A button work in the WinCC flexible simulator but not on the panel?

The simulator reads the live project tree and ignores orphans or layer conflicts that exist only in the compiled runtime image. A "Reset to factory settings" OS update on the panel and a recompile of the project with the consistency check enabled will typically resolve the divergence.

Which WinCC flexible version should I use for migrated TP170A projects?

Use WinCC flexible 2008 SP3 with the latest hotfix (HF6 at the end of the SP3 line). The hotfixes correct event-dispatch bugs that particularly affect 170-series panels migrated from ProTool.

How do I bring a button to the front so it receives the touch event first?

Open the screen, right-click the button, select Properties, and set the Layer property to the highest value in use on that screen (typically 16 or 20). WinCC flexible dispatches touch events to the highest layer first.

Will the "Reset to factory settings" option delete my project on the panel?

Yes. The option erases the runtime project, recipes, and panel-resident passwords. Always perform a serial backup to the engineering PC before initiating an OS update with factory reset.

How do I tell whether a button issue is a layer conflict or a corrupted runtime image?

Run the offline simulator. If the button works in simulation, the runtime image is the problem (apply Solution C, the OS reset). If the button fails in simulation as well, the project logic is the problem (apply Solution A or B).

Back to blog