Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Huhn-Ei Problem mit Threads Kategorie: Programmierung (von Newbie - 12.09.2011 16:42)
Als Antwort auf Re: Huhn-Ei Problem mit Threads von André H. - 12.09.2011 15:09
Ich nutze:
C-Control II Station, OSOPT V3.1
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:
>
> function NormalControl()
> {
>  do
>  {
>   //...
>  } while emergency==0;
> }
>
> function EmergencyControl()
> {
>  do
>  {
>   //...
>  } while emergency;
>
> }
>
> thread irgendetwas
> {
>  if emergency EmergencyControl(); else NormalControl();
> }
>

>
> MfG André H.


    Antwort schreiben


Antworten: