Besten Dank..
Habs kappiert bis auf: "DO" ?
Was macht dieser Parameter?
Gruss
Ron
PS: Code: (Mein Compiler [WorkBench++] sagt dass dieser code gültig ist.
Code:'////////////////////////////////////// '// '// 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 '---------------------------------------------------------- ' --- Das Programm --- '---------------------------------------------------------- ' Initialisierung Hp = OFF Mv = OFF Kp = OFF ' Endlosschleife #Tastenabfrage ' Tastenabfrage if not (FTaste = 1 or FTaste = 2 or FTaste = 3) then Auswahl if FTaste = 1 then Automatisch if FTaste = 2 then Halbautomatisch if FTaste = 3 then Manuel goto Tastenabfrage ' Betriebsarte auswählen Function Auswahl() Hp = OFF Lcd.Print"Springbrunnen - " Lcd.Print "Betriebsart Wahl" wait F1 or F2 or F3 if F1 then FTaste = 1 if F2 then FTaste = 2 if F3 then FTaste = 3 Return end function ' Event Zähler Setupfü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 #LoopA until FTaste not = 1 ' Das Programm: goto loopA end function ' Endlosschleife für Halbautomatisch Function Halbautomatisch() Lcd.Print "Halbautomatik-" Lcd.Print "betrieb" pause 25 #LoopH until FTaste not = 2 ' Das Programm: goto loopH end function ' Endlosschleife für Manuel Function Manuel() Lcd.Print "Manuelbetrieb" pause 25 #LoopM until FTaste not = 3 ' Das Programm: goto loopM end function ' Windmessung (Durchschnitt von eine Minute) Function Windmessung() ' Initialisierung WgsT = "" Setevent() #LoopWgs 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 goto LoopWgs end function ' Strahlhöhe







Zitieren

Lesezeichen