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