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 

 Taster entprellen und kleinigkeiten... Kategorie: C-Control I V1.1 (von Björn - 10.04.2005 17:05)
Moin, moin !

Ich hab für meine Teichfilteranlag zu Steuerung eine C-Control 1 im Einsatz.

Ich hab da ein paar kleine Problemme und hoffe es kann mir hier weitergeholfen werden.

Problem1:
Wenn ich an der Station eine der F-Tasten betätige wird ständig an/aus geschaltet... wie kann ich das unterbinden ?

Problem2:
Wenn ich möchte das sich die Station mit dem DCF-Modul die Zeit selbst holt und ich das nicht immer
im Programm vorgeben muss. Allerdings weiß ich nicht wie ich das im Programm umsetzen muss.

Problem3:
Von Zeit zu Zeit fällt die Station einfach "aus" alle gespeicherten Daten sind dann weg...
warum die Station ausfällt weiß ich leider nicht aber wie kann ich die Daten fest speichern auch wenn die SPS  mal ausfällt ? (Die Daten werden aööe 4 - 5 tage mit einem Excel-Programm ausgelesen)


Für Hilfen und Tipps bin ich sehr dankbar!!!
MFG
Björn


...und hier das Prog was in der CCStation läuft...:

'*********************************************************************************************
'
' C-Control Station/BASIC
' Steuerprogramm mit Zeitsteuerung der Pumpen
'
' Aufgabe:
'
' Steuerung der Filteranlage
' Ausgabe von Meßweten an den Leitrechner
' Kommmandos vom Leitrechner empfangen
' Meßdaten zum Leitrechner senden
' 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[7] 'Definition Relais UV Klärer
define Luft         port[8]               'Definition Relais Belüftungspumpe
define Pumpe1  port[1] 'Definition Digitalport Pumpe 1
define Pumpe2  port[2] 'Definition Digitalport Pumpe 2

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 Wert byte
define n Word
define Minuten byte
define Sekunde byte
' --- Programmoperationen -------------

beep 250,15,5
hour  = 12            'manuelle Zeiteinstellung
minute = 22        
second = 0
Minuten = 30      

Luft = ON
Pumpe1 = ON
Pumpe2 = OFF
open# for write
'--------------------------------------
#Loop
'Zeitprogramm für Pumpe 1 und Pumpe 2              AKTUELL !!! 07.04.2005 !!!!!

if rxd then gosub loop12        'Kommandosignal vom Leitrechner abfragen

if (hour = 6)  and (minute =   0) and (second =   0) then Pumpe1 = ON  'Pumpe1 einschalten
if (hour = 22) and (minute =   0) and (second =   0) then Pumpe1 = OFF 'Pumpe 1 ausschalten

if rxd then gosub loop12        'Kommandosignal vom Leitrechner abfragen

if (hour = 22) and (minute =   0) and (second =   0) then Pumpe2 = ON  'Pumpe 2 einschalten
if (hour = 22) and (minute =  15) and (second =   0) then Pumpe2 = OFF 'Pumpe 2 ausschalten

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

 #messen
  if (filefree > 1) then print# AD5
  if (filefree > 1) then print# AD6
  if (filefree > 1) then print# AD7
  if (filefree > 1) then print# AD8
  if (filefree > 1) then print# freq
  if (filefree > 1) then print# hour
if rxd then gosub loop12        'Kommandosignal vom Leitrechner abfragen

  Minuten = Minuten + 15
  if Minuten = 60 then Minuten = 0
  if rxd then gosub loop12        'Kommandosignal vom Leitrechner abfragen
if rxd then gosub loop12        'Kommandosignal vom Leitrechner abfragen

  return
'----------------------------------------------------------------------------------------
' Abfrage der eingeschalteten Pumpen
#Abfrage
if rxd then gosub loop12        'Kommandosignal vom Leitrechner abfragen

If Pumpe1  = ON  then LED1 = ON
If Pumpe1  = OFF then LED1 = OFF

if rxd then gosub loop12        'Kommandosignal vom Leitrechner abfragen

If Pumpe2  = ON  then LED2 = ON
IF Pumpe2  = OFF then LED2 = OFF

if rxd then gosub loop12        'Kommandosignal vom Leitrechner abfragen

If UVC = ON  then LED3 = ON
If UVC = OFF then LED3 = OFF

if rxd then gosub loop12        'Kommandosignal vom Leitrechner abfragen

If Luft    = ON  then LED4 = ON
If Luft    = OFF then LED4 = OFF

if rxd then gosub loop12        'Kommandosignal vom Leitrechner abfragen
'----------------------------------------------------------------------------------------
' Tastenabfrage an der C-Control Station

if not F1 and Pumpe1 =  ON then Pumpe1 = OFF ELSE if not F1 and Pumpe1 = OFF then Pumpe1 = ON

if rxd then gosub loop12        'Kommandosignal vom Leitrechner abfragen

if not F2 and Pumpe2 =  ON then Pumpe2 = OFF ELSE if not F2 and Pumpe2 = OFF then Pumpe2 = ON

if rxd then gosub loop12        'Kommandosignal vom Leitrechner abfragen

if not F3 and UVC =  ON then UVC = OFF ELSE if not F3 and UVC = OFF then UVC = ON

if rxd then gosub loop12        'Kommandosignal vom Leitrechner abfragen

if not F4 and Luft   =  ON then Luft = OFF ELSE if not F4 and Luft = OFF then Luft = ON

goto loop                       'Rücksprung zum Zeitprogramm
'-------------------------------------
'Kommunikation mit Leitrechner
#loop12
get Kommando
if Kommando = 27 then gosub Auslesen

Gruppe = Kommando / 16
on Gruppe gosub G0, G1, G2, G3, G4, G5
goto Loop           '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

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
  if rxd then gosub loop12        'Kommandosignal vom Leitrechner abfragen

#Next
 input# Wert
 put Wert
 if not EOF then goto Next
 close#
 open# for write

 return

'-------------------------------------------------------------------------------------
' SPS Teichfilter Steuerungsprogramm
' Geschrieben in der Basic-Entwicklungssoftware 1.33
'
'
' Copyright by Björn Riemer 1999 - 2009
'
'-------------------------------------------------------------------------------------

 Antwort schreiben

Bisherige Antworten:

Re: Taster entprellen und kleinigkeiten... (von Björn - 10.04.2005 20:45)
Re: Taster entprellen und kleinigkeiten... (von Achim - 10.04.2005 19:01)
    Re: Taster entprellen und kleinigkeiten... (von Achim - 10.04.2005 19:10)
Re: Taster entprellen und kleinigkeiten... (von ManfredW - 10.04.2005 18:55)
    Re: Zusatz (von ManfredW - 10.04.2005 19:32)