Besten Dank!
Habs glaub kappiert. Bitte beachte die Windmessungsmetode.
Also so:
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
'----------------------------------------------------------
' --- 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
MFG
Ron
Lesezeichen