Sie können für eine Visualisierung, die als Dialog aufgerufen wird, eine Schnittstelle definieren.
Gestalten Sie dafür eine Visualisierung mit Visualisierungstyp „Dialog“ und deklarieren Sie für den Dialog eine Schnittstelle. Referenzieren Sie dann die Visualisierung in einer Hauptvisualisierung über eine Benutzereingabe und übergeben Sie der Schnittstelle Parameter.
Wenn Sie die Visualisierung als Integrierte Visualisierung aufrufen, müssen die Parameter, die übergeben werden, Variablen mit einem Basisdatentyp sein. Wenn die Visualisierung als CODESYS TargetVisu oder CODESYS WebVisu aufgerufen wird, können die Parameter auch benutzerdefinierten Datentypen haben.
Prinzipielle Vorgehensweise
-
Stellen Sie den Visualisierungstypen der Visualisierung auf Dialog.
-
Deklarieren Sie im Schnittstelleneditor des Dialogs Variablen.
Der Dialog hat eine Schnittstelle. Sie können beim Aufruf des Dialogs Parameter übergeben.
-
Konfigurieren Sie die Elemente des Dialogs und verwenden Sie dabei die Schnittstellenvariablen.
-
Selektieren Sie ein Element in einer anderen Visualisierung, üblicherweise der Hauptvisualisierung, um das Öffnen des Dialogs zu konfigurieren.
-
Klicken Sie in der Eigenschaft „Eingabekonfiguration OnMouseDown“ auf die „Konfigurieren“.
Der Dialog „Eingabekonfiguration“ erscheint.
-
Selektieren Sie „Dialog öffnen“ in der Liste der ausgewählten Eingabeaktionen.
-
Wählen Sie in der Auswahlliste „Dialog“ einen aus.
Wenn der ausgewählte Dialog eine Schnittstelle hat, erscheinen die Schnittstellenvariablen in der Liste darunter.
-
Weisen Sie den Schnittstellenvariablen unter der Spalte „Wert“ einen Übergabeparameter zu.
-
Wählen Sie unter der Liste „Aktualisiere“
„und“
„Parameter falls Ergebnis“ das Ergebnis aus, bei dem die Parameter aktualisiert werden.
-
Aktivieren Sie die Option „Dialog modal öffnen“. Beenden Sie den Dialog mit „OK“.
Das Öffnen des Dialogs ist konfiguriert.
Wenn Sie einen Dialog gleichzeitig mehrmals ausführen wollen, werden mehrere Instanzen des Dialogs benötigt. Diese müssen schon beim Herunterladen der Applikation auf das Visualisierungsgerät geladen werden. Stellen Sie dafür im Visualisierungsmanager in der Registerkarte „Visualisierungen“ die Anzahl der zu ladenden Instanzen ein.
Beispiel
Die folgende Applikation ruft den Dialog „Change User Level“ auf und fordert den Benutzer auf, einen Level auszuwählen und ein Passwort einzugeben. Wenn das Passwort stimmt, wird die Schaltfläche „OK“ aktiviert. Dann kann der Benutzer den Dialog beenden. Dabei wird die Eingabe des Levels übernommen.
Dialog visChangeUserLevel
:

Deklaration der Schnittstelle von Dialog visChangeUserLevel
:
VAR_INPUT sTitle: STRING; // titel of the dialog box sItfLevel0: STRING; //password level 0 sItfLevel1: STRING; //password level 1 sItfLevel2: STRING; //password level 2 sItfLevel3: STRING; //password level 3 sItfLevel4: STRING; //password level 4 sItfLevel5: STRING; //password level 5 sItfLevel6: STRING; //password level 6 sItfLevel7: STRING; //password level 7 END_VAR VAR_IN_OUT iItfLevel: INT; // user input: level sItfPwd: STRING; //user input: password END_VAR
Typ |
Name |
Elementeigenschaften |
Beschreibung |
---|---|---|---|
|
|
„Statische ID“: |
Die Eigenschaft weist dem Element das Bild eines leeren Dialogs mit grauem Hintergrund und einer leeren blauen Titelleiste zu. Das Bild ist in der Biblliothek „VisuDialogs“ enthalten. |
|
|
„Texte Text“: |
Ausgabe mit Platzhalter für Textvariable |
„Textvariablen Textvariable“: |
Zuweisung der Schnittstellenvariablen |
||
|
|
„Variable“: |
Zuweisung der Schnittstellenvariablen |
„Anzahl der Spalten“: |
|||
„Anordnung der Radiobuttons“: „Von links nach rechts“ |
Darstellung |
||
„Radiobuttoneinstellungen Radiobutton Bereiche“: [0] bis [7] „[<n>] Text“: <n> |
Beschriftung der 8 Radiobuttons mit Nummern von 0 bis 7 |
||
|
|
„Texte Text“: |
Ausgabe mit Platzhalter für Textvariable |
„Textvariablen Textvariable“: |
Zuweisung der Schnittstellenvariablen |
||
„Eingabenkonfiguration OnMouseDown Variable schreiben“: |
In Dialog „Eingabekonfiguration“ ist für die Auswahlliste „Eingabetyp“ „Texteingabe“ ausgewählt und die Option „Textausgabevariable verwenden“ aktiviert. |
||
|
|
„Texte Text“: |
Beschriftung |
|
|
„Texte Text“: |
Beschriftung |
|
|
„Texte Text“: |
Beschriftung |
„Farben Farbe“: „Farben Alarmfarbe“: |
Konfiguration der Darstellung in zustandsabhängigen Farben. Zwischen den Farben wird umgeschaltet. |
||
„Farbvariablen Farbumschlag“: |
Wenn das Password und die Benutzereingabe nicht übereinstimmen, ist der Ausdruck
|
||
„Zustandsvariablen Eingaben deaktivieren“: |
Wenn das Password und die Benutzereingabe nicht übereinstimmen, ist der Ausdruck
Wenn das Passwort stimmt, wird die Schaltfläche verfügbar. |
||
„Eingabenkonfiguration OnMouseDown Dialog schließen“: |
Wenn ein Benutzer auf die Schaltfläche „OK“ drückt, wird der Dialog |
||
|
|
„Texte Text“: |
Beschriftung |
„Farben Farbe“: |
Darstellung |
||
„Eingabenkonfiguration OnMouseDown Dialog schließen“: |
Wenn ein Benutzer auf die Schaltfläche „Cancel“ drückt, wird der Dialog |
Hauptvisualisierung visMain
:

Typ |
Name |
Elementeigenschaften |
Beschreibung |
---|---|---|---|
|
|
„Texte Text“: |
Ausgabe mit Platzhalter |
„Textvariablen Textvariable“: |
Zuweisung der Variablen |
||
|
|
„Texte Text“: |
|
„Eingabenkonfiguration OnMouseDown Dialog öffnen“: |
Wenn ein Benutzer auf die Schaltfläche Tipp: Klicken Sie auf „Konfigurieren“ , um im Dialog „Eingabekonfiguration“, Eingabeaktion„Dialog öffnen“ die hinterlegte Konfiguration einzusehen. |
Parameter |
Typ |
Wert |
Beschreibung |
---|---|---|---|
In dem Dialog „Eingabekonfiguration“, Eingabeaktion„Dialog öffnen“ ist die Parameterliste hinterlegt. |
|||
|
|
|
Übergabe eines Strings für den Titel. |
|
|
|
Übergabe eines Strings als Passwort für Level0. |
|
|
|
Übergabe eines Strings als Passwort für Level1. |
|
|
|
Übergabe eines Strings als Passwort für Level2. |
|
|
|
Übergabe eines Strings als Passwort für Level3. |
|
|
|
Übergabe eines Strings als Passwort für Level4. |
|
|
|
Übergabe eines Strings als Passwort für Level5. |
|
|
|
Übergabe eines Strings als Passwort für Level6. |
|
|
|
Übergabe eines Strings als Passwort für Level7. |
|
|
|
Übergabe einer Variablen für den vom Benutzer eingegebenen Level. |
|
|
|
Übergabe einer Variablen für das vom Benutzer eingegebenen Passwort. |
„Wert“ |
Beschreibung |
---|---|
„OK“ |
aktiviert |
„Dialog modal öffnen“ |
Aktiviert. Eingaben außerhalb des Dialogs sind nicht möglich |
Applikationscode PLC_PRG
:
PROGRAM PLC_PRG VAR iLevel: INT; sPwd : STRING; END_VAR
Visualisierung zur Laufzeit

Nach Klick auf die Schaltfläche öffnet sich der Dialog und erlaubt Eingaben. Wenn der eingegebene Text dem hinterlegten entspricht, wird „OK“ aktiviert:

Nach Klick auf „OK“ wird die Auswahl übernommen.

Das Beispiel verdeutlicht exemplarisch die Vorgehensweise bei mehreren Rückgabewerten. Allerdings kann die Rückgabe des Passworts einfacher mit einer lokalen Variable im Dialog realisiert werden.
Programmatisch auf Parameter zugreifen
Die in der Schnittstelle einer Visualisierung deklarierten Variablen stehen Ihnen
automatisch als Strukturvariable zur Verfügung. Sie sind mit <Name der Visualisierung>_VISU_STRUCT
bezeichnet. Sie können damit auf die Schnittstellenvariablen von Visualisierungen,
die als Dialog erscheinen, zugreifen. Üblicherweise verwenden Sie die Struktur im
Applikationscode einer Funktion, die auf eine Benutzereingabe hin aufgerufen wird.
Pointer als Parameter übergeben
Wenn Sie eine komplexe Datenstruktur übergeben wollen, können Sie eine Schnittstellenvariable
des Typs VAR_IN_OUT
mit dem Pragmaattribut VAR_IN_OUT_AS_POINTER
auszeichnen und ihr als Parameter einen Zeiger oder eine Referenz übergeben.
Vorgehen beim Verwenden von Referenzen
-
Deklarieren Sie das Benutzerdatenobjekt (
DUT
). -
Deklarieren Sie im Schnittstelleneditor eines Dialogs eine Schnittstellenvariable (
VAR_IN_OUT
) als eine Referenz auf das Datenobjekt, indem Sie der Variablen das Attribut'VAR_IN_OUT_AS_POINTER'
mitgeben. -
Programmieren Sie die Benutzerschnittstelle: Verwenden Sie den Dialog in einer Visualisierung oder weisen Sie den Dialog in der Eingabekonfiguration eines Visualisierungselements zu. Dann ist ein Zugriff auf die referenzierten Daten möglich.
Beispiel: Verwendung einer Schnittstelle mit Pragma 'VAR_IN_OUT_AS_POINTER'
FUNCTION_BLOCK ControlFB VAR_INPUT END_VAR VAR_OUTPUT END_VAR VAR bOk : BOOL := TRUE; nCounter : INT; nValue : INT; END_VAR nCounter := nCounter + 1;
Deklaration einer Schnittstellenvariabel mit VAR_IN_OUT_AS_POINTER

Benutzerschnittstelle: Dialog öffnet:

Siehe auch