Ankündigung

Einklappen
Keine Ankündigung bisher.

[Macros] PIRaumKontrollerVar

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [Codebeispiel] [Macros] PIRaumKontrollerVar

    Hallo,
    habe mir das Marco PIRaumKontrollerVar angeschaut und habe dazu ein paar Unklarheiten. Vielleicht kann mir jemand helfen. Danke.



    Code:
    [Macros]
    PIRaumKontrollerVar(  Heizregler,KellerHeizungID,Raumkontroller_Keller_Heizung,SperreHeizung_Keller_Heizung,Sollwert_Keller_Heizung,"SaunaIstTemp-3/0/8",Standbyabsenkung_Keller_Heizung,Nachtabsenkung_Keller_Heizung,KFaktorHeizregler_Keller_Heizung,TFaktorHeizregler_Keller_Heizung,"Sauna-3/0/1",SchreibzyklusHeizaktorwert,SpeichereHeizreglerParameter_Keller_Heizung,LadeHeizreglerParameter_Keller_Heizung,1b01,1)
    
    [MacroLibs]
    //Makro-Bibliotheken
    ./Enertex.lib
    
    [ETS-ESF]
    // Die aus der ETS3 exportierte ESF-Datei
    ./Haus.esf
    
    [EibPC]
    // Das Heizreglermakro regelt hier die Temperatur "SaunaIstTemp-3/0/8" auf die Solltemperatur Sollwert_Keller_Heizung.
    // Dies geschieht indem der Regler die Stellgröße, d.h. den Aktorwert "Sauna-3/0/1", alle SchreibzyklusHeizaktorwert Minuten 
    // nachregelt. Ändert sich der Wert der Variablen SpeichereHeizreglerParameter_Keller_Heizung, dann werden alle Reglerparameter 
    // im Flash gespeichert. Beim Wechsel der Variablen LadeHeizreglerParameter_Keller_Heizung oder nach dem Neustart des EibPCs
    //  werden diese vorher gespeicherten Variablen wieder aus dem Flash  geladen. D.h. man sollte für jeden Raum sinnvolle Reglerwerte 
    // ermitteln und diese dann im Flash abspeichern.
    
    // Definition PI-Heizreglervariablen
    Raumkontroller_Keller_Heizung = 2u08
    SperreHeizung_Keller_Heizung = 1b01
    Sollwert_Keller_Heizung = 18.0f16
    Standbyabsenkung_Keller_Heizung = 3.0f16
    Nachtabsenkung_Keller_Heizung = 3.0f16
    KFaktorHeizregler_Keller_Heizung = 3.0f16
    TFaktorHeizregler_Keller_Heizung = 180f16
    SchreibzyklusHeizaktorwert = 5u08
    SpeichereHeizreglerParameter_Keller_Heizung = 0b01
    LadeHeizreglerParameter_Keller_Heizung = 0b01
    Nun meine Fragen dazu:

    Die Variablen kann ich ja Einfluss auf den Regler nehmen.
    Was kann ich mit diesen zwei machen? Welchen Einfluss hat dieses?
    KFaktorHeizregler_Keller_Heizung = 3.0f16
    TFaktorHeizregler_Keller_Heizung = 180f16

    Über die Variable Raumkontroller_Keller_Heizung (Freigabe = Komfort, Standby,...) kann ich ja denn Modus umschalten. Wie schnell reagiert dieses dann?

    Gruß Timo

    #2
    Hallo zusammen,

    leider habe ich bis jetzt noch keine Hilfe zu meinen Fragen bekommen... :-(

    Wie habt hier eure Heizungssteuerung realisiert?

    Welche Werte habt hier verwendet?
    K (KFaktor in Kelvin(f16)) ??
    T (UFaktor in Kelvin(f16)) ??

    Wie nehmen die Faktoren Einfluss auf die Steuerung?

    Wie hat hier das mit der Standby, Nachabsendung usw.... gemacht?

    Oder habt ihr eigene Makros?
    Wäre über Hilfe dankbar.

    Gruß Timo

    Kommentar


      #3
      Hallo,

      ich habe ein sehr gut gedaemmtes Haus mit viel Masse ( - Energiespeicherung )
      und Deckenheizung ( ähnl. Fussbodenheizung - nur schneller ).
      Mit dem P-Anteil ( = Proportionalanteil ) stellt man ein, wie hart der Regler auf Reglerabweichungen reagiert - die Nachstellzeit ( T ) sollte in etwa mit der Trägheit der Heizung zusammenpassen:
      Bei mir reagiert die Heizung inherhalb 1 h - typ. Fussbodenheizungen 1 - 3h ...

      Bei mir funktioniert die genannte Einstellung gut !

      Ich habe KEINE Nachtabsenkung, dies macht m.E. bei meinem Heizungskonzept wenig Sinn, da Massivbau ( Beton ) und 3fach Fenster ...

      Bisher habe ich die Heizung nur nach Aussentemp. geführt ( - also innen alles auf 100 % ) - dies kann aber durch solare Einstrahlung oder zus. Wärme im innern zu höheren Temperaturen führen. Seit 14 Tagen habe ich den PI-Regler
      im Einsatz: damit bin ich in den Stockwerken sehr stabil !

      Bei mir gibt es im Wohnbereich und im OG ( Flur ) eine Istwerterfassung, mit der geregelt wird.

      Gruss

      Wolfgang
      ETS 6.2 EibPC V3.x

      Kommentar


        #4
        Zitat von Oeffly Beitrag anzeigen
        Hallo zusammen,
        leider habe ich bis jetzt noch keine Hilfe zu meinen Fragen bekommen... :-(
        Sorry, habe ich einfach übersehen.
        Wie habt hier eure Heizungssteuerung realisiert?
        K (KFaktor in Kelvin(f16)) ??
        T (UFaktor in Kelvin(f16)) ??
        K: Wenn Du den Wert 3 eingibst, so wird bei einer Abweichung von 3°C zur Solltemperatur der Regler 100% "aufmachen". Bei 1°C dann skaliert weniger, also 33%.
        T: Wert 100: Eine Restabweichung von 1°C über 100 Minuten öffnet das Ventil ebenso zu 100%.

        Üblich: Wandheizkörper K=5, T = 120
        Fußboden K=3, T = 240
        EDIT: Wolfgang war schneller..
        Wie hat hier das mit der Standby, Nachabsendung usw.... gemacht?
        Bei Wechsel auf Standby einfach die Solltemperatur ändern.
        Im Visuassistenten gibt es da eine fertige Seite für den Einsatz des EibPC als Raumkontroller. Bei den Parametern sollte eine "Baloon" Hilfe aufgehen.
        offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
        Enertex Produkte kaufen

        Kommentar


          #5
          Guten Morgen.

          Danke für die schnellen Antworten. Hab dazu noch ein paar Fragen.

          Habe in meinem Haus Fußbodenheizung (Bauweise Massiv).
          Hatte die Werte wie folgt eingestellt.

          K=0.5 und T=100

          Wenn ich das nun richtig verstanden habe, ist das ja nun so dass wenn der Regler eine Abweichung von 0,5 Grad hat er 100% aufmacht? Ebenso nach einer Zeit von 100 min, auch um 100% aufmacht?

          So hab das ganze mal nicht so hart eingestellt und nun geändert auf K=2 T=120 bei meiner Fußbodenheizung.

          Nun noch mal auf das Nachtabsenkung, Standby und Komfort.
          Das Marko bietet ja diese Funktion über die Freigabefunktion...

          1 = Komfort
          2 = Standby
          3 = Nachtabsenkung

          Um wie viel Grad abgesenkt werden soll, wird ja in den Variablen angegeben.
          Bei mir sind das 3 Grad.

          Die Absenkung funktioniert ja fast bei allen meinen Reglern sehr schnell. Manche brauchen länger als 60 min. (alle das gleiche Makro)

          Nur das komische ist wenn über die Freigabe morgens die Solltemperatur wieder angehoben wird machen die Regler die Ventile nicht mehr auf.

          Habe davor die Regler auch ohne Absenkung betrieben. Da hatte ich einen ähnlichen Effekt wo ich irgendwie nicht in den Griff bekommen habe.
          Wenn ich im Wohnzimmer einen Temperatur anstiegt (von ca. 2 Grad über Soll) von einer anderen Wärmequelle (Sonneneinstrahlung, Ofen) habe, macht der Regler nicht mehr oder sehr spät ( mehr als 1,5 Grad unter Soll) erst wieder auf.

          Wie bekomme ich so was in den Griff?
          Wie ist das bei euch?

          Gruß Timo

          Kommentar


            #6
            Zitat von Oeffly Beitrag anzeigen
            Guten Morgen.
            Nur das komische ist wenn über die Freigabe morgens die Solltemperatur wieder angehoben wird machen die Regler die Ventile nicht mehr auf.
            Wie bekomme ich so was in den Griff?
            Wie ist das bei euch?
            Ah, nimm mal das Makro PIRaumKontrollerGA. Das PIRaumKontrollerVar hat eine sehr geringe Begrenzung des I-Anteils. Oder Du änderst die Zeilen:
            Code:
            if Name^PageID^IRegler>100000.0f32 then Name^PageID^IRegler=100000.0f32 endif
            if Name^PageID^IRegler<-100000.0f32 then Name^PageID^IRegler=-10000.0f32 endif
            in
            Code:
            if Name^PageID^IRegler*convert(Name^PageID^Intern_TFaktor,0f32)>255.0f32 then Name^PageID^IRegler=255.0f32/convert(Name^PageID^Intern_TFaktor,0f32) endif
            if Name^PageID^IRegler*convert(Name^PageID^Intern_TFaktor,0f32)<-255f32 then Name^PageID^IRegler=-255f32/convert(Name^PageID^Intern_TFaktor,0f32) endif
            offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
            Enertex Produkte kaufen

            Kommentar


              #7
              Danke, ich werde mal die Zeilen im Makro ändern und werde berichten.

              Kommentar


                #8
                Guten Morgen,

                habe gestern Abend die Änderung eingespielt und habe auch noch ein wenig getestet.

                Habe die Freigabefunktion gestern Abend bei verschiedene Zimmer getestet und der Regler sprach auch sofort drauf an. Hier war aber der Temperatur unterschied relativ hoch (>2°C).

                Heute morgen, nach Umschaltung von Standby auf Komfort, machten die Regler mal wieder nicht auf. Hier lag der Temperatur unterscheid nur bei 0,3-0,5°C. Werde mir das ganze heute Abend nochmals anschauen wie es mit den Temperaturen aussieht.

                Oder habt hier noch Ideen wie ich dieses in den Griff bekomme?
                Danke.

                Gruß Timo

                Kommentar


                  #9
                  Zitat von Oeffly Beitrag anzeigen
                  Heute morgen, nach Umschaltung von Standby auf Komfort, machten die Regler mal wieder nicht auf. Hier lag der Temperatur unterscheid nur bei 0,3-0,5°C. Werde mir das ganze heute Abend nochmals anschauen wie es mit den Temperaturen aussieht.
                  Nun, der Integralanteil (T-Wert) bewirkt ja eine Vergleichmäßigung:
                  Wenn Du nun auf Standby gehst, wird die Temperatur zu hoch sein und der I-Anteil wird bis an die Begrenzung laufen. Wenn Du dann auf Komfort gehst, ist der I-Anteil erstmal nicht gelöscht und wird v.a. bei der geringen Differenz sicher einige Zeit (siehe Zeitkonstante) brauchen, bis er wieder in die andere Richtung ausschlägt.
                  Der P-Anteil (K-Faktor) regelt immer sofort in die Richtung "Ausgleich der Temperatur".
                  Oder habt hier noch Ideen wie ich dieses in den Griff bekomme?
                  Du kannst natürlich den Unterschwinger grundsätzlich unterbinden, indem Du die Begrenzung auf 0 setzt (2. Zeile des obigen Codes)
                  Code:
                  if Name^PageID^IRegler*convert(Name^PageID^Intern_TFaktor,0f32)<0f32 then Name^PageID^IRegler=0f32 endif
                  offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                  Enertex Produkte kaufen

                  Kommentar


                    #10
                    So hab mal nun zwei Tage beobachtet und finde das ganze schon komisch.

                    (aktuell eingestellt = K=1 und T=100)

                    Nach Sollwertänderung (von Standby auf Komfort) brauchen die Regler zwischen 3-7 Stunden bis sie anfangen aufzumachen.
                    Der Temperaturdifferenz zur Solltemperatur betragt zwischen 0,5 -0,8 Grad.

                    Zitat von enertegus Beitrag anzeigen
                    Nun, der Integralanteil (T-Wert) bewirkt ja eine Vergleichmäßigung:
                    Wenn Du nun auf Standby gehst, wird die Temperatur zu hoch sein und der I-Anteil wird bis an die Begrenzung laufen. Wenn Du dann auf Komfort gehst, ist der I-Anteil erstmal nicht gelöscht und wird v.a. bei der geringen Differenz sicher einige Zeit (siehe Zeitkonstante) brauchen, bis er wieder in die andere Richtung ausschlägt.
                    Der P-Anteil (K-Faktor) regelt immer sofort in die Richtung "Ausgleich der Temperatur".
                    Nun da mein K-Faktor bei 1 ist sollte doch der Regler auch relativ schnell auf machen? Oder wird der von mach anderen gesperrt?

                    Wenn ich dein oberen Teil richtig verstanden haben müsste ich meinen T-Wert kleiner machen? oder kann ich das anders noch beeinflussen?

                    Zitat von enertegus Beitrag anzeigen
                    Du kannst natürlich den Unterschwinger grundsätzlich unterbinden, indem Du die Begrenzung auf 0 setzt (2. Zeile des obigen Codes)
                    Code:
                    if Name^PageID^IRegler*convert(Name^PageID^Intern_TFaktor,0f32)<0f32 then Name^PageID^IRegler=0f32 endif
                    Das Unterschwingen will ich ja nicht grundsätzlich unterbinden. Aber wenn man das kleiner bekommt? oder Zeitlich begrenzen könnte?

                    Kommentar


                      #11
                      Hallo,

                      ich habe das Makro auf Basis "PIRaumKontrollerGA" in Verwendung und dieses
                      Funktioniert super ( mit P Verstaerkung 3 und T = 200 ).

                      Aus meiner Sicht muß man aufpassen, da die Heizungsanlage ja mehrere Einfluesse hat ( zumindest bei mir ... ): einmal wird die Vorlauftemperatur
                      abhaengig von der Aussentemperatur eingestellt - entsprechend von der Heizkurve.
                      Daher sollte m.E. als erstes die Heizung - bei erfolgtem hydraulischem Abgleich -
                      grundsaetzlich in der Lage sein über die Aussentemp. geführte Regelung ( - bei 100 % offenen Ventilen ) eine weitgehend stabile Raumtemperatur einzustellen.

                      Wenn dies klappt und man moechte eine unterlagerte Einzelraumregelung DANN wuerde ich an dem PI-Regler arbeiten:
                      Dazu sollte man sich grob Gedanken über die sog. Regelstrecke machen: wie lange benoetigt das Heizsystem, bis sich eine gew. Temperatur einstellt. Bei Fussbodenheizungen sind dies typ. ca. 2 - 3 h. Damit kann man grob sagen, dass man die Nachstellzeit T in dieser Groessenordnung setzen sollte ( also ca. +/- 200 ... ). Die Proportionalverstaerkung - also die "Schaerfe" des Reglers macht Sinn im Bereich von 2 - 3.
                      Man sollte einfach 3 Sachverhalte sehen:
                      + die Messgenauigkeit der Temperaturen haelt sich in Grenzen
                      + die Fussbodenheizung ist ein rel. träges System
                      + wo greifen einzelne Regelungseffekte ein: Heizungssteuerung ( Heizkurve ), Einzelraumregelung ( z.B. PI-Regler ) und ggf. solare Einträge ( also Sonne von aussen )

                      Witerhin bin ich der Meinung, erst mal das einfache System stabil hinzubekommen - also ohne Nacht- oder sonstige Absenkungen. Erst wenn dieses einfache System klappt, dann die "Gimmicks" und fuer mich als "Starkstromer" gilt: Regelungstechnik sollte man zumindest in den Grundsaetzen verstehen.

                      Mein Tip / Empfehlung: nimm die GA-Variante, T = 200 und K = 3
                      wenn dies nicht passt, dann wuerde ich mal prüfen ob die Heizungsanlage grundsätzlich i.o.ist ...

                      Gruss

                      Wolfgang
                      ETS 6.2 EibPC V3.x

                      Kommentar


                        #12
                        Ich schließe mich dem Vorredner an. Erst die Regelung der Vorlauftemperatur... richtig einstellen.

                        Wer messen und mit Zahlen spielen will, ohne in die Tiefen der Regelungstechnik einzusteigen, den kann ich noch auf die folgende Seite hinweisen: Faustformelverfahren (Automatisierungstechnik) ? Wikipedia

                        Methode nach Ziegler und Nichols reicht aus. Aber Vorsicht. Die Vorlauftemperatur und weitere Störgrößen werden die Regelung beeinflussen.

                        Hilfreich wäre es also, wenn der Einzelraumregler eine Information über die Vorlauftemperatur hätte, was ja eigentlich machbar wäre...

                        BTW: Ich nutze den EIBPC nicht um meine Räume zu regeln. Dazu nutze ich KNX Regler, die ich einfach default auf Fußbodenheizung eingestellt habe. Funktioniert seit 2 Heizperioden gut.

                        Kommentar

                        Lädt...
                        X