Besten Dank!
Habs glaub kappiert. Bitte beachte die Windmessungsmetode.
Also so:
MFGCode:'////////////////////////////////////// '// '// Basic++ '// Destination C-Control I M2.0 '// Beschreibung: '// '////////////////////////////////////// OPTION CC2.0 'Zielplattform '********************************************************** ' C-Control Station ' ' Springbrunnen Regelung ' ' Di Haupt-Pumpe (Hp) läuft grunsätzlich immer, ausser wenn ' es nicht genug Wasser im Brunnen hat. ' ' Der Wasserspiegel wird konstant via Drucksensor (Ds) gemes- ' sen und bei bedarf nach gefüllt via Magnetventil (Mv) oder ' abgepumpt via kleine Pumpe (Kp). ' ' Der Wasserstrahl ist über den Wasserspiegel kontrolliert. ' Je höher der Wasserspiegel, desto tiefer der Stahl. Je ' tiefer der Wasserspiegel desto höher der Strahl. ' ' Der Anenometer [Windmesser] (Am) bewirkt eine Reduzierung ' des Wasserstrahls bei Wind. Eine Durchschnittsmessung ' (Schwellwert) von 1 Minute ist für ein ruhiges verhalten. ' ' Es sind 3 Betriebsarten einstellbar. ' ' Automatisch (F1): ' Hiermit wird der Stahl immer auf das Maximum gebracht. ' ' Halbautomatisch (F2): ' Hiermit kann man eine selbst definierte Höhe des Wasser- ' stahls festlegen der aber bei Wind via Windmessung reduziert ' wird. ' ' Manuel (F3): ' Hiermit kann man eine selbst definierte Höhe des Wasser- ' stahls festlegen der ohne Windmessung immer gleich bleibt. ' ' Die Betriebsart wird via F1, F2 und F3 bestimmt. ' ' Auf dem Display ist immer die Aktuelle Wasserstrahlhöhe ' zu sehen. '********************************************************** '---------------------------------------------------------- ' --- Definitionen --- '---------------------------------------------------------- ' die Relais define Hp port[7] define Mv port[8] define Kp port[9] ' der Drucksensor define Ds port[1] ' der Anenometer define Am ad[5] ' die Folien-Funktionstasten define F1 port[9] define F2 port[10] define F3 port[11] define FTaste byte ' eine Variable zur Speicherung der Windgeschwindigkeit define Wgs byte define WgsT byte define WgsZyk byte ' Variablen zur Speicherung der Wasserstrahlhöhe define Strahlhöhe byte define StrahlhöheAktuell byte ' Konstanten '---------------------------------------------------------- ' --- Setup --- '---------------------------------------------------------- ' Initialisierung Hp = OFF Mv = OFF Kp = OFF do ' Tastenabfrage if F1 = OFF or F2 = OFF or F3 = OFF then Auswahl() loop ' Betriebsarte auswählen Function Auswahl() Hp = OFF Print "Springbrunnen - " Print "Betriebsart Wahl" wait F1 or F2 or F3 if F1 = ON then Automatisch() if F2 = ON then Halbautomatisch() if F3 = ON then Manuel() end function ' Event Zähler Setup für Windmessung Function Setevent() CONFIG.INIT CONFIG.PUT 00000110b CONFIG.OFF End Function '---------------------------------------------------------- ' --- Schleifen der einzelnen Betriebsarten --- '---------------------------------------------------------- ' Endlosschleife für Automatisch Function Automatisch() Lcd.Print "Automatikbetrieb" pause 25 Lcd.Clear Do ' Das Programm: Loop until F1 = OFF end function ' Endlosschleife für Halbautomatisch Function Halbautomatisch() Lcd.Print "Halbautomatik-" Lcd.Print "betrieb" pause 25 Lcd.Clear Do ' Das Programm: loop until F2 = OFF end function ' Endlosschleife für Manuel Function Manuel() Lcd.Print "Manuelbetrieb" pause 25 Lcd.Clear Do ' Das Programm: Loop until F3 = OFF end function ' Windmessung (Durchschnitt von eine Minute) Function Windmessung() ' Initialisierung WgsT = "" Setevent() Do If TIMER>=500 Then 'alle 10s gemessen WgsT = Am + WgsT WgsZyk = WgsZyk + 1 ' Zykeln Zählen TIMER=0 ' Timer reset End If ' Zykel reseten wenn nötig (6 Zykeln pro minute) If WgsZyk = 6 then Wgs = WgsT / 6 WgsT =0 End If Loop end function
Ron







Zitieren

Lesezeichen