Resolving Garbled Text and Corrupted Characters in WinCC Faceplates Following PCS 7 Migration

Resolving Garbled Text and Corrupted Characters in WinCC Faceplates Following PCS 7 Migration

In SIMATIC PCS 7, garbled characters, unreadable question marks (???), or foreign glyphs appearing in faceplate titles and text fields following a project migration to PCS 7 V8.0 SP2 are caused by character encoding mismatches between the Windows System Locale ('Language for non-Unicode programs') and the WinCC Text Library code pages. To resolve this: set the Windows System Locale on the Engineering Station to match the original design language of the project (e.g., English US or German), execute 'Regenerate Language Headers' in SIMATIC Manager, run the WinCC OS Project Editor with 'Update Basic Data' selected to restore standard APL faceplate text structures, and synchronize languages in the WinCC Text Library.

Table of Contents

Executive Summary

During the modernization of legacy PCS 7 installations (such as migrating from PCS 7 V7.0 or V7.1 to V8.0 SP2 / V8.2), engineering teams frequently encounter text corruption in WinCC runtime graphics and faceplates. Text labels on standard APL faceplates (such as MotL, VlvL, or MonDiL header banners, operating modes, and command buttons) display corrupted strings, mojibake, or strings of question marks. Because legacy PCS 7 projects relied on ANSI code pages (such as Windows-1252, Windows-1251, or Windows-936) rather than universal Unicode formatting, migrating on an operating system with a mismatched system locale causes string decoding errors. This article outlines the step-by-step remediation procedure.

Architecture and Fundamental Mechanics

The text management subsystem in SIMATIC PCS 7 operates across two synchronized domains:
1. STEP 7 Multilingual Text Management: Technological block comments, unit designations, and chart names configured in SIMATIC Manager or CFC are stored in the STEP 7 project database using the system code page active during authoring.
2. WinCC Text Library and PDL Faceplates: Process graphics (.pdl) and standard APL faceplates retrieve language-specific strings dynamically from the WinCC Text Library or embedded text lists.

Prior to PCS 7 V8.0, text storage predominantly utilized legacy single-byte or double-byte Windows ANSI code pages. When a project is de-archived and migrated on a modern 64-bit Windows installation (e.g., Windows 7 / Windows 10) where the Windows 'Language for non-Unicode programs' (System Locale) differs from the original engineering environment (e.g., system set to French or Chinese while the project was engineered in English US), the database translation layer misinterprets character byte sequences.

Furthermore, if the WinCC OS Project Editor is not re-executed post-migration, faceplate files (@pg_*.pdl) retain outdated string table pointers that collide with newly converted Text Library tables, resulting in garbled character strings on faceplate title bars.

Step-by-Step Implementation Procedure

  1. Configure Windows Operating System Locale:
    a. On the Engineering Station, open the Windows Control Panel and navigate to Clock and Region -> Region -> Administrative.
    b. Click 'Change system locale...' under 'Language for non-Unicode programs'.
    c. Set the system locale to match the original authoring language (typically 'English (United States)' or the native engineering language).
    d. Ensure the option 'Beta: Use Unicode UTF-8 for worldwide language support' is UNCHECKED, as older PCS 7 releases are incompatible with this setting.
    e. Restart the computer.

  2. Reconcile Multilingual Texts in SIMATIC Manager:
    a. Open the migrated multiproject in SIMATIC Manager.
    b. Select the project root, then navigate to Options -> Manage Multilingual Texts -> Change Language....
    c. Set the 'Current language' to the primary engineering language (e.g., English US) and verify default language consistency across all subprojects.
    d. Execute Options -> Manage Multilingual Texts -> Export... to create a backup CSV text table.

  3. Refresh WinCC Text Library and Faceplates:
    a. Open the OS project in WinCC Explorer.
    b. Launch 'Text Library' and verify that column headers match the project languages.
    c. In WinCC Explorer, open 'OS Project Editor'.
    d. On the 'General' tab, ensure the correct screen resolution is chosen.
    e. On the 'Basic Data' tab, verify that standard faceplate files (@pg_*.pdl, @pl_*.pdl, @fp_*.pdl) are marked for update, then click 'OK'.
    f. The OS Project Editor overwrites corrupted local faceplates with clean, standardized multilingual templates.

  4. Recompile OS and Verify Faceplate Titles:
    a. In SIMATIC Manager, right-click the OS project and select 'Compile'.
    b. Execute an OS compilation with 'Tags and messages' enabled.
    c. Start WinCC Runtime, open several APL faceplates, and confirm all titles and labels render crisp, readable text.

Verification

  1. Launch WinCC Runtime and open faceplates for MotL, VlvL, and MonAnL: verify that title bars display legible alphanumeric names without question marks or foreign glyphs.
  2. Open WinCC Text Library: confirm that text records under the primary project language display valid human-readable characters.
  3. Toggle runtime language between configured languages (e.g., English and German): verify that all faceplate labels update accurately to the target language.
  4. Check the Windows System Locale setting in Control Panel: verify that 'Beta: Use Unicode UTF-8' remains disabled.

Limitations and Operational Precautions

Running the OS Project Editor with 'Update Basic Data' overwrites any custom modifications made to standard @pg_*.pdl faceplate files; ensure customized faceplates are backed up or stored using unique project prefixes. Multilingual text synchronization requires administrative privileges and a full operating system restart when altering system locales.

Engineer FAQ

Why do question marks (???) appear in faceplate headers?

Question marks indicate that the active WinCC runtime font or code page cannot map the character byte codes stored in the Text Library.

Can I enable the Windows UTF-8 Beta setting to fix text corruption?

No. The Windows 'Beta: Use Unicode UTF-8' setting corrupts legacy STEP 7 and WinCC database transactions and is explicitly unsupported by Siemens.

Does OS compilation update faceplate title strings?

Yes. OS compilation reads block comments and hierarchy folder names from SIMATIC Manager and updates the corresponding Text Library records and block icon tag prefixes.

How do I export and fix corrupted text strings in bulk?

Use Options -> Manage Multilingual Texts -> Export in SIMATIC Manager or 'Export' in WinCC Text Library to edit strings in Microsoft Excel before re-importing.

What happens if the OS runtime language is not configured in Text Library?

WinCC displays empty labels or fallback question marks for any graphic element whose text string is missing in the active runtime language.

Technical References

Related Articles

Related Tags

  • PCS 7 Migration
  • WinCC Text Library
  • Faceplates
  • System Locale
  • OS Project Editor
  • Multilingual
20 respuestas