Text und Sprache

Texte und Sprachen werden in der PLC HMI grundsätzlich mithilfe von Textlisten verwaltet. Dabei stehen ANSI und Unicode als Zeichenkodierungsvarianten zur Verfügung. In der Visualisierung können Elemente auf zwei verschiedene Arten beschriftet werden:

Statischer Text

Ein Visualisierungselement kann mit einem statischen Text versehen werden, indem dieser in den Elementeigenschaften in der Kategorie ‚Texte‘ eingetragen wird. Er kann auch direkt im Editorfenster eingetragen werden, wenn das Element selektiert ist und die Leertaste gedrückt wird. Dieser Text kann zur Laufzeit nicht geändert werden. Nur Änderungen der Sprache werden für den Text übernommen.

Jeder statische Text wird automatisch in der Textliste "GlobalTextList" gespeichert. In dieser Textliste werden auch die Übersetzungen in andere Sprachen verwaltet.

Text und Sprache 1:

Dynamischer Text

Dynamischer Text wird in den Elementeigenschaften in der Kategorie ‚Dynamische Texte‘ eingetragen. Dazu muss zunächst der Name der Textliste aus den im SPS-Projekt vorhandenen ausgewählt werden. Hier kann die "GlobalTextList" nicht verwendet werden, sondern ausschließlich selbst erstellte Textlisten. Zusätzlich muss eine Variable für die ID des Texteintrages angegeben werden, über die zur Laufzeit der Text geändert werden kann.

Beispiel

Beispielhaft wird eine Textliste mit dem Namen "ErrorList" angelegt. In dieser Liste wird eine Reihe von Fehlermeldungen mit ihren Übersetzungen eingetragen.

Text und Sprache 2:

In einer Visualisierung mit dem Namen "Visualization" wird ein Rechteckelement hinzugefügt. In den Eigenschaften dieses Elements werden unter "Dynamische Texte" die Textliste "ErrorList" und die Variable "nErrorID", die in der "MAIN" deklariert ist, ausgewählt.

Text und Sprache 3:

Zur Laufzeit kann nun eine der in der Textliste "ErrorList" gespeicherten Fehlermeldungen in dem Rechteck angezeigt werden, indem die Variable "nErrorID" auf einen Wert zwischen größer gleich 0 und kleiner gleich 4 gesetzt wird. Im Beispiel hat "nErrorID" den Wert 2.

Text und Sprache 4:

Sprachumschaltung

Wenn die aktuell verwendete Textliste Übersetzungen der Texte in mehrere Sprachen definiert, kann die beim Start der Visualisierung zu verwendende Sprache festgelegt werden. Zusätzlich kann zur Laufzeit die Sprache mithilfe von Schaltflächen auf der Visualisierung geändert werden. Dafür wird die Aktion "Sprachumschaltung" in den Elementeinstellungen unter der Kategorie ‚Eingabekonfiguration‘ genutzt.

Für die Abfrage der aktuell verwendeten Sprache kann die Variable "CURRENTLANGUAGE" der Bibliothek "VisuElems" verwendet werden. Über diese Variable kann auch im Programmcode die verwendete Sprache geändert werden:

fbTrigger(CLK := bPressed);
IF fbTrigger.Q THEN
    IF VisuElems.CURRENTLANGUAGE = 'de' THEN
        VisuElems.CURRENTLANGUAGE := 'en';
    ELSE
        VisuElems.CURRENTLANGUAGE := 'de';
    END_IF
END_IF
Text und Sprache 5:

Falls kein Eintrag in der Textliste vorhanden ist, der mit der gerade eingestellten Sprache übereinstimmt, wird der Eintrag unter Standard verwendet.

Text und Sprache 6:

Die Definition einer Standardsprache beim Start der Visualisierung und die Verwendung der Variablen "VisuElems.CURRENTLANGUAGE" sind nur in Verbindung mit der PLC HMI und/ oder der PLC HMI Web möglich. Bei der integrierten Visualisierung wird beim Start automatisch die Textversion ‚Standard‘ verwendet. Eine Sprachumschaltung zur Laufzeit über Schalflächen auf der Visualisierung ist auch in der integrierten Visualisierung möglich.

Formatierung des Textes

Neben der Eingabe eines reinen Textes in den Elementeigenschaften in der Kategorie ‚Texte‘ können auch Formatierungsangaben eingefügt werden, um die Textanzeige im Onlinebetrieb zu gestalten. Eine Formatierungsangabe beginnt immer mit einem „%“, gefolgt von einem Zeichen, das die Art der Formatierung bestimmt. Sie kann allein oder in Kombination mit dem eigentlichen Text verwendet werden.

Die Variable, die als Text im Element ausgegeben werden soll, ist in den Elementeigenschaften in der Kategorie ‚Textvariablen‘ anzugeben. Falls Sie den Instanznamen einer Variablen, die einem Visualisierungsbaustein als Eingangsparameter übergeben wurde, anzeigen lassen wollen, so ist vom dem Pragma Attribut 'parameterstringof' Gebrauch zu machen.

%b

Binärzahl

%c

Einzelnes Zeichen

%d, %i

Dezimalzahl

%f

REAL-Wert

%o

Vorzeichenlose Oktalzahl (ohne vorangestellte Null)

%s

Zeichenfolge

%u

Vorzeichenlose Dezimalzahl

%x

Vorzeichenlose Hexadezimalzahl (ohne vorangestelltes ‚0x‘)

Beispiel

Im Eigenschaftenfeld "Text" in der Kategorie "Texte" der Eigenschaften eines Rechteckelements wird "Fill level: %2.5 f mm" eingetragen. Die zu verwendende Variable wird im Eingabefeld "Textvariable" in der Kategorie ‚Textvariablen‘ eingegeben. In diesem Beispiel ist es "fFillLevel". Sie ist in dem Programm MAIN als REAL deklariert.

Text und Sprache 7:

Zur Laufzeit sieht das Rechteckelement wie folgt aus:

Text und Sprache 8:
Text und Sprache 9:

Wenn ein Prozentzeichen % in Kombination mit einer der oben beschriebenen Formatierungsangaben angezeigt werden soll, muss „%%“ eingegeben werden.

Beispiel

Geben Sie „Rate in %%: %s“ ein, um im Onlinebetrieb folgendes zu erhalten: „Rate in %: 12“ (wenn die Textvariable gerade „12“ liefert).

Ausgabe der Systemzeit

Eine Kombination aus "%t" und nachfolgenden speziellen Platzhaltern innerhalb von eckigen Klammern wird im Onlinebetrieb durch die aktuelle Systemzeit ersetzt. Die Platzhalter definieren das Anzeigeformat.

Text und Sprache 10:

Import von TwinCAT 2 PLC-Control-Projekten: Die frühere verwendete Zeitformatierung %t wird automatisch in das neue %t[] Format konvertiert, wenn ein altes Projekt importiert wird, jedoch werden die folgenden Platzhalter nicht mehr unterstützt: %U, %W, %z, %Z.

Gültige Platzhalter:

ddd

Name des Wochentags, abgekürzt, z.B. „Wed“

dddd

Name des Wochentags, z.B. „Wednesday“

ddddd

Wochentag als Zahl (0 – 6; Sonntag ist 0)

MMM

Name des Monats, abgekürzt, z.B. „Feb“

MMMM

Name des Monats, z.B. „February“

d

Tag im Monat als Zahl (1 – 31), z.B. „8“

dd

Tag im Monat als Zahl (01 – 31), z.B. „08“

M

Monat als Zahl (1 – 12), z.B. „4“

MM

Monat als Zahl (01 – 12), z.B. „04“

jjj

Tag im Jahr als Zahl (001-366), z.B. „067“

y

Jahr ohne Angabe des Jahrhunderts (0-99), z.B. „9“

yy

Jahr ohne Angabe des Jahrhunderts (00-99), z.B. „09“

yyyy

Jahr mit Angabe des Jahrhunderts, z.B. „2009“

HH

Stunde, 24-Stunden-Format (01-24), z.B. „16“

hh

Stunde, 12-Stunden-Format (01-12), z.B. „4“ für 16 Uhr

m

Minuten (0-59), ohne vorangestellte Null, z.B. „6“

mm

Minuten (00-59), mit vorangestellter Null, z.B. „06“

s

Sekunden (0-59), ohne vorangestellte Null, z.B. „6“

ss

Sekunden (00-59), mit vorangestellter Null, z.B. „06“

ms

Millisekunden (0-999), ohne vorangestellter Null, z.B. „322“

t

Kennzeichner für die Anzeige im 12-Stunden-Format: A (Stunden <12) bzw. P (Stunden >12), z.B. „A“ wenn es 9 Uhr morgens ist

tt

Kennzeichner für die Anzeige im 12-Stunden-Format: AM (Stunden <12) bzw. PM (Stunden >12), z.B. „AM“ wenn es 9 Uhr morgens ist

' '

Zeichenfolgen, die einen der oben aufgeführten Platzhalter enthalten, müssen in einzelne Hochkommas gefasst werden; alle anderen Texte innerhalb des Format-Strings können ohne Hochkommas stehen; z.B. 'update', weil ein "d" und ein "t" enthalten sind

Beispiel

Im Eigenschaftenfeld "Text" in der Kategorie "Texte" der Eigenschaften eines Rechteckelements wird "%t['Last update:' ddd MMM dd.MM.yy 'at' HH:mm:ss]" eingetragen.

Text und Sprache 11:

Zur Laufzeit sieht das Rechteckelement wie folgt aus:

Text und Sprache 12:

Schriftart und Ausrichtung

Die Schriftart und die horizontale und vertikale Ausrichtung des Elementtextes können in den Elementeigenschaften definiert werden. Siehe hierzu die Kategorien "Schriftartvariablen" und "Texteigenschaften" des entsprechenden Elements.