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 Dialog„Visualisierungselement 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.
Gültiges Vorlagenelement:
-
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
Sie können weiterhin bei den Eigenschaften unter „Texte“ wie gewohnt den Platzhalter %
für die Textausgabe von Variablenwerten verwenden.
Geeignete Visualisierungselemente
Geeignete Visualisierungselemente, die vervielfacht werden können
-
Rechteck
-
Abgerundetes Rechteck
-
Ellipse
-
Linie
-
Polygon
-
Linienzug
-
Bézierkurve
-
Bild
-
Frame
-
Schaltfläche
-
Kreissektor
-
SpinControl
-
Textfeld
-
Checkbox
-
Bildwechsler
-
Lampe
-
Hebelschalter
-
Energieschalter
-
Drückschalter
-
Drückschalter LED
-
Kippschalter
-
Drehschalter
Lampe und Schaltfläche als Vorlage konfigurieren und vervielfachen
-
Erstellen Sie ein neues Standardprojekt.
Als Gerät ist eine CODESYS Control Win V3 konfiguriert. Die
MainTask
ruftPLC_PRG
auf. Die Implementierungssprache ist ST. -
Deklarieren Sie im Programmcode in
PLC_PRG
Arrayvariablen mit BasisdatentypSTRING
.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
-
Selektieren Sie im Gerätebaum die Applikation und wählen Sie den Befehl „Objekt hinzufügen Visualisierung“.
-
Geben Sie im Dialog „Visualisierung hinzufügen“ als Name
VisuMain
ein und beenden Sie den Dialog mit „Hinzufügen“. -
Ziehen Sie ein Element des Typs „Lampe“ aus der Ansicht „Werkzeuge“ in die Visualisierung.
-
Konfigurieren Sie feste Eigenschaftswerte.
-
Doppelklicken Sie in das Wertefeld der Eigenschafte „Variable“.
Der Zeileneditor öffnet sich.
-
Klicken Sie auf das Symbol
Die Eingabehilfe erscheint.
-
Wählen Sie aus dem Variablenbaum die Arrayvariable
PLC_PRG.axLampIsOn
aus. -
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 aufllisten“ ) aktiviert haben, erscheint die aktuelle Variablenliste mit den Platzhaltern:
-
Selektieren Sie den Platzhalter
$FIRSTDIM$
für die 1te Dimension und bestätigen Sie die Eingabe. -
Erweitern Sie den String am Ende, beispielsweise mit den Zeichen "
,s
".Es erscheint wieder die Variablenliste.
-
Selektieren Sie den Platzhalter
$SECONDDIM$
für die 2te Dimension und bestätigen Sie die Eingabe. -
Schließen Sie den String mit einer schließenden eckigen Klammer ab.
PLC_PRG.axLampIsOn[$FIRSTDIM$, $SECONDDIM$]
Die Lampe ist als Vorlage konfiguriert.
-
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
-
Deklarieren Sie den Abstand der neuen Elementen zueinander.
„Offset zwischen den Elementen“, „Horizontal“ =
3
„Offset zwischen den Elementen“, „Vertikal“ =
3
-
Kontrollieren Sie die erweiterten Einstellungen.
-
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.
-
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.
-
Konfigurieren Sie die festen Eigenschaftswerte.
-
Konfigurieren Sie für die Eigenschaft „Textvariablen“, „Textvariable“ den Wert.
PLC_PRG.asButtonText[$FIRSTDIM$, $SECONDDIM$]
-
Konfigurieren Sie für die Eigenschaft „Eingabekonfiguration“, „Umschalten“, „Variable“ den Wert.
PLC_PRG.axLampIsOn[$FIRSTDIM$, $SECONDDIM$]
Die Schaltfläche ist als Vorlage konfiguriert.
-
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
-
Deklarieren Sie den Abstand der neuen Elementen zueinander.
„Offset zwischen den Elementen“, „Horizontal“ =
3
„Offset zwischen den Elementen“, „Vertikal“ =
3
-
Kontrollieren Sie die erweiterten Einstellungen.
-
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.
-
Übersetzen, starten und laden Sie die Applikation.
Visualisierung zur Laufzeit:
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
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
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.