TIA Seitenzahl anzeigen

Fragsau

Level-2
Beiträge
63
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,

ich möchte auf meinem HMI die Seitenzahl symbolisch anzeigen lassen. Und das am besten halbwegs automatisch.
Aber mal von vorne:
Ich benutze aktuell TIA V17 WinCC Advanced

Bei meinem HMI (z.B. einem KTP9000) haben ich mehrere Seiten für Parameter oder Handfunktionen. Um die Übersicht für den Benutzer zu erleichtern haben wir früher immer händisch auf jeder Seite das Textfeld X/Y eingefügt. Wenn man dann eine Seite hinzugefügt hat, musste man daher jede Seite anpassen. Recht blöd.
Daher möchte ich das nun etwas optimieren.
In dem Zuge soll es auch kein Text (Seite X/Y) sein, sondern etwas symbolisches. Es geht in die Richtung, dass zum Beispiel ein Balken immer voller wird und wenn er voll ist, ist man am Ende. Aber die genaue Umsetzung steht noch nicht fest, ist aber auch zweitrangig, wenn ich die benötigten Infos erstmal hätte...
Für diese Seitennummerierung würde ich einen Bildbaustein erstellen, der im Footer meines HMI liegt.
Dieser Bildbaustein hat nun 2 INT auf der Schnittstelle: Aktuelle Seitenzahl, Gesamt Zahl des "Kapitels"

Um nun nicht für jedes Kapitel eine eigene Variabel erstellen zu müssen, habe ich gedacht, ich erstelle eine Variabel, die ich z.B. aufm Home Screen initialisiere. Wechsel ich nun in ein "Kapitel"/"Bereich" wie Handfunktionen wird diese Variabel mit jedem "nächste Seite" +1 oder "Seite zurück" -1 verändert.
Somit hätte ich automatisiert die aktuelle Seitenzahl, ohne das irgendjemand groß was tun muss.
Problem ist, dass ich dadurch immer noch nicht die Gesamtzahl kenne und die ja auch eigentlich auf der ersten Seite schon wissen müsste.
Weiteres Problem ist, dass man zwischen den Kapiteln springen kann, heißt von Handfunktionen auf Parameter und natürlich haben die jeweils eigene Seitenzahlen...

Ich finde solche eine Übersicht wichtig für den Bediener, hänge gerade aber echt an einer Idee...
Wie habt ihr sowas gelöst oder welche Ideen habt ihr?

Zu mir nochmal kurz:
Ich bin der Typ in der Firma, der entscheidet, wie die anderen programmieren. Dabei ich mir wichtig, dass das "wie" einfach und übersichtlich ist, da neue Mitarbeiter oder auch Service/andere Standorte schnell einsteigen sollen. Natürlich ist meine Hauptaufgabe Zeit und Geld mit einer gewissen Standardisierung einzusparen, daher gehen solche Themen wie "du musst auf jeder HMI Seite eine Seitenzahl händisch eintragen" gar nicht 🙃

So, hoffe ich hab nichts vergessen, ansonsten freue ich mich über euer Feedback.
 
Moin Fragsau,

so richtig erschließt sich mir der Nutzen einer solchen Anzeige nicht. Man steckt ja nicht in einem (jedenfalls sieht es für mich so aus) menügeführten Prozess, bei dem es interessant wäre, zu wissen, wo man sich befindet. Aber, wenn ich es richtig verstehe geht es "nur" darum, mit "+1" und "-1" umzublättern. Die Taster zum umblättern sollen nicht angefasst werden und trotzdem funktionieren (auch, wenn weitere Seiten eingefügt werden oder in dieser Anlage übersprungen werden soll?).

Das würde ich wahrscheinlich auf der Steuerungsseite lösen. Dazu muss die Steuerung logischerweise die Steuerbits der Buttons erhalten, eine Information, welches Bild akutelle ist (Bildnummer) und in welchem Bildnummernbereich sich der Bediener gerade bewegt. Dazu muss die Vergabe der Bildnummern im Panel natürlich fix strukturiert sein.

Alternativ könnte ich mir vorstellen, dass man es auch mit Skripten auf dem Panel umsetzen kann. Also, die +1 und -1 Buttons stoßen jeweils ein Skript zum umblättern an.

Problem ist, dass ich dadurch immer noch nicht die Gesamtzahl kenne und die ja auch eigentlich auf der ersten Seite schon wissen müsste.
Dazu müsste man (z.B. beim Einschalten) eine Initialisierungsroutine entwickeln, die einliest, wie viele Seiten es in dem jeweiligen Bereich gibt.

Weiteres Problem ist, dass man zwischen den Kapiteln springen kann, heißt von Handfunktionen auf Parameter und natürlich haben die jeweils eigene Seitenzahlen...
Aber das wäre ja nur ein Wechseln von einem Bereich in einen anderen Bereich. Man muss die Gesamtseitenzahl und die aktuelle Seite von jedem Bereich erfassen und die Bereiche kennzeichnen (vielleicht jedem eine ID zuordnen).


Frage: Lohnt der Aufwand?

VG

MFreiberger
 
Hi,

war wohl doch noch was zu früh und der Kaffee hat noch nciht ganz gewirkt.
Natürlich benutzen wir kein KTP9000 sondern ein KTP900.

Die Aussage, dass KTP's keine Skripte unterstützen macht mich etwas stutzig und ich bekomme gerade angstschweiß... Ich setze Skripte ein, es lässt sich simulieren und laut Siemens sind 100 Skripte zulässig... (https://media.automation24.com/manual/de/109477845_HWMobilePanels2GdeDE_de-DE.pdf)
 

Anhänge

  • Skripte KTP.png
    Skripte KTP.png
    12,1 KB · Aufrufe: 13
Moin Fragsau,

so richtig erschließt sich mir der Nutzen einer solchen Anzeige nicht. Man steckt ja nicht in einem (jedenfalls sieht es für mich so aus) menügeführten Prozess, bei dem es interessant wäre, zu wissen, wo man sich befindet.
Hmmm, ok, sorry, also ein anderes Beispiel. Unsere Anlagen können von unseren Kunden mittels Parametern sehr strak verändert/eingestellt werden. Dabei haben Stationen schnell mal >50 Parameter und diese werden im HMI auf mehreren Seiten dargestellt. Um nun zu wissen, wo man sich befindet, finde ich es schon hilfreich.

Aber, wenn ich es richtig verstehe geht es "nur" darum, mit "+1" und "-1" umzublättern. Die Taster zum umblättern sollen nicht angefasst werden und trotzdem funktionieren (auch, wenn weitere Seiten eingefügt werden oder in dieser Anlage übersprungen werden soll?).
Ganz so krass ist es natürlich nicht. :cool: Ich möchte möglichst wenig Parametrierung benötigen. An Skripte habe ich auch schon gedacht. Wenn ich eine Variabel "aktuelle Seitenzahl" habe, kann ich die mit dem Vorwärts/Rückwärts Button auch recht einfach verändern.

Dazu müsste man (z.B. beim Einschalten) eine Initialisierungsroutine entwickeln, die einliest, wie viele Seiten es in dem jeweiligen Bereich gibt.
Ich hab nur keine Idee wie :)
habe schon mal überlegt, ob das ein "Selbstlearningsystem" wird. Wenn man für jeden Bereich eine eigene Variabel hätte, und dann initial von hand jeden bereich einmal durchblättert, könnte so das System selbst die Seitenzahlen lernen... Finde ich aber auch nicht wirklich so schön...

Frage: Lohnt der Aufwand?
Naja, ich versuche mir erstmal was zu überlegen und dann zu entscheiden, es ist zu viel Aufwand. Da ich das ja nur einmal implementiere und dann sehr viele Projekte dadurch profitieren, kann ich ruhig da etwas Zeit reinstecken...
Aber natürlich, die Frage stelle ich mir dann auch irgendwann, nur möchte ich nicht so schnell aufgeben :)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Aussage, dass KTP's keine Skripte unterstützen macht mich etwas stutzig und ich bekomme gerade angstschweiß...
Du hast dort in #4 KTP Mobile Panel zitiert. Diese basieren auf Comfort Paneln und unterstützen Skripte.

Im #1 sagst du was von KTP900, die können keine Skripte,

Also:
KTP xxx Mobile => können Skripte
KTP xxx ( ohne Mobile ) => können keine Skripte
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hmmm, ok, sorry, also ein anderes Beispiel. Unsere Anlagen können von unseren Kunden mittels Parametern sehr strak verändert/eingestellt werden. Dabei haben Stationen schnell mal >50 Parameter und diese werden im HMI auf mehreren Seiten dargestellt. Um nun zu wissen, wo man sich befindet, finde ich es schon hilfreich.
Ok.

Ganz so krass ist es natürlich nicht. :cool: Ich möchte möglichst wenig Parametrierung benötigen. An Skripte habe ich auch schon gedacht. Wenn ich eine Variabel "aktuelle Seitenzahl" habe, kann ich die mit dem Vorwärts/Rückwärts Button auch recht einfach verändern.
Bereichszeiger > Bildnummer
Wenn es rein auf dem Panel sein soll: ich schreibe im Ereignis "Aufruf" immer einen Wert (die Bildnummer, hardcodiert) in eine Panelinterne Variable.

Ich hab nur keine Idee wie :)
habe schon mal überlegt, ob das ein "Selbstlearningsystem" wird. Wenn man für jeden Bereich eine eigene Variabel hätte, und dann initial von hand jeden bereich einmal durchblättert, könnte so das System selbst die Seitenzahlen lernen... Finde ich aber auch nicht wirklich so schön...
Man müsste hinterlegen, in welchem Min- und Maxbereich sich die Bildnummern in dem jeweiligen Bereich befinden. Dann müssen irgendwo alle Bildnummern hinterlegt werden, die in dem Bereich projektiert sind. Mit diesen Informationen könnte man dann die Anzahl einlesen.

Naja, ich versuche mir erstmal was zu überlegen und dann zu entscheiden, es ist zu viel Aufwand. Da ich das ja nur einmal implementiere und dann sehr viele Projekte dadurch profitieren, kann ich ruhig da etwas Zeit reinstecken...
Aber natürlich, die Frage stelle ich mir dann auch irgendwann, nur möchte ich nicht so schnell aufgeben :)
Ja, das kenne ich. Bin auch in der Entwicklung von Steuerungsprogrammen tätig und manchmal denkt man nur: das wäre doch cool. Dabei nimmt man gerne mal einen höheren Aufwand in Kauf, um zu prüfen, ob die Realisierung möglich ist.
So kann man aber nicht als Sondermaschinenprogrammierer oder Inbetriebnehmer arbeiten :)

VG

MFreiberger
 
Guten Morgen Fragsau,

bezüglich einer Initialisierungsroutine beim HMI-Booting:

Ich habe damals für jede unserer Maschinenfamilien eine Konfigurationsstruktur aufgebaut, in der u.a. die folgenden Typ-Informationen abgelegt sind:
+ Anlagenbereiche
+ Module in dem jeweiligen Bereich
+ Funktionen in dem jeweiligen Modul
+ relevante Bauteile (z.B. Antriebe, Stellmotore etc.) in der jeweiligen Funktion
Diese Informationen sind ein einer Datei abgespeichert, werden beim HMI-Boot geladen, intern im HMI verarbeitet und auch zur Steuerung transferiert.
Auf Basis dieser Informationen passe ich ZUR LAUFZEIT das Aussehen/Verhalten der HMI-Seiten und -Funktionen an, mein HMI-Projekt enthält also IMMER quasi den Vollausbau der jeweiligen Maschine.


Gruß, Fred
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zur Ergänzung:
Meine HMI-Projekte sind naturgemäß seeeehr script-lastig, damit ich die beschriebene Dynamik zur Laufzeit realisieren kann.
Hat für mich auch den Vorteil, dass ich ein HMI fast vollständig ohne Steuerungsunterstützung simulieren kann.

Da du ein Comfort-Panel einsetzt hättest du ja schon mal die richtige Basis.
 
Bereichszeiger > Bildnummer
Wenn es rein auf dem Panel sein soll: ich schreibe im Ereignis "Aufruf" immer einen Wert (die Bildnummer, hardcodiert) in eine Panelinterne Variable.
Korrekt, daher bekomme ich die aktuelle Bildnummer. Die muss ja nichts mit dem Kapitel zu tun haben.
Idee war eher so gedacht (für ein "Kapitel"):
- Variabel "Seitenzahl_Handfunktionen" anlegen
- Seiten Handfunktionen anlegen (z.B. 10)
- Vorgefertigte Buttons zum Blättern (Vor/Zurück) einbinden
- Auf der ersten Seite wird Variabel "SeitenZahl_Handfuntkinen" auf 1 geschrieben
- mit Button "Vor" wird diese um 1 erhöht
- mit Button "Zurück" (wird erst eingeblendet, wenn "SeitenZahl_Handfuntkinen" >= 2), um 1 verringert
- damit könnte ich bereits wissen, wo ich mich im Kapitel befinde

Nachteile:
- Sprünge zwischen Kapiteln (Handfunktionen Seite 8 auf Parameter Seite 3)
- Für jedes Kapitel eine eigene Variabel unter Umständen notwendig
- Gesamtzahl noch unbekannt

Man müsste hinterlegen, in welchem Min- und Maxbereich sich die Bildnummern in dem jeweiligen Bereich befinden. Dann müssen irgendwo alle Bildnummern hinterlegt werden, die in dem Bereich projektiert sind. Mit diesen Informationen könnte man dann die Anzahl einlesen.
Ich glaube damit komme ich nicht weit. Mein "Template" wird weltweit von etwa 100 Programmierern eingesetzt. Das jeder sich exakt an die Bildnummern hält, halte ich für sehr unwahrscheinlich. :(

Wenn ich das obere Konzept weiter verfolge:
- Programmierer klickt nun einmal händisch durch alle Kapitel, so stellen wird über ein Skript fest, ob der Wert weiterhin größer wird. Wenn ja, wird die Gesamtzahl Seiten weiter angepasst

Nachteil:
- Da ich es gerne rein im HMI umsetzen wollen würde, müsste man es bei jedem Start des HMI machen richtig?
- Damit könnte ich die wahrscheinlich auftretenden mehrseitigen Kapitel vorbereiten. Kommt jetzt etwas dazu, was ich nicht bedenke, muss es hänisch nachgepflegt werden (aufwendig?)
- Weiterhin problematisch: Sprünge zwischen Kapiteln

Ja, das kenne ich. Bin auch in der Entwicklung von Steuerungsprogrammen tätig und manchmal denkt man nur: das wäre doch cool. Dabei nimmt man gerne mal einen höheren Aufwand in Kauf, um zu prüfen, ob die Realisierung möglich ist.
So kann man aber nicht als Sondermaschinenprogrammierer oder Inbetriebnehmer arbeiten :)
Gebe ich dir Recht, an der Maschine für ein einzelnes Projekt lohnt das nicht. Man muss dann schon abschätzen, ob es pflegeleicht ein Mehrwert für alle Projekte ist und einfach als Standard in ein Template einbezogen werden kann
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen Fragsau,

bezüglich einer Initialisierungsroutine beim HMI-Booting:

Ich habe damals für jede unserer Maschinenfamilien eine Konfigurationsstruktur aufgebaut, in der u.a. die folgenden Typ-Informationen abgelegt sind:
+ Anlagenbereiche
+ Module in dem jeweiligen Bereich
+ Funktionen in dem jeweiligen Modul
+ relevante Bauteile (z.B. Antriebe, Stellmotore etc.) in der jeweiligen Funktion
Diese Informationen sind ein einer Datei abgespeichert, werden beim HMI-Boot geladen, intern im HMI verarbeitet und auch zur Steuerung transferiert.
Auf Basis dieser Informationen passe ich ZUR LAUFZEIT das Aussehen/Verhalten der HMI-Seiten und -Funktionen an, mein HMI-Projekt enthält also IMMER quasi den Vollausbau der jeweiligen Maschine.


Gruß, Fred
Das hört sich sehr interessant an... :D
Wie werden die Daten in der Konfigurationsstruktur eingetragen?

Das Prinzip mit "in Datei schreiben" finde ich auch interessant, hab ich noch gar nciht bedacht... Somit hätte man reine HMI-Variabeln als "remanent" deklariert :)
 
Wie werden die Daten in der Konfigurationsstruktur eingetragen?
Man könnte z.B. eine Rezeptur verwenden (Stichwörter wäre dann Import/Export eines Datensatzes).

Ich habe einen eigenen scriptbasierten Ansatz gewählt, da ich diese Art Konfigurationsdateien auch bei Maschinen mit Nicht-Siemens-Steuerungen bzw. -HMIs einsetze.

Die Konfigurationsparameter können natürlich zum einen direkt in die Datei eingetragen werden.
Ich habe in den meisten meiner HMIs einen sogenannten MConfig-Editor "eingebaut", in dem der Techniker bei der ersten IBN einfach die aktuelle Anlagenkonstellation eingeben kann.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
mehrere Seiten für Parameter oder Handfunktionen. Um die Übersicht für den Benutzer zu erleichtern haben wir früher immer händisch auf jeder Seite das Textfeld X/Y eingefügt. Wenn man dann eine Seite hinzugefügt hat, musste man daher jede Seite anpassen. Recht blöd.
Daher möchte ich das nun etwas optimieren.
(...)
Natürlich ist meine Hauptaufgabe Zeit und Geld mit einer gewissen Standardisierung einzusparen, daher gehen solche Themen wie "du musst auf jeder HMI Seite eine Seitenzahl händisch eintragen" gar nicht 🙃
Unabhängig davon, daß sich mir die Sinnhaftigkeit dieser dynamischen Balken im Bild nicht erschließt... Frage: Lohnt der Aufwand?
Egal wie hochautomatisch die Projektierungs-"Vereinfachung" gelöst wird: am Ende muß doch beim Hinzufügen von Bildseiten der Projekteur ein paar manuelle Anpassungen machen, im Bild oder in den Datenstrukturen für die Skripte. Bei der Skripterei müssen eher noch viel mehr Anpassungen vorgenommen werden. Am Ende kann kein Programmierer fachgerecht ein Bild hinzufügen, ohne eine Schulung von Dir, was dabei alles zu beachten ist.

Schau Dir mal Beispielprojekte an, wie Siemens "modernes und funktionales HMI Design" löst:
HMI Template Suite
Toolbox für HMI Projekte


Das würde ich wahrscheinlich auf der Steuerungsseite lösen.
Achtung! Dann müsstest Du das für jedes vorhandene HMI/Panel extra/getrennt programmieren. Und ohne Verbindung zur Steuerung geht dann auf den HMI nichts mehr.

Ich gehe immer davon aus, daß mehrere unabhängige HMI-Panels an der Anlage vorhanden sind, die sich nicht gegenseitig stören sollen. Mindestens 1 HMI-Panel an der Anlage und eine Panel-Simulation auf meinem PG.

Harald
 
Unabhängig davon, daß sich mir die Sinnhaftigkeit dieser dynamischen Balken im Bild nicht erschließt... Frage: Lohnt der Aufwand?
Egal wie hochautomatisch die Projektierungs-"Vereinfachung" gelöst wird: am Ende muß doch beim Hinzufügen von Bildseiten der Projekteur ein paar manuelle Anpassungen machen, im Bild oder in den Datenstrukturen für die Skripte. Bei der Skripterei müssen eher noch viel mehr Anpassungen vorgenommen werden. Am Ende kann kein Programmierer fachgerecht ein Bild hinzufügen, ohne eine Schulung von Dir, was dabei alles zu beachten ist.
Wenn das der Fall sein sollte, ist meine Antwort auf deine Frage "Lohnt der Aufwand?" definitiv ohne zu zögern NEIN!
Aber da ich ja nicht allwissend bin und es sich auch immer wieder Möglichkeiten durch Ideen ergeben, überlege ich erstmal, ob es nicht "einfach" umsetzbar ist.

Ich gehe immer davon aus, daß mehrere unabhängige HMI-Panels an der Anlage vorhanden sind, die sich nicht gegenseitig stören sollen. Mindestens 1 HMI-Panel an der Anlage und eine Panel-Simulation auf meinem PG.
Ist bei uns ähnlich.
 
Achtung! Dann müsstest Du das für jedes vorhandene HMI/Panel extra/getrennt programmieren. Und ohne Verbindung zur Steuerung geht dann auf den HMI nichts mehr.
Ja, das müsste für jedes Panel getrennt programmiert werden. Na und?
Ja, dann könnte man die Bildwechsel, die das betrifft nicht mehr durchführen, aber: wofür, wenn das Panel eh keine Aktualdaten anzeigen kann, weil es nicht verbunden ist. Und: das das Panel nicht verbunden ist, kommt bei uns nur bei mobile-Panels und da auch nur sehr selten vor.
 
Zurück
Oben