Dynamisierung von Grafikelementen

Im vorangegangenen Abschnitt wurden ausschließlich fertige Standardsymbole zur Anzeige und Eingabe von Prozessinformationen verwendet. Im Folgenden wollen wir selbst dynamische Anzeigen erstellen und darüber hinaus eigene, wiederverwertbare Symbole entwickeln!

Als erste Aufgabe werden wir die Darstellung der Pumpe P1 unserer kleinen Beispielapplikation erzeugen. Das Ergebnis dieser Teil-Aufgabe wird also etwa folgendermaßen aussehen.

Abbildung 1. Pumpe P1 im grafischen Editor (links) und später zur Laufzeit (rechts)

Beispiel

Für den Aufbau dieses ersten eigenen Geräts gehen Sie wie folgt vor:

  1. Erstellen Sie ein neues Panel und speichern Sie dieses unter dem Namen myProcess.pnl.

  2. Wählen Sie im Eigenschaften-Fenster des Panels die Breite (Size X) zu 994 und die Höhe (Size Y) zu 514 Pixel.

  3. Legen Sie das Raster über das MenüAnsicht > Gitter/Fang Einstellungenmit 8 x 8 Bildpunkten fest

  4. Zeichnen Sie bei gedrückter[Shift]-Taste einen Kreis mit einem Durchmesser von 64 Pixel (Sie erkennen die korrekte Größe an der X/Y-Ausdehnung von 64x64 in der Statuszeile rechts unten).

  5. Wählen Sie für die Füllfarbe (Hintergrundfarbe) Weiß und für die Randfarbe (Vordergrundfarbe) Schwarz aus.

  6. Legen Sie die Liniendicke mit 2 über das Attribut "Rahmen" fest.

  7. Zeichnen Sie über den Kreis ein Polygon mit 3 Eckpunkten(gleichschenkliges Dreieck mit der Spitze nach rechts) und setzen Sie die Größe im Attribut-Editor auf 49x49 (51x51 Pixel in der Statuszeile). Wählen Sie bei der Füllfarbe "Transparent" (Radio-Box in der Farbauswahl) und für die Randfarbe schwarz. Die Liniendicke soll ebenfalls 2 betragen.

  8. Halten Sie die Strg-Taste gedrückt und markieren Sie mit der linken Maustaste zuerst das Dreieck und dann den Kreis. Positionieren Sie das Dreieck im Kreis, indem Sie in der Layout-Werkzeugleiste zuerst auf und dann auf klicken.

Die Füllfarbe des Pumpensymbols soll über den Betriebszustand der Pumpe Aufschluss geben - Wenn die Drehzahl der Pumpe größer als 0 ist, dann soll das Pumpensymbol grün sein, anderenfalls weiß. Die Parametrierung dieses Zusammenhangs erfolgt in einem Initialize-Wizard. Wählen Sie den Kreis des Pumpensymbols aus.

  1. Wählen Sie im Eigenschaften-Fenster des soeben gezeichneten Grafikobjekts Kreis ("Ellipse1") die RegisterkarteStandard.

  2. Da wir eine permanente Verknüpfung der Grafikeigenschaft "Hintergrundfarbe" und des Drehzahl-Istwerts vonP1anstreben, muss dies bereits bei der Initialisierung festgelegt werden.

  3. Klicken Sie auf die Wizard-Schaltfläche des Ereignisses "Initialize".

  4. Im nun geöffneten Wizard aktivieren Sie die Checkbox "Farbe ändern".

  5. Wählen Sie im nächsten Dialog die Einträge "Hintergrundfarbe" und "Wertabhängig" und klicken Sie aufWeiter >.

  6. Im nächsten Schritt des Wizards geben Sie bitte für das Datenpunktelement "P1.state.speed" ein oder wählen Sie das entsprechende Datenpunktelement über den Datenpunktselektor aus.

  7. Wählen Sie in der ersten Zeile der Bedingungskette als Vergleichs-Operator "Ist gleich" für den Vergleichswert '0' aus (nur bei Drehzahl gleich Null soll die Hintergrundfarbe den AUS-Zustand visualisieren)

  8. Wählen Sie über die Farbauswahl den Farbnamen "STD_device_off" (oder eine andere von Ihnen bevorzugte Farbe für den AUS-Zustand)

  9. Wählen Sie in der zweiten Zeile der Bedingungskette als Operator "Sonst" und als zweite Farbe z.B.: "STD_device_on" aus.

  10. Klicken Sie auf "Fertigstellen".

Abbildung: Parametrierung eines Farbumschlags in Abhängigkeit von einem Datenpunktelement (Wizard)

Nun soll zusätzlich der Drehzahl-Istwert unter dem Pumpensymbol über einem horizontalen Balken angezeigt werden. Überdies möchten wir den aktuellen Betriebszustand "Handbetrieb" über die Sichtbarkeit eines Handsymbols darstellen.

  1. ZeichnenSie unter dem Pumpensymbol über die volle Symbolbreite ein Rechteck (64x8 Pixel).

  2. Geben Sie als Hintergrundfarbe für dieses Rechteck einen hellen Farbton, z.B. Weiß an.

  3. Kopieren Sie dieses Rechteck ([Strg]+[C]ð[Strg]+[V]) und platzieren Sie es genau über dem ersten Rechteck.

  4. Geben Sie dem zweiten Rechteck die Hintergrundfarbe z.B. "STD_device_on" an.

  5. Wählen Sie das obere (grüne) Rechteck aus und klicken Sie im Attribut-Editor auf die Wizard-Schaltfläche des Ereignisses Initialize.

  6. Wählen Sie im Wizard "Objekt skalieren".

  7. Geben Sie im Parametrierungsschritt für die Skalierung in x-Richtung (also horizontal) als DatenpunktelementP1.state.speedvom DatenpunkttypGS_PUMPan oder wählen Sie das Element mittels des Datenpunktselektors (Tipp: Sie können oben im Datenpunktselektor auch Filter angeben um bei eingeschränkter Anzeige schneller auswählen zu können).

  8. Wählen Sie als Basis für die Skalierung "WinCC OA Wertebereich" - dies ist sinnvoll, da wir die Bereichsgrenzen für dieses Datenpunktelement bereits früher korrekt eingestellt haben (siehe Abbildung im Abschnitt Funktionalität am geräteorientierten Datenobjekt - Konfigs).

  9. Klicken Sie auf "Fertigstellen".

Abbildung 2. Horizontale Skalierung

Die Anzeige des Handbetriebs erledigen wir über die dynamische Änderung der Sichtbarkeit einer extern erstellten Bilddatei.

  1. Zeichnen Sie rechts oben im Pumpensymbol ein Rechteck von ungefähr 32x32 Pixel Ausdehnung.

  2. Wählen Sie im Eigenschaftenfenster des Rechtecks beim Eintrag"Füllung" die Option"Muster" und laden Sie das MusterC:/Siemens/Automation/WinCC_OA/3.20/pictures//Indicators/manual_mode_hand_yellow.wmf.

  3. Klicken SieÖffnenund dann in der Füllart-Auswahl aufOK- das ausgewählte Grafik wird in das Rechteck eingefügt.

  4. Öffnen Sie den Farbselektor für die Vordergrundfarbe (Linienfarbe) indem Sie im Attribut-Editor rechts neben dem AttributVordergrundfarbeklicken.

  5. Aktivieren Sie im Farbselektor die Radiobox "Transparent" links oben und bestätigen Sie mitOK- hiermit wird der Rahmen des Rechtecks entfernt.

  6. Wählen Sie das Rechteck mit dem gelben Handsymbolaus.

  7. Auf der Registerkarte "Standard" im Attribut-Editor klicken Sie auf die Wizard-Schaltfläche des Initialize-Ereignisses, um den Wizard der einfachen Parametrierung zu öffnen.

  8. Setzen Sie das Häkchen beim Punkt "Sichtbarkeit ändern".

  9. Geben Sie im nächsten Schritt für den DatenpunktP1.state.manualan.

  10. Bestätigen Sie die Voreinstellung (Objekt sichtbar wenn Wert TRUE) mitFertigstellen.

Das Ergebnis unserer Parametrierungen kann nun, wie schon im Abschnitt Die Vorschau im grafischen Editor gezeigt, in der Vorschau des grafischen Editors ausprobiert werden. Da wir noch keine Elemente zur Änderung von Werten ins Panel eingefügt haben, müssen wird zunächst die Änderungen der zugrunde liegenden Datenpunktelemente im Modul PARA durchführen. Eine komfortablere Möglichkeit zum Testen eigener Grafikobjekte zur Laufzeit wird im nächsten Abschnitt (Dialoge zum Grafikobjekt: Testpanel) vorgestellt.

Zum Abschluss der Symbolerstellung für Pumpe P1 soll noch der Alarmzustand visualisiert werden. Dies kann auf vielfältige Arten erfolgen - wir wählen die Anzeige über ein gesondertes Symbol das über dem Pumpensymbol liegt. So lange kein quittierungspflichtiger/anstehender Alarmzustand vorliegt, wird das neue Objekt ausgegraut dargestellt. Bei einer aktiven Alarmsituation soll das Grafikobjekt die Zustandsfarbe des aktuellen Alarmzustands erhalten.

  1. Zeichnen Sie links oben im Pumpensymbol einen Rahmen vom Typ "Einfacher Text" (32x32 Pixel) - Es handelt sich um das "A"-Symbol in der Objektleiste.

  2. Wählen Sie für die Vordergrundfarbe (Textfarbe) einen mittleren Grauton, für die Hintergrundfarbe (Füllfarbe) einen etwas helleren Grauton.

  3. Geben Sie für den Text ein einfaches Ausrufungszeichen "!" ein und wählen Sie im Attribut-Editor, die OptionTextformat > Mitte).

  4. Wählen Sie für die Schriftart "Arial", die Schriftgröße 20pt und für den Schriftstil "Fett".

  5. Auf der Registerkarte "Standard" im Attribut-Editor klicken Sie auf die Wizard-Schaltfläche des Initialize-Ereignisses, um den Wizard der einfachen Parametrierung zu öffnen.

  6. Wählen Sie den Punkt "Farbe ändern".

  7. Aktivieren Sie im nächsten Schritt die Checkbox "Hintergrundfarbe (Füllung, Texthintergrund)" oben im Dialog und vergewissern Sie sich, dass die Radio-Box "Meldebehandlung" im Rahmen "Hintergrund" angewählt ist. Klicken Sie aufWeiterum zum nächsten Schritt zu gelangen.

  8. Geben Sie für dasDatenpunktelement P1.alarm an und klicken Sie aufFertigstellen.

Die fertige Grafik für die Pumpe P1 sollte wie in der folgenden Abbildung dargestellt aussehen. Verifizieren Sie dies durch Kontrolle im grafischen Editor direkt sowie in der Vorschauansicht.

Anmerkung:

Die Festlegung von dynamischen Eigenschaften bei Grafikobjekten über den Wizard, wird in WinCC OA "Einfache Parametrierung" genannt. Nähere Erläuterungen bietet die Online-Hilfe unter Grundlagen Einfache Parametrierung.

Alle hier über den Wizard durchgeführten Parametrierungen zur Festlegung des dynamischen Verhaltens eines Grafikobjekts werden im Hintergrund als Control-Script abgelegt. Der Wizard selbst hat dieses Script automatisch erzeugt. Wird im Eigenschaften-Fenster anstatt auf das Symbol "Öffne Attribut Wizard", auf das Symbol "Öffne Script Editor" (Symbol mit Code-Zeilen) geklickt, öffnet sich der Script-Editor und das generierte Script kann betrachtet bzw. sogar modifiziert werden. Die Scriptsprache selbst bietet einen weitaus größeren Funktionsumfang als über den Wizard genutzt werden kann. Mehr dazu im Abschnitt Scripting in der Grafik.