Dienstag, 24. Juli 2018

WinCC MessageBox durch Windows MessageBoxExW ersetzen

Im WinCC ODK gibt es eine Funktion zum Aufruf der Windows MessageBox. Diese WinCC Funktion ruft die Windows API Funktion MessageBoxA (der letzte Buchstabe ist wichtig) auf. Solange die Texte in der aktuellen System Codepage ausgegeben werden sollen, funktioniert alles korrekt. Wenn aber die Texte mit der aktuelle System Codepage nicht dargestellt werden können, ist die Anzeige falsch.


Chinesische Mehrbytekodierung auf einem deutschen Windows System


Was tun?


WinCC ist ab Version 7.2 weitgehend auf Unicode umgestellt, nur die C Scripte können kein Unicode. Idee: Wenn die Windows API Funktion MessageBox für Unicode aufgerufen wird und vorher die Texte nach Unicode konvertiert wurden, sollte die Anzeige gelingen.

Gesagt, getan!


Alle Texte, die in den C Scripten ankommen, werden von WinCC in die Mehrbytekodierung der eingestellten Codepage konvertiert, also müssen diese wieder nach Unicode konvertiert werden. Die Windows API Funktion MultiByteToWideChar erledigt dies, wenn die richtigen Parameter verwendet werden. Die Codepage für das C Script sollte auf "Dynamisch" stehen. Es muss weiterhin daran gedacht werden, beide Texte, also Caption und Text zu konvertieren. Anschließend zeigt die MessageBoxExW den Text korrekt an.

Chinesischer Text in Messagebox, nur auf den Buttons stehen noch deutsche Beschriftungen

Die Texte der Kopfzeile und der Anzeigetext sind jetzt Chinesisch, aber die Buttons zeigen noch die deutsche Beschriftung. Die Texte der Buttons stammen vom Windows Betriebssystem. Wenn in Windows auch die Chinesische Sprache als Anzeigesprache (Display language) installiert ist, werden auch die korrekten Beschriftungen der Buttons angezeigt. Dies wird gesteuert über den letzten Parameter der API Funktion MessageBoxExW.  Diese lässt als letzten Parameter die LocalID als Sprache für die Buttons zu. Chinesisch muss nicht als Display language ausgewählt sein.

Chinesischer Text in Messagebox mit chinesischen Buttons

Chinesisch als Display language installiert


Deutscher Text in Messagebox

Code Beispiel


Der folgende Code kann als Global C Script in WinCC hinzugefügt werden. Dann kann an allen Stellen, an denen MessageBox auf gerufen wird, der Aufruf durch MessageBoxLocale ersetzt werden. Wichtig ist, dass die Codepage der C Scripte auf "Dynamisch" gestellt ist.

int MessageBoxLocale(HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType)
{

#pragma code ("kernel32.dll")
#define CP_ACP 0
int MultiByteToWideChar(UINT CodePage, DWORD dwFlags, LPCSTR
lpMultiByteStr, int cbMultiByte, LPWSTR lpWideCharStr, int
cchWideChar);
#pragma code()


#pragma code ("User32.dll")
int MessageBoxExW(
  HWND    hWnd,
  LPCWSTR lpText,
  LPCWSTR lpCaption,
  UINT    uType,
  WORD    wLanguageId
);
#pragma code()


static short int lpWideCharStrHeader[300];
static short int lpWideCharStrText[300];
int sizeInChars;
int ret;
int result = 0;

UINT LocalID = GetLanguage();
// Western Europe
UINT uCodepage = 1252;

// Japanese
if (LocalID == 0x411) {
      uCodepage = 932; 
      }
// Chinese
if (LocalID == 0x0804) {
      uCodepage = 936;
      }

ret = MultiByteToWideChar(uCodepage,(DWORD)0, lpCaption,-1, (LPWSTR)lpWideCharStrHeader,300);

ret = MultiByteToWideChar(uCodepage,(DWORD)0, lpText,-1, (LPWSTR)lpWideCharStrText,300);

result = MessageBoxExW(hWnd,(LPWSTR)lpWideCharStrText,(LPWSTR)lpWideCharStrHeader, uType, (WORD)LocalID);

return result;
}

Donnerstag, 19. Juli 2018

Fallstricke mit Nicht-Unicode-Kodierungen in WinCC C Scripte

Die Zeichenkodierung in WinCC C Scripte wurde im vorhergehenden Post beschreiben.

Was ist der Unterschied zu einer durchgehenden Unicode Zeichenkodierung?

Bei einer sprachspezifischen Zeichenkodierung können keine Texte mit anderen Zeichenkodierungen durch C Scripte verarbeitet werden. Wenn z.B. aus einer Datei mit kyrillischen Texten bei deutscher Zeichenkodierung Texte geladen werden sollen, so geht dies nicht.


Warum nicht immer alle C Scripte auf Dynamic einstellen?

Das ist häufig für die Mehrzahl der Bilder korrekt. Wenn aber Teile der Visualisierung, bspw. die Bilder für den Inbetriebnehmer auf Deutsch bleiben sollen, so ist bei diesen bilderspezifischen C Scripten die Sprache direkt auf Deutsch einzustellen, falls C Scripte vorhanden sind und Texte verarbeiten.


Warum zeigt die WinCC MessageBox kein Chinesisch?

Aufruf von Windows eigenen Dialogen wie MessageBox und Anzeigen von Texte mit Codepage Kodierung (Chinesisch) ist fehlerhaft, da die Windowsdialoge keine Zeichen aus der Mehrbytekodierung korrekt anzeigen können. Ein folgender Post zeigt eine mögliche Lösung.


Wie funktioniert die Zeichenkodierung bei VB Scripten?

In Visual Basic Script (VBS) werden die Zeichen mit Unicode kodiert, hier können die Texte ohne Konvertierung verarbeitet werden.

Dienstag, 17. Juli 2018

WinCC 7.4, C-Scripte und Mehrbytezeichenkodierung

WinCC unterstützt ab Version 7.2 Unicode für die Zeichenkodierung, eine Ausnahme bilden allerdings die C Scripte. Der Compiler/Interpreter für C Scripte verarbeitet nur sprachspezifische Zeichenkodierungen und konvertiert die Unicode-Zeichen vor der Verarbeitung in diese. Die konkrete sprachspezifische Zeichenkodierung kann für jedes C Script eingestellt werden.


Umfang von Zeichenkodierungen

Unicode speichert für jedes Zeichen eine eigene Nummer, den so genannten Codepoint. So können mit der Unicode Zeichenkodierung gleichzeitig chinesische und japanische Zeichen, wie auch russische und deutsche Zeichen gespeichert werden. Alle Zeichen werden durch eine eindeutige Zahl repräsentiert.


Sprachspezifische Zeichenkodierung

Bei den sprachspezifischen Zeichenkodierungen werden im Gegensatz zu Unicode immer nur die Zeichen einer Codepage kodiert. So enthält die russische Zeichenkodierung neben den kyrillischen Zeichen nur die ASCII Zeichen, ansonsten keine weiteren Zeichen. Mit der russischen Zeichenkodierung können damit keine deutschen Umlaute kodiert werden. Die sprachspezifischen Zeichenkodierungen enthalten damit immer nur eine Untermenge der Zeichen.

Wichtig: Da in einer sprachspezifischen Zeichenkodierung nicht alle Zeichen der Unicode Zeichenkodierung kodiert werden können, werden Zeichen ggfs. bei der Konvertierung durch ähnliche Zeichen oder Fragezeichen ersetzt.


Mit welchen Mechanismen versucht WinCC jetzt dem Informationsverlust entgegen zuwirken?

Die sprachspezifische Zeichenkodierung kann für jedes Script explizit auf eine Sprache oder die Einstellung "Dynamic: Project setting" gesetzt werden. Und bei den WinCC Project Properties kann die Einstellung "C script with language setting 'Dynamic' in Runtime" auf eine konkrete Sprache oder eine der Einstellungen "Operating system language for non-Unicode programs" und "Respective set WinCC Runtime language" gesetzt werden.

Einstellung der Codepage für das C script

WinCC Projekteinstellung


Im Fall, dass die gesamte WinCC Visualisierung auf eine Sprache umgeschaltet wird, ist die Einstellung "Respective set WinCC Runtime language" korrekt. Jetzt richtet sich die Sprache der C Scripte nach der Runtime language.

Donnerstag, 3. Mai 2018

Der DCC Translation Editor bietet eine Schnittstelle zu DeepL, dem neuen Stern am Himmel der maschinellen Übersetzung

Der DCC Translation Editor bietet seit langer Zeit eine Schnittstelle zur Einbindung von webbasierten maschinellen Übersetzungsdiensten. Über diese Schnittstelle kann jetzt auch DeepL eingebunden werden. In der Vergangenheit wurden als Übersetzungsdienste bereits Google Translate und der Microsoft Translator berücksichtigt.

DeepL wurde von einem deutschen Unternehmen entwickelt und steht im Ruf besonders gute Übersetzungen zu liefern. Bei allen maschinellen Übersetzungen sollte berücksichtigt werden, dass die Dienste für Fliesstext entwickelt wurden und bei nicht vollständigen Sätzen bzw. Fragmenten ihre Probleme haben, siehe auch https://de.wikipedia.org/wiki/Maschinelle_%C3%9Cbersetzung.

Die neue Funktion befindet sich bei DCC aktuell im Betatest und wird mit dem nächsten Release des DCC Translation Editors für alle Nutzer verfügbar sein.

Im unteren Fenster AutoTranslation sind die drei Übersetzungen der verschiedenen Dienste zu sehen.
Für die Nutzung von Google Translate und DeepL sind Registierungen auf Seite der Dienstanbieter notwendig, beide Dienste sind kostenpflichtig.

Die Registrierung bei DeepL bzw Google Translate kann unter den folgenden Urls gestartet werden.

Weitere Links zu DeepL bzw maschinelle Übersetzung:

Mittwoch, 14. März 2018

DCC Translation Editor kann die Projekttexte von TIA V15 lesen und schreiben.

Der DCC Translation Editor in der Version 4.3 kann die Exporte der Projekttexte von TIA V15 lesen und schreiben. Eine aktuelle Version von DCC Translation Editor können Sie unter der folgenden Url herunterladen: http://download.translation-editor.com/download/SetupTE_4.3.17215.4389.zip

DCC Translation Editor verarbeitet TIA V15 Projekttexte


Weitere Infos zum DCC Translation Editor: https://www.dcc-global.com/produkte.html

Weiteres zum DCC Translation Editor in diesem Blog: https://sw-i18n.blogspot.de/search/label/DCC%20Translation%20Editor

Freitag, 17. März 2017

Noto - ein guter Font für die Welt!

Internationale Unternehmen stehen vor der Herausforderung ihre Produkte für alle Weltsprachen zu übersetzen. Andererseits soll das Produkt in allen Sprachen möglichst "gleich" aussehen, d.h. die Schriftzeichen sollen gleich groß sein und auf der gleichen Line stehen.

Google ließ dafür mit großen Aufwand in den vergangenen Jahren den Font Noto entwickeln. Noto ist laut Eigenwerbung von Google "Beautiful and free fonts for all languages", https://www.google.com/get/noto/ Noto wird von Google in den neuen Versionen von Android verwendet, gleichzeitig stellt Google den Zeichensatz für alle zur freien Verwendung bereit.

Noto - was für ein Name ...

Der Name Noto entstammt von "no more tofu", mit tofu sind die kleinen Rechtecke bei nicht vorhandenen Zeichen gemeint.

In der Vergangenheit gab es nur wenige "umfangreiche" Fonts, die viele Zeichen aus verschiedenen Kulturen enthalten, einer davon war Arial Unicode MS von Microsoft. Mit Noto gibt es jetzt einen umfangreicheren und besser angepassten Zeichensatz für eine einheitliche Schrift.

Da der nicht asiatische Teil des Zeichensatzes Noto unter der "Apache License" veröffentlicht wird, kann er frei in allen Projekten verwendet werden und der Sourcecode steht auch zur freien Verfügung. https://github.com/googlei18n/noto-source

Weiterführende Links:
http://www.monotype.com/de/materialien/fallstudien/eine-schrift-spricht-mehr-als-800-sprachen-so-entstand-noto-fuer-google/
https://www.heise.de/ct/ausgabe/2017-5-Google-Noto-Eine-Schriftfamilie-fuer-alle-Sprachen-3622219.html
https://de.wikipedia.org/wiki/Noto_Fonts

Montag, 2. Mai 2016

DCC Translation Editor unterstützt WinCC v7.4 vollständig

WinCC in der Version 7.4 überstützt jetzt auch Windows 10 und hat dafür eine Freigabe erhalten. Auch sind alle bisherigen Updates von WinCC 7.3 in WinCC 7.4 eingeflossen. Siemens hat die Änderungen auf dieser Seite zusammengefasst: https://support.industry.siemens.com/cs/document/109483726/lieferfreigabe-simatic-wincc-v7-4?dti=0&lc=de-WW
WinCC v7.4

Das Exportformat des Text Distributors ist unverändert, so dass der Translation Editor auch WinCC v7.4 vollständig unterstützt.

Mittwoch, 8. Juli 2015

Warum es keine gute Idee ist, sprachabhängige Texte im WinCC User Archive zu speichern

Das WinCC User Archive ist ein Datenbanksystem, das vom Benutzer projektiert werden kann. Der Benutzer kann also die Spalten und die Eigenschaften (Typ, Größe, …) der Spalten selbst definieren.

Der Inhalt des User Archive kann dann als csv-Datei ex- und importiert werden, Texte stehen dabei immer in Anführungsstrichen.

Weiteres zum User Archive ist bei Siemens beschrieben.

Für eine Sprachumschaltung ist seitens des User Archive kein Mechanismus vorgesehen. Eine Möglichkeit ist eine LanguageID als Spalte hinzufügen und in dieser die Sprache des Textes abzulegen. Eine ID und die LanguageID bilden dann den eindeutigen Primärschlüssel einer Zeile, um einen Text aus dem User Archive durch ID, LanguageID und den Spaltennamen auslesen zu können. Ein Überblick, ob die Texte in allen relevanten Sprachen vorliegen, ist ohne geeignete Tools schwierig bis unmöglich.

Alternativ können die verschiedenen Sprachen im User Archive in unterschiedlichen Spalten mit einer gemeinsamen ID abgelegt werden. Die Struktur ist dann sehr ähnlich der Text Library.

Die Freiheit bei der Definition des User Archive ist gleichzeitig die große Schwäche, wenn es um Sprachumschaltungen geht. Da es keine vorgegebenen Mechanismen im User Archive für die Realisierung einer Sprachumschaltung gibt, ist bei jedem Projekt eine individuelle Analyse notwendig, was den Aufwand nach oben treibt.

Wesentlich besser geeignet für sprachabhängige Texte ist die Text Library. Hier stehen die Texte aus verschiedenen Sprachen nebeneinander, für den Ex- und Import gibt es wohl definierte Schnittstellen und die Struktur ist für alle Projekte identisch.

Donnerstag, 28. Mai 2015

Eine Schaltfläche (Button) für die Sprachumschaltung

Visualisierungen, die nur mit einer Sprache projektiert sind, benötigen für die Sprachumschaltung häufig ein Interaktionselement, um die Sprache umschalten. Bei Touch Bedienkonzepten können dies eine oder mehrere Schaltflächen im Bereich der Systemverwaltung sein.

Mit einer Schaltfläche wird zwischen den Sprachen gewechselt, d.h. jeder Tastendruck wechselt zur nächsten Sprache.

Alternativ kann für jede Sprache eine eigene Schaltfläche angelegt werden. Damit kann jede Sprache direkt ausgewählt werden. Wenn viele Sprache vorhanden sind, steigt der Platzbedarf und es wird schnell unübersichtlich.

Ich möchte mich im folgenden nur mit einer Schaltfläche für die Sprachumschaltung beschäftigen, die jeweils zur nächsten Sprache umschaltet. Wenn alle Sprachen durchgeschaltet wurden, wird wieder von vorne begonnen. Auf der Schaltfläche soll dabei immer eine Flagge für das Land der folgenden Sprache angezeigt werden.

Obwohl das Konzept der Darstellung von Sprachen durch Flaggen immer problematisch ist (bspw. Englisch: Flagge USA und/oder Großbritannien?) und Flaggen bei monochromen Bildschirmen oft nicht unterscheidbar sind, haben sich Flaggen als pragmatisches Konzept zur Sprachunterscheidung etabliert.

Also weiter, es soll eine Schaltfläche für die Umschaltung zwischen den Sprachen „Deutsch“,„Englisch“,„Italienisch“ und „Russisch“ projektiert werden. Wenn die aktuelle Sprache „Deutsch“ ist, soll auf der Schaltfläche die englische (Großbritannien) Flagge gezeigt werden. Damit ergibt sich die folgenden Auflistung:

  • Deutsch: Englische (Großbritannien) Flagge
  • Englisch: Italienische Flagge
  • Italienisch: Russische Flagge
  • Russisch: Deutsche Flagge


Für eine Demo nehme ich TIA V13, es funktioniert in anderen Versionen aber ähnlich.

Ich gehe davon aus, dass in der Projektierung bereits die Sprachen angelegt sind, ansonsten können diese unter Sprachen & Ressourcen, Projektsprachen angelegt werden.

In einem beliebigem Bild, hier „Systemverwaltung“ lege ich eine neue Schaltfläche an. Das Verhältnis der Breite zur Höhe der Schaltfläche sollte zu dem vorhandenen Layout passen. Wenn das Verhältnis frei gewählt werden kann, ist 3:2 optimal, die Flaggen sind in diesem Verhältnis angelegt.
Schaltfläche hinzugefügt


Bei den Eigenschaften der Schaltfläche wird als Modus Grafik und für die Eigenschaft Grafik wird Grafik ausgewählt, siehe auch folgendes Bild.
Eigenschaften Modus: Grafik und Grafik: Grafik


Dann müssen die Flaggen hinzugefügt werden. Die Grafiken für die Flaggen sind im TIA Portal enthalten, müssen nach der Installation aber noch aus einer zip-Datei entpackt werden. Das Flaggenverzeichnis lautet:
C:\Program Files (x86)\Siemens\Automation\Portal V13\lib\Graphics\Basic symbols\Flags\

Für die Flaggen wird unter Sprachen & Ressourcen in die Grafiksammlung gewechselt und auf Hinzufügen geklickt. Im Explorer wird in das Flaggenverzeichnis ausgewählt und die Flagge von Großbritannien hinzugefügt. Da die erste Flagge gleichzeitig die Standardflagge ist, erscheint sie für alle Sprachen. Für die weiteren Sprachen kann mit dem Kontextmenü Ersetze mit Grafik die richtige Flagge ausgewählt werden. Da in einer Sprache die Flagge der nächsten Sprache angezeigt werden soll, ist bei Deutsch die Flagge von Großbritannien, bei Englisch die Flagge von Italien, usw… auszuwählen. Der Eintrag in der Grafiksammlung bekommt noch einen sprechenden Namen, bspw. FlagForLanguage.
"Ersetze Grafik"

So sollte die Grafik für die Sprachen aussehen!


Jetzt geht es wieder zurück zur Schaltfläche, um die Grafik zu verbinden. Im Eigenschaftenfenster wird für Grafik, wenn Schaltfläche nicht gedrückt die gerade angelegte Grafik FlagForLanguage ausgewählt. Unter Ereignisse, Klicken kann unter Funktion hinzufügen die Funktion SetzeSprache mit der Eigenschaft Umschalten ausgewählt werden.
Grafik mit Schaltfläche verbinden
Funktion für Schaltfläche hinzufügen


Das war es schon, in der Simulation kann das Ergebnis gleich begutachtet werden. Falls nicht alle Sprachen verfügbar sind, müssen unter den Runtime-Einstellungen des Panels die Sprachen aktiviert werden. Auch kann hier die Reihenfolge der Sprachen festgelegt werden.
Sprachen für Panel aktivieren und Reihenfolge festlegen


Montag, 2. März 2015

WinCC: Liste mit Bildnamen erstellen

Bei der Bearbeitung von Projektierungen ist manchmal die Liste der vorhandenen Bilder interessant. Anhand der Liste können dann Bilder markiert werden, die z.B. weiter bearbeitet werden sollen.

Für Simatic WinCC kann eine Liste mit vorhandenen Bildern am schnellsten mit dem DOS-Befehl dir erstellt werden. Die Textdatei kann dann mit jeder Tabellenkakulation, wie Excel oder OpenCalc weiter bearbeitet werden.

Vorgehen:
  1. In Windows eine Commandshell (Befehlszeile) öffnen 
  2. Mit cd in das Bildverzeichnis (GraCS) des Projektes wechseln 
  3. Mit dir /B *.pdl > c:\temp\pdl-list.txt eine Textdatei mit den Namen der pdl-Dateien erzeugen. Der Schalter /B erzeugt eine einfache Liste, Kopf, Fuß und Dateigrößen werden nicht aufgelistet. 
  4. Die Datei pdl-list.txt mit einer Tabellenkalkulation öffnen und weiterbearbeiten. 
Mit diesem Vorgehen müssen die Dateinamen nicht mühsam abgeschrieben werden, sondern stehen im Handumdrehen in einer List, die mit jeder Textbearbeitung oder Tabellenkalkulation weiterbearbeitet werden kann.

Die folgenden Bilder zeigen den Ablauf:

Commandshell öffnen


In das Bildverzeichnis der Projektierung wechseln

Alle *.pdl-Dateien in eine Datei schreiben


Inhalt der pdl-list.txt-Datei in Excel

Mittwoch, 7. Mai 2014

Texte in WinCC C-Scripten

In Simatic WinCC werden in den C-Scripten oft Texte zur Anzeige verwendet. Wenn diese Texte auch sprachumgeschaltet werden sollen, sind längliche If-Abfragen das Ergebnis. Viel eleganter ist das Schreiben der Texte in die Text Library und die Verwendung einer Funktion zum Auslesen der Texte aus der Text Library mittels der TextID. Da die Text Library die Texte entsprechend der eingestellten Sprache zurückliefert, ist damit auch die Sprachumschaltung berücksichtigt.

Anwendung:

Das ursprüngliche C-Script mit einem festen Text lautete:
if(GetTagByte(TAG) & 0x1)
return "Fehler bei Schliessen";

Dies wird geändert in:
if(GetTagByte(TAG) & 0x1)
return GetTextTL(91940786);

(91940786 ist die ID in der Text Library) und der Text "Fehler bei Schliessen" wird für die verschiedenen Sprachen in die Text Library geschrieben. Ab jetzt wird der korrekte Text bei einer Sprachumschaltung angezeigt.

Die folgenden Bilder zeigen die Schritte nochmals.
Ursprüngliches C-Script

C-Funktion zum Lesen von Text aus der WinCC Text Library

Texteintrag in Win CC Text Library mit ID, Englisch und Deutsch

C-Script mit Aufruf der obigen C-Function zum Lesen des Textes aus der Text Library


Mittwoch, 29. Januar 2014

Terminologie und Translation Memory – Was ist das noch mal?

Terminologe und Translation Memory werden beide häufig verwechselt, die Begriffe klingen ähnlich und beide haben häufig mit Übersetzungen zu tun. Im Folgenden versuche ich ein wenig Klarheit in die Begriffe zu bringen.

Die Terminologie wird bei Wikipedia als die Menge aller Fachausdrücke (Termini) eines Fachgebiets beschrieben. Die Speicherung erfolgt in Terminologiedatenbanken. Für Übersetzungen bestehen die Einträge der Terminologiedatenbanken häufig aus einer Beschreibung oder Erläuterungen eines Begriffes und der Übersetzungen in die Zielsprache. Die Terminologiedatenbank dient der Einhaltung bei Terminologie bei der Texterstellung. Beispielsweise können damit auch ‚verbotene’ Begriffe der Konkurrenz vermieden werden.

Im Translation Memory werden die übersetzten Texte für die weitere Verwendung gespeichert, sei es beim gleichen Text oder bei späteren Übersetzungen. Bei der Erstellung der Übersetzung werden die Texte dann im Translation Memory gesucht und vorgeschlagen.

Das Bild zeigt wann Terminologie und Translation Memory verwendet werden


Bei der Suche im Translation Memory werden auch ähnliche Texte gefunden, wie das folgende Beispiel zeigt. Zum Text „Oberstempelanschlag unten“ werden im Translation Memory die folgenden ähnlichen Texte gefunden: „Sollwert Oberstempelanschlag unten“, „Oberstempelanschlag“, „Oberstempel unten“, „Sollposition des Oberstempelanschlages unten“, „Anschlagverstellung unten“, „Oberstempelanschlag unten motorisch weiter nach oben fahren“ und „Oberstempelanschlag oben motorisch weiter nach unten fahren“. Die Ähnlichkeit der Texte kann mit verschiedenen Verfahren ermittelt werden, eines ist die Levenshtein-Distanz. Die Levenshtein-Distanz zwischen zwei Zeichenketten ist die minimale Anzahl von Einfüge-, Lösch- und Ersetz-Operationen, um die erste Zeichenkette in die zweite umzuwandeln
Translation Memory zum Text "Oberstempelanschlag unten", die linke Spalte zeigt die Ähnlichkeit zum Ausgangstext als Prozentwert und mit hinterlegter Farbe (identische Texte sind grün, dann geht es von gelb nach rot absteigend)

Freitag, 15. November 2013

Fehler beim Textexport mit dem Text Distributor von WinCC 7 und WinCC 7.2

Für den Textexport aus WinCC 7 haben wir bei DCC global eigene VB-Scripte geschrieben, damit der Text in beliebigen Sprachen exportiert werden kann. WinCC 7.0 hat beim Im- und Export eine signifikante Einschränkung. Es können nur Sprachen aus dem gleichen Sprachraum und Englisch exportiert werden. Mit den DCC-eigenen Skripten existiert diese Beschränkung nicht. So exportieren wir mit unseren eigenen Skripten bei WinCC 7 beliebige Sprachkombinationen. Jetzt haben wir in WinCC 7.2 den Textexport mit dem Text Distributor wieder einmal verwendet und sind auf einen Fehler im Exportformat gestoßen, der auch in WinCC 7.0 enthalten ist.

Der Fehler tritt durch die fehlende Verdoppelung von Anführungszeichen beim Export auf. Texte werden in Anführungszeichen gestellt, wenn das Spaltentrennzeichen in dem Text vorhanden ist. Das Spaltentrennzeichen ist bei csv-Dateien das Semikolon ";" und bei txt-Dateien das Tabulatorzeichen (0x09). Mit diesem Wissen kann ein Text zusammengebaut werden, der beim Ex- und folgenden Import in WinCC zu Fehlern führt.


Beispiel für den Export in csv-Dateien

In einem Static Text-Objekt wird der folgende Text geschrieben:
Text1";"Text2
Es beginnt mit einem beliebigem Text, dann folgt die Kombination Anführungszeichen, Semikolon, Anführungszeichen und dann wieder ein beliebiger Text.

Beim Export mittels des Text Distributors wird aus dem obigen Text dann
"Test1";"Text2"
Die äußeren Anführungszeichen sind durch den Export ergänzt worden. In einer csv-Datei sind aus dem einen Text damit zwei Spalten, getrennt durch das Semikolon geworden.


Beispiel für den Export in txt-Dateien

Für eine txt-Datei wird ein ganz ähnlicher Text, wie bei einer csv-Datei zusammengebaut. Als Spaltentrennzeichen fungiert bei txt-Dateien das Tabulatorzeichen. Das Tabulatorzeichen (→) kann über die Tastatur mit <STRG><TAB> eingegeben werden. Der Text lautet:
Text1"→"Text2
Im WinCC Graphics Designer wird das Zeichen "→" nicht angezeigt, sondern nur ein Leerraum. Beim Export wird aus dem obigen Text
"Text1""Text2"
Wieder sind die äußeren Anführungszeichen durch den Export ergänzt worden. In der txt-Datei sind damit wieder zwei Spalten entstanden.


Welche WinCC Versionen sind betroffen?

Der Fehler tritt in allen WinCC 7.0 WinCC 7.2 Versionen auf.


Warum ist der Fehler kritisch?

Die exportierten csv- und txt-Dateien lassen sich mit WinCC 7.2 mittels Text Distributor nicht mehr importieren, es tritt ein Fehler auf. Die folgende Hardcopy zeigt den Fehler beim Import aus txt-Dateien.



Lösung

Für eine Lösung bei den txt-Dateien sind zwei unterschiedliche Vorgehensweisen denkbar:
a) Das Spaltentrennzeichen (<Tab>) wird wie ein Zeilenumbruch kodiert, z.B. mit {TAB} und Texte mit <Tab>-Zeichen werden nicht mehr mit Anführungsstrichen umgeben
Bsp.: Text1"{TAB}"Text2
oder b) die Anführungszeichen innerhalb von Texten werden verdoppelt, einfache Anführungszeichen sind dann Feldbegrenzer, wenn ein Spaltentrennzeichen oder Feldbegrenzer im Text vorkommt.
Bsp.: "Text1""→""Text2"

Für eine Lösung bei den csv-Dateien bietet sich das folgende Verfahren an: Die Anführungszeichen werden innerhalb von Texten verdoppelt. Der obige Text würde dann in der csv-Datei wie folgt geschrieben:
"Text1"";""Text2"

Für beide Lösungsansätze muss der Softwarehersteller, also Siemens aktiv werden.

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.


Donnerstag, 29. August 2013

Neue Version des DCC Translation Editor 4.2

Wir bei DCC global haben eine neue Version des DCC Translation Editor veröffentlicht. Der DCC Translation Editor ist ein Tool, welches spezialisiert ist auf das komfortable und effiziente Ändern und Pflegen von mehrsprachigen SIMATIC Projektierungen.

In der Version 4.2 sind neu:


  • Unterstützung des Dateiformates von TIA Portal V11SP2 und V12
  • Unterstützung des Dateiformates von WinCC 7.2
  • Vollständig neuer Import-/Exportfilter für xlsx-Dateien 
  • Kopieren von Text im rtf-Format vom DCC Translation Editor nach Word, OpenOffice Writer oder LibreOffice
  • Bugfixing 


Unterstützung neuer Dateiformate

In den neuen Versionen des TIA Portals wurde in den xlsx-Formaten intern einiges geändert. Dies erforderte Anpassungen in unserem xlsx-Reader/Writer. Wir haben uns nach interner Diskussion entschieden, den eigenen xlsx-Treiber zu entfernen und auf EPPlus http://www.codeplex.com/EPPlus zu setzen. Diese Bibliothek (LGPL) bietet tolle Funktionen und erfüllt ihre Aufgaben exzellent. Bei den Tests haben wir in der aktuellen Version 3.1.3 von EPPlus auch einen klitzekleinen Bug (https://epplus.codeplex.com/workitem/14849) gefunden, den wir korrigiert und an den Entwickler gemeldet haben. 

Bei TIA V12 ist jetzt auch das Office Open XML-Format (xlsx) näher an der Formatdefinition von Microsoft herangerückt. Der in den vorherigen Versionen fehlende Tag <fill><patternFill patternType=\"gray125\" /></fill> wurde von Siemens im Bereich \xl\styles.xml ergänzt.

In TIA V12 sind die Variablen jetzt mit Anführungsstrichen umgeben. In der xlsx-Datei steht die Variable in der folgenden Notation: "Konfiguration_DB_Ofen.Konf_X_min_Netzausfallzeit". In den vorherigen Versionen wurden die Variablen nicht mit Anführungsstrichen umschlossen. Die Version 4.2 des Translation Editors kann mit den Variablen in Anführungsstrichen umgehen.

Kopieren von Text im RTF-Format

Beim Kopieren von Text aus dem DCC Translation Editor in eine Textverarbeitung wird jetzt das rtf-Format für die Zwischenablage genutzt. Damit werden die Texte in Word, LibreOffice oder OpenOffice optisch wie im Translation Editor eingefügt.
Kopieren von Text nach Word, LibreOffice oder OpenOffice

Download 

Die neue Version kann unter der folgenden Url heruntergeladen werden: http://download.translation-editor.com/download/SetupTE_4.2.13241.3964.exe

Updates werden auch über den automatischen Updatemechanismus verteilt. Der Lizenzschlüssel bleibt weiterhin gültig.

Freitag, 16. August 2013

Ex- und Import ausgewählter Texte aus dem TIA-Portal

Im Simatic TIA Portal können die Projektierungen für verschiedene Geräte gemeinsam verwaltet werden. Damit werden auch die Texte für alle Geräte gemeinsam verwaltet. Wenn jetzt aber nur die Texte einiger Geräte übersetzt werden sollen, so geht dies auch, wenn auch das Vorgehen nicht ganz intuitiv ist.

Das Vorgehen ist wie folgt: Im Project tree wird der Knoten Languages & resources geöffnet. Dann mit Doppelklick den Editor für die Projekttexte Project texts öffnen (Bild 1). Im Project texts-Editor dann im Device filter die Geräte auswählen, deren Texte exportiert werden sollen (Bild 2). Anschließend müssen die Texte in der Liste markiert werden, am schnellsten mit STRG-A (Bild 3). Im folgenden Schritt neben dem Device filter auf der Icon für Export project texts klicken (Bild 4) und im Exportdialog die Zielsprache und das Exportverzeichnis auswählen (Bild 5). Mit dem Klick auf Export wird der Export gestartet.

Die Schritte sind in den folgenden Bildern dokumentiert.
Bild 1: Project texts öffen


Bild 2: Geräte auswählen

Bild 3: Texte markieren, STRG-A für alle Texte
Bild 4: Auf das Icon Export project texts klicken
Bild 5: Zielsprache und Exportverzeichnis auswählen und auf Export klicken

Mittwoch, 31. Juli 2013

Panel-PC ersetzt Bedienterminal und wird um Sprachumschaltung ergänzt

Über eine, wie ich finde, interessante Idee berichten die VDMA-Nachrichten in ihrer aktuellen Ausgabe (Juli 2013, S. 73). Ein Panel-PC ersetzt ein Bedienterminal, wobei der Panel-PC die an Hard- und Softwareschnittstellen der Maschine angepasst wird. Bei einem solchem Retrofit kann dann auch eine Sprachumschaltung ergänzt werden, die mit dem alten Bedienterminal nicht möglich war.


Den gesamten Artikel als pdf-Datei können Sie hier herunterladen.

Donnerstag, 25. April 2013

Projektierungstechnik: Qualitätsgesicherte Sprachumschaltung

In dem letzten Post habe ich mich mit dem Übersetzungsmanagement beim Erstellen einer qualitätsgesicherten Sprachumschaltung beschäftigt. Jetzt geht es mit der Projektierungstechnik weiter.


Unterschiedliches Vorgehen bei verschiedenen Visualisierungen

Das Erstellung einer Sprachumschaltung startet mit dem Export der Texte aus der Visualisierung und der Weiterverarbeitung in speziellen Übersetzungstools (CAT – Computer Aided Translation). Nach der Übersetzung erfolgt der Import in die Visualisierung und abschließend die Qualitätsprüfung durch Projektierungsingenieur und Muttersprachler.

Textexport

Die Qualität des Textexports oder anders gesagt, dass was exportiert wird, ist bei den verschiedenen Visus recht unterschiedlich. Mit eigenen Skripten lassen sich hier bei einigen Visualisierungen mehr Informationen exportieren als mit den Standardmethoden. So exportieren wir mit unseren eigenen Skripten bei WinCC 7 beliebige Sprachkombinationen. Mit dem Text Distributor geht dies nicht. Hier sind immer nur Sprachen einer Sprachgruppe sowie Englisch exportierbar. Bei WinCC 6.2 exportieren unsere eigenen Skripte auch die Texte und weitere Attribute von UDOs. Dies geht mit den Standardexportmethoden ansonsten erst ab WinCC 7. Ein weiterer Vorteil ist die bessere Filtermöglichkeit der exportierten Texte in der folgenden Bearbeitung, da wir auch die Objektart, -namen, und die Fensternamen in denen die Texte vorkommen, exportieren.

Projektierungsanalyse

Nach dem Textexport folgt die Analyse von Skripten (C oder VB), Dynamiken und UDOs innerhalb der Visualisierung. Dazu exportieren wir, wenn möglich auch diese und arbeiten anhand des Exports die Objekte ab. So werden die Skripte gesichtet und Texte gefunden, für die eine Sprachumschaltung realisiert werden muss. Oftmals werden in C-Skripten Texte verwendet und diese Texte sollen auch von einer Sprachumschaltung erfasst werden. Eine Möglichkeit ist die Verwendung von Texten aus der Text Library und das Laden der Text per C-Skript. In dem Post „Sprachumschaltung für Texte in WinCC C-Skripten“ stehen die Einzelheiten.

Textimport

Wichtig vor dem Import ist eine „saubere“ Übersetzung, konsistent und ohne Fehler. Im vorherigen Beitrag habe ich beschrieben, wie wir dies erreichen. Diese Übersetzung importieren wir jetzt in die Visualisierung, wenn möglich wieder mit den eigenen Skripten.

Am Beispiel von Texten in Dynamiken wird schnell die Bedeutung klar. Für einen Button ist die Beschriftung als Dynamik in Abhängigkeit vom Wert einer Variablen (Dynamischer Wertebereich) projektiert. Ist die Bitvariable gesetzt, soll „Auto“, ansonsten „Manuale“ auf dem Button stehen. Mit Easy Language ist der Text der Dynamik nicht zu importieren, mit dem DCC-Skript schon. Der Text wird also übersetzt und gespeichert. Nachteilig ist, dass der Text von dynamischen Wertebereichen nicht sprachumschaltbar ist, er bleibt also immer in der eingegebenen Sprache stehen. Unter dem Gesichtspunkt der Sprachumschaltung ist es hier vorteilhaft, die Wertebedingung in einem Skript (C oder VB) zu formulieren und die Texte aus der Text Library zu laden.

WinCC 6.2 mit festen Texten in der Dynamik

Besonderheiten

Texte in C oder VB Skripten müssen von Hand angepasst werden. Ebenso gibt es bei einigen Visualisierungen Probleme, wenn die Fensternamen Umlaute oder Sonderzeichen enthalten und die Systeme auf chinesischen oder russischen Windows-Systemen laufen. Bei System dieser Art hat es sich bewährt, die Fensternamen mit Umschreibungen (Ae, Oe, Ue, ss) anstatt Umlauten zu schreiben.

Überprüfung in Visualisierung

Die Überprüfung in der Visualisierung beginnt mit der Überprüfung alle Objekte nach Umstellung der neuen Sprache. Dazu werden alle Fenster der Visualisierung von einem Projektierungsingenieur und einem sprachkundigen Muttersprachler gemeinsam kontrolliert. Die Überprüfung erfolgt Text für Text. Überprüft werden dabei der Kontextbezug der Übersetzung und die Textlänge. Wenn Texte zu lang sind, kann der Muttersprachler die Texte sinnvoll abkürzen. Wo dies nicht möglich ist, aber noch Platz auf dem Bildschirm vorhanden ist, kann das Textobjekt gegebenenfalls vergrößert werden. Dieser Schritt wird immer in der Designumgebung (Graphics Designer bei WinCC) ausgeführt. Eventuell vorhandene Textlisten werden in diesem Schritt ebenso auf korrektem Kontextbezug und Textlänge überprüft.

Im folgenden Schritt wird die Visualisierung in der Simulationsumgebung gestartet. Dies ist bei einigen Projektierungen nicht möglich, beispielsweise wenn eine SPS für die Initialisierung von Variablen notwendig ist. In der Simulation werden dann alle erreichbaren Fenster nochmals durch Projektierungsingenieur und Muttersprachler kontrolliert. Im Vergleich zur Kontrolle in der Designansicht können bei diesem Schritt Texte gefunden werden, die nur in nach dem Setzen von Werten sichtbar sind. Korrekturen aus der Überprüfung werden in der Designumgebung umgesetzt.

Bei sämtlichen Überprüfungen wird fortlaufend zwischen der Quell- und Zielsprache umgeschaltet. Alternativ wird eine Kopie der virtuellen Maschine gestartet. Diese läuft mit Anzeige der Quellsprache. In der zweiten virtuellen Maschine wird die Zielsprache angezeigt. Eine ausreichende Anzahl von großen Monitoren ist dabei hilfreich.

Nach der Kontrolle in der Visualisierung erfolgt ein erneuter Textexport, um die Texte in das bei uns geführte Translation Memory aufzunehmen und für Folgeprojekte verfügbar zu haben.

Die gemeinsame Kontrolle und Korrektur der Visualisierung von einem Projektierungsingenieur und einem Muttersprachler der Zielsprache hat sich als sehr effizient im Implementierungs- und Qualitätssicherungsprozess herausgestellt. Das Ergebnis sind Projektierungen, die sofort beim Zielkunden eingesetzt werden können.

Freitag, 22. März 2013

Qualitätsgesicherte Sprachumschaltung – Wie wird dies erreicht?

Die Erstellung der Sprachumschaltung für eine Prozessvisualisierung kann grob in zwei Bereiche unterteilt werden. Der erste, offensichtliche Bereich betrifft die Übersetzung bzw. das Übersetzungsmanagement. Der zweite Bereich betrifft die Projektierungstechnik.

In diesem Blogeintrag wird das Übersetzungsmanagement betrachtet, ein folgender Blogeintrag wird sich mit der Projektierungstechnik beschäftigen.

Das Übersetzungsmanagement umfasst den Aufbau der Terminologie, die Erstellung der Übersetzung, die Kontrolle und das Lektorat. Beim Aufbau der Terminologie werden die wesentlichen Begriffe einer Visualisierung festgehalten, beschrieben und übersetzt. Unbekannte Begriffe werden mit dem Kunden geklärt. Diese zweisprachige Terminologie wird später für die Kontrolle der Übersetzung verwendet. Die Übersetzung wird mit Hilfe eines Translation Memory durchgeführt. Aus diesem Translation Memory werden bei der Übersetzung alle ähnlichen Texte angezeigt und können vom Übersetzer übernommen und weiter verarbeitet werden. Gleichzeitig werden Texte nach der Übersetzung in dem Translation Memory gespeichert.

Der folgende Screenshot zeigt ein Übersetzungstool mit dem zu übersetzenden Text, dem Translation Memory in der unteren Tabelle und der Kontextterminologie rechts. In der Kontextterminologie werden nur die Terminologieeinträge angezeigt, die zum aktuellen Text passen. Im dem unten stehenden Translation Memory werden gleiche und ähnliche Quelltexte mit Übersetzungen angezeigt. Die Ähnlichkeit der Texte kann schnell durch die Farbe (Grün, Gelb, Rot) und dem Prozentwert vor dem Text erfasst werden.

DCC Translation Editor in der Enterprise Edition





So soll im Beispiel oben der Text „Zentralschmierung Fermenter“ übersetzt werden. In der Terminologie (rechts) werden die Terminologieeinträge „Fermenter“ und „Zentralschmierung“ mit den zugehörigen Übersetzungen angezeigt. Im Translation Memory (unten) werden auch ähnliche Texte, wie in diesem Beispiel „Zentralschmierung Fermenter Austragsseite“ und „Zentralschmierung Fermenter Eintragsseite“ angezeigt. Die Ähnlichkeit zwischen dem zu übersetzenden Text und den Texte im Translation Memory beträgt 65% bzw. 63%. Der Übersetzer kann sich bei der Übersetzung an den ähnlichen Texten orientieren.

Nach dem Übersetzungsprozess wird mit den QS-Filtern (Qualitätssicherungsfilter) die Übersetzung überprüft. Dabei wird in der Quell- und Zielsprache nach unterschiedlichen Ziffern, Satzzeichen, Formatierungen (Fett, Unterstrichen, …) und Anzahl der Zeilen gesucht. Die Texte der Zielsprache werden anschließend auf Rechtschreibfehler überprüft. Dazu wird ein Filter aufgerufen, der nur Texte mit Rechtschreibfehlern anzeigt. Ein weiterer Filter zeigt Texte, die nicht passend zur Terminologie übersetzt wurden. Die so gefundenen Texte können dann nachgearbeitet werden. Die Überprüfung mit den QS-Filtern ist ein wesentlicher Schritt der Qualitätssicherung im Bereich der Übersetzung, da hiermit die typischen Übersetzungsfehler gefunden und korrigiert werden. Diese QS-Filter werden nach Fertigstellung der Übersetzung ebenso durch den Lektor durchgeführt.

Nach der Übersetzung folgt die Kontrolle der Übersetzung durch einen weiteren Übersetzer, die die Texte gegenliest und ggfs. Korrekturen vornimmt. Anschließend werden die Texte vom Lektor mit den oben skizzierten QS-Filtern abermals überprüft und ggfs. werden Formatierungen wie Leerzeichen, Fettschreibung, Groß-/Kleinschreibung und die Textlänge korrigiert.

Die Einhaltung der oben skizzieren Schritte zur Qualitätssicherung werden durch einen Vorgangsbeleg dokumentiert.

Die weiteren Schritte erfolgen im Bereich der Projektierungstechnik und sind Inhalt eines folgenden Blogeintrages.

Mittwoch, 16. Januar 2013

WinCC 7: Der SQL Server startet nicht

Bei virtualisierten Systemen passiert es häufiger, dass der SQL-Server auf einem WinCC 7 System nicht startet. Die Fehlermeldung im EventLog des Windows Rechners lautet dann:
The SQL Server (WINCC) service terminated with a service-specific error 10049 (0x2741).
Diese Fehlermeldung kann vieles bedeuten, also geht es bei der Fehlersuche weiter in der Log-Datei des SQL-Server (C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\ERRORLOG). Hier findet sich der folgende Fehler:
Error: 26024, Severity 16, State: 1.
Server failed to listen on xxx.xxx.xxx.xxx <ip4> 1433. Error: 0x2741. To proceed, notify your system administrator.
Der SQL-Server ist also an spezifische IP-Adressen gebunden. Die Fehlerbehebung ist einfach, es gibt verschiedene Alternativen:
  1. entweder im SQL Server Configuration Manager die aktuelle IP-Adresse einstellen oder 
  2. die geforderte IP-Adresse am Netzwerkadapter einstellen oder
  3. eine neue virtuelle Netzwerkkarte mit der geforderten IP-Adresse im virtuellen System einrichten.
Bei Kundensystemen gehen wir meistens den zweiten Weg und verzichten damit auf die Einbindung des Windowssystems in unser Netz. Dafür bleibt die Konfiguration des virtuellen Systems und die Zuordnung der Netzwerkadapter zur IP-Adresse unverändert. Ist der Netzwerkzugriff notwendig, installieren wir einen weiteren virtuellen Netzwerkadapter mit einer IP-Adresse aus unserem lokalen Netzwerk.