
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
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 |