Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: zeitverzögerung Kategorie: Programmierung Basic (von renate - 16.09.2005 9:28)
 Als Antwort auf Re: zeitverzögerung von renate - 16.09.2005 9:08

>
> > > > > > > habe eine frage : ich habe eine steuerung programmiert, um eine pumpe zu steuern (an/aus), nun
> > > > > > > möchte ich aber, dass diese pumpe nach unterschreitung einer bestimmten temperatur noch eine minute
> > > > > > > weiterläuft und nicht sofort ausgeht ! kann mir jemand helfen ??
> > > > > >
> > > >
> > > > Dann musst Du an geeigneten Stellen abprüfen, ob die Minute um ist.
> > > >
> > > > if temp >= schwellwert then goto warm
> > > >   pumpen_timer_laeuft = on
> > > >   pumpen_timer = timer
> > > > #warm
> > > >
> >  
> > danke achim es hat mich schon ein stückchen weiter gebracht aber trotzdem bekomm ich es nicht zum laufen ! ich zeig dir einfach mal mein programm und hoffe mal du kannst den fehler finden :)
> >  
> > > define temp1 ad[1]
> > > define temp2 ad[2]
> > > define pumpe port[1]
> > > define pumpen_timer_laeuft byte
> >
> > pumpen_timer muss ein word sein, wie Du weiter unten bereits richtig erkannt hast.
> >
> > > define pumpen_timer byte
> > > define y byte
> > >
> > > #loop
> > > y = abs(timer - pumpen_timer)
> > >
> > > print "timer =",pumpen_timer
> > > print "y=" , y
> > >
> > > if temp1 < temp2 then goto timer1 else goto pumpe_an
> > >
> > >
> > > #timer1
> > >    pumpen_timer_laeuft = ON
> > >    pumpen_timer = timer
> > > if pumpen_timer_laeuft = ON AND abs(timer - pumpen_timer) > 60 * 50 then gosub pumpe_aus else goto weiter
> >
> > Du setzt den Pumpen-Timer ja jedesmal neu, solange temp1 < temp2 ist. Kein Wunder, dass die Pumpe ewig läuft (unabhängig von dem Fehler, den Wert in einem byte zu speichern).
> >
> > Da Du jetzt entgegen Deiner Aussage doch eine Schleife hast, muss in timer1 noch eine if-Abfrage rein, die das Neu-Setzen des Pumpen-Timers verhindert, wenn der Timer bereits läuft. (Lasse ich Dir jetzt mal zur Übung, das zu codieren.) ;-)
> >
> > > mir ist aufgefallen das der timer bzw die abs funktion ja nie größer als 255 wird und somit auch nie größer als 60*50 = 3000 werden kann ! und somit bleibt die pumpe immer an :(
> >
> > Das ist aber nur einer der Gründe. S.o.
> >
> > Bye
> >  Achim
>
> ach im ! :)
>
> das is jetzt aber gemein von dir ! und das so früh am morgen :)
> aber ich versuch es mal du schelm :)
>
> mfg


hmm also ich habs jetzt nochmal getestet aber es will einfach nich gehen ! könntest du mal die freundlichkeit besitzen am frühen morgen und mir mal das programm so umschreiben das es geht ?  das wäre echt nett von dir :)

mfg

 Antwort schreiben

Bisherige Antworten:

Re: zeitverzögerung (von Achim - 16.09.2005 10:39)
    Re: zeitverzögerung (von renate - 19.09.2005 9:11)
        Re: zeitverzögerung (von Achim - 19.09.2005 12:02)