Ankündigung

Einklappen
Keine Ankündigung bisher.

Gira X1 Logikverständnis & Praxisbeispiele Heizungslogik

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

    Gira X1 Logikverständnis & Praxisbeispiele Heizungslogik

    Hallo,

    nachdem ich mein Haus mit KNX soweit in betrieb genommen habe wollte ich mich nun meinem Gira X1 und meiner Heizung widmen.
    Leider muss ich mir eingestehen, dass ich das mit den Logiken nicht ganz so raus habe. Ich habe früher zwar viel in php und c++ programmiert, aber ich werde mit den Logiken und den Bausteinen nicht "warm". Vielleicht denke ich auch noch zu viel in "While- und IF Schleifen".

    Daher 2 Fragen:

    1. Kennt ihr ein paar simple Beispiele für Heizungsansteuerungen? Ich habe keine Einzelraumsteuerung und will eig. nur die Wärmepumpe an aus schalten und die Vorlauftemperatur je nach Leistungsaufnahme der Wärmepumpe etwas nachführen

    2. Mir ist der Grundaufbau der Logiken noch nicht schlüssig. Wie oft wird die Logik geprüft? Kann ich mir eine Logik wie eine Dauerschleife vorstellen, die alle 2 Sekunden einen kompletten Durchlauf startet oder wie funktioniert das? Ich denke da ist meine größte Verständnislücke.

    Viele Grüße
    Zuletzt geändert von NCNeo; 05.05.2024, 18:38.

    #2
    Zu 2. die Logik ist -wie auch KNX- ereignisgetriggert. D.h. eine Logik wird nur ausgeführt, wenn eine Botschaft am Eingang ankommt. Wenn die Eingänge von Logiken nicht vorbelegt sind, wird ein Ausgangssignal nur/erst erzeugt, wenn alle Logikeingänge einen Wert empfangen haben.

    Ein schöner Einstieg ist dieses Video von Matthias Kleine, es gibt noch viele andere und auch die Anmeldung in der Gira Akademie ist kostenlos.

    Ansonsten, ausprobieren mit dem Logiksimulator des GPA hilft auch sehr viel für das Verständnis und ist später zum Testen für mich unverzichtbar geworden.
    Zuletzt geändert von willisurf; 05.05.2024, 19:45.
    Gruß Bernhard

    Kommentar


      #3
      Logik unterteile ich in kombinatorisch und sequentiell; der X1 beherrscht normalerweise nur kombinatorische Logik.
      Ein LBS als Logikelement wird genau dann ausgeführt, wenn ein Telegramm an einem Eingang ankommt. Mit einer Rückkopplung kann man eine Schleife erzeugen, die den KNX-Bus mit Telegrammen flutet, so dass der Bus praktisch lahm gelegt wird. KNX arbeitet ereignisgesteuert unabhängig von einem festen Takt, so ein Takt ist ein Merkmal einer sequentiellen Logik.

      Kommentar


        #4
        Zitat von willisurf Beitrag anzeigen
        Zu 2. die Logik ist -wie auch KNX- ereignisgetriggert. D.h. eine Logik wird nur ausgeführt, wenn eine Botschaft am Eingang ankommt. Wenn die Eingänge von Logiken nicht vorbelegt sind, wird ein Ausgangssignal nur/erst erzeugt, wenn alle Logikeingänge einen Wert empfangen haben.

        Ein schöner Einstieg ist dieses Video von Matthias Kleine, es gibt noch viele andere und auch die Anmeldung in der Gira Akademie ist kostenlos.

        Ansonsten, ausprobieren mit dem Logiksimulator des GPA hilft auch sehr viel für das Verständnis und ist später zum Testen für mich unverzichtbar geworden.
        Hallo,

        danke. Das Video habe ich mir schon angeschaut.
        Aber das interessanteste ist der Start der Logik, denn bei der Steuerung meiner Wärmepumpe benötige ich eig. 3 Eingänge. Einmal die Raumtemperatur als Trigger, dass jetzt geheizt werden soll.
        Gleichzeitig benötige ich aber den Eingang des Rücklaufs um die richtige Vorlauftemperatur zu bestimmen und die aktuelle Leistungsaufnahme um so den Vorlauf immer gezielt um 1 Grad anzuheben damit die Wärmepumpe am Leistungsminimum arbeitet. Die Werte bekommt man natürlich erst, wenn die Wärmepumpe läuft. Folgerichtig müsste ich dann quasi eig. 3 Logiken anlegen, wenn ich das richtig verstanden habe?
        Ich hatte gedacht, dass ich das alles in einer machen kann.

        Ich denke das wird doch etwas aufwändiger als ich mir es gedacht habe.

        Kommentar


          #5
          Ich habe noch nicht verstanden, wie die Logik zur Steuerung der Wärmepumpe aussehen soll. Wenn es nur um den Start geht, Du kannst auch Werte vom KNX Bus lesen lassen oder Eingangswerte vorbelegen.

          Ansonsten einfach mal anfangen und Deine Ideen hier als Screenshot mit Fragen posten. Dann können wir Dir sicher helfen.
          Gruß Bernhard

          Kommentar


            #6
            Hallo,

            vielen Dank für das Angebot. Ich habe mal ein Bild der Logik(en) in einem Blatt zusammengefasst. Ich habe auch mal direkt Beispielwerte eingegeben, dass es besser nachzuvollziehen ist.

            Kurze Anmerkung zu den Teilen:

            Teil 1: Wäre eig. unproblematisch für mich. Den MDT Taster würde ich auf zyklisch senden schalten und dann würde die Logik ja immer den Temp Wert abgreifen und entsprechend an einem Punkt die Wärmepumpe anschalten und auf Heizen stellen.

            Teil 2: Jetzt geht es los. Etwa 30-60 Sekunden nach einschalten müsste die Logik den Statuswert abgreifen für die aktuelle Rücklauftemperatur und stellt damit den Vorlauf soll ein. Aus den bisherigen Aussagen bräuchte ich ja am Ende von Teil 1 eine Trigger-Adresse, die dann die 2. Logik aufruft oder? Aber dann hätte ich ja 2 Eingänge und der Vorlauf Status, müsste dann ja immer wieder gesendet werden richtig? Sonst startet die Logik nicht? Ein zylisches senden gibt es aber bei der KNX Anbindung der Wärmepumpe nicht.

            Teil 3: Hier hätte ich das selbe Startproblem, dass die Logik überhaupt anfängt oder? Denn der Sollwert ändert sich ja nicht, nur der IST Wert würde gesendet. Zudem bin ich ehrlich gesagt abgestorben darüber, wie ich nach dem Vergleicher meinen Sollwert um 1 Grad anheben kann. Da müsste ich dann wieder eine zusätzliche Logik erstellen als Trigger oder?


            VIele Grüße
            You do not have permission to view this gallery.
            This gallery has 1 photos.

            Kommentar


              #7
              Versuchen wir es mal schrittweise, erstmal nur den Block 1. Wenn ich das richtig verstehe, soll die Heizung 3/4/12 ausgeschaltet werden, wenn die Temperatur 3/5/1 oberhalb von 22,5°C ist und eingeschaltet werden, wenn diese unterhalb von 20,5°C fällt, richtig?

              Wenn ich das richtig verstanden habe, genügt dafür ein Schwellwert mit Hysterese, wie in diesem Bild. Man beachte den Inverter am Ausgang (roter Kringel), erreichbar über rechte Maustaste am Ausgang des Blocks (wie auch Send by change, oder Typkonverter).
              image.png
              Ein zyklisches Senden ist immer ungünstig und sollte nur sehr bewusst eingesetzt werden. In diesem Fall ist es auch nicht nötig. Der Ausgang (Heizung Ein oder Aus) bleibt einfach so lange unverändert, bis ein neuer Temperaturwert (z.B. konfiguriert auf Änderung) kommt. Dieser ändert dann ggf. den Ausgang. Beim Eingangssignal sollte bei der Definition des Datenpunktes "vom KNX Bus lesen" aktiviert werden. Dann hat der Ausgang nach dem Erststart gleich den richtigen Zustand.

              Später machen wir dann weiter. Der Heizungsmodus 3/4/6 wäre auch noch zu klären. Ggf. hilft da ein weiterer Schwellwertvergleich.

              Bei 2 wäre dann zu klären, soll das nur einmalig passieren oder auch im laufenden Betrieb und falls ja, wodurch wird es beendet? Ähnliche Frage auch bei 3, wird das über Deaktivieren der WP beendet?
              Zuletzt geändert von willisurf; 06.05.2024, 12:50.
              Gruß Bernhard

              Kommentar


                #8
                Wow klasse. Vielen Dank erstmal für die tolle Hilfe. Der Schwellwert mit Hysterese ist natürlich deutlich einfacher als meine Variante und du hast auch alles richtig verstanden
                3/4/6 könnte man doch dann tatsächlich einfach per Verzögerer senden. Mit dem Schwellwert wäre dann wahrscheinlich eine gute Lösung um zu unterscheiden zwischen heizen und kühlen. Beim kühlen wäre dann nur Teil 2 quasi umgekehrt. (also die 5° müsste man dann abziehen).

                Aber wir bleiben am besten mal rein beim heizen und lassen die Lösung, dass er auch kühlt weg.

                Teil 2 passiert dann auch einmalig. Das ist quasi die erste Definition der Vorlauf Temperatur. Da könnte man ja eine GA anlegen als Trigger aus Teil 1. Der Status des Rücklaufes (3/4/5) wird ja nach dem anschalten gesendet bzw. aktualisiert. Da habe ich noch eine Verständnisfrage: Wäre die erste Änderung des Status schon trigger für die Logik? Also angenommen man baut es wie ich und die Heizung schaltet ein, dann könnte der Rücklauf zunächst auch nur 9° sein (die Wasserleitungen sind außen) und erst durch die Pumpe wird etwas zeitverzögert die normale Temperatur erreicht.


                Teil 3 soll tatsächlich im laufenden Betrieb der Wärmepumpe immer laufen. Die Anhebung Vorlauf Solls um 1° sobald 3° Differenz zwischen Soll und IST Vorlauf erreicht werden, soll so lange geschehen bis die Raumtemperatur 22,5° erreicht und Teil 1 der Logik die Pumpe abschaltet.

                Kommentar


                  #9
                  Zitat von NCNeo Beitrag anzeigen
                  Da habe ich noch eine Verständnisfrage: Wäre die erste Änderung des Status schon trigger für die Logik?
                  Das Verhalten der Logiken ist ganz simpel. Damit am Ausgang gesendet wird, müssen alle Eingänge einen Wert haben. Entweder einmal (genügt) empfangen, über „vom KNX Bus lesen“ abgefragt oder in den Voreinstellungen zum Datenpunkt definiert. Wenn Du ein wenig mit dem Simulator des GPA herumspielst (sehr empfehlenswert), kannst Du das direkt verfolgen.

                  Für das einmalige Auslösen nach einem definierten Zeitpunkt kannst Du als Zeitglied z.B. eine Treppenhauslicht Funktion nutzen und damit eine Sperre freischalten.
                  Edit: Der Telegrammverzögerer ist hier der bessere Weg. Das Statussignal der WP wird dadurch einfach verzögert und schaltet dann Sperre für den Wert und den Vergleich frei. Damit bei Aus sofort und nicht auch erst verzögert geschaltet wird, könnten verzögertes Signal und Originalstatus auf ein UND. Der Ausgang vom UND schaltet verzögert Ein, aber sofort Aus.
                  Der Vergleich kommt dann danach. Lässt sich alles (sogar mit variablem Zeitmaßstab) im Simulator ausprobieren.

                  Sehr schöne Funktionalitäten bietet der Formelbaustein von Horst aka hyman. Zu jedem Baustein gibt es (erreichbar über das i im Baustein und dann auf den Link „weitere Informationen“ eine vorbildliche Doku mit lehrreichen Beispielen. Ist eigentlich schon etwas für später, aber schau Dir das ruhig schon mal an. Ich bin heute Abend nicht am Rechner. Den Eingangswahlschalter+ wirst Du wahrscheinlich bald benötigen. Und später lässt sich vieles auch deutlich kompakter in Formeln verpacken. Teil 3 ist so ein Kandidat dafür.
                  Zuletzt geändert von willisurf; 06.05.2024, 23:37.
                  Gruß Bernhard

                  Kommentar


                    #10
                    NCNeo, ich habe den Beitrag oben nochmal editiert
                    Gruß Bernhard

                    Kommentar


                      #11
                      Hallo Bernhard,

                      es hat zwar etwas gedauert, aber die Ein- / Ausschaltlogik habe ich gut hinbekommen. Die funktioniert. Habe es mit Verzögerer gemacht.
                      Dann habe ich mich jetzt noch an die Einstellung der Solltemperatur bzw. der Nachführung gemacht.

                      Aber hier musste ich feststellen, dass komischerweise die Logik immer nachregelt. Also er regelt den Soll Verlauf einfach immer weiter nach oben und ich verstehe nicht warum.
                      Sieht man vll. gleich den Fehler?
                      Habe die Simulation ein paar mal durchgespielt, aber ich sehe ehtlich gesagt keinen Fehler. Das müsste doch so funktionieren.

                      Danke

                      You do not have permission to view this gallery.
                      This gallery has 1 photos.

                      Kommentar


                        #12
                        Dann versuche mal das Verhalten mit Hilfe des Gruppenmonitors und ergänzend mit der Simulation im GPA nachzuvollziehen und zu verstehen. So mit draufschauen kriege ich das nicht raus.
                        Gruß Bernhard

                        Kommentar


                          #13
                          Noch ein Tipp, achte mal darauf, ob im realen System der Status der Solltemperatur nach dem Setzen der Solltemperatur gleich aktualisiert wird. Das wöre dann eine Erklärung, das er darauf aufbauend kontinuierlich hochzählt. Ansonsten hilf ggf. auch das Webinterface des X1, in dem man im Bereich Logik nach unten scrollen und in den Logikblättern live die Variablen beobachten kann.
                          Gruß Bernhard

                          Kommentar


                            #14
                            Das hab ich jetzt noch nicht entdeckt, muss ich später mal austesten. Seit wann gibt es die Funktion Bernhardt?

                            Gruß Florian

                            Kommentar


                              #15
                              Schon sehr lange, also >3 Jahre, siehe
                              Bei der neumodischen Variante wird live aktualisiert.
                              Zuletzt geändert von willisurf; 04.10.2024, 07:10.
                              Gruß Bernhard

                              Kommentar

                              Lädt...
                              X