-
        

Ergebnis 1 bis 2 von 2

Thema: Heizungsteuerung mit dcf77 problem

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    25.12.2005
    Beiträge
    97

    Heizungsteuerung mit dcf77 problem

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo zusammen

    Ich habe ein kleines Problem mit dem DCF77. der sich aufhängt (die Empfangenen Bits laufen ums doppelte schneller)wenn ich vor die DoSchleife einer Variable sage welchen wert sie hat.

    Deflcdchar 1 , 12 , 18 , 18 , 12 , 32 , 32 , 32 , 32 ' "°" Grad
    Deflcdchar 2 , 32 , 32 , 32 , 32 , 32 , 32 , 31 , 31 ' replace ? with number (0-7)
    Deflcdchar 3 , 32 , 32 , 32 , 31 , 31 , 31 , 32 , 32 ' replace ? with number (0-7)
    Deflcdchar 4 , 31 , 31 , 31 , 32 , 32 , 32 , 32 , 32 ' replace ? with number (0-7)
    Deflcdchar 5 , 4 , 4 , 4 , 4 , 21 , 14 , 4 , 32 ' replace ? with number (0-7) Pfeil unten
    Deflcdchar 6 , 14 , 14 , 14 , 14 , 4 , 31 , 31 , 31 ' replace ? with number (0-7)Magnetspule


    Config Lcdbus = 4
    Config Lcdmode = Port
    Config Lcd = 20 * 4
    Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4
    Config Lcdpin = Pin , Db7 = Portd.5 , E = Portd.1 , Rs = Portd.0
    Config Portd = Output
    Config Porta = Output
    Config Portb = Input
    Config 1wire = Portc.6

    Portb = 1
    Declare Sub Suche_fuehler
    Declare Sub Schalten
    Declare Sub Schrittmotor_luft
    Declare Sub Schrittmotor_mischer
    Declare Sub Vorlauftemp_berechnung
    Declare Sub Temperatur
    Declare Sub Temperatur_berechnen
    Declare Sub Stoerung_ausgabe
    Declare Sub Stoerung_reset
    Declare Sub Anzeige
    Declare Sub Menue
    Declare Sub Kessel_oder_solar
    Declare Sub Boiler_solar
    Declare Sub Variablen

    Licht Alias Portd.6
    Mv_kessel Alias Porta.1
    Mv_boiler Alias Porta.2
    Mv_heizung Alias Porta.3
    Mv_solar Alias Porta.4
    Pumpe_boiler Alias Porta.5
    Pumpe_heizung Alias Porta.6
    Luftantrieb_k1 Alias Portc.5 'KA2821D Treiber
    Luftantrieb_k2 Alias Portc.4 'KA2821D Treiber
    Enable_luft Alias Portc.3 'KA2821D Treiber
    Mischerantrieb_k1 Alias Portd.7
    Mischerantrieb_k2 Alias Portc.0
    Mischerantrieb_k3 Alias Portc.1
    Mischerantrieb_k4 Alias Portc.2
    Enable_mischer Alias Porta.0
    Taste_s Alias Pinb.4
    Taste_plus Alias Pinb.1
    Taste_minus Alias Pinb.3
    Taste_rechts Alias Pinb.2
    Taste_links Alias Pinb.0
    0_punkt_luft Alias Pinb.5
    0_punkt_mischer Alias Pinb.6
    '################################################# ##############################
    '__________________________________Variablen Sensoren___________________________
    '################################################# ##############################
    Dim Sc(9) As Byte , Temp_string As String * 10 , T As Integer , T1 As Integer
    Dim Kesselfuhlerid( As Byte , Vorlauffuhlerid( As Byte , Boilerfuhlerid( As Byte
    Dim Rucklauffuhlerid( As Byte , Solarfuhlerid( As Byte , Aussenfuhlerid( As Byte
    Dim Raumfuhlerid( As Byte , Fuhler_ok( As Byte , Welcher_fuhler As Byte , A As Byte
    Dim Kesselfuhler As Bit , Vorlauffuhler As Bit , Boilerfuhler As Bit
    Dim Rucklauffuhler As Bit , Solarfuhler As Bit , Aussenfuhler As Bit
    Dim Raumfuhler As Bit , Id_help( As Byte
    '################################################# ##############################
    '__________________________________Variablen Schrittmotoren_____________________
    '################################################# ##############################
    Dim Richtung_luft As Byte
    Dim Schritt_mischer As Byte , Richtung_mischer As Byte
    Dim Position_luft As Integer , Position_luft_soll As Integer
    Dim Position_mischer As Integer , 0_punkt_mischer_ok As Bit
    '################################################# ##############################
    '__________________________________Variablen Temperaturen_______________________
    '################################################# ##############################
    Dim Kessel_temp As Integer , Vorlauf_temp As Integer , Boiler_temp As Integer
    Dim Rucklauf_temp As Integer , Solar_temp As Integer , Aussen_temp As Integer , Raum_temp As Integer
    Dim Neigung As Byte , Raum_soll As Byte , Kessel_ein_temp As Integer , Kessel_aus_temp As Integer
    Dim Kessel_ueber As Integer , Vorlauf_soll As Long , Boiler_soll As Integer , Boiler_diff As Integer
    Dim Solar_ein As Integer , Solar_aus As Integer , Nacht_diff As Integer , Kessel_soll As Integer
    Dim Help_temp As Integer , Help_temp2 As Integer
    '################################################# ##############################
    '__________________________________Diverse Variablen____________________________
    '################################################# ##############################
    Dim Niveau As Byte , Niveau_ist As Byte , Hilf1 As Long , Timrr_hilf As Byte , Z As Byte
    Dim Stoerung As Byte , Stoerung_old As Bit , Ausgabe As String * 22 , B As Byte , C As Byte
    Dim A_menue As Integer , B_menue As Integer , C_menue As Integer
    Dim A_reset As Byte , A_anzeige As Byte
    Dim Probe1_temp As Integer , Probe2_temp As Integer 'Variablen zur Probe
    Dim Nachtzeit_ein As Integer , Nachtzeit_aus As Integer , Nacht_aktiv As Bit
    Dim Uhrzeit As Integer , Older_min As Byte , Old_sek As Byte , Old_min As Byte
    Dim Timrr_lauft As Bit

    Dim I As Integer
    Dim Aa As Integer
    Dim Ss As String * 10



    Config Date = Dmy , Separator = . ', Update = 1 , Updatetime = 60

    Dim Sec_old As Byte , Dcfsec_old As Byte
    Config Dcf77 = Pinc.7 , Timer = 1 , Timer1sec = 1 , Debug = 0 , Check = 1
    Initlcd
    Enable Interrupts
    Cls

    Cursor Off
    Lcd " Start"
    Wait 1
    Cls

    Dim Yy As Byte
    '################################################# ##############################
    '__________________________________DO Loop______________________________________
    '################################################# ##############################

    Do '
    If Taste_s = 0 Or Taste_links = 0 Then
    Licht = 1
    Old_sek = _sec
    Older_min = _min
    End If
    If Taste_rechts = 0 Or Taste_plus = 0 Then
    .
    .
    .Läuft ok


    ################################################## ######################################

    Deflcdchar 1 , 12 , 18 , 18 , 12 , 32 , 32 , 32 , 32 ' "°" Grad
    Deflcdchar 2 , 32 , 32 , 32 , 32 , 32 , 32 , 31 , 31 ' replace ? with number (0-7)
    Deflcdchar 3 , 32 , 32 , 32 , 31 , 31 , 31 , 32 , 32 ' replace ? with number (0-7)
    Deflcdchar 4 , 31 , 31 , 31 , 32 , 32 , 32 , 32 , 32 ' replace ? with number (0-7)
    Deflcdchar 5 , 4 , 4 , 4 , 4 , 21 , 14 , 4 , 32 ' replace ? with number (0-7) Pfeil unten
    Deflcdchar 6 , 14 , 14 , 14 , 14 , 4 , 31 , 31 , 31 ' replace ? with number (0-7)Magnetspule


    Config Lcdbus = 4
    Config Lcdmode = Port
    Config Lcd = 20 * 4
    Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4
    Config Lcdpin = Pin , Db7 = Portd.5 , E = Portd.1 , Rs = Portd.0
    Config Portd = Output
    Config Porta = Output
    Config Portb = Input
    Config 1wire = Portc.6

    Portb = 1
    Declare Sub Suche_fuehler
    Declare Sub Schalten
    Declare Sub Schrittmotor_luft
    Declare Sub Schrittmotor_mischer
    Declare Sub Vorlauftemp_berechnung
    Declare Sub Temperatur
    Declare Sub Temperatur_berechnen
    Declare Sub Stoerung_ausgabe
    Declare Sub Stoerung_reset
    Declare Sub Anzeige
    Declare Sub Menue
    Declare Sub Kessel_oder_solar
    Declare Sub Boiler_solar
    Declare Sub Variablen

    Licht Alias Portd.6
    Mv_kessel Alias Porta.1
    Mv_boiler Alias Porta.2
    Mv_heizung Alias Porta.3
    Mv_solar Alias Porta.4
    Pumpe_boiler Alias Porta.5
    Pumpe_heizung Alias Porta.6
    Luftantrieb_k1 Alias Portc.5 'KA2821D Treiber
    Luftantrieb_k2 Alias Portc.4 'KA2821D Treiber
    Enable_luft Alias Portc.3 'KA2821D Treiber
    Mischerantrieb_k1 Alias Portd.7
    Mischerantrieb_k2 Alias Portc.0
    Mischerantrieb_k3 Alias Portc.1
    Mischerantrieb_k4 Alias Portc.2
    Enable_mischer Alias Porta.0
    Taste_s Alias Pinb.4
    Taste_plus Alias Pinb.1
    Taste_minus Alias Pinb.3
    Taste_rechts Alias Pinb.2
    Taste_links Alias Pinb.0
    0_punkt_luft Alias Pinb.5
    0_punkt_mischer Alias Pinb.6
    '################################################# ##############################
    '__________________________________Variablen Sensoren___________________________
    '################################################# ##############################
    Dim Sc(9) As Byte , Temp_string As String * 10 , T As Integer , T1 As Integer
    Dim Kesselfuhlerid( As Byte , Vorlauffuhlerid( As Byte , Boilerfuhlerid( As Byte
    Dim Rucklauffuhlerid( As Byte , Solarfuhlerid( As Byte , Aussenfuhlerid( As Byte
    Dim Raumfuhlerid( As Byte , Fuhler_ok( As Byte , Welcher_fuhler As Byte , A As Byte
    Dim Kesselfuhler As Bit , Vorlauffuhler As Bit , Boilerfuhler As Bit
    Dim Rucklauffuhler As Bit , Solarfuhler As Bit , Aussenfuhler As Bit
    Dim Raumfuhler As Bit , Id_help( As Byte
    '################################################# ##############################
    '__________________________________Variablen Schrittmotoren_____________________
    '################################################# ##############################
    Dim Richtung_luft As Byte
    Dim Schritt_mischer As Byte , Richtung_mischer As Byte
    Dim Position_luft As Integer , Position_luft_soll As Integer
    Dim Position_mischer As Integer , 0_punkt_mischer_ok As Bit
    '################################################# ##############################
    '__________________________________Variablen Temperaturen_______________________
    '################################################# ##############################
    Dim Kessel_temp As Integer , Vorlauf_temp As Integer , Boiler_temp As Integer
    Dim Rucklauf_temp As Integer , Solar_temp As Integer , Aussen_temp As Integer , Raum_temp As Integer
    Dim Neigung As Byte , Raum_soll As Byte , Kessel_ein_temp As Integer , Kessel_aus_temp As Integer
    Dim Kessel_ueber As Integer , Vorlauf_soll As Long , Boiler_soll As Integer , Boiler_diff As Integer
    Dim Solar_ein As Integer , Solar_aus As Integer , Nacht_diff As Integer , Kessel_soll As Integer
    Dim Help_temp As Integer , Help_temp2 As Integer
    '################################################# ##############################
    '__________________________________Diverse Variablen____________________________
    '################################################# ##############################
    Dim Niveau As Byte , Niveau_ist As Byte , Hilf1 As Long , Timrr_hilf As Byte , Z As Byte
    Dim Stoerung As Byte , Stoerung_old As Bit , Ausgabe As String * 22 , B As Byte , C As Byte
    Dim A_menue As Integer , B_menue As Integer , C_menue As Integer
    Dim A_reset As Byte , A_anzeige As Byte
    Dim Probe1_temp As Integer , Probe2_temp As Integer 'Variablen zur Probe
    Dim Nachtzeit_ein As Integer , Nachtzeit_aus As Integer , Nacht_aktiv As Bit
    Dim Uhrzeit As Integer , Older_min As Byte , Old_sek As Byte , Old_min As Byte
    Dim Timrr_lauft As Bit

    Dim I As Integer
    Dim Aa As Integer
    Dim Ss As String * 10



    Config Date = Dmy , Separator = . ', Update = 1 , Updatetime = 60

    Dim Sec_old As Byte , Dcfsec_old As Byte
    Config Dcf77 = Pinc.7 , Timer = 1 , Timer1sec = 1 , Debug = 0 , Check = 1
    Initlcd
    Enable Interrupts
    Cls

    Cursor Off
    Lcd " Start"
    Wait 1
    Cls

    Dim Yy As Byte
    Niveau = 5
    Raum_soll = 250
    Boiler_soll = 500
    Boiler_diff = 100
    Kessel_ueber = 950
    Solar_ein = 800
    Solar_aus = 900
    Nacht_diff = 50
    Nachtzeit_ein = 2000
    Nachtzeit_aus = 500
    End Sub
    Kesselfuhlerid(1) = &H10 'ID 10-43-2C-A9-01-08-00-E9
    Kesselfuhlerid(2) = &H43
    Kesselfuhlerid(3) = &H2C
    Kesselfuhlerid(4) = &HA9
    Kesselfuhlerid(5) = &H01
    Kesselfuhlerid(6) = &H08
    Kesselfuhlerid(7) = &H00
    Kesselfuhlerid( = &HE9
    Vorlauffuhlerid(1) = &H10 'ID 10-98-39-A9-01-08-00-7B
    Vorlauffuhlerid(2) = &H98
    Vorlauffuhlerid(3) = &H39
    Vorlauffuhlerid(4) = &HA9
    Vorlauffuhlerid(5) = &H01
    Vorlauffuhlerid(6) = &H08
    Vorlauffuhlerid(7) = &H00
    Vorlauffuhlerid( = &H7B

    '################################################# ##############################
    '__________________________________DO Loop______________________________________
    '################################################# ##############################

    Do '
    If Taste_s = 0 Or Taste_links = 0 Then
    Licht = 1
    Old_sek = _sec
    Older_min = _min
    End If
    If Taste_rechts = 0 Or Taste_plus = 0 Then
    .
    .
    . DCF funkt nicht mehr???

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    13.05.2005
    Alter
    26
    Beiträge
    601
    Hi,

    lässt sich das so wie es ist kompilieren? Zum Einen ist da nam. ein
    End Sub drinne und zum Anderen weiß ich nicht ob das so geht:
    Vorlauffuhlerid( = &H7B. Btw. es gibt so eine Funktion damit kann man
    die Code besser und übersichtlicher darstellen.
    Grüße Furtion

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •