WinCC Runtime Advance Browser ereignissgesteuert aktualisieren

blimaa

Level-2
Beiträge
956
Reaktionspunkte
103
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi
Fakten: TIA WinCC Advance (ehemals WinCC Flexible) V13Sp1Upd2.

Ich möchte den HTML-Browser ereignissgesteuert aktualisieren. Das heisst, ein Bit setzen aus der SPS und der Browser ruft die Seite neu auf.
Wie ist das nun wieder möglich????
Weiss jemand nen schlauen Skriptbefehl? Oder noch einen besseren Weg?

Eine möglichkeit wäre: Die Adresse nicht statisch einzugeben, sondern dynamisch. Allerdings müsste ich dann immer zwei HTML-Seiten mit gleichem Inhalt haben und umschalten zwischen "C:\meinbild1.html" und "C:\meinbild2.html".
Allerdings bin ich der Meinung, dass dies nicht die Lösung sein kann.

Gruss blimaa
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi
Kannst du die Lösung noch etwas erklären?

Bis jetzt könnte ich mit "Set Browser1 = HmiRuntime.Screens ("Aufträge_Archiv_1").ScreenItems("HTML-Browser_Auftraege1")" auf den Browser zugreifen. Allerdings sehe ich nicht wie weiter?!

Gruss blimaa
 
Hi,

ich habe nicht genau genug hingesehen und Dir völligen Quatsch erzählt, sorry.
Über Skript scheint es nicht zu funktionieren, das HTMLBrowser-Objekt bietet anscheinend keine Methoide an.
Die Funktion, die ich genannt habe, ist eine Systemfunktion (richtig: HTMLBrowserAktualisieren), die Du an Elemente im Bild hängen kannst. Leider nur an Elemente, die sich im gleichen Bild, wie das Browser-Fenster befinden. Somit wäre jetzt eine Idee von mir, die Variable, die das trigern soll, an irgendein Element zu hängen, welches Du dann versteckst (Schalter oder Balkenanzeige) und dann auf "Wertänderung" diese SHTMLBrowserAktualisieren-Funktion legst. Ich hoffe, so wird das funktionieren, ist aber nur Theorie.Mußt Du vielleicht mal näher die Hilfe konsultieren.

Mal ne Frage: Mal folgendes ausprobiert:
Das Browser-Fenster läßt sich animieren. Unter "Eigenschaft animieren" kannst Du auch über Werte/Wertebereiche die Adresse "animieren". Mal versucht, einfach für verschiedene Werte die gleiche Adresse einzutragen? Möglicherweise aktualisiert er ja trotzdem, obwohl es die gleiche Adresse ist...

Gruß
JS
 
Also ich hab das gerade mal kurz in einer Professional-Visu getestet - dort funktioniert die Animation wie beschrieben. Es ist überall die gleiche Adresse eingetragen, aber das Bild wird neu geladen...
Das sollte damit die einfachste Lösung sein...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi
Danke für die Antwort.
Nun stehe ich immer noch ein bisschen auf dem Schlauch.
Bei Animation des HTML_Browsers kann ich unter Variablenanbindung die Adresse schon aus einem String vorgeben. Allerdings muss ich der String immer ändern, sodass sich der Explorer aktualisiert.
Kannst du kurz ein Printscreen reinstellen? Möglicherweise bin ich am falschen Ort am Suchen.....
 
iiiiiiiiiiiiiiiiiiiiiiiiiiiinteressant
Das hat es bei mir gar nicht :sb13:
Anscheinend ist das der Unterschied zwischen Advance und Professional...
Ich denke da werde ich mal morgen an Siemens schreiben und mal hören was die so vorschlagen.
Update wird folgen.
 
Hehehe auch nicht schlecht
So aus dem Kopf heraus würde ich sagen, dass dieser bei den "controls" zu finden ist (unter elements)
 
Verschiedene Panels scheinen den Browser nicht zu unterstützen.
Ich hab es jetzt mit einer PC-Runtime (Advanced) nachvollzogen.
Also es funktioniert so:
Du legst ein Skript an mit folgendem Inhalt:
HmiRuntime.Screens("BILDNAME").ScreenItems("HTMLBROWSER_NAME").Address = "DEINE_URL"

Dann gehst Du auf Deine Variable und führst dieses Skript bei Wertänderung aus.

Fertig.

Dadurch, daß wir direkt auf das Objekt zugreifen und die Adresse beschreiben, merkt es das Objekt und lädt die Seite neu. Das ist im Endeffekt nichts Anderes, als die Animation im Professional, die ich vorher vorgeschlagen hatte.
Bei mir klappt das so in der Advanced Runtime, ich denke, das sollte bei Dir auch keine Schwierigkeiten machen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi
Supidupi
Das funktioniert einwandfrei :cool:.

Code:
'Bei Wertänderung von der Variable ("Bild_PNG_aktualisieren") wird dieser Skript aufgerufen
If SmartTags("Bild_PNG_aktualisieren") Then   
HmiRuntime.Screens ("Aufträge_Archiv_1").ScreenItems("HTML-Browser_Auftraege1").Address="C:\meinbild.html"
End If

So wird nur bei einer Positiven Flanke die Aktualisierung durchgeführt.


Gruss und Dank blimaa
 
Zurück
Oben