Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Merkwürdiges Verhalten der C-Control 1 Station Kategorie: C-Control I V1.1 (von ManfredW, Homepage - 12.11.2006 15:51)
 Als Antwort auf Merkwürdiges Verhalten der C-Control 1 Station von Volker - 12.11.2006 14:29
Hallo,
das ist ein schönes Projekt.
Anregungen und Hinweise habe ich unten eingefĂĽgt.
Weitere Hinweise findest Du auf meiner homepage.
MfG ManfrdW

> Hallo,
>
> ich habe ein Problem mit der C-Control Station.
>
> Mein Programm ist ein Wassersteuerungssystem mit dem 2 Pumpen und ein Magnetventil gesteuert werden. Es gibt 5 Schalter fĂĽr 3 Tanks. 2x Tank oben und 3x Tank unten.
> Zusätzlich zu den Led´s K1 und K2 steuere ich die Led´s über den F-Tasten F1 und F2 an.
> Hier liegt scheinbar der Fehler.
> Wenn ich die Led´s über F1 und F2 nicht ansteuere, läuft alles perfekt.
Dann läuft die Steuerung nur in Automatik.

> Steuere ich sie aber an und es werden beide Pumpen gleichzeitig eingeschaltet oder es läuft die Eine und die Andere wird dazugeschaltet, resettet die C-Control station.
> Was kann das sein ?
Bei Hand schaltest Du ein ohne den Automatikbetrieb zu unterbrechen. Dadurch schaltet die Pumpe ein und aus und verursacht heftige Störungen.

>
> Die Station läuft im Test ohne Pumpen und ohne Magnetventil
Das deutet darauf hin, dass bei Test Störeinstreuung der Pumpen entfällt.
>
> Hier das Programm
>
> '======================
> 'Pumpensteuerungssystem
> '======================
>
> 'Wasserbedarfssteuerung fĂĽr mein Haus in Sri Lanka
> '1. Es gibt kein Wasserleitungssystem in der Gegend !
> '2. Das System ist als überdruckloses Schwerkraftsystem ausgelegt, da es immer wieder Stromausfälle gibt.
> '3. Es gibt einen Brunnen, zwei 1000 Liter Tanks auf dem Dach(Brunnen- und Regenwasser) und einen 5000 Liter Tank in der Erde (Sisterne).
> '4. Auf dem Dach wird Regenwasser aufgefangen und in der Sisterne gespeichert.
> '
> 'Wassernutzung: Brunnenwasser --- zum waschen und duschen.
> '               Regenwasser   --- zur ToilettenspĂĽlung und Gartenbewässerung
> '               Trinkwasser   --- wird in 20 Liter Flaschen gekauft
> '======================
> 'Die Aufgabe:
> '1. Zwei Arten von Wasser mĂĽssen in zwei verschiedene Tanks auf dem Dach gepumpt werden, sobald die Sensoren "leer" melden.
> '2. Ein ĂĽberlaufen muĂź verhindert werden. Pumpe "aus" wenn die Sensoren "voll" melden.
> '3. Falls inder Sisterne kein Regenwasser mehr vorhanden ist, muĂź der Regenwassertank mit Brunnenwasser gefĂĽllt werden.
> '4. Dazu gibt es eine Verbindung zwischen dem Brunnenwassertank und dem Regenwassertank mit steuerbarem Magnetventil.
> '   Davor sitzt ein RĂĽckschlagventil, das verhindert daĂź das Brunnenwasser verunreinigt wird.  
>
> 'Definitionen
> define BWToben   port[1]       'Schalter im Brunnenwassertank (oben)
> define BWTunten  port[2]       'Schalter im Brunnenwassertank (unten)
> define RWToben   port[3]       'Schalter im Regenwassertank (oben)
> define RWTunten  port[4]       'Schalter im Regenwassertank (unten)
> define Sisterne  port[5]       'Schalter in der Sisterne (unten)
> define Ventil    port[6]       'Relais zum Schalten eines Ventils zwischen Brunnenwassertank und Regenwassertank (Falls die Sisterne leer ist)
> define PumpeB    port[7]       'Relais zum Schalten der Brunnenwasserpumpe
> define PumpeR    port[8]       'Relais zum Schalten der Regenwasserpumpe
> define F1        port[9]
> define F2        port[10]      'F1..F3 Tasten zur Handsteuerung der Relais
> define F3        port[11]
> define LEDB      port[13]      'Led zur Anzeige "Brunnenwasserpumpe angeschaltet" (läuft paralel zur Led K1)  
> define LEDR      port[14]      'Led zur Anzeige "Regenwasserpumpe angeschaltet"   (läuft paralel zur Led K2)
> define LEDV      port[15]      'Led zur Anzeige "Speisung des Regenwassertank aus dem Brunnenwassertank angeschaltet" (Ventil offen falls Sisterne leer)
> define TAKT      port[16]      'Blinken der Led ĂĽber Taste F4. Kontrolle: Programm läuft.
>
> 'INITIALISIERUNG  -----------------
> Ventil = on
> PumpeB = off
> PumpeR = off                   'alle Relais und Led´s ausgeschalten  
> LEDB = off
> LEDR = off
> LEDV = off
> TAKT = off
>
> 'PROGRAMM  HAUPTSCHLEIFE  ---------
> #loop  
> if F1 = off then gosub BWTfuellen          'Handsteuerung des Relais "PumpeB"
Hier springst Du mit gosub, nach RĂĽckkehr wird der folgende Automatik-Betrieb Sisterne auch bearbeitet. Besser ist goto zu verwenden, um bei Hand den Automatik-Betrieb zu unterbinden.

> if F2 = off then gosub RWTfuellen          'Handsteuerung des Relais "PumpeR"
> if F3 = off then gosub Ventiloeffnen       'Handsteuerung des Relais "Ventil"
Automatik-Betrieb
evt. besser   if  Sisterne = ON then gosub RW else KeinRW

> if Sisterne = on then gosub RW             'Regenwasser in der Sisterne vorhanden
> if Sisterne = off then gosub keinRW        'kein Regenwasser in der Sisterne vorhanden
> TAKT = on                                  '
> pause 5                                    '
> TAKT = off                                 'Blinken bei jedem Schleifendurchlauf zur Kontrolle: Programm läuft.
> pause 50                                   '
> goto loop
>
> 'UNTERPROGRAMME  --------------------
>  
> #RW           'Regenwasser in der Sisterne vorhanden
> Ventil = on                                            'Ventil ausschalten
> LEDV = off                                             'Anzeige Ventil ausschalten
> if BWToben = off and BWTunten = off then PumpeB=on     'Brunnenwassertank leer, PumpeB anschalten
Ist es sinnvoll beide Schalter abzufragen?
Ich empfehle, fĂĽr die Pumpe nur den einen Schalter abzufragen.
Vorweg aber die Plausibilität der Schalter auszuwerten, also nicht einzuschalten, wenn ein Schalter festhängt.

> if PumpeB=on then LEDB=on                              'zugehörige Led anschalten
KĂĽrzer wäre  LEDB = PumpeB

> if BWToben = on and BWTunten = on then PumpeB=off      'Brunnenwassertank voll, PumpeB ausschalten      
> if PumpeB=off then LEDB=off                            'zugehörige Led anschalten
> if RWToben = off and RWTunten = off then PumpeR=on     'Regenenwassertank leer, PumpeR anschalten
> if PumpeR=on then LEDR=on                              'zugehörige Led anschalten
> if RWToben = on and RWTunten = on then PumpeR=off      'Regenenwassertank voll, PumpeR ausschalten
> if PumpeR=off then LEDR=off                            'zugehörige Led anschalten
> return
>
> #keinRW        'Kein Regenwasser in der Sisterne vorhanden
> Ventil = off                                           'Tankausgleichsventil öffnen
> LedV = on                                              'zugehörige Led anschalten
> PumpeR = off                                           'Falls noch eingeschaltet: Regenwasserpumpe ausschalten
> LEDR =off                                              'zugehörige Led ausschalten
> if BWToben = off and BWTunten = off then PumpeB=on     'Brunnenwassertank leer, PumpeB anschalten
> if PumpeB=on then LEDB=on                              'zugehörige Led anschalten
> if BWToben = on and BWTunten = on then PumpeB=off      'Brunnenwassertank voll, PumpeB ausschalten
> if PumpeB=off then LEDB=off                            'zugehörige Led ausschalten
> return
>
> #BWTfuellen     'Handsteuerung Brunnenwasserpumpe      
> PumpeB = on                              'Brunnenwasserpumpe einschalten
> LEDB = on                                'zugehörige Led anschalten
> if F1 = off then goto BWTfuellen         'solange die Taste gedrĂĽckt ist weiterpumpen
Das Unterprogramm wird angesprungen, wenn F1 = OFF
Der Zustand F1 = ON ist hier also nicht möglich und die folgenden Befehle werden nicht bearbeitet.

> PumpeB = off                             'Brunnenwasserpumpe ausschalten
> LEDB = off                               'zugehörige Led ausschalten
> return
>
> #RWTfuellen     'Handsteuerung Regenwasserpumpe
> if sisterne = off then return            'Wenn Sisterne leer kein pumpen erlauben
> PumpeR = on                              'Regenwasserpumpe einschalten
> LEDR = on                                'zugehörige Led anschalten                        
> if F2 = off then goto RWTfuellen         'solange die Taste gedrĂĽckt ist weiterpumpen
> PumpeR = off                             'Regenwasserpumpe ausschalten
> LEDR = off                               'zugehörige Led ausschalten                        
> return
>
> #Ventiloeffnen  'Handsteuerung Ventil
> Ventil = off                             'Ventil öffnen
> LEDV = on                                'zugehörige Led anschalten
> if F3 = off then goto Ventiloeffnen      'solange die Taste gedrĂĽckt ist das Ventil geöffnet lassen.
> Ventil = on                              'Ventil schlieĂźen
> LEDV = off                               'zugehörige Led ausschalten
> return
>


Meine Homepage: http://manfred.wilzeck.de

 Antwort schreiben

Bisherige Antworten:

Re: Merkwürdiges Verhalten der C-Control 1 Station (von Achim - 12.11.2006 16:15)
    Re: Merkwürdiges Verhalten der C-Control 1 Station (von ManfredW - 12.11.2006 16:35)
        Re: Merkwürdiges Verhalten der C-Control 1 Station (von Achim - 12.11.2006 16:49)
        Re: Korrektur (von ManfredW - 12.11.2006 16:44)
            Re: Korrektur (von Achim - 12.11.2006 16:51)