Skip to main content

Visualisierungselement als Vorlage konfigurieren und vervielfachen

Eine Tabelle kann auch auf folgende Weise zur Darstellung von Datenarrays erstellt werden. Sie vervielfachen ein Einzelelement, das mindestens eine Eigenschaft hat, die durch eine strukturierte Variable beschrieben wird. Das Einzelelement wird dazu als „Vorlage“ konfiguriert und mit einem Befehl vervielfacht.

Sie können den Befehl Visualisierung → Visualisierungselement vervielfachen verwenden, um Arraydaten zu visualisieren. Der Befehl bewirkt, dass durch Vervielfachen eines Vorlageelements für jede Arraykomponente ein typgleiches Element erzeugt wird. Die Anordnung der neuen Elemente in der Visualisierung ist eindimensional als Zeile oder Spalte oder zweidimensional als Tabelle.

Ziehen Sie dafür ein geeignetes Element in den Visualisierungseditor. Konfigurieren Sie dann Eigenschaften des Elements mit Arrayvariablen und geben Sie als Komponentenzugriff den Indexzugriff-Platzhalter $FIRSTDIM$ an. Wenn Sie ein mehrdimensionales Array deklariert haben, können Sie für eine weitere Dimension den zweiten Indexzugriff-Platzhalter $SECONDDDIM$ verwenden. Konfigurieren Sie die übrigen Eigenschaften wie gewohnt mit den üblichen Werten. Ziel ist es, ein gültiges Vorlagenelement zu erstellen. Wenden Sie dann auf dem Vorlagenelement den Befehl Visualisierungselement vervielfachen an. Nun erscheint der gleichnamige Dialog. Dort legen Sie detailliert fest, wie viele Elemente erzeugt und wo sie angeordnet werden.

Nach dem Vervielfachen enthält die Visualisierung so viele gleichartige Elemente, wie über die Platzhalter indiziert werden unter Berücksichtigung der Einstellungen im DialogVisualisierungselement vervielfachen. Alle neuen Elemente haben in den Eigenschaften, die mit Platzhalter vorbelegt waren, diese ersetzt mit konkreten Indizes. Die übrigen Eigenschaften sind unverändert übernommen und kopiert worden.

Beispielsweise können Sie so 9 Schaltflächen als 3 x 3 Tabelle anordnen lassen, die alle gleich groß oder gleich farbig sind, die aber in der Beschriftung variieren. Die Beschriftungen sind als Array von Strings (9 Komponenten) deklariert und werden der Eigenschaft Texte, Text als Wert übergeben.

  • Deklaration von Arrayvariablen

    Beispiel: asText: ARRAY[1..3, 1..3] OF STRING;

  • Element mit geeignetem Elementtyp

  • Konfiguration wenigstens einer Eigenschaft des geeigneten Elements mit Arrayvariablen mit Indexzugriff-Platzhaltern

    Beispiel: Eigenschaft Texte, Text = PLC_PRG.asText[$FIRSTDIM$, $SECONDDIM$]

    Das ist bei allen Eigenschaften möglich, die als Wert eine Variable erlauben, beispielsweise auch Eigenschaften der Kategorien Animation oder Eingabe. Um bei einem Element mehrere Eigenschaften mit Arrays mit Indexzugriff-Platzhalter zu konfigurieren, müssen alle Arrays den selben Aufbau mit gleicher Dimension haben. Die Deklarationen müssen kompatible sein.

  • Konfiguration der Eigenschaften, die nicht variieren (und somit für alle erzeugten Elemente gleich sind), mit den üblichen Werten ohne Indexzugriff-Platzhalter

    Beispiel:

    sButtonTip : STRING := 'This element is created by multiplication'

    Eigenschaft Texte, Tooltip = %s

    Eigenschaft Textvariablen, Tooltipvariable = sButtonTip

Tipp

Sie können weiterhin bei den Eigenschaften unter Texte wie gewohnt den Platzhalter % für die Textausgabe von Variablenwerten verwenden.

Geeignete Visualisierungselemente, die vervielfacht werden können

  • Rechteck

  • Abgerundetes Rechteck

  • Ellipse

  • Linie

  • Polygon

  • Linienzug

  • Bézierkurve

  • Bild

  • Frame

  • Schaltfläche

  • Kreissektor

  • Spinbox

  • Textfeld

  • Checkbox

  • Bildwechsler

  • Lampe

  • Hebelschalter

  • Energieschalter

  • Drückschalter

  • Drückschalter LED

  • Kippschalter

  • Drehschalter

Lampe und Schaltfläche als Vorlage konfigurieren und vervielfachen

  1. Erstellen Sie ein neues Standardprojekt.

    Als Gerät ist eine CODESYS Control Win konfiguriert. Die MainTask ruft PLC_PRG auf. Die Implementierungssprache ist ST.

  2. Deklarieren Sie im Programmcode in PLC_PRG Arrayvariablen mit Basisdatentyp STRING.

    PROGRAM PLC_PRG
    VAR
        axLampIsOn: ARRAY[1..2,1..3] OF BOOL;  // For lamp, property 'variable' and button, user input
        asButtonText: ARRAY[1..2,1..3] OF STRING := // Output text for button, property 'text variables''text variable'
        [
            '1A Lamp', '2A Lamp',
            '1B Lamp', '2B Lamp',
            '1C Lamp', '2C Lamp'
        ];
    END_VAR                                
  3. Selektieren Sie im Gerätebaum die Applikation und wählen Sie den Befehl Objekt hinzufügen → Visualisierung .

  4. Geben Sie im Dialog Visualisierung hinzufügen als Name VisuMain ein und beenden Sie den Dialog mit Hinzufügen.

  5. Ziehen Sie ein Element des Typs Lampe aus der Ansicht Visualisierungswerkzeuge in die Visualisierung.

  6. Konfigurieren Sie feste Eigenschaftswerte.

    _visu_multiply_task_do_template.png
  7. Doppelklicken Sie in das Wertefeld der Eigenschafte Variable.

    Der Zeileneditor öffnet sich.

  8. Klicken Sie auf das Symbol _cds_icon_three_dots.png

    Die Eingabehilfe erscheint.

  9. Wählen Sie aus dem Variablenbaum die Arrayvariable PLC_PRG.axLampIsOn aus.

  10. Erweitern Sie den String am Ende, beispielsweise mit „[f„.

    Wenn Sie intelligentes Codieren (Dialog Optionen, Kategorie Intelligentes Codieren, Option Komponenten sofort nach Eingabe eines Zeichens auflisten) aktiviert haben, erscheint die aktuelle Variablenliste mit den Platzhaltern:

    _visu_multiply_task_insert_place_holder.png
  11. Selektieren Sie den Platzhalter $FIRSTDIM$ für die 1te Dimension und bestätigen Sie die Eingabe.

  12. Erweitern Sie den String am Ende, beispielsweise mit den Zeichen „,s„.

    Es erscheint wieder die Variablenliste.

  13. Selektieren Sie den Platzhalter $SECONDDIM$ für die 2te Dimension und bestätigen Sie die Eingabe.

  14. Schließen Sie den String mit einer schließenden eckigen Klammer ab.

    PLC_PRG.axLampIsOn[$FIRSTDIM$, $SECONDDIM$]

    Die Lampe ist als Vorlage konfiguriert.

  15. Wählen Sie den Befehl Visualisierung → Visualisierungselement vervielfachen .

    → Der Dialog Visualisierungselement vervielfachen öffnet sich. Die voreingestellten Werte sind abgeleitet aus den Arraydeklarationen.

    Gesamtzahl Elemente, Horizontal = 2

    Gesamtzahl Elemente, Vertikal = 3

  16. Deklarieren Sie den Abstand der neuen Elementen zueinander.

    Offset zwischen den Elementen, Horizontal = 3

    Offset zwischen den Elementen, Vertikal = 3

  17. Kontrollieren Sie die erweiterten Einstellungen.

  18. Bestätigen Sie die Einstellungen mit OK.

    Im Visualisierungseditor erscheinen die neuen Elemente. Alle Eigenschaften sind mit konkretem Index konfiguriert und die Arrayvariablen sind indiziert.

  19. Wählen Sie in der Ansicht Visualisierungswerkzeuge aus der Kategorie Allgemeine Steuerelemente das Element Schaltfläche aus und ziehen Sie es in den Visualisierungseditor.

    Die Ansicht Eigenschaften des Elements öffnet sich.

  20. Konfigurieren Sie die festen Eigenschaftswerte.

    _visu_multiply_task_do_template_button.png
  21. Konfigurieren Sie für die Eigenschaft Textvariablen, Textvariable den Wert.

    PLC_PRG.asButtonText[$FIRSTDIM$, $SECONDDIM$]

  22. Konfigurieren Sie für die Eigenschaft Eingabekonfiguration, Umschalten, Variable den Wert.

    PLC_PRG.axLampIsOn[$FIRSTDIM$, $SECONDDIM$]

    Die Schaltfläche ist als Vorlage konfiguriert.

  23. Wählen Sie den Befehl Visualisierung → Visualisierungselement vervielfachen .

    Der Dialog Visualisierungselement vervielfachen öffnet sich. Die voreingestellten Werte sind abgeleitet aus den Arraydeklarationen.

    Gesamtzahl Elemente, Horizontal = 2

    Gesamtzahl Elemente, Vertikal = 3

  24. Deklarieren Sie den Abstand der neuen Elementen zueinander.

    Offset zwischen den Elementen, Horizontal = 3

    Offset zwischen den Elementen, Vertikal = 3

  25. Kontrollieren Sie die erweiterten Einstellungen.

  26. Bestätigen Sie die Einstellungen mit OK.

    Im Visualisierungseditor erscheinen die neuen Elemente. Alle Eigenschaften sind mit konkretem Index konfiguriert und eie Arrayvariablen sind indiziert.

    _visu_multiply_task_created_elements.png
  27. Übersetzen, starten und laden Sie die Applikation.

    Visualisierung zur Laufzeit:

    _visu_multiply_task_in_runtime.png

Arrayvariable mit mehr als 2 Dimensionen

Sie können das Vorlageelement auch mit Arrayvariablen konfigurieren, die mehr als 2 Dimensionen haben, aber Sie können nur maximal 2 der Dimensionen mit Platzhaltern versehen. In den zusätzlichen Dimensionen sind die Indexe fix.

Beispiel 13. Beispiel

Deklaration

PROGRAM PLC_PRG
VAR
    asText: ARRAY[1..2, 1..3, 1..6, 1..2] OF STRING;
END_VAR                       

Konfiguration der Eigenschaft Textvariablen, Tooltipvariable beim Vorlageelement:

PLC_PRG.asText[2, $FIRSTDIM$, $SECONDDIM$, 2]



Eindimensionales Array tabellarisch anordnen

Sie können das Vorlageelement mit einem eindimensionalen Array konfigurieren und benötigen dafür den Indexzugriff-Platzhalter $FIRSTDIM$. Wenn die Anzahl der neu zu erzeugenden Elemente größer als 5 ist, wird im Dialog Visualisierungselement vervielfachen eine tabellarische Anordnung voreingestellt, wobei die neuen Elemente möglichst quadratisch angeordnet sind.

Beispiel 14. Beispiel
PROGRAM PLC_PRG
VAR
    asText: ARRAY[1..100] OF STRING;
END_VAR                        

Die Voreinstellung im Dialog Visualisierungselement vervielfachen bewirkt, dass 100 neue Elemente als 10 x 10 Feld angeordnet werden.