WinCC WinCC Titel einer Seite im Permanentbereich

Staubsauger

Level-2
Beiträge
36
Reaktionspunkte
6
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich nutze WinCC Advanced im TIA-Portal und einem TP700 Comfort Panel.

Da der Platz auf dem 7" Bildschirm recht knapp bemessen ist, würde ich gerne die jeweilige Seitenüberschrift im Permanentbereich anzeigen lassen.
Ich wollte das per VB lösen, indem ich bspw. den aktuellen Seitentitel in ein Textfeld des Permanentbereichs schreibe.

Code:
Dim TitelObjekt
Set TitelObjekt = HmiRuntime.Screens(0).ScreenItems("Titel_Textfeld")

TitelObjekt.text = HmiRuntime.BaseScreenName

Jetzt ist es aber so, dass ich in meinen Seiten eine Benennungsstruktur habe, die sich nicht als Überschrift eignet.
Daher dachte ich, dass ich das "hinmurkse, indem ich meine Überschrift in eine Eigenschaft der Seite schreibe und diese dann auslese. Leider gibt es hier aber nur den ToolTip. An dessen Inhalt komme ich per Script aber nicht heran. Das scheint nur bei Objekten auf der Seite zu funktionieren.

Da dies mein erstes SPS- und Visu-Projekt ist, kann es natürlich auch sein, dass ich hier völlig umständlich heran gehe. Ich bin daher offen für Alternativvorschläge.
Mein Projekt wird in Zukunft auch von anderen Programmieren erweitert werden indem sie bestimmte Seiten einfach kopieren und entsprechende Anpassungen vornehmen. Daher sollte die Lösung recht unkompliziert sein. Die angedachte VB-Lösung hätte den Charme, dass ich eine Seite kopieren könnte und eben nur den Hinweis benötigen würde, dass die Seitenüberschrift im ToolTip festgelegt ist.

Vielen Dank schonmal.
 
Da der Platz auf dem 7" Bildschirm recht knapp bemessen ist, würde ich gerne die jeweilige Seitenüberschrift im Permanentbereich anzeigen lassen.
Das Platzproblem spricht doch eigentlich gegen den Permanentbereich, weil dann immer die volle Panelbreite für diesen Bereich von den anderen Bildern weggeht und der dann kaum anderweitig nutzbar ist.

Ich würde die Überschrift auf die Seitenvorlage bringen, dann ist sie auch auf jedem Bild, das diese Vorlage nutzt und man kann den vollen Bereich immer noch anderweitig nutzen, notfalls die Überschrift sogar überdecken.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Jetzt ist es aber so, dass ich in meinen Seiten eine Benennungsstruktur habe, die sich nicht als Überschrift eignet.
Daher dachte ich, dass ich das "hinmurkse, indem ich meine Überschrift in eine Eigenschaft der Seite schreibe und diese dann auslese. Leider gibt es hier aber nur den ToolTip. An dessen Inhalt komme ich per Script aber nicht heran. Das scheint nur bei Objekten auf der Seite zu funktionieren.
Ich hab' bei der Verbindung eh' den Bereichszeiger für die (aktuelle) Bildnummer eingerichtet und lese diese auch mit dem Panel.
Dann hab' ich eine Textliste, in der ich für jedes Bild eine passende Überschrift pflege (ja, Aufwand, aber dafür unabhängig von der Seiteneigenschaft und an nur einer Stelle) und zeige diese über ein symbolisches EA-Feld an.
 
Da der Platz auf dem 7" Bildschirm recht knapp bemessen ist, würde ich gerne die jeweilige Seitenüberschrift im Permanentbereich anzeigen lassen.
Da wird das Bild aber auch nicht größer ;) oder bekommt mehr Platz, sondern eher weniger...

Lege eine interne HMI-Variable "aktuellesBildTitel" (WString) an und ein E/A-Ausgabefeld für diese Variable im Permanentbereich oder besser in der/den Vorlagen.
In jedem Bild bei "Ereignisse > Aufgebaut" weise der Variable den gewünschten Titel/Text zu mit der Systemfunktion SetzeVariable.
So hast Du genau eine Stelle in jedem Bild, wo man unkompliziert den Titeltext projektieren kann. Und brauchst kein Skript.

PS: noch flexibler in der Position und Größe des Bildtitel-Textes ist, wenn man ganz einfach in jedem Bild ein statisches Textfeld an der gewünschten Titelposition mit dem gewünschten Titeltext projektiert. Und da sieht es auch jeder Nachfolge-Programmierer. Oder ist das zu einfach? ;)

Harald
 
Zuletzt bearbeitet:
noch flexibler in der Position und Größe des Bildtitel-Textes ist, wenn man ganz einfach in jedem Bild ein statisches Textfeld an der gewünschten Titelposition mit dem gewünschten Titeltext projektiert. Und da sieht es auch jeder Nachfolge-Programmierer. Oder ist das zu einfach?
Ich persönlich finde bei dieser Variante die spätere Pflege der Optik sehr aufwendig, wenn es auf allen Bildern einheitlich sein soll.
Insbesondere wenn man sich am Anfang noch nicht über die Formatierung sicher ist.


Da sicher jede Variante Vor- und Nachteile hat, muss man halt abwägen, was einem besonders wichtig ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das Platzproblem spricht doch eigentlich gegen den Permanentbereich, weil dann immer die volle Panelbreite für diesen Bereich von den anderen Bildern weggeht und der dann kaum anderweitig nutzbar ist.
Da wird das Bild aber auch nicht größer ;) oder bekommt mehr Platz, sondern eher weniger...
Das ist richtig. Ich nutze den Permanentbereich allerdings auch für globale Buttons sowie eine kleine Statusanzeige. Daher ist der Platz sowieso schon weg.


Lege eine interne HMI-Variable "aktuellesBildTitel" (WString) an und ein E/A-Ausgabefeld für diese Variable im Permanentbereich oder besser in der/den Vorlagen.
In jedem Bild bei "Ereignisse > Aufgebaut" weise der Variable den gewünschten Titel/Text zu mit der Systemfunktion SetzeVariable.
So hast Du genau eine Stelle in jedem Bild, wo man unkompliziert den Titeltext projektieren kann. Und brauchst kein Skript.
Diese Lösung kommt meiner Idee schon einmal sehr nahe. Überlege ich mir auf jeden Fall einmal.

PS: noch flexibler in der Position und Größe des Bildtitel-Textes ist, wenn man ganz einfach in jedem Bild ein statisches Textfeld an der gewünschten Titelposition mit dem gewünschten Titeltext projektiert. Und da sieht es auch jeder Nachfolge-Programmierer. Oder ist das zu einfach? ;)

Ich persönlich finde bei dieser Variante die spätere Pflege der Optik sehr aufwendig, wenn es auf allen Bildern einheitlich sein soll.
Insbesondere wenn man sich am Anfang noch nicht über die Formatierung sicher ist.

Da sicher jede Variante Vor- und Nachteile hat, muss man halt abwägen, was einem besonders wichtig ist.
Das ist sicherlich die einfachste Lösung. Dann bleibt allerdings noch das Platzproblem und der Aufwand bei Änderung der Formatierung.
Der Einfachheit halber ziehe ich auch diese Lösung in Betracht.

Das mit dem Abwägen ist richtig. Fällt mir allerdings aufgrund mangelnder Erfahrung noch etwas schwer. Die bisherigen Tipps helfen mir allerding erst einmal weiter. Danke :)
 
Ich bevorzüge die einfache Variante, ein normalen Textfeld mit die gewünschte Seitennummer.
Es hilft mir wenn ich programmiere das ich sehen kann auf welche Seite ich gerade bin. Wenn die Seitennummer erst zur Laufzeit generiert wird dann sehe ich nicht die aktuelle Seitennummer, und dann wurde ich mit Sicherheit Änderungen auf die falsche Seite machen. Ich weis, es gibt die Reitern am unten mit Seitennamen, aber es hilft mit die Seitenummer in das Bild wenn man schnell hin-und-her kopiere.
Nachteil ist dass ein normalen Textfeld in sämtliche Sprachen aufgesetzt werden muss.
 
Zurück
Oben