Struktur der XML-Datei

Dieses Kapitel beschreibt die Struktur der XML-Datei. Die Eigenschaften der Datei sind ähnlich den Eigenschaften des Eigenschaftenfensters im GEDI. Das bedeutet, dass in der XML-Datei die gleichen Eigenschaften wie im Eigenschaftenfenster verfügbar sind. Die XML Panel Datei-Struktur wird in der folgenden Abbildung angezeigt:

Abbildung 1. Struktur der XML Panel-Datei

Die Datei beginnt und endet mit dem XML-Tag <panel>. Zwischen diesen beiden Tags sind alle Panel-Eckdaten enthalten.

Innerhalb des Tags <properties> werden alle Eigenschaften des Panels gespeichert (u.a. Größe, Hintergrundfarbe, Position).

Der Inhalt des Tags <events> beschreibt alle definierten Ereignisse des Panels (u.a. Initialisierung, Klick, Schließen).

Der Tag <layers> beinhaltet Informationen zu den sichtbaren Ebenen des Panels.

Der Tag <shapes> beinhaltet alle relevanten Informationen zu den Objekten im Panel (siehe auch Shape-Typen).

Im folgenden Beispiel wird Ihnen die Struktur einer XML-Datei genauer beschrieben. Es wird ein Panel mit Shapes im GEDI erstellt. Andere Shapes wie Text, Textfeld, Combobox, usw. werden später im Kapitel Shape-Typen behandelt. Das Panel sowie die erstellten Schaltflächen sollen entsprechende Ereignisse auslösen. Eine Referenz wird dem Panel hinzugefügt, um die Anwendung von Referenzen zu demonstrieren.

Beispiel eines Panels mit BEFEHLSKNÖPFEN UND EINER REFERENZ

  1. Starten Sie Ihr Projekt.

  2. Öffnen Sie den Grafik-Editor GEDI.

  3. Erstellen Sie ein Panel "OpenPanel" mit drei Befehlsknöpfen.

  1. Positionieren Sie einen Befehlsknopf mit dem Namen "jumpLeft" links oben im Panel.

  2. Wählen Sie für diesen Befehlsknopf im Attribut-Editor->Button Label das Bild "jumpLeft.bmp" aus dem Ordner pictures in Ihrem WinCC OA Installationsverzeichnis aus.

  3. Geben Sie einen Tooltip-Text mit folgendem Inhalt ein: "Bewege nach links"

  4. Positionieren Sie einen zweiten Befehlsknopf mit dem Namen "Oeffnen" und Button Label "Öffnen" und der Hintergrundfarbe grau {204, 204, 204} rechts neben dem Befehlsknopf "jumpLeft" .

  5. Positionieren Sie einen dritten Befehlsknopf mit dem Namen und Button Label "Schließen", der Hintergrundfarbe gelb {255, 255, 204} und der Vordergrundfarbe rot {255, 0, 0} rechts neben dem Befehlsknopf "Öffnen".

  6. Setzen Sie zusätzlich die Hover Hintergrundfarbe auf braun {153, 102, 0} und die Hover Vordergrundfarbe auf grün {204, 255, 102}. Vergessen Sie nicht die beiden Farben zu aktivieren! Diese Farben werden gesetzt, wenn die Maus über das Objekt bewegt wird.

  1. Fügen Sie dem Panel die Referenz "Led_1" hinzu.

  1. Öffnen Sie den Referenz-Katalog über das Menü Ansicht->Katalog-> WinCC OA Pfad.

  2. Fügen Sie die Referenz "Led_1" aus STD_LEDS unterhalb der Befehlsknöpfe dem Panel hinzu.

  3. Wählen Sie in der Referenzparametrierung über den Datenpunktselektor den Datenpunkt "ExampleDP_BIT->ExampleDP_AlertHdl1" aus.

  4. Aktivieren Sie die Auswahl der Farbe der Meldebehandlung, indem Sie in der Checkbox den Haken entfernen.

  5. Setzen Sie die "Farbe 0" auf Blau (Farbe der LED, wenn der Wert des Datenpunktes FALSE ist) und die "Farbe 1" auf STD_led_On (Farbe der LED, wenn der Wert des Datenpunktes TRUE ist).

  6. Haken Sie die Checkbox Farbe der Meldebehandlung wieder an.

Abbildung 2. Referenz-Parametrierung - LED_1.pnl
  1. Fügen Sie eine Ellipse dem Panel hinzu. Der Name der Ellipse bleibt unverändert.

  2. Das Panel soll beim Öffnen eine Aktion ausführen. Wenn das Panel geöffnet wird, wird der Wert des Datenpunktes ExampleDP_Arg1 auf 4.5 gesetzt und eine Pop-Up Nachricht "Der DP-Wert wurde gesetzt" angezeigt. Wenn der Wert nicht gesetzt werden konnte, wird eine Pop-Up Nachricht "Der DP-Wert konnte nicht gesetzt werden" angezeigt. Geben Sie den folgenden Code im Ereignis Initialize des Panels ein:

main()
{
  string dp = "ExampleDP_Arg1.:_original.._value";
  float val = 4.5; //der Wert, der gesetzt werden soll
  int retVal; 
  retVal=dpSet(dp,val); //dpSet() Funktionsaufruf
  string uiDp = "_Ui_1"; /* UI-Datenpunkt (das eigene User Interface) für die
  popupMessage-Funktion.*/
  if(retVal==0) /*Überprüfe ob die dpSet()-Funktion
  erfolgreich ausgeführt wurde */
  {
    langString msgText = "Der Datenpunktwert wurde gesetzt";
    popupMessage(uiDp, msgText); /* Zeige die oben definierte Nachricht an,
    wenn die Funktion erfolgreich ausgeführt wurde. */
  }
 else
  {
    langString msgText = "Der Datenpunktwert konnte nicht gesetzt werden";
    popupMessage(uiDp, msgText);
  }
}
  1. Der Befehlsknopf "jumpLeft" soll beim Klick eine Aktion ausführen. Die Hintergrundfarbe des "jumpLeft" Befehlsknopfes wird blau und die Vordergrundfarbe des Öffnen-Befehlsknopfes wird rot. Geben Sie dafür den folgenden Code für den Befehlsknopf "jumpLeft" (Ereignis Clicked) ein:

main()
{
  jumpLeft.backCol("Blue");
  Oeffnen.foreCol("Red");
}
  1. Die Ellipse soll mit dem Bild aus "jumpLeft" gefüllt werden und der Text des Öffnen-Befehlsknopfs soll auf den Text "jumpLeft" geändert werden, wenn Sie auf den "jumpLeft" Befehlsknopf doppelklicken. Fügen Sie dafür den folgenden Code für den Befehlsknopf "jumpLeft" (Ereignis DoubleClicked) ein:

main()
{
   ELLIPSE1.fill("[pattern,[tile,bmp,jumpLeft.bmp]");
   Oeffnen.text("jumpLeft");
}
  1. Speichern Sie das Panel im Verzeichnis panelsim WinCC OA Format (OpenPanel.pnl) und im XML-Format (OpenPanel.xml).

  2. Setzen Sie den Wert des Datenpunkteelements ExampleDP_BIT->ExampleDP_AlertHdl1->_original mit Hilfe des PARA-Moduls auf TRUE.

  3. Testen Sie das Panel indem Sie es über Quicktest im GEDI starten.

  4. Wenn Sie auf den Befehlsknopf "jumpLeft" klicken und die Maus über die Befehlsknopf "Schließen" bewegen, sollte das Panel wie folgt aussehen: LED blinkt in der Farbe der Meldebehandlung (Rot), der Datenpunktwert sollte gesetzt sein und die PopUp-Nachricht angezeigt werden. Beim Doppelklick auf den Befehlsknopf "jumpLeft" wird die Ellipse mit dem jumpLeft-Muster gefüllt und der Text des Befelsknopfes "Öffnen" wird in "jumpLeft" geändert.

Abbildung 3. OpenPanel

  1. Öffnen Sie im Windows Explorer das Panel OpenPanel.xml.

Die erstellte Datei ist strukturiert wie am Anfang des Kapitels erwähnt wurde. Die Teile der Datei werden Ihnen an dieser Stelle ausführlicher beschrieben.

Properties

Abbildung 4. Panel-Eigenschaften der XML-Datei

Der erste Teil der Datei enthält die allgemeinen Einstellungen des Panels:

  • Name des Panels (enthält die Sprache und den dazugehörigen Panelnamen). Im Falle eines mehrsprachigen Projektes werden nach dem Muster alle Sprachen und die dazugehörigen Panelnamen untereinander gelistet.

  • Size (Größe) mit Größenangaben.

  • BackColor (Hintergrundfarbe) mit Angabe der ausgewählten Hintergrundfarbe.

  • RefPoint (Lage: die erste Nummer ist die X-Koordinate und die zweite Nummer die Y-Koordinate). Der Referenzpunkt ist für jedes Objekt verfügbar.

  • InitAndTermRef (TRUE) - triggert die Ereignisse Initialize und Terminate wenn das Panel als Referenz verwendet wird.

  • SendClick wird angezeigt wenn der Wert im GEDI auf TRUE gesetzt wurde. Wenn der Wert TRUE ist, sendet SendClick die X- und Y-Koordinaten eines Mausklicks im Panel an die Datenpunktelemente des verwendeten UI-Managers. Zusätzlich zu den X- und Y-Koordinaten werden auch das Modul und das zugehörige Panel in dem Datenpunkt gespeichert. Dadurch können z.B. die Koordinaten des letzten Mausklicks abgefragt werden. Siehe Kapitel Panelfenster und Eigenschaften des Panels.

Events (Ereignisse)

Die Ereignisse des Panels werden innerhalb des Tags <events> angezeigt. In der Abbildung unten sehen Sie den Code, der im obigen Beispiel für das öffnen der Pop-up Meldung verantwortlich ist, wenn ein Wert am Datenpunkt ExampleDP_Arg1 gesetzt wird.

Abbildung 5. Die Ereignisse des Panels in der XML-Datei

Layers (Ebenen)

Die acht verschiedenen Panel-Ebenen können sichtbar oder unsichtbar im Panel gesetzt werden oder editierbar oder nicht. Für detaillierte Information über Ebenen siehe Kapitel Eigenschaften von Grafikobjekten (Registerkarte Normal).

Abbildung 6. Eigenschaften von Ebenen (layers) der XML-Datei

Shapes

Der Tag <shape> (Grafikobjekt) ähnelt von der Struktur einem Panel (Properties, Events). Innerhalb des Tags werden alle Eigenschaften und Ereignisse eines Grafikobjekts oder Referenz beschrieben. Im Folgenden wird Ihnen die Struktur des Befehlsknopfs "jumpLeft" und der Referenz "Led_1" beschrieben.

Abbildung 7. Eigenschaften und Ereignisse eines Befehlsknopfs in der XML-Datei

PUSH_BUTTON Properties

In den Properties werden alle Eigenschaften des Objekts gelistet. Diese gleichen den Einstellungen im GEDI Attribut-Editor. Die Eigenschaften eines Grafikobjekts sind vom Typ abhängig (hier PUSH_BUTTON). Die spezifischen Eigenschaften der verschiedenen Shape-Typen werden im Kapitel Shape-Typen beschrieben.

Im Folgenden werden deshalb nur die XML-spezifischen Eigenschaften eines Objekts beschrieben. Die Eigenschaften, welche im Attribut-Editor im GEDI einstellbar sind (Enable, Visible, ForeColor, BackColor, Type und Image), werden im Kapitel Eigenschaften von Grafikobjekten (Registerkarte Standard) näher behandelt.

  • ShapeType - Type des Grafikobjekts (Ellipse, Befehlsknopf, Polygon, usw.)

  • LayerID - Legt die Ebene fest, auf der das Objekt sichtbar ist

  • Name - Name des Objekts

  • SerialID - Seriennummer des Grafikobjekts zur Identifizierung. Eine ID zu vergeben ist relevant, wenn das Panel als Referenz verwendet wird. Bei einer Überparametrierung werden die Grafikobjekte eines Referenz-Panels über diese IDs zugeordnet. Für mehr Information über Referenzen und Überparametrierung siehe Kapitel Eigenschaften von Referenzen und Überparametrierung. Wird in einem Referenz-Panel ein Grafikobjekt mit einem Bild verwendet, so bekommt das Bild den Namen der SerialID (z.B. 0.bmp).

  • RefPoint - Lage: die erste Nummer ist die X-Koordinate und die zweite Nummer die Y-Koordinate

  • TabOrder - Reihenfolge in welcher die Objekte im Modul VISION (zur Laufzeit) über die Tabulatortaste adressiert und aktiviert werden können. Siehe Kapitel Objektfenster (Tabulator Reihenfolge).

  • ToolTipText - Kommentar, welcher eingeblendet wird, wenn die Maus über dem Objekt bewegt wird. Der Tooltip Text ist in verschiedenen Sprachen einstellbar. In der XML-Datei werden alle Texte mit der zugehörigen Sprache angegeben.

  • BoderStyle - definiert ob die Ränder "normal", "3D", "versenkt" oder "erhoben" sind

  • Font - definiert die Schriftart. Für jede Sprache kann eine eigene Schriftart definiert werden.

  • Location - Lage im Modul GEDI

  • Size - Größe des Objekts

  • SharedPixmap - gibt die Anzahl und Dateinamen der verwendeten Bilder (Images) im Grafikobjekt

PUSH_BUTTON Events

Im Tag Events (Ereignisse) finden Sie alle definierten Ereignisse des Grafikobjekts. In der obigen Abbildung sind die Events Clicked und Doubleclicked zu sehen, welche im vorherigen Beispiel für den Befehlsknopf "jumpLeft" definiert wurden.

PANEL_REF1 Properties

Abbildung 8. Referenz in der XML-Datei

Die obige Abbildung zeigt die XML-Struktur der Referenz LED_1, welche dem Panel hinzugefügt wurde.

  • ReferenceId - aufsteigende Nummer für die verwendeten Referenzen im Panel. Die ID kommt bei einer Überparametrierung zum Einsatz. Die Referenzen die überparametriert wurden, werden anhand dieser ID identifiziert, wenn mehrere Referenzen im Panel verwendet werden.

  • Name - Name der Referenz

  • ParentSerial - Seriennummer des Objekts, welches überparametriert wurde. Die Referenz wird über diese Nummer identifiziert, wenn mehrere überparametrierte Referenzen im Panel verwendet werden.

  • FileName - Dateiname

  • Location - Lage im Modul GEDI

  • Geometry - geometrische Angaben zum Rotationswinkel

  • TabOrder - Reihenfolge in welcher die Objekte im Modul VISION (zur Laufzeit) über die Tabulatortaste adressiert und aktiviert werden können. Siehe Kapitel Objektfenster (Tabulator Reihenfolge).

  • dollarParameter - zeigt die Dollarparameter der Referenz. Ein Dollarparameter ist ein Platzhalter für einen Datenpunktbezeichner. Der Vorteil beim Einsatz von Referenzen ist, dass wenn mehrere gleichartige Referenzen (z.B. drei LED_1) dem Panel hinzugefügt werden, werden bei durchgeführeten Änderungen an einer Referenz diese automatisch auf die anderen Referenzen vererbt (Subobjekte der Referenz). Mehr Informationen zu Dollarparametern erhalten Sie im Kapitel Eigenschaften von Referenzen und Überparametrierung.

  • $b_ShowAlert - bei TRUE werden alle Alarmbehandlungen angezeigt

    $dpe_value - der Wert des Datenpunktes, der die Alarmbehandlung definiert (hier "ExampleDP_AlertHdl1")

    $s_ColOff - Angabe zur Farbe beim ausgeschalteten Alarm

    $s_ColOn
    - Angabe zur
    Farbe beim eingeschalteten Alarm
Anmerkung: Beachten Sie, dass wenn Sie ein XML-Panel erstellen und einige Eigenschaften fehlen, werden die Standard-Eigenschaften verwendet. Es gibt jedoch obligatorische Eigenschaften, die existieren müssen. Wenn eine obligatorische Eigenschaft nicht existiert, ist das Panel ungültig und es wird eine Nachricht angezeigt.

Der dritte Befehlsknopf "Schließen" enthält die "HoverBackCol" und "HoverForeCol" -Eigenschaften. Die Hinter- und Vordergrundfarben des Befehlsknopfs werden entsprechend geändert wenn, wenn Sie die Maus über den Befehlsknopf bewegen.

Abbildung 9. HoverBackCol und HoverForeCol -Eigenschaften der XML-Datei

Da die Strukturen der Befehlsknöpfe sich relativ ähneln, werden sie in diesem Kapitel nicht separat beschrieben. Der Aufbau der XML-Datei einer Ellipse, wird im Kapitel Shape-Typen beschrieben.