Sie können für eine Visualisierung, die referenziert wird, eine Schnittstelle für Parameter deklarieren. Wenn die Visualisierung dann zur Laufzeit aufgerufen wird, werden die tatsächlichen Parameter an die Schnittstelle übergeben, ähnlich wie bei einem Funktionsbaustein.
Zuerst deklarieren Sie die Schnittstellenvariablen im Schnittstelleneditor der Visualisierung. Dann konfigurieren Sie die Parameter, die an die Schnittstelle übergeben werden, indem Sie jeder Schnittstellenvariable eine datentypkonforme Applikationsvariable zuweisen. Die Zuweisung ist bei einem „Frame“ oder „Registerkarten“-Element unter der Eigenschaft „Referenzierte Visualisierungen“ konfiguriert.
Abhängig von der Darstellungsvariante ist die Parameterübergabe von lokalen Variablen
(mit Gültigkeitsbereich VAR
) eingeschränkt. Wenn Sie die Visualisierung als Integrierte Visualisierung ausführen,
können Sie nur lokale Variablen als Parameter übergeben, die einen Basisdatentyp haben.
Wenn die Visualisierung als CODESYS TargetVisu oder CODESYS WebVisu aufgerufen wird, können Sie auch Parameter mit benutzerdefiniertem Datentyp übergeben.
Benutzergeführte Aktualisierung der Übergabeparameter
Wenn Sie Visualisierungsreferenzen konfiguriert haben und dann bei einer dieser Visualisierungen in einem Schnittstelleneditor eine Änderung der Variablendeklaration speichern, erscheint automatisch der Dialog „Aktualisierung der Frame-Parameter“. Der Dialog fordert Sie auf, die Referenzen anzupassen. Sie erhalten dort alle betroffenen Visualisierungen aufgelistet, um die Parameterübergaben an die geänderte Schnittstelle neu zuweisen zu können.
Mit Beenden des Dialogs werden die Änderungen übernommen und unter der Eigenschaft „Referenzierte Visualisierungen“ der betroffenen Elemente angezeigt.
Visualisierung mit Schnittstelle (VAR_IN_OUT
) aufrufen
Voraussetzung: Im Projekt ist eine Visualisierung und eine Hauptvisualisierung vorhanden. Die Hauptvisualisierung enthält ein Elemente, das die Visualisierung referenziert.
-
Öffnen Sie die Visualisierung.
-
Wählen Sie den Befehl „Visualisierung Schnittstelleneditor“.
-
Deklarieren Sie im Schnittstelleneditor eine Variable.
Die Visualisierung verfügt über eine Schnittstelle und der Dialog „Aktualisierung der Frame-Parameter“ erscheint automatisch.
-
Weisen Sie der Schnittstellenvariablen in allen Aufrufen einen typkonformen Übergabeparameter zu, indem Sie unter „Wert“ eine Applikationsvariable angeben. Beenden Sie den Dialog.
An den Stellen, an denen die Visualisierung referenziert wird, ist ein Übergabeparameter zugewiesen. Diese erscheinen nun bei der Hauptvisualisierung unter ihrer Eigenschaft „Referenzierte Visualisierung“.
Beispiel
Die Visualisierung visPie
enthält einen animierten farbigen Kreissektor. Die Hauptvisualisierung visMain
ruft die Visualisierung visPie
in „Registerkarten“ mehrmals auf. Über die Schnittstellenvariable pieToDisplay
werden Farbinformationen, Winkelinformationen und eine Beschriftung übergeben.
Zur Laufzeit variieren die Kreissektoren darin.
Visualisierung visPie
:

„Variable für Anfang“ |
|
„Variable für Ende“ |
|
„Texte Text“ |
%s |
„Textvariablen Textvariable“ |
|
„Farbvariable Normalzustand“ |
|
Schnittstelle der Visualisierung visPie
:
VAR_IN_OUT pieToDisplay : DATAPIE; END_VAR
Hauptvisualisierung visMain
:
„Referenzierte Visualisierungen“ |
|
„visPie“ |
|
„Überschrift“ |
|
|
|
„visPie“ |
|
„Überschrift“ |
|
|
|
„visPie“ |
|
„Überschrift“ |
|
|
|
DATAPIE (STRUCT)
TYPE DATAPIE : // Parameter type used in visPie STRUCT dwColor : DWORD; // Color data iStart : INT; // Angle data iEnd : INT; sLabel : STRING; END_STRUCT END_TYPE
GVL
{attribute 'qualified_only'} VAR_GLOBAL CONSTANT c_dwBLUE : DWORD := 16#FF0000FF; // Highly opaque c_dwGREEN : DWORD := 16#FF00FF00; // Highly opaque c_dwYELLOW : DWORD := 16#FFFFFF00; // Highly opaque c_dwGREY : DWORD :=16#88888888; // Semitransparent c_dwBLACK : DWORD := 16#88000000; // Semitransparent c_dwRED: DWORD := 16#FFFF0000; // Highly opaque END_VAR
PLC_PRG
PROGRAM PLC_PRG VAR iInit: BOOL := TRUE; pieA : DATAPIE; // Used as argument when visPie is called pieB : DATAPIE; pieC : DATAPIE; iDegree : INT; // Variable center angle for the pie element used for animation END_VAR IF iInit = TRUE THEN pieA.dwColor := GVL.c_dwBLUE; pieA.iStart := 0; pieA.sLabel := 'Blue'; pieB.dwColor := GVL.c_dwGREEN; pieB.iStart := 22; pieB.sLabel := 'Green'; pieC.dwColor := GVL.c_dwYELLOW; pieC.iStart := 45; pieC.sLabel := 'Yellow'; iInit := FALSE; END_IF iDegree := (iDegree + 1) MOD 360; pieA.iEnd := iDegree; pieB.iEnd := iDegree; pieC.iEnd := iDegree;
Hauptvisualisierung visMain
in Laufzeit:

Instanzname eines Übergabeparameters ausgeben
Um den Instanznamen eines Übergabeparameters zu erhalten und auszugeben, können
Sie eine Schnittstellenvariable (Datentyp STRING
) mit Pragma {attribute 'parameterstringof'}
unter dem Gültigkeitsbereich VAR_INPUT
implementieren.
Im Projekt ist eine Visualisierung und eine Hauptvisualisierung vorhanden. Die Hauptvisualisierung enthält Elemente, die die Visualisierung referenziert.
-
Öffnen Sie die Visualisierung.
-
Wählen Sie den Befehl „Visualisierung Schnittstelleneditor“.
-
Deklarieren Sie eine Schnittstellenvariable (
VAR_IN_OUT
).pieToDisplay : DATAPIE;
-
Deklarieren Sie im Schnittstelleneditor eine Variable (
VAR_INPUT
) mit Attribut{attribute 'parameterstringof'}
.{attribute 'parameterstringof' := 'pieToDisplay'}
sNameToDisplay : STRING;
-
Speichern Sie die Änderungen.
Der Dialog „Aktualisierung der Frame-Parameter“ öffnet sich nicht.
-
Füge Sie ein Element „Textfeld“ ein.
-
Weisen Sie dem Textfeld in der Eigenschaft „Texte“, „Text“ einen Ausgabetext zu.
Visualization of %s
-
Weisen Sie dem Textfeld in der Eigenschaft „Textvariablen“, „Textvariable“ die Schnittstellenvariable zu.
sNameToDisplay
visPie
hat eine Überschrift.
Beispiel
Die Visualisierung visPie
besteht bisher aus einem Kreissektor. Die Hauptvisualisierung visMain
ruft visPie
in „Registerkarten“ dreimal mit unterschiedlichen Übergabeparameter auf.
Die Visualisierung visPie
wird erweitert um ein Textfeld, das den Namen der an die Visualisierung übergebene
tatsächliche Parameter ausgibt. Dafür wird die Schnittstelle von visPie
um eine Stringvariable erweitert, die den Instanznamen des angegebenen Übergabeparameters
enthalten wird. Zur Laufzeit wird jeder Kreissektoren damit überschrieben.

„Texte“, „Text“ |
|
„Textvariablen“, „Textvariable“ |
|
Schnittstelle der Visualisierung 'visPie':
VAR_INPUT {attribute 'parameterstringof' := 'pieToDisplay'} sNameToDisplay : STRING; END_VAR VAR_IN_OUT pieToDisplay : DATAPIE; END_VAR
Hauptvisualisierung visMain
in Laufzeit:
