Fixing Russian PCS 7 V9.1 OS Faceplate '???' Translation Errors

David Krause14 min read
SiemensTroubleshootingWinCC
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

Fixing Russian PCS 7 V9.1 OS Faceplate '???' Translation Errors

When a SIMATIC PCS 7 V9.1 Operator Station (OS) is configured for English and Russian runtime languages, individual text strings inside APL (Advanced Process Library) and standard faceplates may briefly display their Russian translation and then collapse to literal ??? placeholders. This article documents the exact reproduction environment, the underlying cause inside the WinCC V7.5 SP2 multilingual text engine, and a verified remediation path that combines the free Russian Localization for PCS 7 add-on, the Text Distributor workflow, and an escalation procedure when system files themselves are corrupt.

1. Problem Summary

An operator toggles the OS Runtime language from English to Russian. The following behavior is observed on the operator screen:

  • OS messages, picture tree navigation labels, and most faceplate captions translate correctly.
  • Selected text fields inside the body of standard faceplates (motor, valve, analog, PID blocks) flash the correct Russian string for a fraction of a second and then revert to ???.
  • The ??? state persists for the remainder of the session. The strings do not recover without a project reactivation or OS restart.
  • The same fields display correctly in German and French, both of which are part of the standard WinCC V7.5 multilingual pack.

The defect is not a missing translation key in the engineer’s own text library. The keys exist in the project database, the Text Distributor export shows valid Russian target strings, and the imported .xlsx round-trip does not raise an error during re-import. The runtime behavior is symptomatic of WinCC failing to resolve the source text to a registered language DLL or to the text library file at the moment the faceplate script re-reads the multilingual cache.

2. Affected Environment

Component Installed Version Notes
SIMATIC PCS 7 V9.1 Base engineering system
SIMATIC WinCC V7.5 SP2 Update 4 OS Runtime / engineering
OS Server / OS Client V9.1 SP2 Process Control (OS) operator station
Russian Localization package Per OS regional settings See Section 6
Faceplate library PCS 7 Basis Faceplates V9.1 SP2 Update 1 (Online) Readme documents online-delivered faceplate text revisions
Text Distributor WinCC V7.5 editor Manage Multilingual Texts → Export / Import

The behavior is reproducible on both single-station and distributed OS topologies. It is independent of the redundant OS server pairing because the ??? substitution is performed by the WinCC Graphics Runtime on the client reading from the package, not by the server-side archive.

3. Root Cause Analysis

WinCC V7.5 SP2 handles faceplate text through two cooperating layers:

  1. Project text library — Engineer-edited strings that are exported and re-imported via the Text Distributor. These live in <Project>\<OS>\<Lang>\*.txt and are stored per language ID.
  2. Faceplate / block type language resources — Pre-translated strings delivered inside the block type's @PG_*.pas (Pascal script) and the underlying C-script faceplate source. These are the keys that read @PG_MotL(VlvL/VlvAnL)_Standard....

WinCC resolves a faceplate text in this order at first paint:

  1. Look up the configured source language resource (English by default).
  2. Look up the active runtime language resource.
  3. If a translation is found, display it.
  4. If the translation is missing or the language ID is not registered, the runtime substitutes the literal three-character placeholder ???.

When the operator changes the language, the Graphics Runtime re-evaluates the visible faceplate. The English key is resolved immediately and the previously-cached Russian text appears for a single frame. WinCC then re-queries the language DLL for the faceplate's block type. If the language is not registered in that DLL, the runtime replaces the text with ??? on the next redraw. This explains the characteristic “flash and collapse” symptom.

The root cause is therefore one of the following:

  • Missing Russian language registration in the WinCC runtime language pack on the OS, which means the block-type-level *.dll resources cannot satisfy the lookup. The standard Russian Localization for PCS 7 is the fix.
  • Corrupt or truncated faceplate text DLL delivered by an incomplete installation of an Update / Update Pack. Online-updated faceplates from the PCS 7 Basis Faceplates V9.1 SP2 Update 1 (Online) package replace the binaries; a partial install leaves a hybrid state where German/French resources are present but Russian is not.
  • Project text library entries for the faceplate are flagged as "translated" but contain only English fallback text, which the runtime overwrites with ??? when the missing-language substitution is triggered.

4. Diagnostic Procedure

Before re-translating text, isolate which of the three causes above applies. The diagnostic sequence takes about 15 minutes on a non-production engineering station.

4.1 Confirm the OS language pack

Open the OS project in WinCC Explorer. On the computer properties, expand Languages. The configured runtime languages are listed with their internal LCID. A correct Russian installation shows LCID 0x0419 with the entry Russian (Russia). If the LCID is missing, the WinCC Graphics Runtime will use the English fallback for every Russian text and substitute ??? when the faceplate script calls the language-specific resource.

4.2 Inspect the faceplate source

Open the faceplate editor on a control block, for example a standard motor faceplate. The script header references the language resource path of the form:

@PG_MotL_Standard\@MotL_Standard.FaceplateProperties\Properties\Description

Verify the text library entry under Manage Multilingual Texts → Edit. The right pane shows source language (English) and target language (Russian) text. If the target cell is empty, the runtime will resolve to ??? after the first paint. If the target cell contains a string but the runtime still shows ???, the issue is at the binary resource layer (see 4.3).

4.3 Inspect the installed faceplate text DLL

Navigate to the faceplate runtime directory on the OS:

C:\Program Files\Siemens\Automation\WinCC\Faceplates\<BlockType>\<Language>\*.dll

Compare the file count and timestamp for DEU, FRA and RUS. A V9.1 SP2 installation of the PCS 7 Basis Faceplates online update delivers parallel DLL sets for each language. If RUS\... is absent or older, the runtime cannot resolve the Russian faceplate text and produces ??? even when the project text library is complete.

Important: Do not copy DLLs between languages. The faceplate resource table is compiled per language and a mismatched binary will crash the Graphics Runtime when the faceplate is opened.

4.4 Check the WinCC diagnostic file

On the OS server, review the WinCC diagnostic log:

C:\ProgramData\Siemens\Automation\WinCC\Diagnostics\<ComputerName>_WinCC_Server_<timestamp>.txt

Search for the entries Faceplate Language Resource and ???. The log records the language code that was missing and the faceplate source path. This identifies the file that must be re-installed.

5. Solution A — Install the Free Russian Localization for PCS 7

The simplest and officially supported fix is to install the Russian Localization for PCS 7 add-on. Siemens provides this as a free download from the Siemens Industry Online Support portal. It expands the existing English PCS 7 project with system pictures, faceplates and messages already translated to Russian, and it registers Russian as a runtime language at the engineering and OS levels.

  1. Download the package “Russian Localization for SIMATIC PCS 7” from the Siemens support site. Confirm the package is the V9.1 SP2 compatible variant.
  2. On the engineering station, run the setup. The installer adds Russian-language project templates, text libraries, and language resources to the existing PCS 7 installation.
  3. After installation, re-open the OS project in WinCC Explorer. Under Computer → Languages, add Russian if it is not already present.
  4. Open Manage Multilingual Texts → Edit. The Russian column is now pre-populated for the standard faceplate blocks (motor, valve, analog, PID, dosing, controller). Verify that the @PG_* entries that previously showed ??? now contain Russian strings.
  5. Recompile the OS. Activate runtime and toggle the language to Russian. The faceplate texts now display Russian without the flash-and-collapse behavior.
Tip: The Russian Localization package does not translate customer-specific or third-party texts. Customer-specific faceplate content must still be exported, translated, and re-imported via the Text Distributor.

6. Solution B — Reinstall the PCS 7 Basis Faceplates Online Update

If the language pack is already present but the RUS faceplate DLLs are missing or dated earlier than the DEU/FRA siblings, reinstall the PCS 7 Basis Faceplates V9.1 SP2 Update 1 (Online) package. The Readme file delivered with this update lists the new and revised faceplate text resources and the installation order.

  1. Open the Siemens support page for PCS 7 Basis Faceplates V9.1 SP2 Update 1 (Online) and download the readme and the installable package.
  2. Stop the WinCC Runtime on all OS servers and clients in the affected plant.
  3. Run the setup on the engineering station. The installer replaces the Faceplates\<BlockType>\<Language> trees with the V9.1 SP2 Update 1 set.
  4. Re-run the OS generator to republish the affected faceplates to the OS servers and clients.
  5. Activate runtime and verify. The ??? substitution should now be replaced with the correct Russian string.

7. Solution C — Re-import the Project Text Library

If the diagnostic step 4.2 shows the target cell empty or containing a non-Russian string, re-translate and re-import the project text library. This addresses the project layer rather than the block-type layer.

  1. Open the OS project in WinCC Explorer.
  2. Select Tools → Manage Multilingual Texts → Export.
  3. In the language selection, set source = English, target = Russian. Enable Text Display as the source field. Click Export. WinCC writes an .xlsx file containing every text key and its current translation state.
  4. Open the file in Microsoft Excel. Sort by status. The column Translated is No for every key whose target cell is empty. Fill in the Russian string and set Translated to Yes.
  5. Save the file and re-import it via Manage Multilingual Texts → Import. WinCC validates each row and reports rows that failed validation.
  6. Recompile the OS and activate runtime.

For the standard faceplate blocks, the Russian strings delivered with the Russian Localization for PCS 7 package already populate the @PG_MotL_Standard, @PG_VlvL_Standard and @PG_VlvAnL_Standard keys, so the re-import step will succeed with the package content as-is.

8. Solution D — Escalate via Siemens Support Request

If the language pack and the online faceplate update are both installed, the project text library is correct, and the runtime still shows ??? in Russian (while German and French are correct), the defect is most likely in a binary resource inside the WinCC installation. Open a Siemens Support Request with the following evidence:

  • Installed software: PCS 7 V9.1, WinCC V7.5 SP2 Update 4, PCS 7 Basis Faceplates V9.1 SP2 Update 1 (Online), Russian Localization for PCS 7 version X.Y.Z.
  • WinCC diagnostic log captured during the fault.
  • Project text library export for the affected faceplate keys.
  • Screenshot of the runtime showing ??? in Russian and the correct text in German/French.
  • OS server msinfo32 report for OS version, language pack version, and regional settings.

Siemens support will typically deliver a hotfix DLL or a corrective installation package. Apply the hotfix on a test OS first, then promote to production following the change-management procedure of the plant.

9. Verification Procedure

After applying any of the solutions above, run the following verification to confirm that the ??? substitution is gone.

  1. Activate OS runtime. Open a process picture that contains at least one motor block, one valve block (motor-operated and analog), and one analog/PID block.
  2. Open each faceplate in turn. Confirm the captions and status text show the configured English (or German/French) source language.
  3. Switch the runtime language to Russian via the user menu. The OS does not need to be restarted; the change is applied to active faceplates on the next redraw.
  4. Open each faceplate again. Verify that the body of the faceplate shows Russian text, that the text does not flash and collapse, and that it persists for at least 10 minutes without reverting to ???.
  5. Switch back to English, then to German, then to French, then to Russian, repeating step 4 for each cycle. A consistent reappearance of ??? on the second switch to Russian indicates a cache invalidation issue, not a missing language resource; in that case, capture the WinCC diagnostic log and reopen the support request.
  6. Cycle a faceplate through the operator actions: start, stop, setpoint change, mode change. The Russian labels must remain readable throughout.

10. Related Observations and Edge Cases

10.1 Language switch from OS Server Configuration

If the OS server uses a regional setting that does not include Russian (Cyrillic) code page, the Windows code-page conversion at the GDI layer will replace unrecognized characters with question marks. This is a different defect from the ??? substitution described in this article. Verify that the OS regional settings include Russian (Russia) under Region → Administrative → Language for non-Unicode programs.

10.2 SFC and SFC visualization faceplates

SFC visualization faceplates use a different text resource set, delivered with the SFC Visualization component. The Russian Localization for PCS 7 package includes SFC translations, but a custom SFC chart that uses user-defined text must still be translated via the Text Distributor.

10.3 Operator permissions

Some faceplate elements (for example the “Maintenance” release button) are gated by operator permission levels. The button label is read from the language resource; the permission text is read from the User Administrator. If the button label is correctly translated but the button is greyed out, the problem is permission, not translation.

10.4 Multiple OS servers in a redundant pair

When the OS is configured as a redundant server pair, both servers must carry the same WinCC installation and the same faceplate language resources. A redundant failover to a server that is missing the Russian RUS resource tree will reproduce the ??? symptom on the standby client while the previously-active server still works. Validate the standby by triggering a manual failover.

11. Preventive Best Practices

  • Always install the Russian Localization for PCS 7 before starting faceplate customizations. Custom faceplates should be re-compiled after the language pack is installed so that the resource lookup table picks up the Russian language ID.
  • Maintain a baseline image of the OS that includes the PCS 7 version, the WinCC version, the Basis Faceplates version, and the language packs. Clone this image to all OS servers and clients to avoid drift between them.
  • When applying a WinCC Update or Update Pack, verify the Faceplates\<BlockType>\<Language> directory count and timestamps on every OS before reactivating runtime.
  • Keep a current export of the project text library under version control. A weekly export diff catches accidental loss of translated strings during bulk editing.
  • After any Update or migration, run a 30-minute runtime test in each configured language on a test OS before promoting the change to production.

12. Reference Documentation

The following Siemens Industry Online Support documents are the primary references for the procedure described above. The PCS 7 OS Process Control (V9.1 SP2) manual documents the operator workflow and the language toggle procedure. The PCS 7 Basis Faceplates V9.1 SP2 Update 1 (Online) Readme documents the faceplate text resource revisions and the installable package content.

FAQ

Why do some Russian faceplate texts show correctly for a moment and then revert to "???"?

The Graphics Runtime resolves the faceplate text twice: once from the project text library and once from the block-type language DLL. The project layer answers first, then the block-type layer re-queries. If the Russian language is not registered in the WinCC runtime language pack or in the installed faceplate resource DLL, the second query substitutes the three-character placeholder ???. Install the Russian Localization for PCS 7 and the PCS 7 Basis Faceplates V9.1 SP2 Update 1 (Online) update to register the language at both layers.

Does the Russian Localization for PCS 7 cost anything?

No. The package is a free download from the Siemens Industry Online Support portal. It adds Russian to the OS runtime languages, supplies pre-translated system pictures, faceplate captions, and OS messages, and does not require an additional license key on the engineering station or on the OS servers.

Can I translate the missing strings myself with the Text Distributor?

Yes, for project-level texts (operator messages, picture names, custom faceplate captions). The Manage Multilingual Texts → Export workflow writes an .xlsx file that you can fill in with the Russian target text and re-import. The standard @PG_MotL, @PG_VlvL and @PG_VlvAnL entries are pre-translated by the localization package, so manual editing is only required for project-specific blocks.

Why do German and French work correctly while Russian shows "???"?

German and French are part of the standard WinCC V7.5 multilingual pack delivered with the base PCS 7 install. Russian is an optional add-on. If the Russian localization has not been installed, or if a WinCC Update has overwritten the language registration without re-installing the localization, the Russian LCID (0x0419) is not registered and the runtime substitutes ??? for every text that requires Russian resources.

What information should I include in a Siemens Support Request for this defect?

Capture the installed versions of PCS 7, WinCC, the Basis Faceplates online update, and the Russian Localization package. Attach the WinCC diagnostic log from C:\ProgramData\Siemens\Automation\WinCC\Diagnostics, a screenshot of the faceplate showing ??? in Russian and the correct text in German or French, and a project text library export covering the affected faceplate keys. Siemens will then issue a hotfix or corrective installation package.

Back to blog