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 8:44)
 Als Antwort auf Re: zeitverzögerung von Achim - 15.09.2005 16:05

>
> > > > hallo, liebe kollegen,
> > > > 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 ??
> > >
> > > Du kannst Dein Programm entweder mit dem Befehl pause schlafen legen, oder mit der Funktion timer eine Schleife laufen lassen, bis die Minute um ist.
> > >
> > Danke achim, aber das programm soll keine pause machen, keine schleifen laufen, sondern weiterarbeiten
>
> 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
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

#weiter
goto loop

#pumpe_an
pumpe=on
goto weiter


#pumpe_aus
pumpen_timer_laeuft = off
pumpe = off
return

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 :(

mfg
> if pumpen_timer_laeuft AND abs(timer - pumpen_timer) > 60 * 50 then gosub pumpe_aus
> ...
> if pumpen_timer_laeuft AND abs(timer - pumpen_timer) > 60 * 50 then gosub pumpe_aus
> ...
> end
>
> #pumpe_aus
> pumpen_timer_laeuft = off
> pumpe = off
> return
>
> HTH
>
> Bye
>  Achim

 Antwort schreiben

Bisherige Antworten:

Re: zeitverzögerung (von Achim - 16.09.2005 9:01)
    Re: zeitverzögerung (von renate - 16.09.2005 9:08)
        Re: zeitverzögerung (von renate - 16.09.2005 9:28)
            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)