Ankündigung

Einklappen
Keine Ankündigung bisher.

OpenKNX-Logikmodul release

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

    Zitat von c4orbi Beitrag anzeigen
    der dann bei einzelnen manuell eingeschalteten Lampen dies auch mitbekommt und entsprechend dann die Lampen irgendwann ausschaltet (Wohn-Essbereich AUS).
    Hmmm, ich bin mir nicht sicher, was Du wirklich willst, aber vielleicht brauchst Du auch gar kein ODER. Du willst doch Deinen Halbautomaten nur mit jedem manuellen Schaltsignal triggern, oder? Damit die Nachlaufzeit erneut anläuft. Geht es um ein normales Treppenlicht oder einen PM?
    Wenn es um ein normales Treppenlicht geht, kannst Du das mit einem einzigen Logikkanal meines Logikmoduls machen, egal wie viele Lichtquellen dran sind.

    Beschreib einfach Dein gesamtes Problemszenario, ohne schon eine Lösung vorwegzunehmen, dann kann Dir besser helfen.

    Gruß, Waldemar
    OpenKNX www.openknx.de

    Kommentar


      Vielen Dank für den Input willisurf das klingt schon sehr nach der Lösung. Ich werde es austesten.

      P.S.: Frohes neues Jahr euch allen!

      Kommentar


        Hallo alle zusammen,

        also mein Vorhaben aus Post #222 hat an sich auf anhieb wie es willisurf aus Post #223 es beschrieben hat funktioniert.
        Jedoch habe ich eine Sache die ich meines Wissens nur mit einem Zusätzlichen Logikkanal umsetzen lässt, was ich jedoch vermeiden möchte.

        Folgende Problematik besteht:

        Wenn die maximale EINschaltzeit (für derzeitige Testzwecke 10 Sek. eingestellt) erreicht ist und ich dennoch danach erneut ein EIN-Schaltbefehl für z.B. eine Pumpe geben, wird diese leider erneut für ca. 0,5 - 1 Sekunde EINgeschaltet, siehe dazu Bild "Gruppenmonitor". Dies ist selbstverständlich nicht zugelassen und sollte nicht passieren.

        Eventuell befindet sich ein Fehler in den Einstellungen des Logikmoduls... oder muss wirklich ein zusätzlicher Logikkanal aktiviert werden um dort eine Sperre zu verknüpfen die wiederum zusammen mit einem GESAMT-UND zusammen verknüpft ist, damit kein EINschaltbefehl durch kommt?

        Angehängte Dateien
        Zuletzt geändert von Lexxs; 02.01.2024, 13:18.

        Kommentar


          Ohne das ich mir die Logik angeschaut habe, das lässt sich wahrscheinlich vermeiden, wenn Du beim Ausgangskanal eine Einschaltverzögerung von z.B. 1,5s (15 x 0,1s) einstellst.
          Gruß Bernhard

          Kommentar


            willisurf Wie genau kommst du auf 15 x 0,1s ? Also wieso 15 und nicht z.B. 10 x 0,1s?

            EDIT:
            Leider funktioniert die EINschaltverzögerung nicht. Es wird dennoch ca eine weitere Sekunde EINgeschaltet.
            Zuletzt geändert von Lexxs; 02.01.2024, 13:20.

            Kommentar


              Lexxs einfach nur ein Beispiel und etwas Reserve. Du kann auch 11 oder 13 versuchen.
              Gruß Bernhard

              Kommentar


                Lexxs und willisurf: Hatte die Frage gar nicht gesehen... ist schon irre, was ihr da rausholt. Ist sicherlich keine triviale Logik.
                willisurf: Eine gute Idee, von meinem Zähler auszugehen.
                Lexxs: Es ist immer etwas schwierig, sich in eine fremde Logik einzudenken, aber soweit ich das verstanden habe, schaltest Du direkt Dein Gerät direkt über die 3/0/10 EIN. Diese GA schaltet dann auch die ganze Zähllogik ein. Der Vergleicher, der auf > 10s prüft, wird aber nur vom Zähler getriggert, der nächste Zählimpuls führt also erst zum Vergleich und zur Generierung des AUS-Signals.

                Bei der Konstellation KANN die Logik nichts machen: Das EIN auf der 3/0/10 führt immer zum Einschalten vom Gerät, da ist die Logik ja gar nicht beteiligt.
                Und dass das AUS erst nach ca. 1s kommt, liegt daran, dass erst beim nächsten Erhöhen des Zählers überhaupt vergleichen wird.

                Was musst Du machen:
                • Die Logik muss auf jeden Fall selbst das Gerät EIN- und AUSschalten. Dein EIN-Signal von Außen muss also auf einer anderen GA liegen als die Schalt-GA des Geräts. Nur dann kann die Logik entscheiden, dass kein EIN-Signal generiert wird.
                • Du musst den Vergleicher auf so bauen, dass er zusätzlich zum Zählwert auch vom EIN-Signal getriggert wird. Dann kann er sofort vergleichen und abhängig vom Zähler ein EIN- oder ein AUS-Signal generieren.
                Und noch ein paar Kleinigkeiten, die mir aufgefallen sind:
                • Zähler sollte ganzzahlig sein, nicht DPT9. Die werden spätestens oberhalb von 2047 ungenau. Ich würde auf DPT7 (geht bis 65535) oder - falls es wirklich groß wird - auf DPT12 gehen.
                • Eigentlich sollten weniger Logikkanäle gehen. Ich bin im Urlaub und kann das nicht ausprobieren, aber folgende Idee hätte ich:
                  • Erste Optimierung: Kanal 21 ist nicht nötig. Kanal 22 kann im EIN-Fall zyklisch im 1s-Takt senden.
                  • Bei Kanal 23 fehlen mir die KO-Zuordnungen, aber für mich sieht das überflüssig aus, falls wirklich am Eingang 1 und Ausgang die GA 3/0/10 anliegt. Ist sogar eher gefährlich, weil es eine Rückkopplung ist.
                  • Kanal 24 ist ok so
                  • Kanal 25 verstehe ich nicht, warum E1 vom Bus lesen soll, da der Zählerwert ja vom Logikmodul verwaltet wird.
                  • Kanal 25 sollte nicht nur ein EIN, sondern auch ein AUS generieren.
                  • Kanal 25 sollte ein TOR sein, bei dem das TOR durch das externe Einschaltsignal des Gerätes geschaltet wird.
                    • Kommt von extern ein EIN, wird das TOR geöffnet und sendet sein Eingangssignal auf den Ausgang.
                    • Das Eingangssignal ist EIN, wenn Zähler <= 10 (so musst Du Einang 1 parametrisieren), dann wird auch EINgeschaltet.
                    • Ist der Zähler > 10, ist das Eingangssignal 0, es wird AUSgeschaltet.
                    • Schaltet man extern AUS, wird das TOR geschlossen und schickt ein AUS auf den Ausgang.
                Am Ende hast Du die ganze Logik mit 3 Logikkanälen gelöst (22, 24 und 25). Finde ich für einen Betriebszeitzähler gar nicht mal so schlecht. Vor allem, weil ich an so einen Fall gar nicht gedacht habe .

                Gruß, Waldemar
                OpenKNX www.openknx.de

                Kommentar


                  mumpf

                  Vielen Dank für deine Infos!

                  Leider bekomme ich es nicht hin es nur mit drei Logikkanäle zu realisieren.
                  Es scheitert daran das nach dem Ablauf der 10sek und wieder erneutem Einschalten vom Externem Signal der Zähler wieder einfach weiter hoch zählt. Das Echtgerät bleibt zwar aus, jedoch ist es unnötig das der Zähler intern weiter hochzählt solange das Externe EIN/AUS-Signal erneut nach den 10Sek. EINgeschaltet ist.
                  Ich habe die derzeitige Einstellungen wieder in den Anhang gepackt. Sehr gerne würde ich versuchen so wenig wie möglich an Logikkanäle zu verwenden, weswegen ich auch hartnäckig das ganze mit 3 Logikkanälen austeste und verschiedene Optionen und Denkweisen durchgehe, mit denen ich jedoch derzeitig leider nicht mein Vorhaben erreiche.

                  Mir ist bewusst wieso ich diesen Fehler habe, jedoch fällt mir nichts ein, wie ich es eventuell mit deiner Beschreibung und den drei Logikkanälen umsetzen kann.

                  Ebenso wollte ich mitteilen das mit dem DPT12 die Betriebszeitzähler Logik nicht funktioniert.
                  D.h. die Logik fängt nicht an zu Zählen. Wenn die gesamte Logik auf DPT7 eingestellt wird, funktioniert sie.


                  Angehängte Dateien

                  Kommentar


                    Hi Lexxs,

                    an sich ist es doch kein Problem, wenn der weiter hochzählt, das Gerät geht ja nicht wieder an. Wobei - wenn dpt12 nicht klappt, dann hast Du bei dpt7 potentiell einen Überlauf...

                    Aber bau doch Kanal 22 so, dass es ein einfaches OR mit einem Eingang ist. Der Eingang bekommt den Status des Gerätes und der Ausgang bleibt wie er ist. Dann hast Du Sekundenimpulse nur, solange das Gerät an ist.

                    Da bei >10 das Gerät nicht mehr eingeschaltet wird, gibt es auch keine weiteren Sekundenimpulse. An sich müsste das klappen.

                    Das mit DPT12 probiere ich mal bei Gelegenheit aus, bin aber im Urlaub, komme nicht sofort dazu...

                    Gruß, Waldemar
                    OpenKNX www.openknx.de

                    Kommentar


                      Hi Lexxs,

                      wenn wir schon dabei sind, warum nicht mich 2 Kanälen realisieren . Hab noch etwas nachgedacht...

                      Lass man Kanal 22 weg, bei Kanalausgänge verbinden von Kanal 24 machst Du die 25 rein und machst bei 24 das zyklisch senden von EIN jede Sekunde.

                      Sollte auch klappen. Kann ich wie gesagt gerade nicht ausprobieren.

                      Gruß, Waldemar
                      OpenKNX www.openknx.de

                      Kommentar


                        Noch etwas: Das DPT12 Problem könnte ich nachvollziehen aber noch nicht lösen. Aber DPT13 geht, der Wertebereich wird reichen.

                        Das mit 2 Kanälen klappt auch .

                        Gruß, Waldemar
                        OpenKNX www.openknx.de

                        Kommentar


                          Hi mumpf,

                          leider bin ich erst gerade eben dazu gekommen es auszutesten.
                          Wie genau meinst du das mit nur zwei Logikkanäle?
                          Welche GA's sollen dann aber bei Logikkanal 24 verwendet werden?
                          Soll beim Logikkanal 24 lediglich nur bei "Kanalausgänge verbinden" die 25 rein und sonst NICHTS verändern?
                          Und wie sollte der Logikkanal 25 konfiguriert werden, da ich derzeitig über den Eingang 2 das externe Signal (EIN/Aus) verknüpft habe und somit dann durch das TOR nichts passiert. Hier müssten auch Änderungen vollzogen werden. Hättest du die Konfiguration noch um Sie ab zu fotografieren?

                          Kommentar


                            Hi Lexxs,

                            heute kam ich mal dazu, die Screenshots meiner 2-Kanal-Lösung zu machen. Wundere Dich nicht über Felder, die bei Dir nicht da sind, das liegt nur an einer neueren Applikation. Ich habe nichts verwendet, was nicht schon früher da war (glaube ich zumidnest):

                            bsp03a-betriebssekundenzaehler.png bsp03a-e1-zaehlwert.png bsp03a-e2-einschaltsignal.png bsp03a-o-geraet-schalten.png bsp03b-betriebssekundenzaehler-zaehlen.png bsp03b-e2-zaehler.png bsp03b-e1-konstante-1.png bsp03b-i-interne-verknuepfung.png bsp03b-o-betriebssekunden.png bsp03b-o-ko-belegung.png
                            Mit DPT13 sollte der Wertebereich für jegliche Zeit ausreichen.

                            Gruß, Waldemar
                            ​​​​​​
                            OpenKNX www.openknx.de

                            Kommentar


                              mumpf
                              Vielen lieben Dank für den Post, ich werde es austesten.

                              Kommentar


                                Ich habe das Beispiel mit der Betriebsdauer jetzt auch in meine neuste Doku aufgenommen: https://github.com/OpenKNX/OFM-Logic...bszeit-pro-tag

                                Dort ist auch erklärt, wie das Ganze funktioniert.

                                Gruß, Waldemar
                                OpenKNX www.openknx.de

                                Kommentar

                                Lädt...
                                X