Prinzip "Thread"

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
PhilippS
Beiträge: 16
Registriert: 04 Jan 2025, 15:59

Prinzip "Thread"

Beitrag von PhilippS » 27 Feb 2025, 14:47

Liebe Community,

es geht um meine ersten Schritte mit dem „thread“-Befehl aus der RoboCode-Programmierung. Ich bin Neuling bei Fischertechnik Robotics, verstehe aber, daß mit einem Thread die Abarbeitung von Unterprogramme parallel stattfinden kann.

Dank des Beispielprogramms ist von dem Verständnis leider aber nicht mehr viel übrig. Kurz zusammengefasst: es werden zwar die beiden Unterprogramme parallel ausgeführt (so soll es sein), danach wird eines der Unterprogramme („Rote LED“) aber noch einmal ausgeführt (das soll nicht sein).

Ausführlicher: zwei LEDs („Rot“ und „Grün“) sollen 5x parallel blinken. Dazu gibt es zwei Unterprogramme (für jede LED eins). Das Blinken ist eine Abfolge von An- und Ausschalten einer jeden LED.
Kann mir jemand aus der Community bei meinem grundsätzlichen Verständnis zum Thema „thread“ helfen?

Vielen Dank im Voraus!
Philipp
Dateianhänge
Thread_Unterprogrammme Rote LED-Grüne LED.jpg
Thread_Unterprogrammme Rote LED-Grüne LED.jpg (419.72 KiB) 3188 mal betrachtet

Benutzeravatar
fishfriend
Beiträge: 2208
Registriert: 26 Nov 2010, 11:45

Re: Prinzip "Thread"

Beitrag von fishfriend » 27 Feb 2025, 16:37

Hallo...
Ich hab es nicht 100% durchgedacht, aber das Hauptprogramm hat eine Dauerschleife, wo es immer und immer wieder aufgerufen wird.
Mach mal die Dauerschleife unter Lampe rot.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

nobi
Beiträge: 20
Registriert: 30 Jun 2024, 15:24

Re: Prinzip "Thread"

Beitrag von nobi » 27 Feb 2025, 17:14

Hallo Philipp,

für mein Verständnis könnte es daran liegen, dass die erneute Ausführung von "LED rot" innerhalb der Dauerschleife 2x aufgerufen wird. 1x per Thread und dann nochmals explizit als Funktion.
Es käme auf den Versuch an die Funktion "Lampe rot" zu entfernen, vielleicht führt dieser Weg zum gewünschten Ergebnis.
Drücke die Daumen!!

Viele Grüße
Norbert

PhilippS
Beiträge: 16
Registriert: 04 Jan 2025, 15:59

Re: Prinzip "Thread"

Beitrag von PhilippS » 28 Feb 2025, 10:54

Dank Euch beiden!

Ich habe den Baustein "Lampe rot" aus dem Hauptprogramm entfernt und nun leuchten beide Lampen so wie gedacht. Ich denke, dass ich mit Euren Kommentaren das Thema "thread" nun verstehe. :-)

Viele Grüße

Philipp

nobi
Beiträge: 20
Registriert: 30 Jun 2024, 15:24

Re: Prinzip "Thread"

Beitrag von nobi » 28 Feb 2025, 17:28

Hallo Philipp,

in der Tat, es ist nicht immer ganz einfach mit RBC zu arbeiten. Oftmals setzt man etwas voraus, glaubt es funktioniert alles und dann, ja dann beginnt das grübeln.
Um so mehr freut es mich zu hören/lesen, dass der Tipp erfolgreich war.

Ein schönes Wochenende und weiterhin viele spannende Momente mit RBC.
Norbert

vleeuwen
Beiträge: 1609
Registriert: 31 Okt 2010, 22:23
Wohnort: Enschede (NL)
Kontaktdaten:

Re: Prinzip "Thread"

Beitrag von vleeuwen » 28 Feb 2025, 20:24

software enigineer/teacher/advisor
Google translate
http://tescaweb.nl/Carel/?p=713

Karl
Beiträge: 2489
Registriert: 24 Sep 2016, 17:28

Re: Prinzip "Thread"

Beitrag von Karl » 28 Feb 2025, 22:26

Hallo,
betreffend dem korrigiertem RP-Coding Programm von PhilippS ergibt sich meinerseits die Frage:
"Was passiert wenn ich z.B. "Grün" auf 8 Wiederholungen setze und "Rot" mit 5 Wiederholungen beibehalte"?
Wird "Rot" dann automatisch übersprungen und "Grün" anschließend dreimal allein ausgeführt ?

Karl
Beiträge: 2489
Registriert: 24 Sep 2016, 17:28

Re: Prinzip "Thread"

Beitrag von Karl » 28 Feb 2025, 22:26

Hallo,
betreffend dem korrigiertem RP-Coding Programm von PhilippS ergibt sich meinerseits die Frage:
"Was passiert wenn ich z.B. "Grün" auf 8 Wiederholungen setze und "Rot" mit 5 Wiederholungen beibehalte"?
Wird "Rot" dann automatisch übersprungen und "Grün" anschließend dreimal allein ausgeführt ?

MagZa
Beiträge: 1
Registriert: 14 Mär 2025, 18:10

Re: Prinzip "Thread"

Beitrag von MagZa » 14 Mär 2025, 23:00

PhilippS hat geschrieben:
27 Feb 2025, 14:47
Liebe Community,

es geht um meine ersten Schritte mit dem „thread“-Befehl aus der RoboCode-Programmierung. Ich bin Neuling bei Fischertechnik Robotics, verstehe aber, daß mit einem Thread die Abarbeitung von Unterprogramme parallel stattfinden kann.

Dank des Beispielprogramms ist von dem Verständnis leider aber nicht mehr viel übrig. Kurz zusammengefasst: es werden zwar die beiden Unterprogramme parallel ausgeführt (so soll es sein), danach wird eines der Unterprogramme („Rote LED“) aber noch einmal ausgeführt (das soll nicht sein).

Ausführlicher: zwei LEDs („Rot“ und „Grün“) sollen 5x parallel blinken. Dazu gibt es zwei Unterprogramme (für jede LED eins). Das Blinken ist eine Abfolge von An- und Ausschalten einer jeden LED.
Kann mir jemand aus der Community bei meinem grundsätzlichen Verständnis zum Thema „thread“ helfen?

Vielen Dank im Voraus!
Philipp

Es klingt so, als ob der rote LED-Thread nicht richtig gestoppt wird. Achte darauf, dass der Thread nach dem Blinken korrekt beendet wird, damit er nicht nochmal startet.

Hoffe, das hilft

Antworten