WinCC Unified Bildwechsel Grundbild zu Bildfenster

Gillton

Level-2
Beiträge
15
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag zusammen.
Ich beschäftige mich gerade damit, ein altes Programm von WinCC Advanced auf WinCC Univied V19 zu bringen.

Hierbei ist gefordert, dass ich über ein "Zurück" Button die Bilder wechsele. Hierbei realisiere ich die Navigation über das Ereignis "WechseleBild" mit Buttons.
Der größte Teil des Bildaufbaus besteht aus einem Startbild, welches über ein Bildfenster Inhalte einblendet. Einige Bilder müssen aber direkt aufgerufen werden.

Das Problem:
Ich komme zwar von einem Bildfenster "Bildfenster-Hauptbild" mit dem Inhalt "P-Regler" (800*390) auf das Bild "P_Regler_Kurvenkorrektur" (800*480), aber nicht wieder zurück.

Bildfenster -> Grundbild
1723633811071.png

Versuch, wieder in das vorhergehende Fenster zu verweisen
1723633967303.png

Ich konnte bisher keine Erklärung finden, wie dies zu bewerkstelligen ist. Vielen Dank schonmal im Voraus!
 
Hi,
ist der Zurück-Button innerhalb des Bildfensters oder außerhalb? Letzteres ist natürlich einfacher umzusetzen, da man sich dann aus dem Bild im Bildfenster heraushangeln muss.
Das ist in der Toolbox nämlich schon fertig umgesetzt (Kapitel 9 - Bildhistorie):
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich versuche ja von einem Bild in ein Bildfenster zu kommen, nicht den vorherigen Fensterinhalt aufzurufen.
Ich müsste von einem Bild auf den Inhalt eines Bildfensters in einem anderen Bild verweisen.

Ich gehe aus dem Bildfenster "Grundbild" mit einem Inhalt über einen Button in ein anderes Bild, kein Bildfenster.
Und komme dann nicht mehr auf den Ursprungszustand.
1723638168944.png

Tut mir Leid wenn ich mich schlecht ausdrücke.
 
Ok, jetzt glaub ich versteh ich es allmählich. Die Systemfunktion "WechsleBild" kommt hier an ihre Grenzen und man muss es direkt per Skript machen.
Die Skriptfunktion dazu heißt UI.FindItem() bzw. Screen.FindItem(). Damit kann man sich quer durch die Bildhierarchie durchhangeln. Und zwar absolut oder relativ. Man muss nur den Namen des Objekts kennen und wie es relativ oder absolut in der Bildhierarchie positioniert ist.
Schau dir mal die Beispiele in der Doku dazu an. Dort ist ein Bildchen mit einer beispielhaften Bildstruktur und wie man bspw. aus einem Bild in einem Bildfenster Eigenschaften von Bildobjekten in Bildern in anderen Bildfenstern ändert.
Deine Anforderungen eines Bildwechsels kann man so ja auch verstehen.

Das Wegspeichern des zuletzt geöffneten Bilds pro Bildfenster musst du dann natürlich selber machen, aber das ist in der Toolbox ja schon beispielhaft umgesetzt.
1723643131536.png
  • Relative Adressierung:
    • - "Button_2" ändert die Beschriftung von "Button_1":
      Javascript:
      // Navigate one level up and find "Button_1" inside the "ScreenWindowHeader"
      Screen.FindItem("../ScreenWindowHeader/Button_1").Text = "Changed by Button_2"
    • - "Button_3" ändert die Beschriftung von "Button_5":
      Javascript:
      // Navigate two levels up and find "Button 2" inside the "ScreenWindowNavigation"
      Screen.FindItem("../../ScreenWindowNavigation/Button_5").Text = "Changed by Button_3"
    • - "Button_3" ändert die Beschriftung von "Button_4":
      Javascript:
      // Find "Button_4" in same screen ("ScreenContent_2")
      Screen.FindItem("Button_4").Text = "Changed by Button_3"
      Screen.FindItem("./Button_4").Text = "Changed by Button_3"
  • Absolute Adressierung:
    • - "Button_4" ändert die Beschriftung von "Button_6":
      Javascript:
      // Navigate to the root screen and find "Button_6" inside the "ScreenWindowNavigation"
      Screen.FindItem("~/ScreenWindowNavigation/Button_6").Text = "Changed by Button_4"

Im Tutorial Center ist es in einem Video auch gezeigt
-->Bilder projektieren
-->Grundlegende Projektierungsmöglichkeiten
-->Bildlayout erstellen (das zweite Video)
 
Ich habe das Problem nun lösen können, indem ich alle Inhalte über Bildfenster ansteuere. Dafür hab ich auf die Seite mit allen Bildfenstern ein weiteres Bildfennster hinzugefügt, welches bei bestimmten Inhalten ein/ausgeblendet wird.
Das erspart mir nun allerlei Skripte, und es es jetzt auch wieder die "Zurück" Funktion einfach über WechseleBild.

Ich bedanke mich trotzdem für die hilfreichen Ideen und Tipps.
 
Zurück
Oben