Re: Zeitschaltung Kategorie: Programmierung (von Karl - 21.11.2011 12:40) | ||
Als Antwort auf Re: Zeitschaltung von Rene Schulz - 20.11.2011 22:23 | ||
| ||
Hallo Renee, nun soweit ich das richtig verstanden habe geht die Control Station sofern du nichts daran geändert hast mit der 32er Priorität durch alle Threads. In meinem Fall tat sie es so, dass wenn ein Thread fertig war dieser neu gestartet hat, was aber auch daran liegen kann dass ich meine Threads alle vom Main Thread starten lasse und der geht definitiv immer durch solange du kein halt einbaust. Wenn du zweifel hast teste es einfach mal einen Tag lang. Bei mir funzt das bis jetzt ohne Probleme( hab nur noch Probleme mit manueller Schaltung, da spinnt dann das ganze System^^) LG Karl Hallo Karl, > > ich habe den code nochmal etwas geändert, nun geht die Schaltung. > Licht geht bei Reset nach 1 Minute an und nach weiteren 3 Minuten wieder aus. > Hier mal der geänderte Code ab dem loop. > Die Frage ist nun nur noch, macht es das jetzt täglich oder muss ich da einen Return einbauen? > > Danke im voraus > Gru� Rene > > Hier noch der code: > > > loop > > //////// Es wird jeden Tag geschaltet//////// > { > min = system.minute(); > wait system.minute() != min; > time=system.hour()*100 + system.minute(); > > if time >= 0001 and time <= 0003 > > > stports.setRel(1,1); > else > stports.setRel(1,0); > }; > }; > > > > Hallo Karl, > > > > 3 stellig ist das nur zum Testen gewesen, heist es soll nach einer minute einschalten > > und nach 3 Minuten wieder abschalten. > > Das loop ist für den Rücksprung, dieser soll gewährleisten das täglich in der definierten Zeit > > Ein- und Abgeschalten wird. > > Wie gesagt es geht alles bis zum Abschalten, dort ist irgendwo ein Fehler drinnen, den ich nicht > > finde. :( > > > > Gru� Rene > > > > > Hi Renee! > > > wieso ist deine Zeit nur 3 stellig? bei mir ist sie vierstellig, habe aber > > > auch probleme damit gehabt, wo die c control Logik der Meinen überlegen > > > war. > > > wieso hast du da eigentlich die loop drinne? die station läuft da nach dem > > > was ich bemerkt habe eh endlos durch jedes modul durch... > > > LG > > > > > > so einen kleinen Erfolg habe ich zu Verzeichnen. > > > > In folgfendem Programm läuft alles so wie es soll, bis auf die Kleinigkeit, dass > > > > das Relais zur angegebenen Zeit nicht abschaltet. > > > > > > > > Könnte mir bitte einer sagen was ich falsch mache und ob loop so an der richtigen Stelle sitzt, > > > > weil das Programm ja jeden Tag zu dieser Zeit ablaufen soll. > > > > > > > > Danke schon mal > > > > Gru� Rene > > > > > > > > > > > > thread main > > > > { > > > > string s; > > > > byte led; > > > > byte outport; > > > > byte port; > > > > byte hour, min; > > > > int time; > > > > stports.init(); > > > > lcdext.init(); > > > > > > > > /*******************************************/ > > > > /******** ANSTEUERUNG LCD *************/ > > > > /*******************************************/ > > > > lcdext.print(" C-CONTROL II"); > > > > lcdext.line(2); > > > > lcdext.print(" STATION"); > > > > sleep 2000; > > > > lcdext.clear(); > > > > > > > > /*******************************************/ > > > > /******** ANSTEUERUNG RELAYS *************/ > > > > /*******************************************/ > > > > > > > > lcdext.print("TERRA: LICHT"); > > > > sleep 2000; > > > > lcdext.clear(); > > > > > > > > /////////////////Zeitschaltuhr Licht////////////////////// > > > > min = system.minute(); > > > > wait system.minute() != min; > > > > time=system.hour()*100 + system.minute(); > > > > > > > > loop > > > > ////////////// Es wird jeden Tag geschaltet///////////////// > > > > > > > > if time >= 001 and time <= 003 > > > > > > > > > > > > stports.setRel(1,1); > > > > else > > > > stports.setRel(1,0); > > > > | ||
Antwort schreiben Antworten: Re: Zeitschaltung (von Rene Schulz - 21.11.2011 13:29) Re: Zeitschaltung (von Karl - 23.11.2011 18:22) Re: Zeitschaltung (von Rene Schulz - 23.11.2011 20:04) Re: Zeitschaltung (von Karl - 4.12.2011 19:50) Re: Zeitschaltung (von Rene Schulz - 18.12.2011 14:06) |