Dialog in einer Visualisierung aufrufen
Sie können für eine Visualisierung eine Benutzereingabe konfigurieren, die bewirkt, dass sich eine Visualisierung als Dialog öffnet. Beispielsweise klickt ein Benutzer auf eine Schaltfläche, woraufhin sich ein Dialog öffnet und zur Eingabe von Werten auffordert. Ein Dialog wird verwendet, um Eingaben vom Benutzer einzuholen und kann, wenn er modal ist, dazu führen, dass Eingaben außerhalb des Dialogs geblockt werden.
Nur Visualisierungen, die den Visualisierungstyp Dialog haben, können als Dialog geöffnet werden. Sie konfigurieren den Visualisierungstyp im Dialog Eigenschaften eines Visualisierungsobjekts.
Voraussetzung: Im Projekt sind eine Hauptvisualisierung und ein Dialog vorhanden.
Konfigurieren Sie eine Benutzereingabe für die Hauptvisualisierung mit der Aktion OpenDialog für den Dialog.
Das Öffnen des Dialogs ist konfiguriert.
Konfigurieren Sie eine Benutzereingabe für ein Element des Dialogs mit der Aktion CloseDialog.
Tipp: Bei nicht modalen Dialogen können Sie die Benutzereingabe für das Schließen auch außerhalb des Dialogs konfigurieren.
Das Schließen des Dialogs ist konfiguriert.
Tipp
Anstelle von selbst erstellten Dialogen können Sie auch Dialoge aus Bibliotheken verwenden. Wenn beispielsweise die Bibliothek VisuDialogs
im Projekt eingebunden ist, können Sie die darin enthaltenen Dialoge VisuDialogs.Login
oder VisuDialogs.FileOpenSave
verwenden.
Wählen Sie in der Ansicht Geräte das Objekt aus, öffnen Sie das Kontextmenü und wählen Sie den Befehl aus.
Wählen Sie die Registerkarte Visualisierung aus.
Aktivieren Sie die Option Dialog und beenden Sie den Dialog mit OK.
Die Visualisierung hat den Visualisierungstypen Dialog und kann als solcher aufgerufen werden.
Bei Dialogaufrufen klickt üblicherweise ein Benutzer auf eine Schaltfläche, woraufhin sich ein Dialog öffnet und zur Eingabe auffordert.
Im folgenden Beispiel ermöglicht ein Dialog, der einen Kalender darstellt, die Eingabe eines Datums.
Voraussetzung: Das Projekt enthält die Visualisierungen visMain
und dlgCalender
.
Stellen Sie den Visualisierungstypen von
dlgCalender
auf Dialog.Ziehen Sie ein Rechteck in die Visualisierung
visMain
.Konfigurieren Sie die Eigenschaft
mit dem TextDue Date: %t[yyyy-MM-dd]
.Konfigurieren Sie die Eigenschaft
mitPLC_PRG.dateDue
.Ziehen Sie eine Schaltfläche in die Visualisierung.
Konfigurieren Sie die Eigenschaft
mit dem TextOpen dialog
.Konfigurieren Sie die Eigenschaft Dialog öffnen mit
für die AktiondlgCalender
.Die Benutzereingabe für das Öffnen des Dialogs ist konfiguriert.
Doppelklicken Sie auf den Dialog
dlgCalender
.Ziehen Sie ein Element Datumsauswahl in den Visualisierungseditor.
Konfigurieren Sie die Eigenschaft
mitDue Date: %t[yyyy-MM-dd]
.Konfigurieren Sie die Eigenschaft
mitPLC_PRG.dateCalender
.Das Element ist konfiguriert.
Ziehen Sie eine Schaltfläche in den Visualisierungseditor.
Konfigurieren Sie die Eigenschaft
mitOK
.Konfigurieren Sie die Eigenschaft Dialog schließen mit
für die AktiondlgCalender, Result: OK
.Konfigurieren Sie eine weitere Eigenschaft ST-Code ausführen mit
für die AktionPLC_PRG.dateDue := PLC_PRG.dateCalendar;
.Die Benutzereingabe für das Schließen des Dialogs ist konfiguriert.
Ziehen Sie eine weitere Schaltfläche in den Visualisierungseditor.
Konfigurieren Sie die Eigenschaft
mitCancel
.Konfigurieren Sie die Eigenschaft Dialog schließen mit
für die AktiondlgCalender, Result: Cancel
.Die Benutzereingabe für das Abbrechen des Dialogs ist konfiguriert.
Übersetzen, laden und starten Sie die Applikation.
Variablendeklaration:
PROGRAM PLC_PRG VAR dateDue : DATE := DATE#2000-01-01; dateCalendar : DATE; END_VAR
Sie können einen Dialog mittels Applikationscode öffnen oder einen Dialog applikativ öffnen. Verwenden Sie dabei für einen einfachen Zugriff die Schnittstellen der Bibliothek Visu Utils
. Wenn Sie Visu Utils
im Bibliotheksverwalter öffnen, können Sie die Bibliothek nach ihrem Inhalt durchsuchen und auf die Bibliotheksdokumentation zugreifen.
Mit den Funktionsbausteinen FbOpenDialog
, FbOpenDialogExtended
und FbCloseDialog
der Bibliothek Visu Utils
können Sie Dialoge öffnen und schließen. Soll ein Dialog global geöffnet oder geschlossen werden, so muss der Parameter itfClientFilter := VU.Globals.AllClients
beim Aufruf des Bausteins gesetzt sein. Dann erscheint oder verschwindet der Dialog gleichzeitig auf allen Darstellungsvarianten, die unter dem Visualisierungsmanager konfiguriert sind.
Tipp
Bis CODESYS V3.5 SP10 konnten Sie einen programmatischen Zugriff auf Dialoge nur mit Hilfe der Funktionalität des internen Dialogmanagers implementieren. Ab V3.5 SP11 steht Ihnen dafür die Bibliothek Visu Utils
zur Verfügung.
In diesem Beispielprojekt wird über die Schnittstellen der Bibliothek „Visu Utils
” programmatisch auf Dialoge zugegriffen. Sie können dort nachvollziehen, wie das Öffnen eines Dialogs oder die Übergabe von Parametern an einen Dialog implementiert ist.