Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Danke André, > > Ich habe mal wieder den Wald vor lauter Bäumen nicht gesehen - so gehts ja viel einfacher. > > Ich hatte da ein Detail nicht erwähnt. > > Durch diesen Prozess wollte ich auf möglichst einfache Art Hysterese in Prozesse einbauen, damit > ich keine unsinnigen Verhalten kriege in einer Anlagensteuerung. Das Rücksprungkriterium wäre so > einfach anders wählbar als das Reinsprungkriterium. > > Beispiel: > > Batterie wird entladen - unterhalb 20% soll auf "Notfall geschaltet werden. > > Erst wenn wieder z.b. 21% erreicht wird, soll "Normal" gelten. > > Mit Funktionen geht das ja auch wunderbar indem ich in der Subfunktion das Emergency-Flag setze oder > lösche. > > Danke! > > Michael > > > > > > > Hallo Michael, > > > > > Im Zuge der Sauberkeit will ich meinen Programmablauf in Threads unterteilen, die je nach Zustand > > > abgearbeitet werden. Leider habe ich da ein Huhn-Ei-Problem... > > > > Dein Problem ist garkeines. > > Der Sinn von Threads ist hier nicht, als Funktionen mißbraucht zu werden, sondern > > verschiedene Aufgaben parallel ablaufen zu lassen. > > Du willst aber entweder das eine oder das andere ausführen, aber nie gleichzeitig. > > Also reicht in Deinem Fall ein Thread. Über diesen rufst Du entsprechende Funktionen auf. > > Anhand Deines Bsp. würde das so aussehen: > > <code> > > function NormalControl() > > { > > do > > { > > //... > > } while emergency==0; > > } > > > > function EmergencyControl() > > { > > do > > { > > //... > > } while emergency; > > > > } > > > > thread irgendetwas > > { > > if emergency EmergencyControl(); else NormalControl(); > > } > > </code> > > > > MfG André H.