WinCC Bildname via VBS auslesen und in Textfeld schreiben

SPSnewbie91

Level-2
Beiträge
186
Reaktionspunkte
10
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen.

Ich habe folgendes Problem. Ich habe in einem Projekt mehrere Bilder, die auf die selbe Vorlage "Temp_FG0" aufbauen. In der Vorlage ist das Textfeld "TemplateTextFieldScreenName" hinterlegt. Jetzt möchte ich, dass ,sobald ein Bild mit der Vorlage "Temp_FG0" öffnet, der aktuelle Bildname automatisch in das Textfeld geschrieben wird. Der Text soll sich dann natürlich bei Bildwechsel ändern.
Kann mir da jemand weiterhelfen? Bisher habe ich nur gelesen, dass man das über den Aufgabenplaner über Bildwechsel und Ereignisse das Script aufrufen kann. Nur bin ich mit VBS nicht sehr vertraut und weiß nicht, wie das Script aussehen soll. Vielleicht kann mir ja jemand weiterhelfen?
 
Hi Newbie.

Ich denke es geht um ein Siemens Panel.

Ich habe das folgendermaßen gelöst:

Im Aufgabenplaner eine Aufgabe "Bildwechsel" anlegen mit dem Trigger Bildwechsel:

1663224854880.png

Hier rufst du ein VB-Script auf. Das ist ein Einzeiler. Du schreibst den "BaseScreenName" in deine interne Variable - in deinem Fall "TemplateTextFieldScreenName". Diese Variable zeigst du dann über ein E/A Feld im Bildkopf an:

1663225000558.png

1663225059633.png

Edit: Typos
 
Moin SPSnewbie91,

Du kannst auch mit einem Skript ein Text in ein Textfeld schreiben:

HmiRuntime.ActiveScreen.ScreenItems("txtFeld").text = "Hallo, dieser Text erscheint gleich in dem Text-Feld 'txtFeld'! "

VG

MFreiberger
 
Bei den HMI's denke ich nicht. Ein Textfeld ist rein statisch.

Was spricht gegen ein E/A Feld? Du kannst das Feld auf "Ausgabe" setzen, so dass der Bediener dort nichts eingeben kann. Außerdem kannst du auch das Aussehen so ändern (kein Rahmen, gleicher Texttyp, etc.), dass das E/A Feld dann aussieht wie ein Textfeld.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin SPSnewbie91,

Du kannst auch mit einem Skript ein Text in ein Textfeld schreiben:

HmiRuntime.ActiveScreen.ScreenItems("txtFeld").text = "Hallo, dieser Text erscheint gleich in dem Text-Feld 'txtFeld'! "

VG

MFreiberger
Ah okay.

Ich dachte, dass ginge nur bei WinCC Professional.
 
Nur soll das Textfeld kein E/A Feld sein sondern ein reines Textfeld. Gibt es hierfür auch eine Möglichkeit?
Bei den HMI's denke ich nicht. Ein Textfeld ist rein statisch.
Nö, ist das Textfeld nicht!
;)

Dafür gibt's per Rechtsklick im Textfeld die Parameterfelder, worüber Du dann Deine Variable im Textfeld mit anzeigen lassen kannst.
Per dynamischen Parameter sogar mit Auswahl über eine Textliste.

1663226483583.png
 
Ich habe es jetzt über ein E/A-Feld gelöst. War ein guter Tipp es aussehen zu lassen wie ein normales Textfeld ;). Funktioniert auch alles einwandfrei beim Bildwechsel. Nur wird der Text beim erstmaligen Runtime Start auf das "HomeBild" nicht dargestellt. Erst wenn ich auf ein neues Bild springe werden die Texte angezeigt (auch beim HomeBild). Kann man das noch irgendwie anpassen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nö, ist das Textfeld nicht!
;)

Dafür gibt's per Rechtsklick im Textfeld die Parameterfelder, worüber Du dann Deine Variable im Textfeld mit anzeigen lassen kannst.
Per dynamischen Parameter sogar mit Auswahl über eine Textliste.

Anhang anzeigen 63572
Wobei diese Eingabemaske nur in Advanced zur Verfügung steht, nicht aber in Professional.
 
Ich habe es jetzt über ein E/A-Feld gelöst. War ein guter Tipp es aussehen zu lassen wie ein normales Textfeld ;). Funktioniert auch alles einwandfrei beim Bildwechsel. Nur wird der Text beim erstmaligen Runtime Start auf das "HomeBild" nicht dargestellt. Erst wenn ich auf ein neues Bild springe werden die Texte angezeigt (auch beim HomeBild). Kann man das noch irgendwie anpassen?

Du kannst das selbe script beim Ereignis "Bild aufgebaut" anbinden. dann wird es nach dem Start und bei Wechsel aufs Home-Bild zweimal ausgeführt, aber ich denke, das ist verkraftbar.
 
Du kannst das selbe script beim Ereignis "Bild aufgebaut" anbinden. dann wird es nach dem Start und bei Wechsel aufs Home-Bild zweimal ausgeführt, aber ich denke, das ist verkraftbar.
Das funktioniert leider nicht. Da jetzt der Titel des ersten Bildes auf jedem anderen Bild steht beim Bildwechsel. Ich müsste noch eine Aktion beschreiben, wenn das Bild abgebaut wird oder?
 
Ich teste es aktuell über PLCSim Advanced, weil ich nicht an der Anlage sitze. Aber das dürfte ja keinen Unterschied machen oder? Ich probiers jetzt mal mit komplett übersetzen.
 
Zurück
Oben