
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
> > > > > habe mir eine C Controll Station erworben. > > > > > Dachte es wäre einfach folgendes zu erreichen : > > > > > > Wenn man F1 drückt soll das Relais K1 für eine bestimmte Zeit ( die muss ich noch errechnen denke > > > so ca. 2 bis 4 Sekunden) schalten (eine Pumpe ansteuern) und nach dieser Zeit auf eine erneutes > > > drücken der F1 Taste abwarten. > > > > > Kann mir da jemand helfen ? > > > > Ja. Wo klemmt's denn? > > > > Hast Du die Bedienungsanleitung gelesen? Da ist ein sehr ähnliches Beispiel drin, > > wenn ich mich recht erinnere. > > > > Bye > > Achim > > Hallo Achim, > stimmt dieses Programm verarbeitet aber keine Zeit .... meine man kann an und aus schalten .... > > Gruss > Thomas Hallo Thomas und Hallo alle anderen Programmieranfänger DIESE Frage von Thomas ist so KONKRET, dass man sehr gut darauf antworten kann. Nehmt euch ein Beispiel daran. Je konkreter die Frage desto schneller kommt eine Antwort. zu Fragen wie wer hat Erfahrung mit... ich will gerne A-Z machen müßte man als Antwort ein Buch schreiben darauf hat keiner Bock also möglichst konkrete Teilfragen Schritt für Schritt die geilsten Frage-Antwort-Threads sehen so aus -konkrete Frage1 --Antwort1 ---konkrete Frage2 ----Antwort2 -----konkrete Frage3 ------Antwort3 usw. usw. usw. usf. globale oder unkonkrete Frage Pi mal Daumen-Antwort Ende AUS V O R B E I eine ganz einfache Variante 2-4 Sekunden zu "warten" ist der Befehl "pause" für zwei Sekunden warten pause 2 * 50 wartet 2 Sekunden pause 4 * 50 wartet 4 Sekunden d.h. aber auch der Prozessor macht so lange Urlaub und man kann nichts anderes in der Zwischenzeit machen bis er aus dem Urlaub zurück kommt eine elegantere Variante ist folgendes Define Sekundenspeicher Word 'definiere Variable Namens "SekundenSpeicher als 16 bit RAM-Variable (16 bit = word)" Define WarteZeitInSekunden 10 'definiere Konstante Namens "WarteZeitInSekunden" mit dem Wert "10" 'Das Programmieren einer Konstanten für die WarteZeit hat den Vorteil, 'daß man nur an einer Stelle (nämlich hier oben) im Programm die Wartezeit ändern muß. 'Das ist letztendlich übersichtlicher. #ZeitSpeichern Sekundenspeicher = Second 'Sekundenstand speichern (z.B. a.) SekundenSpeicher = 33, b.) SekundenSpeicher = 57 #Warteschleife 'wenn Bedingung erfüllt (z.B. a.) second = 43: 43 - 33 = 10 = WarteZeitInSekunden 'b.) second = 7: 7 - 57 = -50 = -(60 - 10) 'ist, sind WarteZeitInSekunden vergangen und Schaltvorgang wird ausgelöst If(second - Sekundenspeicher = Wartezeitinsekunden) Or(second - Sekundenspeicher = -(60 - Wartezeitinsekunden)) Then Goto MachWasZeitgesteuert Goto Warteschleife #MachWasZeitgesteuert Goto ZeitSpeichern alle Programmvorgänge die schnell und regelmäßig durchlaufen werden sollen also warten ob eine Taste gedrückt wird Temperaturwerte kontrollieren usw. müssen zwischen "#Warteschleife" und "Goto Warteschleife" eingebaut werden alle Vorgänge die nur alle 1- 59 Sekunden EINMAL gemacht werden sollen werden über die obige Konstruktion aufgerufen d.h. man kann das ganze für mehrere Sachen mit unterschiedlichen Wartezeiten machen Define SekundenspeicherLampe Byte Define SekundenspeicherPumpe Byte Define WarteZeitInSekundenLampe 2 Define WarteZeitInSekundenPumpe 4 #ZeitSpeichernLampe SekundenspeicherLampe = Second Goto Warteschleife 'Kommentar: der Programmteil "#ZeitSpeichernPumpe" muss übersprungen werden #ZeitSpeichernPumpe SekundenspeicherPumpe = Second Goto Warteschleife #Warteschleife If(second - SekundenspeicherLampe = WartezeitinsekundenLampe) Or(second - SekundenspeicherLampe = -(60 - WartezeitinsekundenLampe)) Then Goto MachWasZeitgesteuertLampe If(second - SekundenspeicherPumpe = WartezeitinsekundenPumpe) Or(second - SekundenspeicherPumpe = -(60 - WartezeitinsekundenLampe)) Then Goto MachWasZeitgesteuertPumpe Goto Warteschleife #MachWasZeitgesteuertLampe ... deine Programmzeilen Goto ZeitSpeichernLampe #MachWasZeitgesteuertPumpe ... deine Programmzeilen Goto ZeitSpeichernPumpe #Name bezeichnet eine bestimmte Programmstelle an die das Programm mit dem Befehl Goto Name hinspringt sl |
| Antwort schreiben |