TIA Inhalt von Textfeld mit Skript ändern

Die Lösung Aufruf der Skripte bei Wertänderung der Variable "intWelche_BMK_Anzeige" ist für mich immer noch am praktikabelsten.
Ein Variable, die sich praktisch nie ändert, soll das Aussehen von Bildern ändern - bei "Wertänderung" der Variable! Eine unmögliche Aufgabe.
Noch dazu daß die Variable in den Bildern gar nicht verwendet wird. Wer außer Dir soll das später finden und die Klimmzüge verstehen?

Ich will jetzt nicht lang und breit aufzählen, was bei welchen Lösungen alles wie schief gehen kann und wird, sondern gleich mein Fazit. Für mich gibt es nur diese 3 Lösungen, welche sicher funktionieren:
1) Projektierung von sprachabhängigen Texten und Sprachumschaltung. Falls Sprachumschaltung schon verwendet wird, dann braucht man doppelt so viele Sprachen. Da kümmert sich das HMI komplett selbständig um die richige Anzeige - zu einfach? ;)
2) Verwendung von EA-Feldern und 100 HMI-internen String-Variablen. Bei RT-Start und bei Umschaltung im Servicebild dann in einem Skript die Werte an die String-Variablen zuweisen.
3) Verwendung von symbolischen EA-Feldern und 100 Textlisten. Das ist nicht wirklich aufwendiger zu projektieren als Skripte, aber sehr übersichtlich.

Bei allen anderen (besonders ereignisgesteuerten) Lösungen, geht in manchen Situationen irgendwas schief, so daß die Bilder was falsches/ungewolltes anzeigen und die Bediener unwillkürlich urteilen: "was für eine unprofessionelle Stümperei" ;)

Mein Favorit ist die Lösung 2) mit den EA-Feldern und 100 Stringvariablen. Diese Lösung läßt sich auch sehr einfach ausbauen zum Einlesen beliebiger Beschriftungen/Texte, ohne das TIA-Projekt ändern zu müssen.

Die Umschalt-Variable würde ich nicht in der SPS speichern, weil dann zeigt das HMI ohne Verbindung zur SPS falsche Texte an. Ich würde die Variable remanent im HMI speichern. Der Wert wird ja nur höchst selten im Servicebild geändert. Remanent speichern im HMI kann man z.B. mit Rezepturen, oder ob eine bestimmte Datei im FLASH vorhanden ist oder nicht (der Inhalt der Datei ist völlig egal). Oder meine Lösung: eine einfache Textdatei mit Einstellwerten im FLASH des HMI, siehe die Skripte SettingsIniSpeichern()/SettingsIniLaden() in der FAQ: Protool/WinCCflex/TIA Daten lesen / schreiben mit VB-Script

Harald
 
Zurück
Oben