-

ARRAYs und STRUCTs initialisieren

Elemente (Member) in anwenderdefinierten Datentypen lassen sich sehr einfach mit dem 'Init-Werteeditor' (Subeditor in der Variablentabelle) initialisieren. Der Editor ist für alle anwenderdefinierten Datentypen (ARRAYs, STRUCTs, ENUMs und STRINGs) hilfreich, besonders jedoch für ARRAYs und STRUCTs mit sehr vielen Elementen/Membern.

  1. Öffnen Sie den 'Init-Werteeditor', indem Sie aus dem Kontextmenü einer Variablendeklaration in der Variablentabelle den Befehl 'Init-Werteeditor anzeigen' auswählen oder auf die folgende Schaltfläche in der Symbolleiste der Variablentabelle klicken:

    Der Editor wird unterhalb der Variablentabelle geöffnet.

  2. Wählen Sie in der Variablentabelle den anwenderdefinierten Datentyp, den Sie initialisieren möchten. Die enthaltenen Elemente/Member werden im 'Init-Werteeditor' angezeigt.

    Hinweis
    Der Editor ist leer, falls in der Variablentabelle mehrere Deklarationen markiert sind.

    Bei Feldern von Strukturen lassen sich die einzelnen Strukturen auf-/zuklappen:

  3. Je nach Anzahl der vorhandenen Elemente/Member,
    • geben Sie für jedes Element/Member den Initialisierungswert in die Spalte 'Init-Wert' ein,
    • oder initialisieren Sie mehrere Elemente/Member durch Eingabe einer Initialisierungsanweisung in das Eingabefeld über Tabelle. Siehe hierzu die nachfolgende Beschreibung.

    Hinweis
    Ein schreibgeschützter Initialisierungswert ist auch im Editor schreibgeschützt und kann dort nicht geändert werden.

Initialisierungsanweisungen gemäß IEC 61131-3

Um Felder mit sehr vielen Werten zu initialisieren, können sogenannte Wiederholwerte verwendet werden.
Beispiel für die Initialisierung in einem Datentyp-Arbeitsblatt

Diese Initialisierung ist gleichbedeutend mit:

Sie können diese Initialisierungsanweisung in das Textfeld über der Tabelle im Werteeditor eingeben.

Hinweis
Im Init-Werteeditor gilt:
  • Die Syntax der Initialisierungsanweisung entspricht mit Ausnahme des abschließenden Semikolons der IEC 61131-3. Verwenden Sie kein abschließendes Zeichen.
  • Bei syntaktischen Fehlern in der Anweisung werden die Elemente/Member in der Tabelle ausgeblendet.
    Um die Elemente/Member wieder anzuzeigen, löschen Sie die vollständige Anweisung
    (z.B. durch Ausschneiden und Einfügen: <Strg>+<X>, <Eingabe>, <Strg>+<V>).

Für die im Beispiel gezeigten Initialisierungswerte geben Sie folgende Anweisung in das Textfeld ein:

Auf die gleiche Art und Weise können Kombinationen von ARRAYs und STRUCTs initialisiert werden:

Beispiel 1: Struktur mit Array

Im folgenden Beispiel enthält die Struktur MyStruct neben anderen Elementen ein Array von Integer-Werten.

Im 'Init-Werteeditor' könnte eine Initialisierungsanweisung wie folgt lauten:

Beispiel 2: Array von Strukturen

Im folgenden Beispiel ist im Datentyp-Arbeitsblatt ein Array der STRUCT MyStruct deklariert:

Der Initialisierungsstring im 'Init-Werteeditor' enthält Wiederholwerte nicht nur für das Array innerhalb von MyStruct, sondern auch für das Array der Struktur:

Erklärung der Initialisierungsanweisung:
[
  4((Field1 := 1, Field2 := TRUE, Field3 := [10(4)])),//Initialisieren der ersten 4 Elemente
  2( ),                        //Standardanfangswerte für die nächsten 2 Elemente
  4((Field1 := 9, Field2 := TRUE, Field3 := [5(3), 5 (6)])) //Initialisieren der letzten 4 Elemente
]