Hallo Zusammen,
folgendes Zenario:
Der FB DIMM_I soll mittels CLICK_MODE bei einem einzelnen Klick auf 100% fahren, bei doppeltem Klick auf den letzten Dimwert gehen und bei langem Tastendruck die Dimmrampe abfahren.
Das klappt bei einem Taster und dem vorgeschalteten FB CLICK_MODE auch super.
Jetzt hatte ich alternativ zum realen Taster in der Visu von TwinCAT einen Taster erzeugt und diesen über den FB CLICK_MODE abgefragt. Der Taster ist in der Visu als Taster und nicht als Toggle definiert. Leider detektiert dieser FB den ersten Klick der Visu garnicht. Doppelklicks werden garnicht oder als Einzelklick erkannt und meistens, wenn überhaupt, erst bei drei Klicks als Doppelklick identifiziert. Nachdem ich in der Source gesehen hatte, dass die T_DEBOUNCE Zeit des FB fest auf 500ms steht, dachte ich, ok, nehme ich halt den FB CLICK. Hier kann ich ja u.a. die T_DEBOUNCE Zeit einstellen. Der funktioniert auch einigermassen. Leider detektiert CLICK kein LONG, sondern bei langem Tastendruck nur Einzelklicks.
Zur Zeit behelfe ich mir damit, dass ich CLICK zur Detektion des Einzelklicks verwende und dahinter den FB CLICK_MODE zur Detektion von langen Tastendrücken verwende. Ist natürlich ein relativ unschönes Konstrukt und läuft auch nicht 100% zuverlässig.
IMHO ist es so, dass bei Benutzung der Visu Taster die Klicks zu schnell für CLICK_MODE kommen. CLICK erkennt sie zwar meistens, natürlich bei angepassten SETUP Variablen, kann aber kein LONG.
Die FB's CLICK und CLICK_MODE möchte ich aber aus Kompatibilätsgründen nicht gerne anpassen.
Hatte das Problem vielleicht schon jemand und könnte mir einen besseren Lösungsansatz geben, als CLICK und CLICK_MODE hintereinander zu schalten?
Danke für jeden Hinweis.
Gruss
Majaestix