WinCC Unified Bildschirmtastatur am Unified-Comfort Panel deaktivieren

Nixco

Level-2
Beiträge
31
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi zusammen,
gibt es eine Möglichkeit am Unified-Comfort Panel unter WinCCv20 die Bildschirmtastatur für ein Ein-/Ausgabefeld (oder von mir aus auch komplett) zu deaktivieren?
Bei den alten Displays ging das. Leider finde ich am Unified Display nirgends eine Lösung.

Hintergrund ist, dass ich das Feld mit einem Barcodescanner befüllen will und die angezeigte Tastatur in dem Fall Kontraproduktiv ist.

Danke für die Hilfe!
Viele Grüße
 
Hi,
du kannst doch einfach das E/A Feld auf "Ausgabe" Stellen dann ist es nicht mehr bedienbar und du kannst trotzdem VIA eine variable werte drinnen ändern.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Aber der Scanner muss doch den Gescannten wert irgendwo in einer variable ablegen oder nicht ? Zu not ein Skript schreiben was diesen wert in eine Variable schreibt.
Aber der einfachste Weg mit einem standard-Handscanner bleibt dem E/A-Feld den Fokus zu geben und dann zu scannen. So ein Handscanner hat üblicherweise einen Tastaturtreiber mit dem das einfach möglich ist.
Ansonsten benötigt man Schnittstelle, Programmieraufwand, etc.
 
Ja das funktioniert auch ohne Probleme. Das Problem dabei ist, dass sich die Bildschirmtastatur automatisch öffnet, was für den User störend ist.
Bei den alten Panels konnte das mit einem Haken unterbunden werden.
 
ok andere Idee zwar etwas gebastelt aber wen du ein E/A Feld außerhalb des Bildes machst wo der Scanner reinschreibt kannst du dort diesen Scanner wert in eine variable schreiben die du dann im Nur Ausgeben Feld Anzeigen kannst.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ok andere Idee zwar etwas gebastelt aber wen du ein E/A Feld außerhalb des Bildes machst wo der Scanner reinschreibt kannst du dort diesen Scanner wert in eine variable schreiben die du dann im Nur Ausgeben Feld Anzeigen kannst.
??
Was soll das bringen? Da kommt genauso die Bildschirmtastatur bei Anwahl des Feldes.
 
Ich kann es nicht testen, aber öffnet sich die Tastatur auch, wenn man über eine Funktion den Fokus auf das Feld setzt?

Unified sollte ja eine SetFocus-Funktion haben, die man dann über einen "Scan"-Button aufrufen könnte.

Edit: Es gibt HMIRuntime.UI.SysFct.SetFocusOnElement, aber erst mit v21.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja das funktioniert auch ohne Probleme. Das Problem dabei ist, dass sich die Bildschirmtastatur automatisch öffnet, was für den User störend ist.
Bei den alten Panels konnte das mit einem Haken unterbunden werden.
Aber nur generell, d.h. für ALLE Eingabefelder bzw. -Möglichkeiten.
 
Kann man bei den neuen Versionen nicht auf Bildebene die Tastatureingabe unter "Ereignisse" abfangen?
Ich meinte, bei den neueren Versionen geht das... Also kein Fokus auf das Eingabefeld und die Tastatureingaben auf Bildebene abfangen und dann die Scannereingabe per Script zusammensetzen zu einem String.
Ist das eine Lösung?
 
Zuletzt bearbeitet:
Hab gerade mal ein TIA geöffnet und nachgeschaut.
Da hab ich mich geirrt, im Bild gibt es keine Tastenabfrage.
Also müßte man über ein globales Script einen EventHandler für Tastenanschläge registrieren, der dann schaut, wer gerade den Fokus hat. Falls kein Fokus: Script übernimmt die Eingabe. Falls Fokus eines Inputs: Return und das Input übernimmt die Eingabesteuerung und damit poppt eine Tastatur auf.

Ander Möglichkeit vielleicht: Man kann einem Zeichenelement (Viereck zum Beispiel) einen Fokus geben und das wiederum hat auch unter Ereignisse den Tastendruck. Also könnte man evtl. beim Scannen den Fokus auf ein Zeichenelement legen und dort per Script die Tastatureingabe abfangen. Da es kein klassisches Eingabeelement ist, gehe ich davon aus, daß keine Tastatur aufpoppt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Lösungsmöglichkeit in der "alten" Welt (WinCC Comfort/Advanced):
Es gibt die Systemfunktion "AktiviereBild", hier kann man als Parameter die TAB-Reihenfolge-Nummer eines Eingabe-Controls angeben.
Ein -zugegebenermaßen uneleganter- Weg wäre also die Platzierung einer unsichtbaren Schaltfläche mit diesem Systemfunktionsaufruf ÜBER dem eigentlichen Eingabefeld.

Wobei ... (Und das weiß ich gerade nicht, weil o.g. nur theoretisch durchdacht)
Öffnet sich die Bildschirmtastatur NUR bei Klick auf ein Eingabefeld oder auch schon bei Fokuserhalt?
Wenn Letzteres, dann funktioniert der Lösungsweg nicht.
 
Zurück
Oben