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 | ||
| ||
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) |