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 

 Not-Aus-Schaltung mit Rücksetzung Kategorie: C-Control I V1.1 (von Björn - 4.11.2008 16:30)
Björn nutzt:  CC1-Station V1.1
Hallo,

ich hab ein kleines Problem mit meinem Steuerungsprogramm und komm mit meinen aktuellen Kenntnissen nicht so richtig weiter.

Wäre Super wenn Ihr mir hier weiterhelfen könnnt ;-))


Am Digitalport 5 soll ein schwimmer angeschlossen werden der bei Auslösung die laufenden Pumpen abschaltet.
Trotzdem soll die Kommunikation zum PC erhalten bleiben.
Wenn der Schwimmerschalter auslöst soll zudem die vier LED´s blinken im sekundentakt.

Wenn der Schwimmerschalter nicht mehr auslöst soll die vorher in Betrieb gewesenen Pumpen wieder anlaufen.

Ich hab mich an diesem Unterprogramm schon mal für die Not-Abschaltung schon mal versucht aber leider klappt das nicht so ganz :-((

Ich hoffe es kann mir hier jemand weiterhelfen.
Viele Grüße
Björn


Hier das Komplette Programm:
--------------------------------------------

' C-Control Station/BASIC
' Steuerprogramm mit Zeitsteuerung der Pumpen
'
' Aufgabe:
'
' Steuerung der Filteranlage
' Ausgabe von Meßwerten an den PC
' Kommmandos vom Leitrechner empfangen
' Meßwerte aufzeichnen und auf Kommando an Leitrechner senden
'*********************************************************************************************
' --- Definitionen --------------------

define Ausgang byteport[1]
define Eingang byteport[2]

define AD1 AD[1]                ' AD 1 ---
define AD2 AD[2]                ' AD 2 Batterie - Strom
define AD3 AD[3]                ' AD 3 Start Taster
define AD4 AD[4]                ' AD 4 Reset Taster
define AD5 AD[5]                ' AD 5 Lufttemperatur
define AD6 AD[6]                ' AD 6 Wassertemperatur
define AD7 AD[7]                ' AD 7 Batteriespannung
define AD8 AD[8]                ' AD 8 Netzspannung

define Kommando byte
define Gruppe Byte

define UVC          port[8] 'Definition Relais UV - Klärer
define Luft         port[7]     'Definition Relais Belüftungspumpe
define Pumpe1       port[3] 'Definition Digitalport Pumpe 1
define Pumpe2       port[4] 'Definition Digitalport Pumpe 2
define Überlauf     port[5]     'Definition Digitalport Schwimmschalter Überlauf

define LED1         port[13] 'Definition Betriebsmodusanzeige LED 1
define LED2         port[14] 'Definition Betriebsmodusanzeige LED 2
define LED3         port[15] 'Definition Betriebsmodusanzeige LED 3
define LED4         port[16] 'Definition Betriebsmodusanzeige LED 4

define F1           port[9] 'Definition Folien-Funktionstaster Fl
define F2           port[10]    'Definition Folien-Funktionstaster F2
define F3           port[11] 'Definition Folien-Funktionstaster F3
define F4           port[12] 'Definition Folien-Funktionstaster F4

define F1gedrueckt  bit[189]
define F2gedrueckt  bit[190]
define F3gedrueckt  bit[191]
define F4gedrueckt  bit[192]
define StörungAktiv bit[180]

define BitAnfang bit[180]
define Wert byte
define n Word
define Minuten byte
define Sekunde byte

' --- Programmoperationen -------------

beep 250,30,5

Minuten = 0          'erste Messung bei dieser MinuteX starten (einmalige Vorgabe beim Start)

Luft =   OFF
UVC =    OFF
Pumpe1 = OFF
Pumpe2 = OFF

'##################################################################################################
'Programm:
#Loop
'--------------------------------------------------------------------------------------------------
'Zeitprogramm für Pumpe 1 und Pumpe 2              AKTUELL !!! 26.10.2008 !!!!!

if (hour =  10)  and (minute =  0)  then Pumpe1 = ON                    'Pumpe 1 einschalten
if (hour =  10)  and (minute =  0)  then Luft =   ON
if (hour =  10)  and (minute =  0)  then UVC =    ON
if (hour =  18)  and (minute =  0)  then Pumpe1 = OFF                   'Pumpe 1 ausschalten
if (hour =  18)  and (minute =  0)  then Luft =   OFF
if (hour =  18)  and (minute =  0)  then UVC =    OFF

if rxd then gosub loop12        'Kommandosignal vom Leitrechner abfragen
'--------------------------------------------------------------------------------------------------
' Abfrage der eingeschalteten Pumpen und Anzeigen an den LED´s
LED1 = Pumpe1
LED2 = Pumpe2
LED3 = Luft
LED4 = UVC
'--------------------------------------------------------------------------------------------------
' Tastenabfrage an der C-Control Station
if F1 then F1gedrueckt = OFF ' F1 losgelassen merken
if F1 or F1gedrueckt then goto NotF1 ' F1 neu gedrueckt?
F1gedrueckt = ON ' F1 gedrueckt merken
tog Pumpe1 ' Zustandswechsel nur einmal, bis F1 wieder losgelassen
wait 1 ' Taste entprellen
#NotF1

if F2 then F2gedrueckt = OFF ' F2 losgelassen merken
if F2 or F2gedrueckt then goto NotF2 ' F2 neu gedrueckt?
F2gedrueckt = ON ' F2 gedrueckt merken
tog Pumpe2 ' Zustandswechsel nur einmal, bis F1 wieder losgelassen
wait 1 ' Taste entprellen
#NotF2

if F3 then F3gedrueckt = OFF ' F3 losgelassen merken
if F3 or F3gedrueckt then goto NotF3 ' F3 neu gedrueckt?
F3gedrueckt = ON ' F3 gedrueckt merken
tog Luft ' Zustandswechsel nur einmal, bis F3 wieder losgelassen
wait 1 ' Taste entprellen
#NotF3

if F4 then F4gedrueckt = OFF ' F4 losgelassen merken
if F4 or F4gedrueckt then goto NotF4 ' F4 neu gedrueckt?
F4gedrueckt = ON ' F4 gedrueckt merken
tog UVC ' Zustandswechsel nur einmal, bis F4 wieder losgelassen
wait 1 ' Taste entprellen
#NotF4

'Störmeldeprogramm
'Anlage ausschalten wenn Höhenstandssensor auslöst
'Störmeldung 1
if Überlauf then StörungAktiv = ON ' Sensor deaktiv merken
if Überlauf or StörungAktiv then goto StörungDeaktiv ' Sonsor neu ausgelöst?
Überlauf = OFF ' Meldung gedrueckt merken
tog Pumpe1  ' Zustandswechsel nur einmal, bis Sensor wieder auslöst ????
tog Pumpe2
tog Luft
tog UVC
wait 1 ' entprellen
#StörungDeaktiv
'Ende des Hauptprogramms für die Steuerung der Pumpen- und Aufbereitungstechnik.
'Unterprogramm sind: Messdatenspeicherung und Messdatenauslesen sowie die Komunikation
'zwischen SPS und PC-System

if rxd then gosub loop12        'Kommandosignal vom Leitrechner abfragen
'--------------------------------------------------------------------------------------------------
'--------------------------------------------------------------------------------------------------
' Meßwerte der Analogen Eingänge und der Frequenzmessung im Epprom speichern
'minute = Minuten
if  minute = Minuten then goto messen
goto Loop ' Anfang

#messen
open# for append
if filefree then print# AD5 'Lufttemperatur
if filefree then print# AD6 'Wassertemperatur
if filefree then print# AD7 'Akkuspannung
if filefree then print# AD8 'Netzspannung
if filefree then print# freq 'Durchfluß
if filefree then print# minute 'Zeit bei Messung

close#

Minuten = Minuten + 15
if Minuten = 60 then Minuten = 0
goto Loop
'----------------------------------------------------------------------------------------
'Kommunikation mit Leitrechner
#loop12
get Kommando
if Kommando = 27 then gosub Auslesen

Gruppe = Kommando / 16
on Gruppe gosub G0, G1, G2, G3, G4, G5
return             'Endlosschleife


#G0                 'keine Aktion
return

#G1                 'digitale Ausgabe
get Ausgang
return

#G2                 'digitale Eingabe
put Eingang
return

#G3                 'analoge Eingaben
if Kommando = 48 then put AD1
if Kommando = 49 then put AD2
if Kommando = 50 then put AD3
if Kommando = 51 then put AD4
if Kommando = 52 then put AD5
if Kommando = 53 then put AD6
if Kommando = 54 then put AD7
if Kommando = 55 then put AD8

if Kommando = 56 then put hour
if Kommando = 57 then put minute
if Kommando = 58 then put second
if Kommando = 59 then put freq2

return

#G4                 'analoge Ausgaben
if Kommando = 64 then get second
if Kommando = 65 then get day
return

#G5                 'Freuquenz Hi, Lo
put freq / 256
put freq mod 256


return
'----------------------------------------------------------------------------------------

#Auslesen
  'close#
  open# for read
#Next
  input# Wert
  put Wert
  if not EOF then goto Next
  close#
 return
'-------------------------------------------------------------------------------------
'-------------------------------------------------------------------------------------
' SPS Teichfilter Steuerungsprogramm
' Geschrieben in der Basic-Entwicklungssoftware 1.33

 Antwort schreiben

Bisherige Antworten:

Re: Not-Aus-Schaltung mit Rücksetzung (von MatthiasHH - 4.11.2008 17:24)
    Re: Not-Aus-Schaltung mit Rücksetzung (von Björn - 4.11.2008 22:09)
        Re: Not-Aus-Schaltung mit Rücksetzung (von Hanns - 5.11.2008 0:09)