Visualisierung mit Schnittstelle aufrufen
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 einem Registersteuerelement 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 einem Registersteuerelement mehrmals auf. Über die Schnittstellenvariable pieToDisplay werden Farbinformationen, Winkelinformationen und eine Beschriftung übergeben. Zur Laufzeit variieren die Kreissektoren darin.
Visualisierung visPie:
Eigenschaften des Elements Kreissektor:
Variable für Anfang |
pieToDisplay.iStart |
Variable für Ende |
pieToDisplay.iEnd |
Texte ‣ Text |
%s |
Textvariablen ‣ Textvariable |
pieToDisplay.sLabel |
Farbvariable ‣ Normalzustand |
pieToDisplay.dwColor |
Schnittstelle der Visualisierung visPie:
VAR_IN_OUT
pieToDisplay : DATAPIE;
END_VAR
Hauptvisualisierung :code:`visMain:`
Eigenschaften des Elements Registersteuerelement:
Referenzierte Visualisierungen |
|
visPie |
|
Überschrift |
A |
pieToDisplay |
PLC_PRG.pieA |
visPie |
|
Überschrift |
B |
pieToDisplay |
PLC_PRG.pieB |
visPie |
|
Überschrift |
C |
pieToDisplay |
PLC_PRG.pieC |
:code:`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
:code:`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 :code:`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 einem Registersteuerelement 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.
Eigenschaften des Elements Textfeld:
Texte, Text |
Visualization of %s |
Textvariablen, Textvariable |
sNameToDisplay |
Schnittstelle der Visualisierung 'visPie':
VAR_INPUT
{attribute 'parameterstringof' := 'pieToDisplay'}
sNameToDisplay : STRING;
END_VAR
VAR_IN_OUT
pieToDisplay : DATAPIE;
END_VAR
Hauptvisualisierung :code:`visMain in Laufzeit:`