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: Programm umschreiben!! Kategorie: Programmierung Basic (von Björn - 10.06.2011 20:20)
 Als Antwort auf Re: Programm umschreiben!! von MaPi - 5.06.2011 20:08
OK, Danke!!

Ich werd versuchen wie weit ich komme und mich dann melden!!!

Viele Grüße
Björn











> Hallo Björn,
> da Du keine HW-nahen Zugriffe per SYS-Befehl im Programm hast sehe ich jetzt keinen Grund dafür, warum Du das Programm nicht in der CC1 V2.0 nutrzen können solltest.
> Einzig die definierten Ports lassen sich wohl so nicht mehr ansprechen.
>
> Ich empfehle Dir für die Portierung die Nutzung von CCBASIC V2.0 (auf der Conrad C-Control Seite noch zu haben). Aber Vorsicht: Einige CC-Basic Befehle existieren nicht mehr oder haben eine teilweise andere Funktion.
>
> Schau mal beim Surfen auf der Conrad C-Control Seite auch nach den Downloads der Infos für CCBasic.
> Da kannst Du Beispiele und Ifos runterladen, die Dir helfen, das Programm umzusetzen.
>
> Wenn Du nicht zurecht kommen solltest, dann melde Dich unter der o.g. Emailadresse. Ich versuche dann, Dir etwas zu helfen.
>
> Versuchs mal.
> Servus, MaPi
>
>
> > 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

Bisherige Antworten: