Schnittstellen-Editor
Der Schnittstellen-Editor wird verwendet, um Schnittstellen in Visualisierungen zu definieren. Die Schnittstellen sind dazu bestimmt, in einem Frame auf einer anderen Visualisierungsseite referenziert zu werden. Der Editor gehört zum Visualisierungseditor und erscheint im oberen Teil des Editors als separates Registerblatt neben dem Editor für die Tastaturkonfiguration und der Elementliste.
Deklaration einer Schnittstelle
Da eine Visualisierung als Funktionsbaustein behandelt wird, erscheint der Schnittstelleneditor als normaler Deklarationseditor im oberen Teil des Visualisierungseditors. Hier können Eingabevariablen, also Frameparameter, deklariert werden.
Deklaration der Parameter
- VAR_INPUT
- VAR_INPUT mit Attribut 'parameterstringof': Eine Variable mit diesem Attribut erhält als Wert den Namen der Variable, die beim Aufruf in einem Frame Element auf eine zu definierende Eingangsvariablen gelegt ist.
VAR_INPUT
{attribute 'parameterstringof' := 'bInput'}
sVarName : STRING;
bInput : BOOL;
END_VAR
- VAR_IN_OUT: Wird eine Datenstruktur übertragen, muss diese als VAR_IN_OUT definiert werden. Ohne Pragma werden die Werte der Parameter kopiert, wenn die Visualisierung geöffnet wird. Eingaben werden auf die kopierte Datenstruktur geschrieben und mit Schließen der Visualisierung werden die Werte in die Parameter zurückgeschrieben.
- VAR_IN_OUT mit Attribut VAR_IN_OUT_AS_POINTER: Hier ist es erlaubt, Objekte als Referenzen an Visualisierungen zu übergeben. Nützlich kann das sein, wenn Informationen an eine Visualisierung übergeben werden sollen, ohne dass diese kopiert werden, oder wenn Informationen von außen aktualisiert werden sollen, während der Dialog geöffnet ist. Dieses Attribut ist ausschließlich bei Visualisierungen, die als Dialog eingestellt und verwendet werden, zulässig.
Beispiel
Die Visualisierung ViewData verwendet die Schnittstelle stUserData des Typs ST_UserData. Das Visualisierungselement GenElemInst_1 der Visualisierung ViewData verwendet User und zeigt den Variablenwert von stUserData.sName an, so wie es in der Ansicht Eigenschaften von GenElemInst_1 programmiert ist.
Programmierung des Frames
Um ein Frame-Element zu programmieren, gehen Sie wie folgt vor:
- Fügen Sie ein Frame-Element in Ihrer Hauptvisualisierung hinzu.
- Setzen Sie die Referenz auf eine Visualisierung mit Interface, die auch in einer Bibliothek gespeichert sein kann.
- Weisen Sie jedem Frameparameter eine Variable zu.
Beispiel
Das Visualisierungselement Frame referenziert die Visualisierung ViewData. In der Ansicht Eigenschaften wird diese Zuweisung mit allen Frame-Parametern aufgeführt. Mit Klick in das Wertefeld einer solchen Variablen wird eine Variable des gleichen Typs zugewiesen. Hier wird also MAIN.stHansData zugewiesen.
Aktualisierung der Frameparameter
Wenn die Schnittstelle einer in einem Frame eingefügten Visualisierung geändert wird, wird beim Speichern oder Kompilieren des Projekts oder beim Öffnen eines betroffenen Objekts der im Beispiel dargestellte Dialog automatisch geöffnet. Sie können dann in diesem Dialog die Frame-Parameter anpassen. In dem Fall, dass die Schnittstelle einer aus einer Bibliothek stammenden Visualisierung geändert wurde, müssen die Parameter in Ihrem Projekt auch aktualisiert werden.
Parameter | In dieser Spalte können Sie die geänderten Parameter in Baumansicht sehen. Übergeordnet werden zuerst die Visualisierung und dann der entsprechende Frame mit der Referenz auf die geänderte Visualisierung aufgelistet. Darunter sind die aktuell gültigen Parameter und dann die vorigen aufgelistet. |
Typ | In dieser Spalte ist der Typ der Parameter angezeigt. |
Wert | Das Wertefeld enthält die Variable, die dem Parameter zugewiesen wurde. Beachten Sie die Färbung des Feldes:
|
Werte bearbeiten
Um Werte, die sich unter Aktuelle befinden, zu bearbeiten, selektieren Sie das Wertefeld per Mausklick. Nach einem weiteren Mausklick in das Feld oder nach Drücken der Leertaste, öffnet sich ein Zeileneditor. Sie können nach dem Selektieren auch einfach anfangen zu tippen. Weisen Sie eine andere Variable zu, indem Sie deren Namen eintippen oder selektieren Sie eine mithilfe des Eingabeassistenten.
Ein vorhandener Werteintrag kann in ein anderes Feld kopiert werden. Selektieren Sie dafür den Eintrag, der kopiert werden soll, verwenden Sie "Kopieren" und selektieren Sie das Feld, in das der Eintrag eingefügt werden soll und verwenden Sie "Einfügen".
Bestätigen Sie die Einstellung im Dialog mit "OK". Der Dialog schließt und die neue Parameterzuweisungen können in der Ansicht Eigenschaften, Kategorie Referenzen beim zugehörigen Frame-Element angezeigt werden.
Gebrauch von Instanznamen in der Visualisierung Falls Sie innerhalb des referenzierten Visualisierungsbausteins vom Instanznamen einer übergebenen Variablen Gebrauch machen möchten, müssen Sie mit dem Pragma-Attribut 'parameterstringof' arbeiten, welcher einen entsprechenden String zur Verfügung stellt. |
Beispiel
Die Schnittstelle der Visualisierung ViewData ist um die Variable bLoggedIn erweitert worden:
VAR_IN_OUT
stUserData : ST_UserData;
bLoggedIn : BOOL;
END_VAR
Beim Kompilieren oder Speichern des Projektes, erscheint der folgende Dialog für die Konfiguration des neuen Parameters:
Er enthält einen Vergleich zwischen den aktuellen und den vorigen Parametern. bLoggedIn wurde der neue Wert TRUE zugewiesen. Nach dem Schließen des Dialogs mit OK, können die neuen Parameter auch in den Eigenschaften des Frame-Elements nachvollzogen werden.
Pragmas
Es besteht die Möglichkeit, folgende zwei Parameter im Schnittstellen-Editor zu verwenden.
- Attribut "VAR_IN_OUT_AS_POINTER"
- Attribut 'parameterstringof'