newbie1010
Level-2
- Beiträge
- 5
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
in einem aktuellen Projekt (MTP1200 Unified Comfort, TIA Portal V20) sollen die Systemtastaturen projektweit durch die Faceplates der HMI Toolbox (AlphaNumeric, NumericInt, NumericReal) ersetzt werden, da die Systemtastatur nicht so ganz bedienerfreundlich ist.
Zielsetzung: Der Tastatur-Aufruf soll zentral erfolgen, ohne an hunderten EA-Feldern manuelle Klick-Skripte anlegen zu müssen.
Aktuelle technische Limitierungen (Workarounds scheitern): Kapselt man das EA-Feld in ein Faceplate, scheitert der direkte Aufruf von HMIRuntime.UI.SysFct.OpenFaceplateInPopup am Compiler-Fehler: "SysFct is not supported in current Scope".Nutzt man stattdessen ein RaiseEvent nach außen, verlagert sich die manuelle Skript-Arbeit lediglich wieder an jede Faceplate-Instanz auf dem Hauptbild.
Meine konkreten Fragen:
Zielsetzung: Der Tastatur-Aufruf soll zentral erfolgen, ohne an hunderten EA-Feldern manuelle Klick-Skripte anlegen zu müssen.
Aktuelle technische Limitierungen (Workarounds scheitern): Kapselt man das EA-Feld in ein Faceplate, scheitert der direkte Aufruf von HMIRuntime.UI.SysFct.OpenFaceplateInPopup am Compiler-Fehler: "SysFct is not supported in current Scope".Nutzt man stattdessen ein RaiseEvent nach außen, verlagert sich die manuelle Skript-Arbeit lediglich wieder an jede Faceplate-Instanz auf dem Hauptbild.
Meine konkreten Fragen:
- Existiert die Möglichkeit, einen globalen Event-Listener zu definieren, der den Fokus/Klick auf EA-Felder bild- oder projektweit abfängt, ohne lokale Ereignisse zu projektieren?
- Gibt es in V20 eine (ggf. undokumentierte) Eigenschaft am ScreenItem, um den projektierten Variablen-Namen eines angeklickten EA-Feldes per JS zur Laufzeit dynamisch aus dem Objekt auszulesen?
- Wie sieht der empfohlene "Best Practice"-Weg aus, um die Custom-Keyboards in Großprojekten wartbar auszurollen, ohne redundante Code-Wüsten an den UI-Elementen zu erzeugen?