Navigation
06.03.2019, 13:56

EV3 Frage zur Pausierung von Programmschleifen

LLL,

gibt es beim EV3 mit Bordmitteln die Möglichkeit eine Programmschleife solange zu pausieren, wie der Berührungssensor gedrückt gehalten wird?

LG,
_Rene



Lok24
06.03.2019, 13:58

Als Antwort auf den Beitrag von Navigation

Editiert von
Lok24
06.03.2019, 14:04

+1Re: EV3 Frage zur Pausierung von Programmschleifen

ja, ich such Dir das mal raus, kleinen Moment.......

huch, Frage falsch verstanden, das ist nicht so simpel.Hm.
Wenn das Programm in einer Schleife läuft und da z.B. einen Motor für 5 sec anmacht kommt es an der Abfrage des Sensors für 5sec nicht mehr vorbei.
Muss die Schleife also sofort unterbrochen werden, oder erst, wenn sie ihren Schleifenablauf komplett abgearbeitet hat?



Navigation gefällt das


Thomas52xxx
06.03.2019, 14:27

Als Antwort auf den Beitrag von Lok24

Re: EV3 Frage zur Pausierung von Programmschleifen

kann ich nicht die Abfrage "Schalter nicht geschlossen" als zusätzliche Bedingung vor das Starten der Schleife setzen.

Bzw. die Schleife in lauter Einzelschleifen zerlegen, die Ausgeführt werden, so lange der Schalter nicht gedrückt ist und der Schleifenzähler den gewünschten wert nicht erreicht hat.


Gruß
Thomas

mein Blog
meine Eisenbahnräder


Lok24
06.03.2019, 14:33

Als Antwort auf den Beitrag von Thomas52xxx

Re: EV3 Frage zur Pausierung von Programmschleifen

Moin,

Thomas52xxx hat geschrieben:

kann ich nicht die Abfrage "Schalter nicht geschlossen" als zusätzliche Bedingung vor das Starten der Schleife setzen.

Bzw. die Schleife in lauter Einzelschleifen zerlegen, die Ausgeführt werden, so lange der Schalter nicht gedrückt ist und der Schleifenzähler den gewünschten wert nicht erreicht hat.


Es sind m.E. zwei Anwendungen:
Eine Maschine, die 10 sec lang die tollsten Sachen macht und dann wieder von vorne bedingt:
Die will ich zur Mittagspause stoppen, dann kann man das machen. Der Vorteil: die Anlage ist immer in einem definierten Zustand.

Oder ein Nothalt:
Dann bleibt alles mittendrin stehen.
Wird aber evtl schwierig, das wieder anlaufen zu lassen.



Lok24
06.03.2019, 14:44

Als Antwort auf den Beitrag von Thomas52xxx

Re: EV3 Frage zur Pausierung von Programmschleifen

Hier schon mal die einfachste Variante, das Hauptprogramm wird aber immer ganz durchlaufen, es stoppt also immer mit "grün", auch wenn der Sensor bei "gelb" gedrückt wird ....

[image]



Lok24
06.03.2019, 15:02

Als Antwort auf den Beitrag von Navigation

Editiert von
Lok24
06.03.2019, 15:06

Re: EV3 Frage zur Pausierung von Programmschleifen

Hallo,

so geht's: in der Variablen TEST wird gemerkt, ob der Taster gedrück ist oder nicht. Das Hauptprogramm läuft nur wenn nicht.

Es wird auch sofort unterbrochen, läuft aber beim Loslassen des Sensors immer von vorne neu.
Wichtig: die innere Schleife oben heißt LOOP und wird im unteren Programmast unterbrochen.

[image]




D.h. das macht nicht das Gewünschte, will man tatsächlich "pausieren" muss man jeden Befehl in eine solche Schleife einarbeiten, fürchte ich.
Übrigens kenne ich keine Programmiersprache, in der es sowas gibt. Glaube ich.

LG

Werner



Lok24
06.03.2019, 15:49

Als Antwort auf den Beitrag von Lok24

Re: EV3 Frage zur Pausierung von Programmschleifen

Ach ja *seufz* , es geht natürlich auch ohne die Hilfsvariable......

[image]



Micha2
06.03.2019, 16:27

Als Antwort auf den Beitrag von Navigation

Re: EV3 Frage zur Pausierung von Programmschleifen

Navigation hat geschrieben:

LLL,

gibt es beim EV3 mit Bordmitteln die Möglichkeit eine Programmschleife solange zu pausieren, wie der Berührungssensor gedrückt gehalten wird?

LG,
_Rene

Es wäre wichtig zu wissen, was genau "pausieren" bedeutet.
- Die Schleife wird sofort beim Drücken am aktuellen Ort unterbrochen und läuft von genau da wieder los, wenn losgelassen?
- Die Schleife stoppt an einem (oder mehreren) vorher definierten Stellen innerhalb der Schleife, falls gedrückt wird und läuft beim Loslassen von dort (oder vom Anfang) aus weiter?
- Die Schleife prüft nur vor oder nach jedem Schleifendurchlauf, ob der Sensor gedrückt ist oder nicht, und macht dann ggf. einen vollen Durchlauf oder nicht.



Lok24
06.03.2019, 16:44

Als Antwort auf den Beitrag von Micha2

Re: EV3 Frage zur Pausierung von Programmschleifen

Hallo,

Micha2 hat geschrieben:

Es wäre wichtig zu wissen, was genau "pausieren" bedeutet.
- Die Schleife wird sofort beim Drücken am aktuellen Ort unterbrochen und läuft von genau da wieder los, wenn losgelassen?


Das halte ich für kaum realisierbar.
Nimm an ein Motor läuft innerhalb der Schleife für 3 Sekunden.
Wie weiß Du, wie lange er schon gelaufen ist, wenn Stop gedrückt wird?
Du müsstest also dauernd für alle Zustände millisekundengenau die Werte merken und dann genau wieder aufsetzen und die Restlaufzeit berücksichtigen.

Das mag zwar gehen, wird aber extrem aufwendig.



Navigation
06.03.2019, 19:05

Als Antwort auf den Beitrag von Lok24

+1Re: EV3 Frage zur Pausierung von Programmschleifen

Vielen Dank schonmal für die Bemühungen.

Micha2 hat geschrieben:

Es wäre wichtig zu wissen, was genau "pausieren" bedeutet.
- Die Schleife wird sofort beim Drücken am aktuellen Ort unterbrochen und läuft von genau da wieder los, wenn losgelassen?


Im Idealfall ja

Lok24 hat geschrieben:
Hallo,
Das halte ich für kaum realisierbar.
Nimm an ein Motor läuft innerhalb der Schleife für 3 Sekunden.
Wie weiß Du, wie lange er schon gelaufen ist, wenn Stop gedrückt wird?


Ich weiß das nicht, aber im Jahr 2019 wird sich doch ein "intelligenter" Baustein das merken können ;)

Nach meinem unmaßgeblichen Verständnis müsste es doch machbar sein, ein Programm nicht nur zu jedem beliebigen Zeitpunkt zu stoppen (das funktioniert ja auch, wenn der Motor 2 von 3 geplanten Sekunden läuft), sondern auch an ebenjener Stelle weiterlaufen zu lassen. Was spricht denn (programm)technisch gesehen beim EV3 dagegen?

Ich kann mir auch gerade gar nicht vorstellen, dass eine Art Pause-Modus nicht vorgesehen ist und auch so wenig relevant sein soll

Liebe Grüße,
-Rene



Steinemann gefällt das


7 nachfolgende Beiträge sind ausgeblendet

Alle anzeigen Immer alle anzeigen