
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
> > > > > 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 |