WinCC Unified Tipps&Tricks

Aus wiki.vistera.de
Zur Navigation springen Zur Suche springen

Einleitung[Bearbeiten]

Auf dieser Seite werden diverse Funktionen und Kniffe aufgeführt, die in WinCC Unified nicht so einfach ohne Hilfe zu finden und umzusetzen sind.

Runtime[Bearbeiten]

Zoom[Bearbeiten]

In Unified ist es jetzt möglich, in der Runtime zu zoomen. Dies bringt einige praktische Möglichkeiten mit sich, die nachfolgend aufgelistet werden. Bitte vorher auf den HINWEIS achten!

Zoomstufen[Bearbeiten]

Es gibt jetzt auch Zoomstufen. Jede Ebene im Reiter Layout, auch auffindbar unter den Eigenschaften des Bildes, hat einen eigenen definierbaren Zoombereich, in dem die Objekte der Ebene eingeblendet werden. Verknüpft man das Ganze mit entsprechenden Schaltflächen, können auf Knopfdruck gewünschte Zoomstufen aktiviert werden. Hierbei können dann auch Elemente in entsprechenden Ebenen bei bestimmten Zoomstufen erst eingeblendet werden.

Hier ein Beispiel für Buttons zur Stufenwahl:

  1. Schaltfläche anlegen
  2. Interne HMI-Variable "Zoomfaktor" mit Datentyp REAL anlegen
  3. Bei der Schaltfläche unter "Ereignisse" bei "Drücken" die Funktion "SetzeVariablenWert" auswählen
  4. Die Variable "Zoomfaktor" verknüpfen
  5. Als Wert hier für jede weitere Zoomstufen-Schaltfläche einen anderen Wert (aufsteigend) eingeben, z.B. 1.Stufe=0, 2.Stufe=1, 3.Stufe=2...
  6. Bei zu zoomendem Faceplate oder Bildfenster unter Eigenschaften->Format->Zoom-Faktor unter Dynamisierung die Variable "Zoomfaktor" verknüpfen
  7. Darunter die Option "Bereich" auswählen und die Stufennummern (0, 1, 2,...) angeben und für jede Nummer einen Zoom-Faktor zwischen 0,1 und 8 eintragen (10%...800% Zoom)

Zoomen mit +/-[Bearbeiten]

Das Zoomen kann auch im klassischen Stil mit drei Schaltflächen gelöst werden: "1:1", "+" und "-". Hierbei kann der Projektierer selber entscheiden, in welchen Schritten gezoomt wird (z.B. 1mal "+" drücken -> Zoom+10%).

Generell:

  1. Interne HMI-Variable "Zoomfaktor" mit Datentyp REAL anlegen
  2. Bei der internen Variable in der Tabelle unter Eigenschaften->Werte->Startwert den Startwert 1 (entspricht 100% Zoom) eingeben


Schaltfläche "1:1" für Rücksetzen auf 100% Zoom:

  1. Schaltfläche anlegen
  2. Als Text "1:1" eingeben
  3. Bei der Schaltfläche unter "Ereignisse" bei "Drücken" die Funktion "SetzeVariablenWert" auswählen
  4. Die Variable "Zoomfaktor" verknüpfen
  5. Den Wert "1" für Faktor x1,0, sprich Zoom 100% eingeben


Schaltfläche "+" für Reinzoomen:

  1. Schaltfläche anlegen
  2. Als Text "+" eingeben oder passende Grafik (z.B. Lupe mit Plus) auswählen
  3. Unter Security->Bedienung-zulassen->Haken entfernen und die Variable "Zoomfaktor" verknüpfen
  4. Unter der Variable den Reiter "Formel" öffnen und folgende Formel eingeben: IF ('Zoomfaktor'<=[dein_max_faktor_MINUS_[1x_deine_schrittweite]]) (TRUE); ELSE (FALSE);
  5. Beispiel: Maximaler Zoom = 800%, Schrittweite = 10% ENTSPRICHT "IF ('Zoomfaktor'<=7.9) (TRUE); ELSE (FALSE);"
  6. Bei der Schaltfläche unter "Ereignisse" bei "Drücken" die Funktion "ErhöheVariable" auswählen
  7. Die Variable "Zoomfaktor" verknüpfen
  8. Den Wert "0,1" für Schrittweite Faktor x1,0, sprich Zoom+10% eingeben


Schaltfläche "-" für Rauszoomen:

  1. Schaltfläche anlegen
  2. Als Text "-" eingeben oder passende Grafik (z.B. Lupe mit Minus) auswählen
  3. Unter Security->Bedienung-zulassen->Haken entfernen und die Variable "Zoomfaktor" verknüpfen
  4. Unter der Variable den Reiter "Formel" öffnen und folgende Formel eingeben: IF ('Zoomfaktor'>=[dein_min_faktor_PLUS_[1x_deine_schrittweite]]) (TRUE); ELSE (FALSE);
  5. Beispiel: Minimaler Zoom = 10%, Schrittweite = 10% ENTSPRICHT "IF ('Zoomfaktor'>=0.2) (TRUE); ELSE (FALSE);"
  6. Bei der Schaltfläche unter "Ereignisse" bei "Drücken" die Funktion "VerringereVariable" auswählen
  7. Die Variable "Zoomfaktor" verknüpfen
  8. Den Wert "0,1" für Schrittweite Faktor x1,0, sprich Zoom-10% eingeben

! HINWEIS ![Bearbeiten]

In WinCC Unified ist minimal ein Zoom von 10% und maximal ein Zoom von 800% möglich!

Buttons[Bearbeiten]

Farbe Bildanwahl[Bearbeiten]

Es gehört zu unserem Standard, dass die Buttons zur Bildanwahl grün werden, wenn das entsprechende Bild geöffnet ist. Die hier genannte Methode ist weniger aufwendig und ermöglicht einen Farbumschlag ohne Verwendung der in den altem HMIs verwendeten Variable Bildnummer. Hierzu muss man folgendes Skript an die Eigenschaft "Vordergrund - Farbe" der entsprechenden Schaltfläche hängen:

Bei nur einem Bild:

 var value;
 let title = Tags("Überschrift").Read();
 
 if (title == "your_screen_title") {
 value = HMIRuntime.Math.RGB(0,255,0);
 } else {
 value = HMIRuntime.Math.RGB(0,255,255);
 }
 
 return value;
 }

Bei mehreren Bildern:

 ...
 if (title == "your_screen_title_1" || title == "your_screen_title_2" || ...) {
 ...

Die Angabe "||" steht hier für ODER.

EA-Felder[Bearbeiten]

Datum/Uhrzeit richtig anzeigen[Bearbeiten]

Die standartmäßigen Formate, die man in EA-Felder in Unified auswählen kann, entsprechen leider alle nicht wirklich unserem Anzeigestandard. So wird z.B. "1.12.25" anstatt "01.12.25" angezeigt. Um das Datum und die Uhrzeit entsprechend richtig anzuzeigen, gibt es hier folgendes Skript (anwendbar für EA-Felder und für Textfelder an entsprechender Eigenschaft):

 var value;
 let myDate = new Date();
 
 let optionsTime = {
 hour: "2-digit",
 minute: "2-digit",
 second: "2-digit",
 timeZone: 'Europe/Berlin'
 };
 
 let optionsDate = {
 day: "2-digit",
 month: "2-digit",
 year: "2-digit",
 timeZone: 'Europe/Berlin'
 };
 
 value = myDate.toLocaleDateString('de-DE', optionsDate) + "  " + myDate.toLocaleTimeString('de-DE', optionsTime);
 
 return value;
 }

Daraus ergibt sich dann folgendes Anzeigeformat: "01.12.25 13:59:59"

Werteübernahme bei Enter drücken[Bearbeiten]

Die EA-Felder in Unified sind standardmäßig so eingestellt, dass der eingegebene Wert sofort beim heraustippen aus dem Feld, also ohne Bestätigung durch Eingabe, übernommen wird. Damit der Wert erst bei Bestätigung durch Enter übernommen wird, muss folgende Einstellung pro EA-Feld vorgenommen werden:
Verschiedenes->Verhalten bei Eingabe->Nach Verlassen Wert übernehmen->Haken entfernen