
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Hallo! Ich habe mir die C-Control 1 Station 2 zugelegt. Nun möchste ich mein Programm aus der Station V1.1 in die Sation V1.2 haben. Leider klappt das ja nicht so einfach. Wer ist so nett und hilft mir beim Umschreiben des Programmes? Wäre echt supernett wenn sich jemand von Euch dazu findet!! Vielen Dank schon einmal!!! Gruss Björn Hier das Prog: '********************************************************************************************* ' ' C-Control Station/BASIC ' Steuerprogramm mit Zeitsteuerung der Pumpen ' ' Aufgabe: ' Steuerung der Filteranlage ' Ausgabe von Meßwerten an den PC ' Kommmandos vom Leitrechner empfangen ' Sollwerte senden und empfangen ' Meßwerte aufzeichnen und auf Kommando an Leitrechner senden '********************************************************************************************* ' --- Definitionen -------------------- ' Stand: 25.01.2010 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 BitAnfang bit[180] define StörungAktiv bit[188] 'Flankenbit für Schwimmer define F1gedrueckt bit[189] 'Flankenbit für Taste F1 define F2gedrueckt bit[190] 'Flankenbit für Taste F2 define F3gedrueckt bit[191] 'Flankenbit für Taste F3 define F4gedrueckt bit[192] 'Flankenbit für Taste F4 define n Word define Wert byte define Minuten byte define Sekunde byte define h_startP1 byte 'Variable Start Std. Pumpe 1 define m_startP1 byte 'Variable Start Min. Pumpe 1 define h_stopP1 byte 'Variable Stop Std. Pumpe 1 define m_stopP1 byte 'Variable Stop Min. Pumpe 1 define h_startP2 byte 'Variable Start Std. Pumpe 2 define m_startP2 byte 'Variable Start Min. Pumpe 2 define h_stopP2 byte 'Variable Stop Std. Pumpe 2 define m_stopP2 byte 'Variable Stop Min. Pumpe 2 define h_startLuft byte 'Variable Start Std. Belüftungspumpe define m_startLuft byte 'Variable Start Min. Belüftungspumpe define h_stopLuft byte 'Variable Stop Std. Belüftungspumpe define m_stopLuft byte 'Variable Stop Min. Belüftungspumpe define h_startUVC byte 'Variable Start Std. UVC-Lampe define m_startUVC byte 'Variable Start Min. UVC-Lampe define h_stopUVC byte 'Variable Stop Std. UVC-Lampe define m_stopUVC byte 'Variable Stop Min. UVC-Lampe ' --- Programmoperationen ------------- Beep 250, 20, 5 'Grundzustand herstellen Minuten = 20 'erste Messung bei dieser MinuteX starten (einmalige Vorgabe beim Start) ''Sekunde = 30 Luft = OFF UVC = OFF Pumpe1 = OFF Pumpe2 = OFF 'Standartwerte laden: Hour = 7 Minute = 45 #Startwerte h_startP1 = 8 'Uhr m_startP1 = 0 'Uhr h_stopP1 = 18 'Uhr m_stopP1 = 0 'Uhr h_startP2 = 17 'Uhr m_startP2 = 0 'Uhr h_stopP2 = 17 'Uhr m_stopP2 = 57 'Uhr h_startLuft = 8 m_startLuft = 1 h_stopLuft = 17 'Uhr m_stopLuft = 58 h_startUVC = 8 m_startUVC = 2 h_stopUVC = 17 'Uhr m_stopUVC = 59 'Uhr Return '################################################################################################## 'Hauptprogramm: '################################################################################################## #Loop '-------------------------------------------------------------------------------------------------- 'Zeitprogramm für Pumpe 1 und Pumpe 2 if (hour = h_startP1) and (minute = m_startP1) then Pumpe1 = ON 'Pumpe 1 einschalten If (Hour = h_stopP1) And (Minute = m_stopP1) Then Pumpe1 = OFF if (hour = h_startP2) and (minute = m_startP2) then Pumpe2 = ON 'Pumpe 2 einschalten If (Hour = h_stopP2) And (Minute = m_stopP2) Then Pumpe2 = OFF if (hour = h_startLuft) and (minute = m_startLuft) then Luft = ON 'Luft einschalten If (Hour = h_stopLuft) And (Minute = m_stopLuft) Then Luft = OFF if (hour = h_startUVC) and (minute = m_startUVC) then UVC = ON 'UVC einschalten If (Hour = h_stopUVC) And (Minute = m_stopUVC) Then UVC = OFF If rxd Then GoSub Abfrage 'Kommandosignal vom PC 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 Return 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 Return 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 Return 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 Return If rxd Then GoSub Abfrage 'Kommandosignal vom PC abfragen '-------------------------------------------------------------------------------------------------- '-------------------------------------------------------------------------------------------------- ' Meßwerte der Analogen Eingänge und der Frequenzmessung im Epprom speichern ' minute = Minuten 'if second = Sekunde then goto messen If Minute = Minuten Then GoTo messen goto Loop ' Anfang #messen open# for append if filefree then print# AD5 'Lufttemperatur speichern if filefree then print# AD6 'Wassertemperatur speichern if filefree then print# AD7 'Akkuspannung speichern if filefree then print# AD8 'Netzspannung speichern if filefree then print# freq2 'Durchfluß speichern if filefree then print# Minute 'Zeit bei Messung speichern close# ''Sekunde = Second + 2 ''if Sekunde = 60 then Sekunde = 0 Minuten = Minuten + 5 'nach Messung 15min auf die aktuelle Minuten rechenen If Minuten = 60 Then Minuten = 0 goto Loop '---------------------------------------------------------------------------------------- 'Kommunikation mit Leitrechner #Abfrage get Kommando If Kommando = 27 Then GoSub Auslesen 'Messwerte auslesen (geht über Excel) If Kommando = 70 Then GoTo Sollwerte 'Sollwerte empfangen 'if Kommando = 80 then gosub Abfrage1 Gruppe = Kommando / 16 On Gruppe GoSub G0, G1, G2, G3, G4, G5, G6 Return 'Endlosschleife #G0 'keine Aktion 0..15 Return #G1 'digitale Ausgabe 16..31 get Ausgang Return #G2 'digitale Eingabe 32..47 if Kommando = 32 then put Eingang if Kommando = 33 then put h_startP1 if Kommando = 34 then put m_startP1 if kommando = 35 then put h_stopP1 if kommando = 36 then put m_stopP1 if Kommando = 37 then put h_startP2 if kommando = 38 then put m_startP2 if kommando = 39 then put h_stopP2 if kommando = 40 then put m_stopP2 if Kommando = 41 then put h_startLuft if Kommando = 42 then put m_startLuft if kommando = 43 then put h_stopLuft if kommando = 44 then put m_stopLuft Return #G3 'analoge Eingaben 48..63 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 h_startUVC if Kommando = 57 then put m_startUVC if kommando = 58 then put h_stopUVC if kommando = 59 then put m_stopUVC 'if Kommando = 60 then put freq2 Return #G4 'analoge Ausgaben 64..79 if Kommando = 64 then get second if Kommando = 65 then get day Return #G5 'Freuquenz Hi, Lo 80...95 put freq / 256 put freq mod 256 Return #G6 '96..111? if Kommando = 96 then put hour if Kommando = 97 then put minute if Kommando = 98 then put second if Kommando = 99 then put freq2 Return '---------------------------------------------------------------------------------------- 'Hier werden die Meßwerte aus dem Epprom an Excel gesendet #Auslesen 'close# open# for read #NextA input# Wert put Wert If Not EOF Then GoTo NextA close# goto loop '---------------------------------------------------------------------------------------- 'Hier die Vorbereitung für das Einlesen der Sollwerte aus der VB-Apli.. #Sollwerte get h_startP1 get m_startP1 get h_stopP1 get m_stopP1 get h_startP2 get m_startP2 get h_stopP2 get m_stopP2 get h_startLuft get m_startLuft get h_stopLuft get m_stopLuft get h_startUVC get m_startUVC get h_stopUVC get m_stopUVC Return #Abfrage1 'vorbereitung für weitere Funktionen Return '---------------------------------------------------------------------------------------- '------------------------------------------------------------------------------------- '------------------------------------------------------------------------------------- ' SPS Teichfilter Steuerungsprogramm ' Geschrieben in der Basic-Entwicklungssoftware 1.33 |
| Antwort schreiben |