Ankündigung

Einklappen
Keine Ankündigung bisher.

Einfache Logik in KNX realisieren

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

    Einfache Logik in KNX realisieren

    Hallo zusammen,

    mein Name ist Stephan, ich habe Elektrotechnik studiert und beschäftige mich hauptberuflich mit der Programmierung von SPS'n.
    Nächstes Jahr steht bei mir privat der Neubau an und da muss natürlich ein Bussystem mit rein. Die Entscheidung ist auf KNX gefallen.

    Nun habe ich mir die ersten Komponenten bestellt und einen kleinen Testaufbau realisiert, mit welchem ich die KNX Thematik besser verstehen und erste Ideen umsetzen möchte. Leider scheitere ich schon an einer in meinen Augen sehr einfachen Aufgabenstellung und rätsle ob diese auf einen HS ausgelagert werden muss, oder ob es nicht doch direkt in den Komponenten geht. Ein Logikmodul möchte ich nicht, denn dann kann ich die Funktion auch in den sowieso geplanten HS auslagern.

    Die Komponenten
    - MDT Glastaster 2 Smart
    - MDT AMI Aktor, final soll diese Schaltung mit einem AKI laufen.

    Das Vorhaben
    Ausgangssituation
    - alle Lichter im Raum sind aus

    Funktionsumfang
    - mittels Patschfunktion wird das Hautplicht im Raum aktiviert
    - weitere Lichter und auch das Hauptlicht können am Taster über einzelne Tasten ein und ausgeschaltet werden
    - ein weiterer Patsch auf den Taster soll dann wenn ein beliebiges Licht aktiv ist alle Lichter deaktivieren

    Meine Umsetzungsidee (klappt aber leider nicht)
    - Ich arbeite mit einer Szene (Wert1: Hauptlicht geht an / Wert2: alle Lichter gehen aus)
    - Jedes Licht gibt mir nach Aktivierung eine Rückmeldung in Form Von Licht_<Raum>_<Lichtname>_Feedback. Aus diesen Rückmeldungen baue ich mir im Glastaster einen Gesamtfeedback Licht_<Raum>_Feedback welcher den Status der Lichter enthält. Aufgrund der Ermangelung von Logiken kann ich leider nur insgesamt 3 Lichter so im MDT Glastaster verbinden.
    - die zwei verbleibenden Logiken werden verwendet um die GA der Patschfunktion mit dem Gesamtfeedback Licht_<Raum>_Feedback und/undnicht zu verknüpfen um zu entscheiden, welche Szene ausgelöst wird. Leider löst mir hier jedoch immer sofort beim Aktivieren eines Lichts die Szene deaktivieren aus und umgekehrt, da ich vom Glastaster eigentlich nur eine Flanke benötige um zu erkennen, dass soeben ein Patsch ausgeführt wurde.

    Ich hoffe ich denke einfach nur zu umständlich oder übersehe eine Kleinigkeit und mit KNX ist so etwas ganz leicht möglich. Über eure Hilfe würde ich mich sehr freuen.

    Gruß
    Stephan



    #2
    Hi Stephan, willkommen im User Forum.
    Szenen sind grundsätzlich nicht falsch, aber fang erst einmal mit einfachem Schalten an. Übrigens, Szenennummern sind im KNX um eins verschoben, Szene 1 wird über den realen Wert 0 aufgerufen.
    Ich würde die Patschfunktion auf die Funktion schalten/umschalten legen und den "Wert für Umschaltung" aus über die Oder-Logik aller Lichter nehmen. Eventuell kannst du da noch etwas optimieren, indem du interne Werte verarbeitest und z.B. ein Licht auch noch auf die passende LED am Schalter legst, und diese LED als Eingang für die Logik verwendest.
    Viel Erfolg und viel Spaß mit KNX - die Denke ist deutlich anders als bei einer SPS
    Florian

    Kommentar


      #3
      für mehr Proben ohne kostspielige HW ist KNX-virtuell zu empfehlen.
      ----------------------------------------------------------------------------------
      "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
      Albert Einstein

      Kommentar


        #4
        Zitat von Beleuchtfix Beitrag anzeigen
        Ich würde die Patschfunktion auf die Funktion schalten/umschalten legen und den "Wert für Umschaltung" aus über die Oder-Logik aller Lichter nehmen. Eventuell kannst du da noch etwas optimieren, indem du interne Werte verarbeitest und z.B. ein Licht auch noch auf die passende LED am Schalter legst, und diese LED als Eingang für die Logik verwendest.
        Viel Erfolg und viel Spaß mit KNX - die Denke ist deutlich anders als bei einer SPS
        Florian
        Hallo Florian,
        danke für deine Antwort. Die Idee mit dem Umschalten des Feedback gefällt mir, nur kann ich dann den Wert des Feedback nur zum ausschalten der Lampen verwenden, ansonsten würde ein Patsch auf den Taster ja immer alle Lichter aktivieren. Gibt es hier möglichkeiten soetwas in KNX zu realisieren? Ich würde also gerne auf eine GA ein und ausschaltend reagieren und auf eine nur ausschaltend. Dann könnte ich meine Idee leicht verwirklichen.

        Ich versuch mal nochmal zu beschreiben, was jetzt aktuell passiert.
        Am MDT Glastaster können mittels Tastendruck die Lichter 1 und 2 über folgende GA aktiviert bzw. deaktiviert werden:
        Licht_Küche_1
        Licht_Küche_2
        Der Aktor meldet dann über
        Licht_Küche_1_Feedback
        Licht_Küche_2_Feedback
        zurück, wenn ein Licht aktiviert wurde. Diese Rückmeldung greift der Taster auf um die Visualisierung umzuschalten.
        Ausserdem greift der Taster diese beiden GA's auf und verschaltet sie oder zu einer
        Licht_Küche_Feedback
        Die GA Licht_Küche_Feedback würde ich jetzt am Glastaster mittels Patsch Funktion umschalten und gerne irgendwie mit auf die Aktoren bringen um das Licht damit zu deaktivieren, bzw. Das Licht 1 auch zu aktivieren. Da sind mir leider nur Szenen eingefallen, die das in meinen Augen realisieren können.



        Zitat von gbglace Beitrag anzeigen
        für mehr Proben ohne kostspielige HW ist KNX-virtuell zu empfehlen.
        Werde ich mir mal ansehen, vielen Dank.

        Gruß
        Stephan

        Kommentar


          #5
          Zitat von Stephh Beitrag anzeigen
          Da sind mir leider nur Szenen eingefallen, die das in meinen Augen realisieren können.
          Ja, das wäre der naheliegende Weg für diese "asymmetrische" Lichtsteuerung. Leider ist die Logik im Taster zu unflexibel, um das abzubilden. Die kann aus 0|1 keine Szenenaufrufe erzeugen. Man braucht also ein besseres Logikmodul, wenn es unbedingt über die Patschfunktion gelöst werden soll.

          Kommentar


            #6
            Da nimmst einfach eine weitere ODER Logik im GT2.

            Grundeinstellung: Oder / Schalten / bei Änderung Ausgang (nur 0 senden) / nein Invertierung
            Und in den Detaileinstellungen zur Logik:
            Eingang A extern mit normal eingeschalten Vorbelegung 0
            Eingang B extern mit normal eingeschalten Vorbelegung 1

            Das ergibt da für die Logik1 Zwei Eingangs-KO #65 und #66. An das KO #66 kommt die GA Licht_Küche_Feedback das KO #65 lässt leer.

            Die Logik ist somit ein Filter weil das eine Element KO#65 ist immer fix 0 und wenn die Sammelstatus GA gesendet wird und mit 0 ankommt dann wird die Logik von 0/1 >> 1 zu 0/0 >> 0 und auf Grund der Grundeinstellung wird die 0 am Ausgang dann auch gesendet. kommt dann wieder eine Lampe leuchtend und eine 1 an KO#66 rein dann ist das Ergebnis 1 und es wird nichts gesendet weil der Ausgang nur 0 senden soll.

            PS: Ergänzung die GA vom Patsch geht ohne Umweg der Logik zusätzlich an den Aktor von Lampe1 so ein KO kann ja auch auf mehrere GA hören.
            Zuletzt geändert von gbglace; 29.03.2021, 19:52.
            ----------------------------------------------------------------------------------
            "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
            Albert Einstein

            Kommentar


              #7
              Als Realisierung schlage ich vor:
              • Patsch-Taste kurz auf eine GA-kurz, nur Schalten Ein
              • Patsch Taste lang auf eine GA-lang, Schalten Aus
              • von jedem Einzeltaster weitere GAs, bspw. GA-Taster-1 und GA-Taster-2
              auf den Aktoren werden dann verbunden:
              • Hauptlicht: GA-kurz und GA-lang
              • Licht_Küche_1 GA-Taster-1 und GA-lang
              • Licht_Küche_2 GA-Taster-2 und GA-lang
              Die KNX Idee ist, mit einer GA eine Funktion zu realisieren, kann auch umschalten sein, und jeden Aktor mit den GAs zu verbinden, dessen Funktion er benötigt.

              Kommentar


                #8
                Ah ... stimmt, man kann die Putzfunktion auch abschalten und hat dann zwei Funktionen für Patsch kurz und lang. Das könnte man auch für zwei Szenen nutzen.

                Kommentar


                  #9
                  Ich habe deine Logik noch nicht verstanden. Unter welcher Bedingung soll Patch nun etwas einschalten und wann wieder etwas ausschalten. Eine für mich sinnvolle Logik, wäre alles aus, Hauptlicht an, irgend ein Licht an, alles Aus. Du kannst auch sagen, Licht 1 aus, Licht 1 an, Licht 1 an, alles aus. Schreib dir mal eine Logiktabelle und gehe die punkte noch einmal von Hand durch, um genau zu definieren, was du willst. Divjse Vorstellungen lassen sich nur sehr schwer erstellen.

                  Viel Erfolg, Florian

                  Kommentar


                    #10
                    Wenn es Dir genügt, das ein Patsch das Hauptlicht nur dann einschaltet, wenn vorher alles aus ist, ist es sehr einfach und ich hätte eine Lösung.
                    Diese deckt allerdings nicht den Fall ab, das manuell irgendeine Lampe eingeschaltet ist und danach ein Patsch erstmal das Hauptlicht einschalten soll. Bei meiner Lösung würde dann ein Patsch erstmal zum Ausschalten führen.

                    Umsetzung mit der o.a. Einschränkung. Zwei Szenen, wie Du Sie bereits hast. Patschfunktion auf Umschalten und der Status zum Umschalten wird aus einem ODER von allen Aktorstati der Lampen gebildet. Patschfuntion sendet auf Null die Szene für Lampen AUS und auf EINS die Szene für Hauptlicht.
                    Das wars.

                    Mit den 4 Logikgattern des GT kannst Du theoretisch 13 Lampen verodern (3 Gatter mit je 4 Eingängen, diese im vierten Gatter zusammenfassen und ggf. noch den letzten Eingang als 13. Kanal).

                    Die Gatter im GT haben nur zwei externe Eingänge, also sind nur 4 Lampenstati auswertbar. Falls die Logikgatter als interne Eingänge möglich sind auch mehr. Das müsste man dann nochmal nachschauen.
                    Zuletzt geändert von willisurf; 29.03.2021, 23:00.
                    Gruß Bernhard

                    Kommentar


                      #11
                      Die Idee von knxPaul ist warscheinlich die am leichtesten zu realisierende noch dazu funktioniert sie mit einer beliebigen Anzahl Lichter. Hier muss ich mir dann aber eine Alternative ggf. über die Sperrobjekte schaffen zum Taster abwischen.

                      Zitat von willisurf Beitrag anzeigen
                      Mit den 4 Logikgattern des GT kannst Du theoretisch 13 Lampen verodern (3 Gatter mit je 4 Eingängen, diese im vierten Gatter zusammenfassen und ggf. noch den letzten Eingang als 13. Kanal).
                      Wie das funktionieren soll verstehe ich nicht. Ich kann in den Gattern 2 externe und 2 interne Objekte wählen, wobei die internen Objekte immer nur den aktuellen Stand des Tastendrucks liefern. Somit kann ich meiner Meinung nach pro Logikgatter nur maximal 2 Objekte sinnig verschalten.


                      Zitat von willisurf Beitrag anzeigen
                      Wenn es Dir genügt, das ein Patsch das Hauptlicht nur dann einschaltet, wenn vorher alles aus ist, ist es sehr einfach und ich hätte eine Lösung.
                      Diese deckt allerdings nicht den Fall ab, das manuell irgendeine Lampe eingeschaltet ist und danach ein Patsch erstmal das Hauptlicht einschalten soll. Bei meiner Lösung würde dann ein Patsch erstmal zum Ausschalten führen.
                      Genau das möchte ich erreichen.
                      Ich würde dafür folgende Gatter verwenden, was aber leider nicht funktioniert, weil der zweite Patsch warum auch immer garnicht im Gruppenmonitor ankommt..

                      Die Patschfunktion hat Umschalten auf Licht_Küche_Feedback

                      Logik1:
                      Licht_Küche_1_Feedback oder Licht_Küche_2_Feedback = Licht_Küche_Feedback
                      Logik2:
                      Licht_Küche_Feedback = Licht_Küche_Szene (Szene Licht1 an)
                      Logik3:
                      nicht Licht_Küche_Feedback = Licht_Küche_Szene (Szene all Lichter aus)
                      Logik4 könnte verwendet werden um ein 3. Licht in den Verbund aufzunehmen, dann ist aber schluss.

                      Taster_Konfiguration.PNG



                      Im Anhang befindet sich noch eine kleine Tabelle, die hoffentlich klar macht welche Logik ich realisieren möchte.

                      Licht Zustände.PNG

                      Ich hoffe ich hab jetzt nichts durcheinander gewürfelt, es sit echt schwer auf so viele Antworten gleichzeitig zu reagieren. Ich möchte ja alles erst mal testen bevor ich was dazu schreibe.

                      Gruß
                      Stephan

                      Kommentar


                        #12
                        Der Anhang mit der Tabelle funzt nicht.

                        Und bitte Mal einfach, nicht deine Logikversuche die nicht funktionieren.

                        Ich bin mittlerweile schon verwirrt wie viele Leuchtgruppen sind es denn überhaupt?

                        danach bitte nicht verbal angewöhnen KO, Kanäle, Aktoren auf GA zu packen, legen usw. Das macht sachlogisch überhaupt keinen Sinn.
                        Die GA ist Teil der zu transportierenden Information und kein physisches Objekt wo man was rein packen kann. Es ist wie ein Draht der bestimmt wo das 0/1 hingehen soll. Also du kannst einen Draht in eine Klemme stecken, gern auch mehrere aber du kannst keine Klemme in einen Draht stecken.

                        Also nochmal generisch.

                        X Lampen liefern x Status, die werden zusammengefasst zu einem Sammelstatus.
                        Dafür braucht es dann entsprechende Anzahl Logikblöcke sofern die nur zwei Eingänge haben.

                        Die internen Eingänge des GT2 aus den Einzelnen Tasten kann man schon benutzen, wenn man den jeweiligen Einzelstatus auch sauber als Rückmeldung an die Taste verbindet, denn dann liefert im UM Modus die Taste auch immer genau das richtige beim Drücken.

                        Aber egal x Leuchten 1 Sammelstatus.
                        Für die Funktionalität der Patschtaste hast Du nun in einfach zwei Optionen wenn sie als Umschalter funktionieren soll und dabei bei 0 alles aus und bei 1 eine (y) der x Lampen einschalten soll.

                        A) schalte alle Lampen AUS wenn alle Lampen AN sind, sonst y AN B) schalte alle Lampen AUS wenn mindestens irgendeine Lampe AN ist, sonst y AN

                        A) ist eine UND Verknüpfung der Einzelstatus, B) ist ein ODER der gleichen für den Sammelstatus.

                        Etwas komplizierter ist es wenn im Szenario B) mindestens auch noch eine spezifische der Lampen AN sein soll, dann braucht es noch ein UND aus dem Sammelstatus und dem speziellen Einzelstatus.

                        Wenn Du nun den passenden Sammelstatus definiert hast und Patsch so wirken soll wie oben beschrieben, AN auf eine Leuchte AUS auf alle Leuchten, dann entweder getrennte Szenen oder getrennte Schaltobjekte (kurz/lang) oder eine Filterlogik (TOR) die das AUS auf eine andere GA bringt und damit alle Lampen verbunden werden. So ein TOR direkt hat der GT2 nicht als Logik aber ein ODER mit einem Fixwert und passender Sendebedingung macht das gleiche. Siehe #6.

                        Und nun probier es aus.

                        ----------------------------------------------------------------------------------
                        "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
                        Albert Einstein

                        Kommentar


                          #13
                          Guten Morgen Göran,

                          jetzt hast Du sogar mich verwirrt . Für mich sind das zu viele Optionen in einer Antwort. Aber zumindest den Satz will ich wiederlegen:
                          Zitat von gbglace Beitrag anzeigen
                          Der Anhang mit der Tabelle funzt nicht.


                          Stefan, Deine Tabelle bekommst Du folgendermaßen realisiert:
                          1. Der Patsch wird ganz normal als Umschalter parametriert und mit dem Hauptlicht verbunden.
                          2. Der Status aller Lichtquellen wird über ein ODER verbunden. Der Ausgang von dem ODER geht auf "Wert für Umschaltung" vom Patsch.
                          3. Dann geht der Ausgang vom Patsch noch auf ein Logikgatter (im Taster), das eine Identität ist, aber nur AUS durchlässt (siehe Bild). Der Ausgang von diesem Gatter geht an alle Lichtquellen (wobei das beim Hauptlicht nicht nötig ist).
                          Das war es. 1 Schaltet das Hauptlicht in Abhängigkeit von irgendeinem Licht im Raum ein oder aus. 2 stellt fest, ob irgendein Licht an ist. 3 schickt nur das AUS-Signal an alle Lichter. Das realisiert die Schaltzustände in Deiner Tabelle.

                          Du brauchst keine Szenen, solange Du nur schalten willst. Mit den 4 Logiken im Glastaster kannst Du den Status für 4 Lichtkreise ermitteln (1 Logik für den Filter, 3 für das ODER).

                          Gruß, Waldemar

                          Identität-0-Filter.jpg

                          OpenKNX www.openknx.de

                          Kommentar


                            #14
                            Übrigens Patch aus kann im Beitrag #11 nicht gehen, weil du mit Patch ein auch die Patch Sperre am KO 64 setzt.

                            Gruß Florian

                            Kommentar


                              #15
                              Florian hat mal wieder genau den Punkt getroffen! Das ist der Grund für:
                              Zitat von Stephh Beitrag anzeigen
                              weil der zweite Patsch warum auch immer garnicht im Gruppenmonitor ankommt..
                              Ich habe auf die Sperre gar nicht geachtet. Allgemeiner Tipp: An Sperren etc. würde ich erst gehen, wenn die Grundfunktionalität läuft.

                              Gruß, Waldemar

                              OpenKNX www.openknx.de

                              Kommentar

                              Lädt...
                              X