RequestAction Ausgangswert auslesen

Ich möchte einen Slider benutzten. Aus dem übergebenen Wert berechne ich wie oft ein Befehl wiederholt werden muss um den neuen Zielwert zu erreichen. Dazu weis ich die maximale Anzahl an Befehlswiederholungen, die es benötigt um von 0% auf 100 % zu kommen. Um zu berechnen wie oft der Befehl wiederholt werden muss brauche ich den Wert den der Slider hatte bevor eine Interaktion stattgefunden hat und den Wert der jetzt durch die Interaktion eingestellt wurde.

Den aktuellen Wert bekomme ich ja durch RequestAction geliefert aber wie komme ich an den Ursprungswert ran? Brauche ich da dann irgendein Hilfskonstrukt wie eine zusätzliche Variable oder geht das auch einfacher nur sehe ich den Wald vor Bäumen nicht?

Um das noch mal zu verdeutlichen ich habe z.B. einen Slider dieser steht auf 10% und wird auf 80% bewegt. Es sind 10 Befehlswiederholungen notwendig um von 0 auf 100 zu kommen. Also bräuchte ich in diesem sehr einfachen Fall 7 mal den Befehl hintereinander auszuführen. Die 0.8 bekomme ich durch RequestAction als $Value. Wie komme ich an die 0.1, den Ausgangswert?

Da RequestAction ein Sollwert-Anforderung ist, liegt der aktuelle Wert in deiner „Variablen“ und dein neuer Wert wird von RequestAction geliefert. Dann berechnest du alles, machst die Schritte und schreibst den neuen Wert in die „Variable“.

paresy

Gemeint ist hier die IPS-Variable welche deinen Slider darstellt.
Michael

Ah ok, da hatte ich zu kompliziert gedacht und einen Denkfehler. Ich bekomme also eine Sollwert Anforderung über RequestAction und lese den Ist Wert ganz normal mit GetValue aus, berechne dann das was notwendig ist und führe dann die Befehle aus und setzte den neuen Wert der Variable. Richtig?

Genau so! :slight_smile:

paresy

Das hier nicht unbedingt. Liegt an der Hardware welche du steuerst bzw auch wie.
Wenn eh gleich ein Event mit den neuen Wert eintrifft, dann brauchst du es nicht machen.
Bei anderer BiDi Kommunikation würde ich jeden einzelnen Schritte setzen wenn der einzelne Steuerbefehl quittiert wurde.
Bei UniDi musst du gleich setzen und hoffen dass die Hardware schon korrekt funktioniert :wink:
Michael