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

Re: Problem bei Wertübergabe an Variable Kategorie: Programmierung (von Schroeder - 18.08.2008 13:40)
Als Antwort auf Re: Problem bei Wertübergabe an Variable von Markus - 18.08.2008 13:04
Ich nutze:
C-Control II Unit, eigenes Board, OSOPT V3.1
Hallo,

warum setzt du ueberhaupt eine Variable und machst es nicht so,
wie du es schon gepostet hattest, also direkt ein wait auf adc.port?

>>wait ports.adc(0) > 300

deine andere Variante, Entschuldige, aber, die macht keinen Sinn.

Benötigst du aber die Variable auch woanders, dann solltest du die ad port
Abfrage in einem eigenen Thread packen.

y=0;

thread a
{
  wait ports.adc(0) > 300
  {
    y=1;
  }
  wait ports.adc(0) <= 300
  {
    y=0;
  }
}

thread b
{
  ...

  wait y==1
 ...
}

Gruss
Peter


> Hallo nitraM,
>
> danke für die schnelle Antwort!
> Ja, genau so mach ich das!!!
> Und was wäre die Lösung? Entschuldige die unverschämte Frage ;-)
> Ich knobel da schon länger dran...
>
> Es geht konkret darum, ich will einen Motor Starten für ein BHKW, Speicher kalt => Motor starten,
> Speicher warm => Motor abstellen, Speicher kalt => Motor starten, .......
> das alles natürlich vollautomatisch...
>
> So Quasi: "C2 Station warte bis der Speicher kalt ist, dann starte den Motor maximal 5 sec,
> bei frühzeitigem erreichen der mindestdrehzahl spure den Starter aus, ansonsten spure nach
> 5 sec aus, warte 30 sec und versuche es erneut. Wenn es nach zwei weiteren versuchen nicht geht,
> schreibe in Display, dass was faul ist!" ;-)
>
> Danke,
> Markus
>
>
> > Hallo Markus
> > fragst du den AD-Port vor dem wait ab???
> >
> > etwa so:  
> >
> > ...
> > if ports.adc(0) > 300 y = 1;
> > ...
> > ...
> > wait y == 1;
> > stports.setRel(1,1);
> > ...
> > ...
> >
> >

> >
> > Wenn ja, dann ist die Sache klar....
> > überleg mal, was passiert wenn y=0 und du zum wait kommst...
> > Dein y wird ja nicht mehr eingelesen...
> >
> > nitraM
> >
> >
> > > Hallo C2-Gemeinde,
> > >
> > > ich hab ein kleines Problemchen!
> > >
> > > Ich frage einen AD Port ab, an dem ein Poti hängt, das funktioniert auch sehr gut,
> > > jetzt möchte ich, wenn ein gewisser Wert überschritten wird, einer Variablen einen Wert zuweisen, sieht dann bei mir so aus:
> > >
> > > if ports.adc(0) > 300 y = 1;
> > >
> > > Wenn ich diese Variable dann weiterverarbeiten will, dann geht das irgend wie nicht! Beispiel:
> > >
> > > wait y == 1;
> > > stports.setRel(1,1);
> > >
> > > Das Prog funktioniert wenn ich follgendes mache:
> > >
> > > wait ports.adc(0) > 300;
> > > stports.setRel(1,1);
> > >
> > > bzw.
> > >
> > > die if Anweisung weglasse und nur y = 1; in den Quelltext schreibe...
> > >
> > > Kann mir vielleicht jemand weiterhelfen, ich stehe da momentan völlig auf dem Schlauch!
> > >
> > > Danke für Eure Hilfe,
> > >
> > > Markus
> > >
> > >


    Antwort schreiben


Antworten:

Re: Problem bei Wertübergabe an Variable (von Markus - 18.08.2008 14:00)