Ankündigung

Einklappen
Keine Ankündigung bisher.

Multi-RTR (PI-Regler)

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

    #16
    Okay, tip top. Nun passt es.

    Zitat von Chris M. Beitrag anzeigen
    Hast Du noch ein anderes Plugin das den Sollwert evtl. setzt und alle 60s aufgerufen wird?
    Welches Widget verwendest Du zum Wert setzen? Infotrigger? Bei dem auch den absoluten Modus?
    Mehrere CometVisus gleichzeitig offen?
    Kein anderes Plugin - Die Solltemperatur ist ein Slider; mehere Visus sind hier meistens offen, da ein Touchscreen meisst läuft, aber nix tut.

    Aber es war was anderes:
    Ich hab den Fehler gefunden, da muss irgendwie beim Copy & Paste was schiefgegangen sein. Der hatte bei Zeile 71 irgendwas hinten an

    Code:
        if( $reset or not exists $plugin_info{ $plugname . '_' . $this_controller_name . '_Actuator' } )
    dran stehen, dann hatte der das immer gemacht.

    Also, nun scheint es aber zu funktionieren. Danke dafür mal wieder
    Wiregate #288

    Kommentar


      #17
      Zitat von tobiB Beitrag anzeigen
      Aber es war was anderes:
      Ich hab den Fehler gefunden, da muss irgendwie beim Copy & Paste was schiefgegangen sein. Der hatte bei Zeile 71 irgendwas hinten an

      Code:
          if( $reset or not exists $plugin_info{ $plugname . '_' . $this_controller_name . '_Actuator' } )
      dran stehen, dann hatte der das immer gemacht.
      Bei Deinem Copy&Paste oder bei meinem?

      Diese Zeile sollte zuverlässig funktionieren - entweder ist in Zeile 53 der Reset auf 1 gestellt (was zum Reset ja wichtig ist, unmittelbar danach aber natürlich wieder auf 0 gesetzt werden muss). Oder $plugin_info{ $plugname . '_' . $this_controller_name . '_Actuator' } ist nicht gesetzt - was mich beunruhigen würde und detaillierter untersucht werden müsste.
      TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

      Kommentar


        #18
        Bei meinem.

        Hinter der geposteten Zeile von mit stand noch was bei mir (leider schon gelöscht...).
        Somit wurde die Varieble nie gefunden und Sollwert wurde bei jedem aufruf geschrieben.
        Wiregate #288

        Kommentar


          #19
          potentielle Plugin-Erweiterungen

          Zitat von Chris M. Beitrag anzeigen
          > Wärmeanforderung/höchster Stellwert zur Heizungsbeeinflussung
          Da würde ich auch eher zum extra Plugin greifen.
          Naja, das ist wahrscheinlich eine Frage der Philosophie. Ich sehe das zur Verfügung stellen der Daten ganz klar durch den Verursacher, d.h. das RTR-Plugin, wogegen die Auswertung und Heizungsbeeinflussung natürlich in einem anderen Plugin erfolgen wird.

          > Temperaturbegrenzung über Estrichsensor
          > Zweiter Regler für Fußbodentemperierung
          Komfort sollte IMHO über die Sollwert-Vorgabe sichergestellt werden.
          Eine Wert-Begrenzung ist für den Komfort sinnlos, bzw. kontraproduktiv.

          Aber wegen dem Taupunkt macht das Feature evtl. trotzdem Sinn.
          Da habe ich den zweiten Regler auch noch nicht verstanden.
          Bei zwei Heizkreisen (Handtuch-HK + FBH) wird einfach mit zwei "Zeilen" gearbeitet.
          Wenn's um die Sollwert-Anhebung geht um kurzfristig warme Füße zu haben aber den Raum sonst nicht zu überheizen, dann bitte mit Sollwert-Änderung arbeiten (in einem extra Plugin)
          Die Sollwertverschiebung (der geregelten Größe Raumtemperatur) um Einfluss auf die nicht geregelte Größe Fußbodentemperatur zu nehmen ist für mich ein Hack, den man natürlich nutzen kann, wenn der Regler keine besseren Möglichkeiten bietet.
          Hier gibt es aber ganz klar die Möglichkeit für beide Regelgrößen eine Stellgröße zu errechnen und für die (gemeinsame) Aktorik entsprechend zu priorisieren, also z.B. ganz einfach und ohne Grenzwerte:
          Code:
          if(Stellgröße_Boden > Stellgröße_Luft) then 
              Aktorstellung = Stellgröße_Boden
          else
              Aktorstellung = Stellgröße_Luft
          Mir ist klar, dass das auch (unerwünschten) Einfluss auf die jeweils andere Stellgröße hat.

          > Frost/Komfort/Nacht/Standby
          Die Komplexität habe ich erst mal gespart. Die kann man entweder in ein externes Plugin auslagern - oder bei breitem Bedarf auch integrieren.

          Ein Beispiel für die Komplexität: Du brauchst für jeden dieser Zustände eine eigene Soll-Temperatur.
          Nöö, man braucht ja nicht gleich eine jeweils eigene Solltemperatur. Ich finde die Lösung gut, dass man für die einzelnen Modi eine fixe Abweichung zur Solltemperatur (also z.B. -2°C für Nacht) in der Plugin-Config festlegt und die einzelnen Modi dann einfach per 1-bit-GA schalten kann (Priorisierung der GAs z.B. gemäß der o.g. Reihenfolge der Modi).
          Das finde ich wesentlich schöner, als in einem anderen Plugin große IF-Konstrukte zu bauen, um bei jedem Statuswechsel ein Solltemperatur-Feuer am Bus zu eröffnen.

          Schöne Grüße
          Christian

          Kommentar


            #20
            Danke nochmal allen, die an dem Plugin schreiben, habs als erstes Plugin gleich mal auf mein Wiregate drauf und brauch jetzt nur noch den Elektriker, der mir die GAs zum einstellen der Temperatur vorgibt (über den Smart Sensor).

            Aber noch eine ganz banale Anfängerfrage: Wie läuft das Dingens los? Von alleine, oder was muss ich noch machen, nachdem ich meine Änderungen eingegeben hab und auf speichern gedrückt habe? Nix?? Das wäre ja total einfach.... oder zu einfach??

            Danke!

            René

            Kommentar


              #21
              Hoi

              Ja sollte so sein. Speichern fertig.
              Grüsse Bodo
              Fragen gehören ins Forum, und nicht in mein Postfach;
              EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;

              Kommentar


                #22
                feature request

                schön :-)

                Ich fände es gut, wenn man die einzelnen Heizkreise noch an/aus schalten könnte. Das ist z.B. bei der Inbetriebnahme sinnvoll (z.B. wenn noch nicht alle Sensoren am Bus sind) oder wenn der Estrich kontrolliert trocken soll (Geschossweise) oder wenn man Handtuchheizkörper befeuert (die späterer Logik bedürfen).
                Ansonsten SUPER Sache!

                Kommentar


                  #23
                  Hi zusammen,

                  vielen DAnk nochmal an Chris für das tolle Plugin, nur hab ich noch ein kleines Problem:

                  Mein Elektriker hat meine Heizungssteuerung irgendwie so eingestellt, dass die nur "1=auf" und "0=zu" kennen. Jetzt regelt sich obwohl das Plugin läuft an meiner Heizung gar nix, sondern die Ventile fahren munter, trotz Überschreitung der Solltemperatur um ca. 5 Grad weiter munter auf und bleiben auch recht lang so....

                  Jetzt stellt sich eben die Frage, ob hier vom Plugin irgendwelche WErte ausgegeben werden, die meine Aktoren nicht verstehen, oder wo sonst der Hund begraben liegt, das Plugin Debug Info sieht folgendermaßen aus:

                  Die SetPoint s stimmen ja so wie eingestellt, nur denke ich, dass die längeren Zahlenketten bei den "lastSent" etwas mit meinem Problem zu tun haben.

                  Kann mir jemand einen Tip geben?

                  Danke!

                  René

                  Kommentar


                    #24
                    Zitat von spookyt. Beitrag anzeigen
                    Ich fände es gut, wenn man die einzelnen Heizkreise noch an/aus schalten könnte.
                    Das gibt's schon

                    Du solltest bei jeder "Zeile" auch eine GA für den Key "DisableGA" setzen können und dann über diese GA den jeweiligen Heizkreis an- oder ausschalten können.

                    Problem: Ich hab's noch nicht getestet...

                    Aber im Zweifel ist's einfach ein Bug-Report und kein Feature Request
                    TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

                    Kommentar


                      #25
                      Zitat von NeubauRe Beitrag anzeigen
                      Mein Elektriker hat meine Heizungssteuerung irgendwie so eingestellt, dass die nur "1=auf" und "0=zu" kennen.
                      Das klingt stark danach, dass der Regler in ein PWM umrechnen soll und dann dieses PWM umgesetzt ausgeben soll.

                      Nun gibt es zwei Möglichkeiten:
                      1. Den Heizungsaktor(!) einfach auf stetigen Stellwert umparametrieren
                      2. Ein Plugin schreiben, dass einen stetigen Stellwert in PWM umsetzt

                      Ich würde 1 empfehlen.
                      Zitat von NeubauRe Beitrag anzeigen
                      Die SetPoint s stimmen ja so wie eingestellt, nur denke ich, dass die längeren Zahlenketten bei den "lastSent" etwas mit meinem Problem zu tun haben.
                      Die sind schon richtig so. Das sind Sekunden seit dem 1.1.1970...

                      Dein Problem wird ziemlich sicher in einer falschen (genauer: hier ungeschickten) Parametrierung der Heizungsaktoren liegen.
                      TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

                      Kommentar


                        #26
                        OK, Danke, Eli kommt heut abend, da auch die Raumthermostate, welche nicht über das Wiregate laufen nur "auf" geregelt haben und wir Sauna hatten, da gab es wohl auch einen Programmierfehler......

                        Ich meld mich wieder.

                        René

                        Kommentar


                          #27
                          Wollte nur kurz zurückmelden, nach Änderung der Einstellungen am Heizungsdings, funktioniert alles wie gewollt und gehofft. Danke für die Hilfe!

                          René

                          Kommentar


                            #28
                            Sollwert = Arbeitspunkt für Proportionalbereich

                            Hallo zusammen,

                            gibt es einen Grund, warum der PI Regler bei Erreichen des Sollwerts eine Stellgröße von 100% berechnet und nicht 50%? (wie hier in Post 8 erklärt)

                            Gibt es schon Ansätze aus dem PI-Regler einen PID-Regler zu machen, um mit verringerten Proportionalbereich ein Überschwingen zu verhindern?

                            Danke
                            Sascha

                            Kommentar


                              #29
                              Zitat von haegar80 Beitrag anzeigen
                              gibt es einen Grund, warum der PI Regler bei Erreichen des Sollwerts eine Stellgröße von 100% berechnet und nicht 50%? (wie hier in Post 8 erklärt)
                              ich verstehe die Frage nicht? Der Regler regelt die Stellgröße ein, die benötigt wird um die Solltemperatur zu halten. Wenn Deine Heizung perfekt abgeglichen (hydraulisch, Heizkurve usw.) ist, dann liegt diese Stellgröße wohl bei 100%...

                              Kommentar


                                #30
                                Hallo Chris,

                                ich glaube gesehen zu haben, daß er den Proportionalanteil über diese Formel umrechnet:

                                my $kp = 1.0 / $this_controller{ 'ProportionalGain' };
                                my $error = $SetPoint - $Sensor;
                                $plugin_info{ $prefix . '_Actuator' } = 100.0 * $kp * ($error + $integral);

                                Bedeutet das nicht, daß bei Soll = Istperperatur eine Stellgröße von 0 ausgegeben wird?

                                Danke
                                Sascha

                                Kommentar

                                Lädt...
                                X