Erstellen eines Gerätesymbols (Referenz)

In allen bisher gestalteten dynamischen Objekten wurden bestimmte Grafikattribute fest mit explizit angegebenen Datenpunktelementen verknüpft (z.B. Hintergrundfarbe ist abhängig vom Element P1.state.speed) . Würden wir mehrere gleichartige Geräte benötigen, also z.B.: P1 , P2 , P3 , ... so wäre es naheliegend, die betroffenen Grafikobjekte zu einer Gruppe zusammenzufassen, diese mehrmals zu kopieren und zu positionieren.

Anschließend müssten wir alle Stellen der Parametrierung, welche auf ein Datenpunktelement verweisen, durchgehen und bei jeder Gerätedarstellung den entsprechend richtigen Datenpunktbezeichner eingeben. Bei oft 50 und mehr gleichartigen Geräten in einer Applikation kann das sehr mühsam sein (selbst wenn später keine Änderungen erforderlich wären).

Abbildung 1. Statische Verknüpfung von Prozessvariablen (Datenpunktelementen) mit Grafik-Eigenschaften

Wir können diese Aufgabe jedoch auch viel einfacher lösen: In WinCC OA besteht die Möglichkeit, Gerätedarstellungen samt allen Infopanels, Dialogen usw. als wieder verwertbare Objekte zu gestalten. Die Erstellung eines solchen Referenz-Symbols ist um nichts aufwändiger als die bisher erlernten Schritte.

Abbildung 2. Feste Verknüpfung zwischen DPE und Grafikattribut links und Platzhalter ($-Parameter) rechts

Überall, wo wir bisher einen absoluten Datenpunkt-Bezeichner angegeben haben, können wir einfach offen lassen, um welche Geräte-Instanz es sich letztlich handeln soll. Anstelle des Datenpunktnamens geben wir einen Platzhalter, den so genannten $-Parameter an.

Beschränkt sich dieser Platzhalter nur auf den ersten Teil der Adresse, also den Gerätenamen, so kann der gesamte hintere Teil, wie bisher vollständig angegeben werden. Erst wenn wir so eine Referenz an eine bestimmte Stelle in einem Panel setzen, werden wir angeben, um welches Gerät es sich denn nun wirklich handelt.

Abbildung 3. Erstellung eines Prozessbildes (Panel) durch Einfügen von Referenzen

Die eigentliche Ersetzung des Platzhalters ($-Parameter) durch den, beim Einsetzen angegebenen Datenpunktnamen, erfolgt erst beim Initialisieren des Panels zur Laufzeit. Dann werden alle dynamischen Eigenschaften genau mit den, beim Erstellen des Prozessbildes angegebenen Geräte-Instanzen verknüpft.

Abbildung 4. Zur Laufzeit arbeitet jede Referenz mit ihrem individuellen Datenraum

Aus dieser Methodik ergeben sich eine ganze Reihe von deutlichen Vorteilen gegenüber der eingangs diskutierten Variante über Kopien.

  • Je Gerätetyp muss nur eine Symboldarstellung gezeichnet werden.

  • Beim Einfügen eines Geräts muss im Idealfall nur ein einziger Parameter angegeben werden - typischerweise der Datenpunktnamen des Geräts (z.B.V2).

  • Das Gerätesymbol bildet innerhalb des Prozessbildes eine gekapselte Einheit.

  • Änderungen an der Symboldarstellung müssen nur ein einziges Mal an der Referenzdatei durchgeführt werden - alle Geräteinstanzen in den verschiedenen Prozessbildern ändern sich automatisch mit (Vererbung).

  • Die gleiche Methodik kann auch für die Dialoge zum Gerätesymbol (z.B.: Bedienpanel, faceplate)verwendet werden. Auch hier gilt Vererbung.

Anmerkung:

Referenzpanels sind technisch gesehen ganz normale Panels. Sie werden genau so wie gewöhnliche Prozess- oder Übersichtsbilder erstellt. Wird eine Referenz in ein Prozessbild eingefügt, so besteht Sie nur aus den gezeichneten Anteilen - der Panel-Hintergrund wird weggelassen.

Wir können nun genau so ein Referenzpanel für die Ventildarstellung (V1, V2 und V3) und deren Bediendialoge erstellen.

Abbildung 5. Einfache Symboldarstellung für Ventile

Die obige Abbildung zeigt eine nüchterne, technische Darstellung des Ventils, passend zum früher erstellten Pumpensymbol. Wir könnten diese sehr einfach aus einem Polygon, einem Kreis, einer Linie und einem Polygon oder Text für den Buchstaben "M" erstellen. Die Hand-Darstellung ist dabei, wie bei der Pumpe, ein Rechteck, das eine Grafikdatei anzeigt. Die Alarmanzeige als "Referenz-in-Referenz" werden wir erst später im Abschnitt Definition einer Alarmbehandlung am Datenpunkt behandeln.

WinCC OA bietet darüber hinaus Möglichkeiten, um fertig verfügbare Abbildungen auf sehr einfache Art und Weise in die Prozessdarstellung einzubinden. Dies erlaubt optisch ansprechende Visualisierungen ohne erhöhten Zeichenaufwand. Um auch diese Möglichkeit zu erläutern, wird das Gerätesymbol für das Ventil nun gleich in einer alternativen Variante ausgeführt.

Abbildung 6. Erstellung des Gerätesymbols"GS_VALVE_ref.pnl"und Ansichten zur Laufzeit (rechts)

Die folgende Abbildung zeigt die entsprechenden Elemente aus denen das Gerätesymbol aufgebaut werden soll.

Abbildung 7. Bestandteile des Gerätesymbols"GS_VALVE_ref.pnl"
  1. Erstellen Sie ein neues Panel mit einer Breite von ca. 120x160 Pixel.

  2. Speichern Sie dieses Panel in Ihrem Projektverzeichnis unter.../panels/objects/GS_VALVE_ref.pnlab. Der Speicherort im.../objects/-Verzeichnis ist wesentlich für die Verwendung als Referenz.

  3. Zeichnen Sie ein Rechteck mit den Ausmaßen von 72x112 Pixel an der Position x = 24, y = 24.

  4. Selektieren Sie das Rechteck und öffnen Sie überFüllung > Pattern > Loadim Eigenschaften-Fensterden Datei-Auswahldialog für Grafiken. Wechseln Sie mit der Combobox ganz unten ins Versionsverzeichnis (z.B.C:/Siemens/Automation/WinCC_OA / <Version>/pictures) und wählen Sie für den Dateityp "Alle Dateien (*.*)".

  5. Selektieren Sie die Datei.../pictures/valves/slide_valve_realistic_complete_3_h_t.wmf.

  6. Zeichnen Sie rechts oben im Ventilsymbol ein Rechteck mit den Ausmaßen 32x32 Pixel und füllen Sie dieses entsprechend mit der Grafikdatei: .../pictures/indicators/manual_mode_hand_yellow.wmfaus dem Versionsverzeichnis.

Den Alarmanzeiger für das Ventil werden wir erst im Abschnitt Definition einer Alarmbehandlung am Datenpunkt über die Alarme in die Referenz einfügen. Die symbolisierte Schließklappe, welche sich in Abhängigkeit vom aktuellen Öffnungsgrad dreht, werden wir später, in der Vertiefung dieses Abschnittes einfügen (siehe auch vorletzte Abbildung auf dieser Seite).

Somit muss im nächsten Schritt nur ein dynamischer Farbwechsel für die eingefügte, externe Grafikdatei vorgesehen werden. Wir haben eine fertige Grafikdatei verwendet um uns Zeichenarbeit zu ersparen. Das Problem ist, dass die Färbung dieser Abbildung irgendwann früher in einem Zeichen- oder CAD-Programm festgelegt wurde und nun nicht so ohne Weiteres im Zugriff der WinCC OA Prozessvariablen steht.

Anmerkung:

WinCC OA besitzt die Möglichkeit bei Grafiken vom Typ Windows-Meta-File ( *.wmf) und Enhanced-Meta-File ( *.emf) dynamisch zur Laufzeit eine beliebige der verwendeten Farben zu ersetzen. Dabei wird die Grafik nicht in Grundobjekte zerlegt (und Bestandteil des Panels), sondern bleibt autonom erhalten. Lediglich eine Konverterfunktion während der Anzeige der Grafik, führt die Farbänderung durch. Auf diese Farbänderung kann sowohl per Control-Script, wie auch über den Wizard (einfache Parametrierung) zugegriffen werden.

Um diese Farbersetzung möglich zu machen, muss das Laufzeitsystem wissen, welche der Farben, aus denen die externe Grafik aufgebaut ist, nun ersetzt werden soll. Alle Bereiche dieser Grafik, welche in der spezifizierten Farbe gezeichnet wurden, können dann genau so angesprochen werden, wie die Hintergrundfarbe eines WinCC OA Grafikobjekts.

Abbildung 8. Festlegung welche Farbe der externen Grafik von WinCC OA als "BackColor" angesprochen werden soll
  1. Selektieren Sie das Rechteck mit der Symboldarstellung des Ventils (Absperrschiebers).

  2. Klicken Sie im Eigenschaften-Fenster auf die Hintergrundfarbe so dass sich der Farbselektor öffnet.

  3. Klicken Sie im Farbselektor auf die Schaltfläche Farbpipette (siehe Schritt 3 in der Abbildung oberhalb)- der Mauszeiger ist nun in einer Art Selektionsmodus.

  4. Klicken Sie unmittelbar danach auf jenen Farbbereich der Grafikanzeige im Panel, der später ersetzt werden soll. Alle Bereiche mit exakt dieser Farbe sind später davon betroffen.

  5. Bestätigen Sie ihre Auswahl durch OK im Farbselektor.

VORSICHT:

Diese Form der Farbersetzung ist ausschließlich auf WMF- und EMF-Dateien beschränkt. Sie kann nur verwendet werden, wenn sowohl während der Parametrierung als auch später bei der Anzeige zur Laufzeit das Grafiksystem des Rechners mit Echtfarben (True-Color) arbeitet. Blinkfarben sind für die Anzeige in externen Grafikdateien nicht zugelassen.

Anmerkung:

Realitätsnahe Prozessdarstellungen über fertige Gerätegrafiken oder Infrastrukturelemente im 3D-Design sind für manche Benutzer hilfreich und fördern den Wiedererkennungseffekt der Anlagenteile. Beachten Sie dennoch, dass als Grundregel gilt: je größer und komplexer eine Anlage ist und je mehr Informationen pro Prozessbild dargestellt werden müssen, umso einfacher sollen Symbole sein. Bei sehr großen Informationsmengen muss dem Benutzer eine abstraktere, schneller erfassbare Darstellung geboten werden. Bedenken Sie auch, dass aufwändige Grafikobjekte bei sehr großen Objektanzahlen zudem eine Erhöhung von CPU-Bedarf und Speicher darstellen können. In Visualisierungen von ausgedehnten elektrischen Leitungsnetzen, werden die Schaltorgane beispielsweise lediglich über ein Rechteck und eine Linie angezeigt.

Die Festlegung der dynamischen Eigenschaften des Grafikobjekts funktioniert exakt gleich, wie in den vorangegangenen Abschnitten beschrieben. Lediglich bei der Angabe des Datenpunktelements, auf das sich eine Grafikeigenschaft beziehen soll, wird eine Schreibweise mit $-Parametern gewählt.

Abbildung 9. Statt vollständigem Datenpunktbezeichner wird der $-Parameter und ein fester Adressteil angegeben

Da der Wizard beim Verlassen des Eingabefelds bereits eine Konsistenzprüfung durchführt und es im gesamten System kein Datenpunktelement mit dem Namen $valve+".state.position" gibt, muss der betreffende Datentyp (z.B. float) immer manuell eingegeben werden. Der exakte Aufbau des Bezeichners für das gewünschte Datenpunktelement lautet also:

Abbildung 10. Aufbau eines DPE-Bezeichners bei Verwendung von $-Parametern (hier Platzhalter für DP-Namen)

Die Arbeitsschritte für die Parametrierung einer dynamischen Hintergrundfarbe (Füllung der Ventil-Grafik) müssen damit nahezu identisch, wie in den früheren Abschnitten vermittelt, ablaufen.

  1. Selektieren Sie das Rechteck mit der Ventilgrafik und öffnen Sie den Wizard zur einfachen Parametrierung im Eigenschaften-Fenster bei "Initialize".

  2. Wählen Sie für die Art der Animation "Farbe ändern".

  3. Im nächsten Schritt aktivieren Sie die Checkbox bei "Hintergrundfarbe" (nur die kann bei der eingefügten WMF-Grafik verändert werden) und geben Sie "Wertabhängig" an. Bestätigen Sie diesen Arbeitsschritt mitWeiter >.

  4. Geben Sie im nächsten Schritt für den Datenpunktnamen die Zeichenkette$valve+".state.position" ein.

  5. Wählen Sie für den Datentyp im Feld Typ "float" aus (dies ist notwendig, da es keinen gültigen Datenpunkt mit dem angegebenen Namen gibt und das System daher nicht selbst den Datentyp ermitteln kann).

  6. Parametrieren Sie die gewünschten Farben gemäß der nachfolgenden Abbildungen.

Abbildung 11. Referenz-Parametrierung: Hintergrundfarbe der Ventilgrafik in Abhängigkeit des Stellgrades

Verfahren Sie sinngemäß gleich für die dynamische Änderung der Sichtbarkeit in Abhängigkeit vom Datenpunktelement $valve + ".state.manual " für das Rechteck mit dem gelben Handsymbol. Speichern Sie anschließend das Referenzpanel.

Das soeben erstellte Referenzpanel ist damit bereits einsatzbereit. Um sie nun in unser Hauptbild (Prozessbild) einzufügen gehen Sie folgendermaßen vor.

  1. Öffnen Sie die Katalogansicht der Referenzobjekte des Projektverzeichnisses. Wählen Sie dazu im MenüAnsicht > Kataloge >C:/WinCC_OA_Proj /myGettingStarted(bzw. den von Ihnen gewählten Projektnamen und Speicherort).

  2. Öffnen Sie im grafischen Editor das früher erstellte Hauptbildprocess.pnl.

  3. Ziehen Sie das Referenzobjekt"GS_VALVE_ref" mit der Maus aus dem Katalog auf die Zeichenfläche des Panelsprocess.pnl.

  4. Im automatisch angezeigten Parametrierdialog, geben Sie für den Parameter"$valve" den Namen des ersten Ventils, also z.B."V1" an (Sie könnten diesen auch über Klick auf die Spalte mit dem DPE-Selektor-Symbol in der Baumansicht auswählen).

  5. Bestätigen Sie den Parametrierdialog mitOK.

  6. Positionieren Sie ggf. das Ventilsymbol an die gewünschte Stelle der Zeichenfläche.

  7. Speichern Sie das Panelprocess.pnl.

Abbildung 12. Einfügen eines Grafiksymbols (Referenz) aus dem Katalog durch Ziehen mit der Maus

Abbildung 13. Parametrierdialog zur Referenz Ersetzen des $-Parameters durch einen Datenpunktbezeichner

Sie können nun bereits das, als Referenz eingefügte Ventil V1, in der Vorschau des grafischen Editors betrachten. Verfahren Sie ebenso für die Ventile V2 und V3.

Anmerkung:

Beim Aufbau des Datenpunktbezeichners aus $-Parameter und statischem Anteil (siehe Abbildung weiter oben auf dieser Seite) haben wir den ersten Punkt "." nach dem Datenpunktnamen dem statischen Adressteil zugeordnet. Achten Sie darauf, dass bei Auswahl von Datenpunktnamen (erste Ebene) über den DP-Selektor der nachgestellte Punkt in der Ersetzungstabelle der $-Parameter entfernt wird.

Um bei mehreren Referenzobjekten die Auswahl im Katalog übersichtlicher zu gestalten, kann eine Grafik für das Referenzobjekt vergeben werden. Diese wird entweder als bestehende Datei (Format *.ico , *.bmp ) eingefügt oder selbst in einem kleinen Bitmap-Editor erstellt. Für das soeben erstellte Ventil-Referenzobjekt existiert bereits eine Grafik im Versionsverzeichnis. Selektieren Sie das Referenzobjekt im Katalogfenster, klicken Sie mit der rechten Maustaste und selektieren Sie die ;Ändere Icon;-Option. Das Grafikprogramm öffnet sich. Selektieren Sie über Datei-> Öffnen das Bild ;valve_3D_grey.gif; aus dem Versionsverzeichnis. Speichern Sie das geöffnete Image in Ihrem Projekt MyGettingStarted\images\objects\GS_VALVE_ref.pnl\GS_VALVE_ref.png”r;

Die Katalogansicht stellt alle *.pnl Dateien im Ordner .../panels/objects/ der aktuell gewählten Projektebene dar. Darunter können auch Unterverzeichnisse zur besseren Gliederung angelegt werden. Der Katalog zeigt dann den Inhalt dieser Verzeichnisse in eigenen Rubriken an. Inhalte von darunter liegenden, weiteren Unterverzeichnissen, werden nicht mehr angezeigt. Für die Katalogansicht machen daher weitere Ebenen in einem Unterverzeichnis keinen Sinn.

Anmerkung:

Referenzen können auch ohne $-Parameter benutzt werden. Auf diese Art und Weise können immer wieder benötigte, statische Bildanteile als Objekt erstellt werden und so die Vorteile der Vererbung bei Änderung benutzt werden.

Anmerkung:

Referenzpanels sind nicht zwingend auf einen einzigen Datenpunkttyp (z.B. GS_VALVE) beschränkt. So lange die Schnittstelle der $-Parameter sinnvoll gleich bleiben kann und die grafische Anzeige der neuen Verwendung entspricht, können Referenzpanels für den universellen Einsatz erzeugt werden. Ein einfacher Wertanzeiger für beliebige Datenpunktelemente (bool, int, uint, float) eines beliebigen Datenpunkttyps kann ebenso Referenz sein, wie eine ganze Pumpstation.

Anmerkung:

Referenzobjekte können nahezu beliebig hierarchisch aufgebaut sein (Kaskadierung). Ein Referenzobjekt kann aus anderen Referenzen sowie normalen Grafikobjekten aufgebaut sein. Wir werden später den Alarmanzeiger auf diese Art und Weise als (Sub-)Referenz in das Ventilsymbol einbauen.

Falls Sie noch eine weitere Animationsmöglichkeit genauer betrachten möchten, können Sie nun auch Rotation des Schließorgans in Abhängigkeit vom aktuellen Öffnungsgrad der Ventile parametrieren. Zeichnen Sie dazu ein kleines Rechteck über die Ventilgrafik und positionieren Sie dieses wie in der nächsten Abbildung weiter unten angegeben. Idealerweise wählen Sie die Positions- und Größeneinstellungen sowohl bei der Ventilgrafik wie auch bei dem zusätzlichen Rechteck exakt wie hier dargestellt. Sie können aber auch Zeit sparen und erst beim nächsten Abschnitt Bediendialog zur Referenz fortsetzen.

Da es sich bei der gewünschten Animationsart um eine Drehung handelt, müssen wir zunächst den Drehpunkt bekannt geben. Jedes WinCC OA Grafikobjekt besitzt hierfür den so genannten Referenzpunkt. Es handelt sich um die Eigenschaften RefPointX und RefPointY im Eigenschaften-Fenster.

Für die vorliegende Anwendung muss der Drehpunkt in den Mittelpunkt des Schließorgans (Rechteck) gelegt werden. Dieser lässt sich einfach aus den, ebenfalls im Eigenschaften-Fenster angezeigten Koordinaten der äußeren Berandungen (Top, Bottom, Left, Right) ermitteln.

RefPointX = aufgerundet[ (Left + Right)/2 ] = aufgerundet[ (54 + 59)/2] = 57

RefPointY = aufgerundet[ (Top + Bottom)/2 ] = aufgerundet[ (112 + 130)/2] = 121

  1. Parametrieren Sie den Drehpunkt für das, als Schließorgan verwendete, Rechteck in den Mittelpunkt des Grafikobjekts (z.B. RefPointX = 57, RefPointY = 121).

  2. Öffnen Sie den Wizard zur einfachen Parametrierung aus dem Eigenschaften-Fenster bei Initialize.

  3. Wählen Sie die Animationsart ;Objekt rotieren;.

  4. Geben Sie im Feld Datenpunktelement die Zeichenkette$valve+;.state.position;ein.

  5. Wählen Sie für den Datentyp im Feld Typ ;float; aus.

  6. Wählen Sie für den Wertebereich ;Feste Werte; und geben Sie den Bereich zu 0...100 an.

  7. Parametrieren Sie die zugehörigen Drehwinkel zu 0° bis 90° und schließen Sie Ihre Eingaben mitFertigstellenab.

Abbildung 14. Einfügen eines Rechtecks als stilisiertes Schließorgan und Bestimmung des Referenzpunktes

Abbildung 15. Dynamische Anzeige des aktuellen Öffnungsgrad in der Ventil-Referenz

Anmerkung:

Der Referenzpunkt ist auch der Basispunkt für eine Skalierung (Größenveränderung) des Objekts Bei allen bisher angewandten Skalierungen (z.B. die Balken zur Wertanzeige) war der standardmäßige Referenzpunkt jedoch passend, so dass dieser nicht verändert werden musste.

Referenzen können per Scripting auch dynamisch zur Laufzeit in ein Panel eingefügt und von dort auch entfernt werden. Die Verwendung der zugehörigen Control-Funktion addSymbol()kann in der Online-Hilfe nachgeschlagen werden.