programmierung mit verzögerung
Moderator: Co-Administratoren
programmierung mit verzögerung
hallo,
ich bin neu in diesem forum, lese aber schon einige zeit sehr interessiert mit.
vielleicht könnt ihr mir bei folgendem problem helfen.
ich möchte gerne wenn ich den taster1 kurz betätige den aktor1 für 2 sekunden schalten und
nach 30 minuten nochmals den aktor1 für 2 sekunden schalten.
den ersten schaltvorgang hab ich ohne probleme gelöst, jedoch die wartezeit von 30 minuten
bring ich einfach nicht hin, bzw. hab ich keine ahnung wie ich es machen soll.
danke im voraus
ich bin neu in diesem forum, lese aber schon einige zeit sehr interessiert mit.
vielleicht könnt ihr mir bei folgendem problem helfen.
ich möchte gerne wenn ich den taster1 kurz betätige den aktor1 für 2 sekunden schalten und
nach 30 minuten nochmals den aktor1 für 2 sekunden schalten.
den ersten schaltvorgang hab ich ohne probleme gelöst, jedoch die wartezeit von 30 minuten
bring ich einfach nicht hin, bzw. hab ich keine ahnung wie ich es machen soll.
danke im voraus
Re: programmierung mit verzögerung
Hallo das geht z.B.so
wenn Taster ist gleich "kurz" dann
mach_hier_was mit aktor1
wenn-Block-Ende
wenn Stoppuhr(Taster1.ct) groesser "00:30:00" dann
mach_hier_was mit aktor1
wenn-Block-Ende
------------------
Ausführung alle Minute. Geht NICHT über Mitternacht
Taster1.ct ist die Uhr die bei jedem Objekt ab der letzten Betätigung anläuft.
Stopuhr vergleicht diesen Wert mit den 30 Minuten. NUR innerhalb eines Tages. Also ab 23:31:00 geht das nicht mehr.
Gruss
M. Helbig
wenn Taster ist gleich "kurz" dann
mach_hier_was mit aktor1
wenn-Block-Ende
wenn Stoppuhr(Taster1.ct) groesser "00:30:00" dann
mach_hier_was mit aktor1
wenn-Block-Ende
------------------
Ausführung alle Minute. Geht NICHT über Mitternacht
Taster1.ct ist die Uhr die bei jedem Objekt ab der letzten Betätigung anläuft.
Stopuhr vergleicht diesen Wert mit den 30 Minuten. NUR innerhalb eines Tages. Also ab 23:31:00 geht das nicht mehr.
Gruss
M. Helbig
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: programmierung mit verzögerung
Hallo zusammen
Ich glaube nicht, dass das ganz so abläuft, wie Gerald es sich wünscht. Wenn das Makro alle 30 Minuten abläuft, bleibt die erste WENN-Bedingung ewig erfüllt und wird also alle 30 Minuten ausgeführt, auch wenn schon lange nicht mehr gedrückt wurde. Nach 30 Minuten ist das Problem nicht gelöst, denn Stoppuhr(Taster1.ct) ist dann immer > "00:30:00" und beide WENN-Bedingungen werden jede halbe Stunde ausgeführt.
Ich würde das so schreiben, auch wenn es Leute gibt, die - zu Unrecht - der WARTE()-Anweisung nicht ganz trauen:
Dann nur "Ausführen bei Empfang" - KEINEN Ausführungsintervall.
Viele Grüsse
Bümpi
Ich glaube nicht, dass das ganz so abläuft, wie Gerald es sich wünscht. Wenn das Makro alle 30 Minuten abläuft, bleibt die erste WENN-Bedingung ewig erfüllt und wird also alle 30 Minuten ausgeführt, auch wenn schon lange nicht mehr gedrückt wurde. Nach 30 Minuten ist das Problem nicht gelöst, denn Stoppuhr(Taster1.ct) ist dann immer > "00:30:00" und beide WENN-Bedingungen werden jede halbe Stunde ausgeführt.
Ich würde das so schreiben, auch wenn es Leute gibt, die - zu Unrecht - der WARTE()-Anweisung nicht ganz trauen:
Code: Alles auswählen
wenn Taster ist gleich "kurz" dann
Aktor1 ...schalten für "00:00:02"
warte("00:30:00")
Aktor1 ...schalten für "00:00:02"
wenn-Block-Ende
Viele Grüsse
Bümpi
Re: programmierung mit verzögerung
danke für die hilfe,
ich werde das mit dem warten mal testen.
lg
gerald
ich werde das mit dem warten mal testen.
lg
gerald
Re: programmierung mit verzögerung
Hallo Bümpi,
da hast Du aber wirklich Recht - das war ne Dauerschleife!
Gruss
M. Helbig
da hast Du aber wirklich Recht - das war ne Dauerschleife!
Gruss
M. Helbig
Re: programmierung mit verzögerung
hallo bümpi,
ich hätte das schon mal so gehabt, jedoch hab ich bei mir nur die option "ausführen bei änderung"
hab ich da was falsch gemacht??
danke
gerald
ich hätte das schon mal so gehabt, jedoch hab ich bei mir nur die option "ausführen bei änderung"
hab ich da was falsch gemacht??
danke
gerald
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: programmierung mit verzögerung
Hallo Gerald
Ich bin von der "FHZ-Abteilung". Vielleicht sind die Bezeichnungen bei Homeputer CL anders. Wichtig ist, dass das Makro im TASTER steht; nicht etwa im Aktor! Wenn's beim Taster "Ausführen bei Änderung" heisst (es also kein "Ausführen bei Empfang" gibt), aktivierst du diese Option.
Viele Grüsse
Bümpi
Ich bin von der "FHZ-Abteilung". Vielleicht sind die Bezeichnungen bei Homeputer CL anders. Wichtig ist, dass das Makro im TASTER steht; nicht etwa im Aktor! Wenn's beim Taster "Ausführen bei Änderung" heisst (es also kein "Ausführen bei Empfang" gibt), aktivierst du diese Option.
Viele Grüsse
Bümpi
Re: programmierung mit verzögerung
danke bümpi,
das "ausführen bei empfang" war das zauberwort.
jetzt funktioniert es super.
danke nachmal
das "ausführen bei empfang" war das zauberwort.
jetzt funktioniert es super.
danke nachmal
Re: programmierung mit verzögerung
hallo,
jetzt hab ich doch noch eine frage.
ich hoffe ich kann das jetzt auch richtig beschreiben.
ich habe 2 skirpt's.
wenn Taster1 ist gleich "kurz" dann
Aktor1 ...schalten für "00:00:02"
warte("00:30:00")
Aktor1 ...schalten für "00:00:02"
wenn-Block-Ende
wenn Taster2 ist gleich "kurz" dann
Aktor1 ...schalten für "00:00:02"
wenn-Block-Ende
wie kann ich es machen das wenn taster1 betätigt wurde, der "warten" vorgang
abgebrochen wird.
reicht es wenn ich taster2 betätige?
danke
gerald
jetzt hab ich doch noch eine frage.
ich hoffe ich kann das jetzt auch richtig beschreiben.
ich habe 2 skirpt's.
wenn Taster1 ist gleich "kurz" dann
Aktor1 ...schalten für "00:00:02"
warte("00:30:00")
Aktor1 ...schalten für "00:00:02"
wenn-Block-Ende
wenn Taster2 ist gleich "kurz" dann
Aktor1 ...schalten für "00:00:02"
wenn-Block-Ende
wie kann ich es machen das wenn taster1 betätigt wurde, der "warten" vorgang
abgebrochen wird.
reicht es wenn ich taster2 betätige?
danke
gerald
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: programmierung mit verzögerung
Hallo Gerald
Du musst das zweite Script im Objekt Taster2 hinterlegen und wie folgt erweitern:
Im Taster1 musst du eine Variable vom Typ Zahl "Abbruch" und Startwert 0 definieren. Ganz am ANFANG des Makros fügst du zusätzlich folgendes ein:
Viele Grüsse
Bümpi
Du musst das zweite Script im Objekt Taster2 hinterlegen und wie folgt erweitern:
Code: Alles auswählen
wenn Taster2 ist gleich "kurz" dann
Aktor1 ...schalten für "00:00:02"
Taster1.Abbruch := 1
Starte(Taster1)
wenn-Block-Ende
Code: Alles auswählen
wenn Abbruch = 1 dann
Abbruch := 0
verlassen
endewenn
Bümpi