Ankündigung

Einklappen
Keine Ankündigung bisher.

Logikfunktionen in GPA

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

    X1 Logikfunktionen in GPA

    Servus

    Nachdem ich mich vor kurzen schon mit Feinheiten des GPAs und dem X1 rumschlagen musste, stoß ich leider wieder auf die nächste Herausforderung. Die Suche hat mich leider nicht wirklich weiter gebracht, dennoch denke ich, dass es sich um ein grundlegendes Verständnisproblem handelt.

    Ziel: Ich möchte in Abhängigkeit eines Taster und einer Zeitschaltuhr (ZSU) vom X1 eine GA schreiben, die alle Rollos auf/ab fährt.

    Idee: 2 Eingänge (Taster + ZSU) auf UND-Gatter und dieses auf den Ausgang.

    Alle Datenpunkte sind angelegt. Wenn ich den Taster oder die ZSU direkt auf den Ausgang lege, funktioniert alles. Wenn ich beide Eingänger über das UND-Gatter führe, wird der Ausgang nicht mehr geschaltet. Ein Bild des Logikblatts habe ich beigefügt. Der Inverter ist, damit der Wert '1' der ZSU übernommen wird, sobald der Taster auf '0' steht und nicht bei '1'. In der Simulation passt natürlich alles. Werte werden inital vom Bus gelesen und sind auch initialiert.

    GPA Logikblatt.png

    Ist es korrekt, dass der entsprechende Wert eines Eingangs "gespeichert" wird, wenn er in die Logik übernommen wird? Das Telegramm mit dem Wert liegt ja nur einmalig an.
    Es scheint, als würde es am UND-Gatter hängen. Lege ich z.B. nur den Taster-Eingang auf beide UND-Gatter-Eingänge, wird der Ausgang auch geschaltet. Dabei kommt das Telegram natürlich "gleichzeit" am UND-Gatter an.

    Vielen Dank für die Aufklärung

    #2
    Der Eingangsbaustein liest im Datenpunkt die GA im Status-Feld und die Hörenden Adressen!
    Beim "Leaving-Home" sehe ich da keine GA ... "Beim Rollo-Zentral AB" ist es die GA = 0/3/1

    Kommentar


      #3
      Dein "Leaving-Home" soll ja den Status der An-/Abwesenheit darstellen, oder? Also muss diese GA wie ein Ein-Aus-Schalter funktionieren. Deshalb dazu eine Rückmeldeadresse und Du könntest beide GA's mit einer Binärvariable vom X1 verbinden. So kannst Du den Status An-/Abwesenheit ein und ausschalten und diesen dann in der Logik nutzen. Dann sollte es funktionieren.

      Ich weiss gerade allerdings nicht, ob das "UND-Gatter" später eintreffende Werte auch neu verarbeitet -> sonst könntest Du auch den Baustein "Formelberechnung" nutzen, dieser wertet immer neu aus.

      Kommentar


        #4
        Die meisten Bausteine rechnen ihren Ausgang neu, wenn ein Eingang einen neuen Wert bekommt. Sie verwenden dazu die gespeicherten letzten Werte der anderen Eingänge. Das sollte auch beim UND-Gatter so sein. Die Formelberechnung wäre nur für eine UND-Verknüpfung ziemlicher Overkill ...

        Kommentar


          #5
          Zitat von hyman Beitrag anzeigen
          Overkill
          Da hast Du völlig Recht - wollte nur darauf hinweisen, dass nicht alle Bausteine (ich weiss gerade eben nicht mehr bei welchem mir das aufgefallen ist) neu rechnen.

          Kommentar


            #6
            Vielen Dank, das hilft schon mal sehr! 👍

            Zitat von knxPaul Beitrag anzeigen
            Der Eingangsbaustein liest im Datenpunkt die GA im Status-Feld und die Hörenden Adressen!
            D.h. generell ist es gleich, ob der zu lesende Eingang als "Status" oder als "Hören" hinterlegt ist?​
            Wie ist ein reiner Eingang sinnvoll zu implementieren? Senden GA leer und lesende GA auf Status und/oder Hören?

            Jetzt stell ich mir jedoch noch die Frage, wie ich den Status realisiere, weil kein Aktor dahinter sitzt, der einen "echten" Status liefert. Die Funktion ist auf dem MDT Glastaster als Patschfunktion realisisert. Die Umschalt-GA am Glastaster vermutlich wieder direkt auf das KO Status. D.h. es gibt in diesem Fall keine echte Status-GA und mit X1 lesen ich dann auf der Umschalt-GA?

            Zitat von hyman Beitrag anzeigen
            Die meisten Bausteine rechnen ihren Ausgang neu, wenn ein Eingang einen neuen Wert bekommt. Sie verwenden dazu die gespeicherten letzten Werte der anderen Eingänge. Das sollte auch beim UND-Gatter so sein.
            Perfekt, so hätte ich es auch erwartet.

            Zitat von araeubig Beitrag anzeigen
            sonst könntest Du auch den Baustein "Formelberechnung" nutzen, dieser wertet immer neu aus.
            Vielen Dank dennoch für den Hinweis. Hört sich auch gut an (allgemein, nicht für meinen einfachen Fall). Leider finde ich den Baustein nicht in der Liste. Ist dies ein normaler Logikbaustein?

            Kommentar


              #7
              Die Funktion ist auf dem MDT Glastaster als Patschfunktion realisisert. Die Umschalt-GA am Glastaster vermutlich wieder direkt auf das KO Status.​
              Dan setze das L Flag am Ausgang und schon ist es ein echter Status.
              Viel Erfolg Florian

              Kommentar


                #8
                Zitat von Flowww Beitrag anzeigen
                ist es gleich, ob der zu lesende Eingang als "Status" oder als "Hören" hinterlegt ist?​
                Für die Logik ja, bei X1-Funktionen gibt es Unterschiede

                Zitat von Flowww Beitrag anzeigen
                Wie ist ein reiner Eingang sinnvoll zu implementieren?
                Pragmatisch einen schon vorhandenen Datenpunkt nutzen

                Zitat von Flowww Beitrag anzeigen
                Frage, wie ich den Status realisiere
                Im X1: Dann ist der Status die Umschalt-GA und im Status Feld steht die identische GA zum Senden-Feld

                Zitat von Flowww Beitrag anzeigen
                Baustein "Formelberechnung"
                ist kein LBS von Gira, sondern hier im Forum erhältlich -> SuFu

                Kommentar


                  #9
                  Zitat von Beleuchtfix Beitrag anzeigen
                  Dan setze das L Flag am Ausgang und schon ist es ein echter Status.
                  Bedeutet es, dass der Ausgang beim "Lesen-Flag" sich selbst wieder lesen kann und dies "intern" im KO rückkoppelt?
                  Bei einer anderen Funkion habe die Umschalt-GA auf das zugehörige KO gelegt, um z.B. den "An-Status" mit der LED zu signalisiseren.

                  Zitat von knxPaul Beitrag anzeigen
                  Pragmatisch einen schon vorhandenen Datenpunkt nutzen
                  ​Aktuell habe ich noch nicht alle GA's in die GPA expotiert, sondern erstelle diese manuell. Sollte ich eine GA haben, die nur von der GPA beschrieben wird, erstelle ich eine leere GA in ETS und ergänze dies in der Beschreibung, damit ich weiß, dass im System die GA existiert. Diese Koexistenz zwischen GPA und ETS finde ich nicht so schön gelöst von Gira...


                  Zitat von knxPaul Beitrag anzeigen
                  Im X1: Dann ist der Status die Umschalt-GA und im Status Feld steht die identische GA zum Senden-Feld
                  Aller klar, hörende Adresse bleibt leer und "Senden" und "Status" bekommen beide die Umschalt-GA des Tasters.
                  Theoretisch könnte "Senden" auch leer bleiben, solange ich nicht aus der GPA auf diesen DP schreiben will, oder?
                  Zuletzt geändert von Flowww; 26.02.2024, 15:00.

                  Kommentar


                    #10
                    Zitat von Flowww Beitrag anzeigen
                    Bedeutet es, dass der Ausgang beim "Lesen-Flag" sich selbst wieder lesen kann und dies "intern" im KO rückkoppelt?
                    Nein.
                    Wenn auf dem Bus ein Lese-Telegramm mit dieser GA am KO empfangen wird, dann bewirkt das "Lesen-Flag", dass dieses KO ein GroupValueResponse Telegramm mit dem aktuellen Wert sendet. Der X1 nutzt diesen Mechanismus beim Startvorgang.

                    Zitat von Flowww Beitrag anzeigen
                    Theoretisch könnte "Senden" auch leer bleiben, solange ich nicht aus der GPA auf diesen DP schreiben will, oder?
                    Ja, genau.

                    Kommentar


                      #11
                      Zitat von Flowww Beitrag anzeigen
                      Leider finde ich den Baustein nicht in der Liste
                      Du findest den Link und weitere Informationen in diesem Beitrag: https://knx-user-forum.de/forum/%C3%...istik-und-mehr in Post 1

                      Kommentar


                        #12
                        Zitat von knxPaul Beitrag anzeigen
                        Wenn auf dem Bus ein Lese-Telegramm mit dieser GA am KO empfangen wird, dann bewirkt das "Lesen-Flag", dass dieses KO ein GroupValueResponse Telegramm mit dem aktuellen Wert sendet.
                        Korrigiert mich bitte, wenn ich das falsch verstanden habe... "Innerhalb" einer GA sollte es aber nur ein KO geben, dass das L-Flag gesetzt hat, korrekt? Damit bei einer Anfrage (GroupValueRead) nicht mehrere KO mit ggf. unterschiedlichen Werten antworten, sondern genau ein KO reagiert (GroupValueResponse).

                        Kommentar


                          #13
                          Das ist richtig.

                          Kommentar


                            #14
                            Vielen Dank für die Antworten!

                            Ich habe alles soweit umgebaut, zusätzlich hatte ich am Ausgang vom UND-Gatter noch ein Send-by-Change, da der Ausgangs-Baustein sonst bei der Änderung der Anwesenheit (ohne Wertänderung) dennoch ein Telegram schickt und die Rollos dann ungewollt fahren.

                            Leider habe ich noch ein Verständnisproblem. Mein Anwesenheitsstatus ist in der GA 0/1/20 (Umschalt-GA mit MDT Patschfunktion, Status-KO offen). In der GPA lese ich nun genau von dieser 0/1/20 ein. Allerdings kommt der Rollobefehl der GA 0/3/0 durch, auch wenn ich die Anwesenheit auf "1" (= anwesend) geschrieben habe, was durch den Inverter die "0" am UND-Gatter erzeugen soll.

                            Lese ich nun mit der ETS die 0/1/20 bekomme ich immer "0". Ich hatte das L-Flag gesetzt und hätte erwartet, dass das KO der 0/1/20 den echten Wert zurückliefert.

                            Wenn die Logikfunktion von GPA natürlich einen "1" an der 0/3/0 bekommt und das UND-Gatter nicht blockiert ist weil die 0/1/20 den Wert "0" liest, obwohl "1" geschaltet ist, dann kommt der Befehl natürlich durch.

                            Hab ich etwas übersehen?

                            Nachtrag (aktueller Logikaufbau): GPA Logikblatt - 2.png
                            Zuletzt geändert von Flowww; 27.02.2024, 11:12.

                            Kommentar


                              #15
                              Schwer zu sagen - ein fehlender oder fehlgeschlagener Download vom GPA in den X1?

                              Um Sicherheit zu gewinnen, würde ich zuerst die Umschalt-GA mit MDT Patschfunktion zum Funktionieren bringen. Beobachten mit dem Gruppenmonitor in der ETS. Da muss bei jedem Tastendruck der Zustand wechseln.
                              Das KO "Patsch Taste xx - Wert für Umschaltung​" muss mit der der GA 0/1/20 verbunden sein, sonst klappt die Umschaltung nicht.

                              Kommentar

                              Lädt...
                              X