Copy WinCC Flexible Screens Between Projects: Complete Guide

David Krause17 min read
HMI ProgrammingSiemensTutorial / How-to
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

Overview: Screen Reuse Across WinCC Flexible Projects

Reusing HMI screens across WinCC Flexible projects reduces engineering time, enforces visual consistency, and isolates proven operator layouts from new code. Three documented methods cover the WinCC Flexible 2004/2005/2007/2008 and TIA Portal V13–V20 lines: direct copy-and-paste between two open projects, project library transfer via the Screen Library, and XML export/import. Each method carries different constraints on tag references, connection bindings, panel class, software version, and license entitlement.

Direct paste is the most permissive path in modern TIA Portal but historically failed or silently dropped references in WinCC Flexible 2007 baseline. Screen Library transfer works across both generations with predictable behavior. XML exchange became broadly available with WinCC Flexible 2007 SP2 and was expanded in WinCC Flexible 2008 to cover connections, tags, text lists, and messages.

Engineering impact: Screens carry tag references, area pointers, scheduled tasks, animations, faceplates, and language switching. A successful copy must reconcile the destination project's HMI tag table, connection list, area pointer indices, and any PLC naming convention. Plan to verify every binding after every transfer; the engineering station only preserves literal tag names, never rewrites them.

Prerequisites and Project Compatibility

Verify these prerequisites before attempting any screen transfer:

  • Both projects must open in the same WinCC Flexible or TIA Portal generation. Mixing WinCC Flexible 2008 and TIA Portal V13 sources requires an explicit Project → Migrate Project step.
  • For XML transfer: WinCC Flexible 2007 SP2 or higher, or WinCC Flexible 2008 baseline. The baseline 2007 release does not contain the XML export/import commands.
  • For direct paste between open projects: both project files (*.hmi for WinCC Flexible, *.ap20 for TIA Portal V20) must be writable and not locked by source control or a secondary editor instance.
  • For Screen Library transfer: the library can be a project-local (*.wlf) or a system library. System libraries survive project deletion and are recommended for cross-project template screens.
  • The source and destination device must share compatible runtime objects. For example, a screen authored for a TP177 cannot be pasted into a WinCC Flexible 2008 project without warning dialogs about unsupported controls.
  • The engineering station must hold a valid WinCC Flexible or TIA Portal license. Compile will fail with License missing or invalid if the destination project is opened on a station without entitlement for the target panel class.
Table 1 - WinCC Flexible and TIA Portal Screen Transfer Capability Matrix
Software Direct Paste Screen Library XML Export/Import
WinCC Flexible 2004 Limited (basic screens only) Yes No
WinCC Flexible 2005 Yes (warnings on unsupported objects) Yes No
WinCC Flexible 2007 (baseline) Yes (tag import may fail) Yes No
WinCC Flexible 2007 SP2 / Hotfix Yes Yes Yes (selected builds per release notes)
WinCC Flexible 2008 Yes Yes Yes (Connections, Tags, Text Lists, Messages)
TIA Portal V13 Yes Yes (Master copies / Types / Instances) Superseded by native library
TIA Portal V14–V16 Yes Yes Superseded by native library
TIA Portal V17–V20 Yes (cross-device, cross-panel-class) Yes (global library) Superseded by native library

Method 1: Direct Copy-and-Paste Between Open Projects

Open both source and destination projects in the same WinCC Flexible or TIA Portal instance. The simplest mechanism is the clipboard.

  1. In the project tree, expand the source device and open the Screens folder.
  2. Right-click the screen name (for example Screen_10) and select Copy, or use Ctrl+C. Multi-select with Shift+Click or Ctrl+Click to copy several screens at once.
  3. Switch to the destination project window. Right-click the destination Screens folder and select Paste, or use Ctrl+V.
  4. If the destination device type differs (TP177 → MP277, or KTP400 → KTP1200), accept the conversion dialog and review any warnings about unsupported objects.
  5. After paste, the screen appears with the source project's tag names. Open Project → HMI Tags and sort by the Connection column. Reassign every tag whose connection reads <undefined> or a stale source-project connection name.
  6. Compile the destination project (Project → Compiler → All) and resolve any reported tag or area-pointer warnings.

Behavior: The screen body, layout objects, animations, scheduled tasks, and faceplates transfer in full. PLC tag references transfer as literal text strings. The HMI tag is created in the destination project's tag table only if a tag with the same name does not already exist. The HMI tag's Connection property still points to the connection defined in the source project; if the destination uses a different connection name, the binding silently breaks until you reassign it.

Connection name mismatch: After paste, sort the tag table by the Connection column. Any tag whose connection reads <undefined> or shows a stale source-project connection name requires manual reassignment to the destination project's PLC connection. Use Ctrl+H (Find and Replace) on the tag name column to rename en masse if many tags share the broken connection.

Method 2: Screen Library Transfer

The Screen Library decouples the source project from the destination. You can extract a screen into a library, close the source project, and import the screen into the destination at any later time. This is the recommended method for templates reused across many machines or production lines.

  1. In the source project, choose Tools → Screen Library.
  2. Drag the target screen from the project tree into the right-hand library pane. A folder is created automatically; rename it for clarity (for example Pump_Standard_Screens).
  3. Save the library using File → Save As. Choose one of the following scopes:
    • Project library (*.wlf) - tied to the current project file, only available while the project is open.
    • System library - stored under %ProgramData%\Siemens\Automation\WinCC flexible 2008\Library and reusable across all projects on the engineering station.
  4. Close the source project.
  5. Open the destination project and choose Tools → Screen Library.
  6. Open the saved library file via File → Open. Drag the screen onto any existing screen in the destination project's structure tree or onto the workspace.
  7. If you drop onto the workspace, the library element is inserted as a new screen. If you drop onto an existing screen, the element is embedded as a reusable faceplate (WinCC Flexible 2008 and later).

Behavior in WinCC Flexible 2008 and later: Dragging a screen onto an existing screen creates a button with an event handler that calls ActivateScreen for the imported screen. The handler preserves the source screen's name unless a conflict triggers automatic renaming (for example Screen_10_1).

Behavior in WinCC Flexible 2007 and earlier: Library elements are embedded as object templates. Reuse requires re-instantiation. The library does not migrate tags; the destination project must already define matching tag names or you receive Tag not found compile errors.

System library location reference: WinCC Flexible 2008 stores system libraries at:

C:\ProgramData\Siemens\Automation\WinCC flexible 2008\Library\

TIA Portal V20 stores global libraries under:

%ProgramData%\Siemens\Automation\Portal V20\Library\

Method 3: XML Export and Import

XML exchange is the only method that survives closing both projects and is the recommended approach for distributed engineering teams. WinCC Flexible 2007 SP2 introduced screen XML export; WinCC Flexible 2008 expanded it to other configuration objects.

  1. In the source project, choose Project → Export → XML Export.
  2. Select the objects to export: Screens (single or multiple), Connections, HMI Tags, Text Lists, and/or Messages (alarms).
  3. Specify the target folder and filename, for example C:\Export\ProjectA_Screens.xml.
  4. Close the source project.
  5. Open the destination project and choose Project → Import → XML Import.
  6. Browse to the exported XML and confirm. The import dialog shows which objects will be created or overwritten.
  7. Rebuild the project (Project → Compiler → All) to regenerate the runtime files.
Scope warning: XML screen export was originally restricted to specific customer builds in WinCC Flexible 2007. Always confirm that your installed build exposes the XML Export menu entry. Builds that do not show the menu do not contain the feature; do not assume a hotfix will unlock it without a fresh install image. If the menu is absent, use Screen Library transfer as a fallback.
Table 2 - XML Export Scope by WinCC Flexible Version
Object 2007 SP2 2008 2008 SP1+
Screens Yes (per build) Yes Yes
Connections No Yes Yes
HMI Tags No Yes Yes
Text Lists No Yes Yes
Messages No Yes Yes
Recipes No No Yes

Handling Tags, Connections, and Area Pointers After Copy

Every screen transfer method carries the same downstream reconciliation workload. The HMI runtime does not auto-rewrite references; the engineering station only preserves the literal names of tag references, area pointers, and constants.

Tags (HMI variables): After any paste or import, open Project → HMI Tags and sort by the Connection column. Any tag whose connection reads <undefined> or a name that does not exist in the destination's connection list will fail compile. Reassign each affected tag to the correct destination connection.

Connections: If the destination uses a different PLC name (for example PLC_1 vs. S7_1500_Station_1), the connection must be renamed before tag reassignment, otherwise the connection appears as orphaned and cannot be selected for any tag. The renaming tool under Project → Connections → Rename updates all references in one transaction.

Area pointers: WinCC Flexible uses area pointers for date/time, PLC coordination, project ID, recipe coordination, and alarm acknowledgment. If the destination defines a different pointer number, the imported screen may show a runtime warning at startup such as Area pointer 4: Connection failed. Open Project → Connections → Area Pointers and verify each pointer's index matches the source project's convention. Typical indexes:

  • 1 - Date/time
  • 2 - Date/time PLC
  • 3 - Coordination
  • 4 - Project ID
  • 5 - Screen number
  • 6 - Recipe data

Scheduled tasks: Screen-level scheduled tasks (for example, screen refresh every 5 s) transfer with the screen object. Project-level scheduled tasks do not transfer; recreate them manually if needed under Project → Scheduled Tasks.

Symbolic IO fields: IO fields with mode Symbolic rely on text list entries. If the destination's text list differs, the field will display an empty value at runtime. Re-link each symbolic IO field to the destination's text list entry under Properties → General → List.

User administration: WinCC Flexible user accounts and password hashes are not transferred with the screen. The destination project retains its own user list. If the screen contains user-rights-dependent animations, recreate the user groups and rights in the destination under Project → User Administration.

Cross-Platform Compatibility: Screen Class Conversion

Pasting a screen into a project whose target device has a different panel class triggers a conversion check. Use Table 3 to predict outcomes for common transfer paths. The official Siemens documentation for TIA Portal V20 describes the cross-device copy workflow for Basic Panels, Panels, Comfort Panels, RT Advanced, and RT Professional targets at TIA Portal V20 - Copying Screens (official documentation).

Table 3 - Screen Class Transfer Outcomes
Source → Destination Expected Result Action Required
TP177 → TP177 (same model) Clean copy Verify tag connections only
TP177 → MP277 Color and resolution upgrade Re-anchor layout objects to new grid; verify font scaling
MP277 → TP177 Truncation of unsupported objects Remove ActiveX, trend, alarm view controls
KTP400 → KTP1200 Resolution upgrade Resize font references, verify icon scaling
Comfort Panel → RT Advanced Clean copy with conversion Reassign area pointers for runtime instance
RT Advanced → Comfort Panel Partial copy (no keyboard object) Re-add on-screen keyboard to numeric IO fields

TIA Portal Global Library Workflow (V13–V20)

The TIA Portal global library supersedes the legacy WinCC Flexible Screen Library. It supports three element types with version management, dependency tracking, and cross-device paste:

  • Master copies - reusable layout templates inserted into screens. Stored under Libraries → Master Copies.
  • Types - parameterized faceplates with version control. Stored under Libraries → Types.
  • Instances - concrete placements that reference a type. Stored in the project tree under each HMI device.
  1. Open the project containing the screen you want to reuse.
  2. Open the global library via the task card on the right-hand side of the TIA Portal window.
  3. Drag the screen from the project tree into the Master Copies folder of the global library.
  4. Right-click the master copy and choose Edit Properties. Add a version comment (for example v1.0 baseline 2026-01-15) so future revisions are traceable.
  5. Open the destination project and the same global library.
  6. Drag the master copy onto the destination project's screen tree. TIA Portal inserts it as a new screen named after the master copy.
  7. If TIA Portal reports unsupported controls, open the Details dialog to identify which controls require removal before compile succeeds.

Cross-device paste in TIA Portal: Drag a screen from one HMI device node (for example a Comfort Panel) onto another device node (for example a KTP1200 Basic Panel). TIA Portal runs the same conversion check as direct paste but adds the screen to the destination's screen tree automatically.

Recipe and Data-Log Handling

Recipes attached to a screen or to a project do not migrate with simple paste. Recipes are stored under Project → Recipes in WinCC Flexible and under HMI Device → Recipes & Data Records in TIA Portal. After copying a screen that interacts with recipe tags:

  1. Open the destination project's recipe editor.
  2. Recreate recipe tags matching the screen's tag references (typically RecipeName_DB, RecipeName_Variable, RecipeName_Status).
  3. Re-link the recipe view object on the pasted screen to the new recipe via Properties → Recipe View → Recipe Name.
  4. Export recipe data from the source project (CSV) for reference and import it into the destination's recipe database to preserve operator-entered values.

Data logs and trend curves follow similar logic. The trend view references tags and a configured data log path; recreate the data log under Project → Data Logs and re-link the trend source under Properties → Trends → Source Settings.

Multi-Language Text List Handling

Screens that reference text lists (for symbolic IO fields, status displays, alarm texts) must reconcile language settings after copy. WinCC Flexible supports up to 32 project languages per device; TIA Portal supports up to 40.

  1. Open the destination project under Project → Languages.
  2. Confirm that every language used in the source screen is also enabled in the destination. Missing languages cause the symbolic IO to display the internal numeric value at runtime instead of the localized string.
  3. Export text lists from the source project as XML and import them into the destination via Project → Text Lists → Import/Export.
  4. If a translation is missing for the destination's active language, the field falls back to the default language. Add missing translations before commissioning.

Troubleshooting Common Transfer Failures

Table 4 - Failure Symptoms and Remediation
Symptom Likely Cause Remediation
Paste menu disabled Destination device type incompatible Convert destination project to compatible panel class first
Compile error: Tag not found Tag table mismatch Import tags via XML or recreate missing tags manually
Runtime blank values in symbolic IO Text list name mismatch Re-link IO field list property to destination text list
Connection name shown as <undefined> Source connection not in destination Recreate connection with same name or rename then reassign
Library file will not open Wrong library scope (project vs. system) For system library, copy to %ProgramData%\Siemens\Automation\WinCC flexible 2008\Library
XML import dialog empty XML schema version mismatch Verify both projects are SP2 / 2008 baseline or later
Trend view missing data Trend source not migrated Reassign trend source tags in destination tag table
Alarm view empty at runtime Message classes not transferred Recreate message classes and acknowledge strategy
Area pointer warning at startup: Connection failed Pointer index mismatch Reassign area pointer indices under Connections → Area Pointers
Compile error: License missing or invalid Engineering station lacks panel entitlement Activate license via Automation License Manager
Pasted screen shows wrong PLC values Tag connection points to wrong PLC Sort tag table by Connection column and reassign
On-screen keyboard missing on numeric IO Destination panel class lacks keyboard object Add on-screen keyboard via Tools → On-Screen Keyboard

Performance and Project Size Considerations

Library transfer is the most efficient method for screens above 5 MB or projects with more than 20 reusable screens. Direct paste keeps a full project open in memory, doubling RAM pressure during the operation. XML exchange is the slowest method for small projects but the only method that scales across distributed teams because it does not require both project files to be present on the same engineering station.

For projects with more than 100 reusable screens, prefer the TIA Portal global library over the legacy WinCC Flexible Screen Library. The global library stores elements in a binary format that loads significantly faster than the XML-based WinCC Flexible 2008 library.

Typical engineering timings on a modern workstation (Intel i7-class, 16 GB RAM, SSD):

Table 5 - Approximate Transfer Times for a 2 MB Screen
Method Single Screen 20 Screens
Direct paste (both projects open) 2–4 s 40–80 s
Screen Library drag-drop 3–5 s 60–100 s
XML export + import 8–15 s 160–300 s
TIA Portal global library 1–3 s 20–60 s
License reminder: WinCC Flexible 2008 and earlier require a valid license on the engineering station to compile the destination project. Copying screens into an unlicensed station will succeed at paste time but fail at compile time with error License missing or invalid. TIA Portal handles this through the Automation License Manager and requires the appropriate HMI runtime license for the destination panel class.

Backup and Rollback Strategy

Before any screen transfer, capture a versioned backup of both projects. This allows rollback if a copy introduces unintended tag rewrites or breaks area pointers.

  1. Close both projects in WinCC Flexible / TIA Portal.
  2. Copy the source *.hmi or *.ap20 file to a timestamped archive folder, for example D:\Backups\2026-01-15_pre-transfer\.
  3. Copy the destination file to the same archive folder.
  4. Document the transfer in a change log: source screen name, destination screen name, transfer method, operator initials, and date.
  5. After verification, archive the post-transfer files under D:\Backups\2026-01-15_post-transfer\.

For automated backups, use the WinCC Flexible command-line rebuild interface or the TIA Portal Openness API to script the copy before transfer. TIA Portal V20's Openness API exposes IProject.SaveAs for backup before any paste operation:

project.SaveAs("D:\\Backups\\" + project.Name + "_" + DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".ap20");

Verification Checklist After Every Transfer

  1. Compile the destination project (Project → Compiler → All) and confirm zero errors and zero warnings related to tag or connection references.
  2. Open the transferred screen in the destination editor and verify that all animations and events resolve.
  3. Run a Transfer simulation (WinCC Flexible) or Start Simulation (TIA Portal) to validate runtime behavior without downloading to hardware.
  4. Cross-check the destination's tag table against the source by exporting both as CSV and diffing the tag names column. The following PowerShell snippet highlights mismatches:
Compare-Object -ReferenceObject (Import-Csv src_tags.csv | Select-Object -ExpandProperty Name) -DifferenceObject (Import-Csv dst_tags.csv | Select-Object -ExpandProperty Name)
  1. Validate that area pointer indexes match between source and destination projects.
  2. Download the runtime to a physical panel and confirm operator navigation, alarm acknowledgment, recipe handling, and language switching work as expected.
  3. Trigger each screen from the navigation menu and verify scheduled tasks fire on time.

FAQ

Which WinCC Flexible version first supports XML screen export?

XML screen export became available with WinCC Flexible 2007 SP2. In the baseline 2007 release, the menu entry does not exist and you must use direct paste or Screen Library transfer. WinCC Flexible 2008 extended XML export to connections, tags, text lists, and messages.

Can I paste a screen between a TP177 and an MP277 project?

Yes. WinCC Flexible and TIA Portal will display a conversion dialog for the destination device type. Confirm the conversion, then resize and re-anchor layout objects to match the new resolution. ActiveX controls present on MP277 but absent on TP177 will be flagged for removal.

Why do my tags show <undefined> connection after pasting?

The pasted screen carries tag references that point to a connection name from the source project. If the destination project does not have a connection with that exact name, the assignment is broken. Recreate the connection with the source name or reassign each affected tag to the destination's connection.

Does TIA Portal V20 still support the WinCC Flexible Screen Library?

TIA Portal does not read WinCC Flexible *.wlf libraries directly. Migrate the source WinCC Flexible project to TIA Portal first; the migration wizard converts Screen Library entries into TIA Portal master copies. After migration, use the global library for cross-project reuse.

What is the largest screen size I can transfer via XML in WinCC Flexible 2008?

The XML schema does not impose a hard size limit, but practical limits appear at approximately 10 MB per screen due to editor parsing time. For screens larger than 10 MB, prefer Screen Library transfer or split the screen into multiple smaller screens with navigation.

Do recipes transfer automatically with a screen copy?

No. Recipes are stored at the project level, not at the screen level. After copying a screen, recreate the recipe tags in the destination project and re-link the recipe view object to the new recipe name.

Back to blog