Beschreibung
Dieser FAQ beschreibt eine Möglichkeit, wie Sie sich eine eigene Bildschirmtastatur nach Ihren Anforderungen, bezogen auf Aussehen und Größe, erstellen können.
In der beiliegenden Projektierung ist ein "Nummernblock" projektiert.
Die Projektierung ist so aufgebaut, dass anstelle von "Zahlen" auch "Zeichen" (Buchstaben) als Parameter übergeben werden können.
Das nachfolgende Bild zeigt den projektierten "Nummernblock" neben verschiedenen EA-Feldern.
Bild 01
Das Aussehen der Tastatur kann beliebig angepasst werden.
Bedienung der Anwendung
Durch Anwahl eines EA-Feldes wird automatisch der Nummernblock aufgerufen.
Über den Nummernblock kann ein entsprechender Wert vorgegeben werden.
Der vorgegebene Wert wird hierbei zunächst in dem "Ausgabefeld" des Nummernblocks angezeigt.
Über die Schaltfläche "Enter" wird anschließend der vorgegebene Wert in das zuvor selektierte EA-Feld geschrieben.
Über die Schaltfläche "Clear" wird das komplette Ausgabefeld gelöscht um eine Eingabe zu korrigieren.
Über die Schaltfläche "Tastatur schließen" kann der Nummernblock wieder geschlossen werden.
Anleitung Die Funktionalität wird mit zwei Skripten umgesetzt. Aufgrund der in den Skripten verwendeten Befehle, ist die Projektierung nur auf einem PC lauffähig.
Öffnen Sie zum besseren Verständnis der nachfolgenden Funktionsbeschreibung die beiliegende Projektierung.
Nr.
Funktionsbeschreibung
1
Skript "GetActiveObject" Das Skript wird jeweils durch aktivieren eines EA-Feldes aufgerufen.
Wird ein EA-Feld angewählt, speichert das Skript den Namen des angewählten EA-Feldes. Der hier ausgelesene Name wird im weiteren Verlauf in dem Skript "KeyBoard" ausgewertet.
Parameter: "EnableDecimalPoint"
Über den Parameter wird angegeben, ob das EA-Feld eine Dezimalstelle besitzt oder nicht.
EA-Feld mit Dezimalstelle: "EnableDecimalPoint" = 1
EA-Feld ohne Dezimalstelle: "EnableDecimalPoint" = 0
Bild 02
Das Skript ist mit Kommentaren versehen, die die verwendeten Befehle und Anweisungen beschreiben.
2
Skript "KeyBoard" Über das Skript werden die über den "Ziffernblock" eingegebenen Werte an das zuvor
angewählte EA-Feld übertragen.
Das Skript hat einen Parameter "KeyToSend". Über diesen Parameter kann ein beliebiger Wert (Ziffer bzw. Buchstabe) an das EA-Feld übergeben werden.
Das Skript wird jeweils über eine Schaltfläche vom "Nummernblock" aufgerufen.
In dem nachfolgenden Bild wird z. B. der Wert "8" als Parameter" übergeben.
Bild 03
Das Skript ist mit Kommentaren versehen, die die verwendeten Befehle und Anweisungen beschreiben.
3
Nummernblock Der Nummernblock besteht aus einzelnen Schaltflächen und einem Ausgabefeld.
Alle Objekte sind zu einer Gruppe zusammengefasst.
Über die grafischen Schaltflächen wird das Skript "KeyBoard" unter "Ereignisse > Klicken" aufgerufen. Entsprechend der Tastatur wird dem Parameter des Skriptes "KeyBoard" der jeweilige "Wert" übergeben.
Unter den Eigenschaften "Animation > Sichtbarkeit" werden alle Objekte über eine gemeinsame Variable ein- bzw. ausgeblendet.
Besonderheiten
Grafische Schaltfläche "Punkt":
Die Schaltfläche zur Eingabe eines "Punktes" kann nur bedient werden, wenn das angewählte EA-Feld eine "Dezimalstelle" aufweist.
Siehe "Animation > Bedienbarkeit".
Schaltfläche "Tastatur schließen":
Wird ein EA-Feld über den Bediener angewählt, wird automatisch der Nummernblock aufgerufen. Um diesen Nummernblock wieder zu schließen, wird das dazugehörige Bit über diese Schaltfläche zurückgesetzt.
Siehe "Ereignisse > Klicken".
4
EA-Felder Über die EA-Felder können "Anlagenspezifische" Werte vorgegeben werden.
Unter den Eigenschaften "Ereignisse > Aktivieren" wird jeweils das Skript "GetActiveObject" aufgerufen.
5
Hinweise und Tipps zur Projektierung
Tab-Reihenfolge an den EA-Felden
An den EA-Feldern ist das Skript "GetActiveObject" projektiert.
Mit aktivieren eines dieser EA-Felder, wird jeweils automatisch der projektierte Nummernblock aufgerufen und über die Schaltfläche "Tastatur schließen" wieder geschlossen.
Damit der "Fokus" nach dem schließen des Nummernblocks nicht auf einen dieser
EA-Felder liegt und der "Nummernblock" dadurch sofort wieder aufgerufen wird, muss auf der Seite ein Objekt projektiert sein (z. B. eine Schaltfläche), auf dem der Fokus anschließend steht.
Sind auf der Seite keine weiteren Objekte wie z. B. eine Schaltfläche vorgesehen, so können Sie z. B. auch eine "unsichtbare Schaltfläche" projektieren und an diesem Objekt die Tab-Reihenfolge-Nummer mit "1" beginnen lassen. Die Schaltfläche können Sie an einer beliebigen Stelle platzieren.
EA-Felder
Bei den EA-Felder, an denen das Skript "GetActiveObject" verwendet wird, darf die
Tab-Reihenfolge-Nummer nicht mit "1" beginnen (siehe obige Beschreibung).
Um die Tab-Reihenfolge zu ändern, wählen Sie das Menü "Ansicht > Tab-Reihenfolge". Es darf dazu kein Objekt im Bild angewählt sein.
Bild 04
Fehler im Skript Zeile...
Das Skript "GetActiveObject" ließt die Namen der angewählten EA-Felder aus. Kontrollieren Sie vor dem Starten der Runtime, ob die Option "Namensinformationen transferieren" unter "Geräteeinstellungen > Einstellungen für Runtime > Namensinformationen transferieren" aktiviert ist.
Systemtastatur deaktivieren
Deaktivieren Sie die Systemtastatur unter "Runtime-Einstellungen > Tastatur > Bildschirmtastatur verwenden".
Nummernblock
Der Nummernblock kann zur Runtime nicht verschoben werden.
Wenn Sie den Nummernblock an unterschiedlichen Positionen benötigen, dann projektieren Sie z. B. mehrere Nummernblöcke, die dann über das entsprechende Skript aufgerufen werden. (Skript "GetActiveObject" -> Zeile 17, Ziffernblock aufrufen)
Bild 05
Skript Bearbeitung
Der Aufruf des Nummernblocks erfolgt über Skripte. Während des Aufrufes darf kein weiteres Skript aktiv sein, ansonsten wird der Aufruf des Nummernblocks nicht ausgeführt.
WebCast
Im folgenden Demo-Film können Sie sich einen Eindruck über benutzerdefinierte Bildschirmtastaturen bekommen.
Downloads
Inhalt der Downloads
Download
Code, WinCC flexible 2008
Die gepackte Datei enthält das WinCC flexible Projekt.
( 3127 KB )
Ergänzende Informationen
Titel
Link
Wie kann eine eigene Bildschirmtastatur für eine WinCC Runtime Advanced Station erstellt werden?