easy-forum

Deutsch - Software => Galileo => Thema gestartet von: Sonnbach am Juli 09, 2020, 00:40:56 Vormittag

Titel: Wert ändern
Beitrag von: Sonnbach am Juli 09, 2020, 00:40:56 Vormittag
Guten Tag
Wo hat sich die Funktion versteckt, mit einer Taste den Wert zu vergrössern und mit einer anderen zu verkleinern?

Danke für die Hilfe und Gruss

Fredi
Titel: Antw:Wert ändern
Beitrag von: Konni66 am Juli 09, 2020, 12:51:29 Nachmittag
Hallo Fredi,

ich habe so ein Beispiel schon mal erstellt.
Das Galileo-File ist leider zu groß, um hier gepostet werden zu können.
Schicke mit doch bitte deine E-Mail-Adresse per PN und ich sende dir das Beispiel als .zip-Datei.

Die Aufgabenstellung habe ich so gelöst (vielleicht reicht dir auch schon dieser Tipp):
- 2 Funktionstasten (+ und -) auf der Maske platziert
- Diese rufen jeweils ein eigenes Skript auf
- Im Skripteditor die beiden Skripte erstellt. Mit folgender Funktion:

Skript PLUS_100ms
if(#.Timer_in_ms<=1900)   //Obere Gerenze abfragen
  #.Timer_in_ms+=100;   //100 ms aufaddieren
endif

Skript MINUS_100ms
if(#.Timer_in_ms>100)   //Untere Grenze abfragen
  #.Timer_in_ms-=100;   //100 ms subtrahieren
endif

Die lokale (#.)Variable (Timer_in_ms) musst du natürlich auch anlegen. (Oder du arbeitest mit der Modbus-Kommunikation. Dann ist es eine Modbusvariable (Schnittstelle 0) -> 0.Timer_in_ms)

Die if-Abfrage musste für den Kollegen verwendet werden, weil er nur Zahlen zwischen 100 und 2000 ms zulassen wollte.


Grüße,
Konni
Titel: Antw:Wert ändern
Beitrag von: Sonnbach am Juli 09, 2020, 20:01:18 Nachmittag
Sali Konni
Danke für deinen Vorschlag. Ich arbeite mit Easy E4 und TP (Einsteigerpaket), bin daher noch Anfänger und kenne mich mit Skripten noch nicht aus.
Mit inc und dec oder direkte Werteingabe habe ich schon probiert, gefällt mir nicht so, weil das alles so kleine Zahlen und Tasten sind.
Eine Steigerung wäre, wenn mit Tippen der Wert um 0,1 variiert und bei Draufbleiben dann schneller wird.
In "meinem" Projekt muss ich zwischen -10.0 bis +10.0 "verstellen"
Danke und Gruss
Fredi
Titel: Antw:Wert ändern
Beitrag von: Konni66 am Juli 10, 2020, 13:59:34 Nachmittag
Hallo Fredi,

um das in Galileo zu lösen, fällt mir so spontan nichts ein.
In deinem Fall würde ich das vom easyE4 lösen lassen.
Den Tastendruck am Display sendest du an das easyE4. Ein Bit für aufwärts; ein Bit für abwärts.
Bei einzelnen Tastendrücken rechnest du am easy +/- 1 (Inc/Dec-Wert 1 auf ein MD100-MD, weil nur dieser Datentyp negative Werte darstellt)
Mit dem Tastendruck werden 2 ansprechverzögerte Timer gestartet. z. B. 2 s und 4 s.
Zwei Datenbausteine enthalten die Inc/Dec-Werte 5 und 10, je nachdem, wie lange du die Taste gedrückt hältst.
Ist keine Taste gedrückt, wird der InC/Dec-Wert auf 1 gesetzt.
Wenn 2 s verstrichen sind, wird der Inc/Dec-Wert auf 5 und nach 4 s auf 10 gesetzt.

Siehe Beispiel im Anhang.

Grüße,
Konni
Titel: Antw:Wert ändern
Beitrag von: weiss_nix am Juli 17, 2020, 10:06:12 Vormittag
Hallo Fredi,
du kannst die Werte mit Schieberegler verstellen oder eine Tastatur zur Direkteingabe einblenden wenn du auf das Eingabefeld tippst...
Titel: Antw:Wert ändern
Beitrag von: Sonnbach am August 30, 2020, 16:04:59 Nachmittag
Danke für die Tipps,
Dem Kunden hat die Variante mit je einer Taste links und rechts vom Wertfeld am besten gefallen. Der Wert wird mit der linken Taste um 1 vergrössert, mit der rechten um 1 verkleinert. Das (der?) Skript begrenzt auch die Eingabe zwischen -10 und +10
Gruss Fredi