Dienstag, 3. September 2013

WinCC 7.2 und Mehrsprachigkeit

Die neue Version 7.2 von WinCC bietet jetzt auch Unicode-Unterstützung an. Vorteil der Unicode-Unterstützung ist, dass damit an vielen Stellen auch nicht-lateinische Zeichen verwendet werden können. Siemens selbst sagt dazu:

Unicode für weltweiten Einsatz

Der weltweite Einsatz von SIMATIC WinCC wird durch die UNICODE Unterstützung erheblich vereinfacht. Mit UNICODE ist die Umschaltung auf eine individuelle Sprache jederzeit möglich, sowohl beim Engineering als auch zur Laufzeit. Unabhängig von der Sprache des WinCC Servers und von der im Betriebssystem aktivierten Sprache.
http://www.automation.siemens.com/mcms/human-machine-interface/de/visualisierungssoftware/scada-wincc/simatic-wincc/wincc-news/seiten/produktankuendigung-wincc-v7-2.aspx#

Und in der Tat, vereinfacht die Unicode-Unterstützung die Sprachumschaltung an einigen Stellen, die in der Vergangenheit immer geschmerzt haben.

Textexport mit dem Textdistributor

Mit dem Textdistributor in WinCC 7.2 können beliebige Sprachkombinationen exportiert werden. So kann jetzt Deutsch wieder zusammen mit Chinesisch und Russisch exportiert werden. Das ist ein großer Fortschritt gegenüber Version 7.0. In Version 7.0 war immer nur Englisch zusammen mit Sprachen aus einer Codepage möglich.

WinCC 7.2: Chinesisch, Deutsch, Englisch, Französisch und Russisch gemeinsam ex-/ und importieren

Mehrsprachigkeit in einem Bild

Durch die Unicode Kodierung der Texte können in den Bildern jetzt alle Zeichen gleichzeitig dargestellt werden. In älteren Versionen von WinCC waren jeweils nur die Zeichen einer Sprachregion (Codepage) möglich. Jetzt können so z.B. die Texte für Deutsch, Chinesisch, Russisch und Tschechisch gleichzeitg angezeigt werden.
Deutsch, Chinesisch, Russisch und Tschechisch
können gleichzeitig angezeigt werden

Nach besser wird es bei den Alarmmeldungen. Mit dem AxAlarmControl können jetzt verschiedene Sprachen zur gleichen Zeit angezeigt werden. Bei der Inbetriebnahme einer Anlage im Ausland ist dies ein tolles Feature. Kunde und Inbetriebnehmer verstehen die Meldung dann jeweils in der eigenen Sprache.
Alarmmeldung in Russisch, Deutsch und Englisch

Bild- und Tagnamen in beliebiger Sprache

Die Bezeichnung der Bildnamen kann in jeder Sprache erfolgen. Dies ist auf den ersten Blick nett, übertreiben sollte man es damit aber nicht, da chinesische Namen für die Meisten von uns zur schlecht les- und merkbar sind.
WinCC 7.2: Bildbezeichnungen mit lateinischen, russischen und chinesischen Zeichen
Die jetzt in Unicode kodierten Bildnamen sind an vielen Stellen nutzbar. So kann ein Bild mit chinesischem Bildnamen durch eine Direktverbindung oder VBS (Visual Basic Script) geöffnet werden.

Kein Unicode in C-Scripten

Das Verwenden von Unicode-Zeichen in C-Scripten funktioniert leider nicht. Die Unicode-Zeichen können in den C-Scripten zwar eingegeben und gespeichert werden, aber im C-Compiler werden die Zeichen in der einzustellenden Codepage kodiert. Es erfolgt bei der Kompilierung der C-Scripte eine Konvertierung der Unicode-Zeichen in die eingestellte Codepage. Die Einstellung der Sprache erfolgt im C-Editor, siehe gelbe Markierung im folgenden Screenshot.
Sprache des C-Scriptes muss im C-Editor eingestellt werden

Test: Auf einem deutschen Windows mit WinCC 7.2 Update 2 können Bilder mit russischen oder chinesischen Bildnamen durch ein C-Script nicht geöffnet werden, wenn die Sprache des C-Scriptes auf Deutsch steht. Eigentlich sollte der folgende Befehl OpenPicture("загрузки.pdl");  das Bild "загрузки.pdl" öffnen. Das funktioniert aber nicht. Versuche zeigen, wenn der Bildname einen Codepoint größer als 127 enthält, kommt das C-Script damit nicht zurecht. Auch wenn das Windowssystem auf Russisch eingestellt wird, lässt sich das Fenster auf die Art nicht öffnen. Es ist notwendig die Sprache des C-Scriptes auf die Sprache der Bildnamen oder Variablennamen einzustellen. Damit sind die C-Scripte sprachabhänging.
Siemens sagt in der Hilfe dazu: "Verwenden Sie in sprachunabhängigen WinCC-Elementen keine nationalen Sonderzeichen oder asiatische Schriftzeichen. Diese Zeichen sind nach einer Sprachumschaltung nicht mehr lesbar bzw. verhindern den korrekten Ablauf von WinCC."

In der Hilfe findet sich auch der folgende Abschnitt:
Sobald also der C-Compiler ins Spiel kommt, ist die Zeichenkodierung mit Unicode nicht mehr gegeben. Insbesondere bei Projektierungen, die Chinesisch und Russisch enthalten, wäre der Ablauf der Programme von der Sprache abhängig. Daraus folgt, dass entweder die Variablen und Bildnamen kein Unicode enthalten dürfen oder aber keine C-Scripte verwendet werden dürfen.

Empfehlung: In den Bild- und Tagnamen nur Zeichen bis zum Codepoint 127 benutzen, also kein  Russisch oder Chinesisch.