Ankündigung

Einklappen
Keine Ankündigung bisher.

eine Frage der Logik

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

    eine Frage der Logik

    Auf Grund dessen, dass mir langsam meine Logikbausteine knapp werden, will ich einige zusammenfassen und brauche deshalb euren Rat. Ich habe folgende Logik zu lösen:

    Eingang 1: Rollladen erreicht obere Position (=1) -> Ausgang 0
    Eingang 2: Rollladen ereicht untere Position (=1) -> Ausgang 1
    Eingang 1 oder 2: Rolladen verlässt obere oder untere Position (Eingang 1 oder Eingang 2 = 0) > Ausgang KEINE Änderung

    Kriege ich das irgendwie in EINER Logik unter? Das Problem ist der Dritte Punkt.

    #2
    Hi,

    Du hast glück, dass ich an solchen Knobeleien Spaß habe und heute Abend nicht an meinem Haus rumspiele .

    Deine gesuchte Logik ist A = (E2 or EA) and not E1, wobei
    E1: Eingang 1
    E2: Eingang 2
    EA: Eingang, der direkt mit dem Ausgang verbunden ist
    A: Ausgang

    ist. Unten steht die Wertetabelle (die roten Zeilen werden nicht erreicht). Funktioniert folgendermaßen:
    Ausgangssituation: Rolladen ist oben, E1 = 1, E2 = 0, A = 0, somit ist auch EA = 0 (wir sind in Zeile 5) der Tabelle).
    Rolladen fährt runter, verlässt obere Position, E1 = 0. Wir springen zu Zeile 1), Ausgang bleibt 0.
    Rolladen erreicht untere Position, E2 = 1. Wir springen zu Zeile 3), A wird 1, EA wird auch 1, wir springen zur Zeile 4), A bleibt 1.
    Rolladen fährt hoch, verlässt untere Position, E2 = 0. Wir springen zu Zeile 2), Ausgang bleibt 1.
    Rolladen erreicht obere Position, E1 = 1. Wir springen zu Zeile 6), A wird 0, EA wird auch 0, wir springen zur Zeile 5), A bleibt 0.
    Wir sind wieder am Anfang.

    Code:
       E1 E2 EA A
    1) 0  0  0  0
    2) 0  0  1  1
    3) 0  1  0  1
    4) 0  1  1  1
    5) 1  0  0  0
    6) 1  0  1  0
    [COLOR=#FF0000]7) 1  1  0  0
    8) 1  1  1  0[/COLOR]
    Ob Du obiges mit einer Logik formulieren kannst, hängt von Deiner Hardware ab, das kann ich Dir somit nicht beantworten.

    Melde Dich bei Fragen...

    Gruß, Waldemar
    Zuletzt geändert von mumpf; 04.12.2018, 22:40.
    OpenKNX www.openknx.de

    Kommentar


      #3
      Danke. Den Ausgang zu nutzen, auf die Idee bin ich gar nicht gekommen. Ich dachte mir aber, dass das irgendwie lösbar sein muss.

      Geht aber wahrscheinlich doch nicht, weil die Logik entweder AND oder OR kann, aber nicht beides in einer Logik kombiniert.

      Kommentar


        #4
        Morgen

        Man kann sowas mit dem Karnough Diagramm lösen. Mein Studium ist aber zu lange her, um Dir das jetzt schnell zu erklären .

        https://de.wikipedia.org/wiki/Karnaugh-Veitch-Diagramm

        Markus

        Kommentar


          #5
          Hi Cannon,

          wofür brauchst Du das eigentlich? Vielleicht gibt es noch andere Lösungen für Dein eigentliches Problem...
          Aus dem oben beschriebenen bekommt man immer einen Flankenwechsel, wenn der Motor stoppt. Die Frage ist, wofür man so was braucht.

          Gruß, Waldemar
          OpenKNX www.openknx.de

          Kommentar


            #6
            Zitat von mumpf Beitrag anzeigen
            wofür brauchst Du das eigentlich? Vielleicht gibt es noch andere Lösungen für Dein eigentliches Problem...
            Aus dem oben beschriebenen bekommt man immer einen Flankenwechsel, wenn der Motor stoppt. Die Frage ist, wofür man so was braucht.
            Ich schalte pro Raum zwischen Tag/Nacht um, indem ich den entsprechenden Rollladen dafür verwende. Das geht sehr gut ich bin mit der Lösung an sich zufrieden. :-)

            Zitat von KNXMane Beitrag anzeigen
            Man kann sowas mit dem Karnough Diagramm lösen.
            Danke für den Hinweis. Das ist sicherlich leichter, dass in eine Formel umzurechnen, als das mit 0 und 1 in einer Tabelle zu probieren und sich dann versuchen die Zustände zu merken. ;-)

            Kommentar


              #7
              Zitat von Cannon Beitrag anzeigen
              pro Raum zwischen Tag/Nacht um
              Was ist denn das Kriterium für Nacht? Rolladen ganz unten? Wenn ich deine beschreibung im ersten Post lese, wird es Nacht, wenn der Rollladen GANZ unten ist, und Tag, wenn der Rollladen GANZ oben ist. Ist es wirklich entscheidend, dass es Tag wird, erst wenn der Rollladen GANZ oben ist, also unter 30sekunden später?

              Sonst würde es nämlich reichen, das "Position unten" Flag abzufragen und ggf. zu invertieren, was wahrscheinlich ganz ohne Logik nur mit den beteiligten Geräten geht.

              Oder: Übersehe ich jetzt was?

              Kommentar


                #8
                Zitat von jentz1986 Beitrag anzeigen
                Ist es wirklich entscheidend, dass es Tag wird, erst wenn der Rollladen GANZ oben ist, also unter 30sekunden später?
                Das ist entscheidend. Das merkt man aber erst, wenn man den Betrieb laufen hat. Nämlich dann wenn die Lüftungsfunktion z.B. auslöst und der Rolladen nur ein kleines Stück hochfährt wäre es dann nicht mehr Nacht. Das gleiche gilt auch für andere Alarme (Frostschutz, Wind usw.). Das Kriterium Tag ist bewusst bei erst einmal ganz oben gewählt, weil man ja evtl. aus anderen Gründen den Rollladen doch ein Stückchen öffnet. :-)

                Kommentar


                  #9
                  Kannst du nicht einfach die Positionen 0 und 100% abfragen, dazwischen gibt es dann keine Änderung?

                  Viel Erfolg Florian

                  Kommentar


                    #10
                    Zitat von Beleuchtfix Beitrag anzeigen
                    Kannst du nicht einfach die Positionen 0 und 100% abfragen, dazwischen gibt es dann keine Änderung?
                    Gegenfrage: Wie komme kriege ich denn den %-Wert auf einen 1-Bit-Wert? ;-)
                    Zuletzt geändert von Cannon; 06.12.2018, 15:11.

                    Kommentar


                      #11
                      Hi,

                      welche Logikfunktionen hast Du denn zur Verfügung? Du kannst Dein Vorhaben auch dadurch lösen, dass Du nur bestimmte Werte senden lässt:
                      • Position unten = 1 ----> nur "1" senden ----> Tag/Nacht GA (in dem Fall Nacht)
                      • Position oben = 1 ----> negieren und nur "0" senden ---->Tag/Nacht GA (in dem Fall Tag)
                      Sind aber auch 2 Logikfunktionen.

                      Aus ähnlichem Grund (zu wenige Logikfunktionen) habe ich eine Variante Deiner Lösung:
                      • Position oben = 1 ----> negieren und nur "0" senden ---->Tag/Nacht GA (in dem Fall Tag)
                      • Schlafmodus-Taste: Kann zwischen Tag/Nacht für den Raum "Toggeln", wobei "Nacht" den Rolladen auf "Schlafposition" fährt.
                      Das kommt mit nur einer Logik aus...

                      Gruß, Waldemar
                      OpenKNX www.openknx.de

                      Kommentar


                        #12
                        Zitat von mumpf Beitrag anzeigen
                        welche Logikfunktionen hast Du denn zur Verfügung? Du kannst Dein Vorhaben auch dadurch lösen, dass Du nur bestimmte Werte senden lässt:
                        • Position unten = 1 ----> nur "1" senden ----> Tag/Nacht GA (in dem Fall Nacht)
                        • Position oben = 1 ----> negieren und nur "0" senden ---->Tag/Nacht GA (in dem Fall Tag)
                        Ich habe nur UND, ODER oder XODER. Genau die Lösung verwende ich ja derzeit. Mit dem Nachteil, dass es 2 Logiken sind.

                        Zitat von mumpf Beitrag anzeigen
                        Aus ähnlichem Grund (zu wenige Logikfunktionen) habe ich eine Variante Deiner Lösung:
                        • Position oben = 1 ----> negieren und nur "0" senden ---->Tag/Nacht GA (in dem Fall Tag)
                        • Schlafmodus-Taste: Kann zwischen Tag/Nacht für den Raum "Toggeln", wobei "Nacht" den Rolladen auf "Schlafposition" fährt.
                        Aber eben manuell. Deshalb keien Lösung. Ich vermute also es gibt keine einfache Lösung mit den vorhandenen Mitteln. :-(

                        Kommentar


                          #13
                          Zitat von Cannon Beitrag anzeigen
                          Gegenfrage: Wie komme kriege ich denn den %-Wert auf einen 1-Bit-Wert? ;-)
                          Wenn du keine Logik hast, die einen Wert vergleichen kann, wird es schwierig, aber im Prinzip ist es so, if 100% ergibt ein True/False also 1 Bit, Im X1 könnte ich das
                          Gruß
                          Florian

                          Kommentar


                            #14
                            Zitat von Beleuchtfix Beitrag anzeigen
                            if 100% ergibt ein True/False also 1 Bit
                            Das ist aber doch auch nichts anderes, als wenn er 1bit unten = true bei 100% nimmt. Die Objekte hat er doch

                            Wenn ich das richtig sehe, ist Tag nur dann, wenn Rollo ganz oben ist? Dann nimm doch das KO dafür (oben = Tag = 1). Wenn Du für Nacht eine 1 möchtest, müsstest Du nur 1x invertieren...

                            Kommentar


                              #15
                              Zitat von intelligente Haustechnik Beitrag anzeigen
                              Wenn ich das richtig sehe, ist Tag nur dann, wenn Rollo ganz oben ist?
                              Nö, das siehst Du falsch . Ist komplizierter... Tag beginnt, sobald der Rolladen oben ist. Danach kann der Rollladen beliebige Positionen haben, es bleibt bei Tag. Erst wenn der Rolladen ganz unten ist, dann wird Nacht. Danach sind wiederum alle möglichen Positionen möglich, bis der Rollladen wieder ganz oben ist.

                              So kann man nachts auf Lüftungsposition stellen oder Tagsüber verdunkeln, ohne dass sich Tag/Nacht ändert.

                              Aber einfacher also mit 2 Logikgattern wird das nicht gehen...

                              Gruß, Waldemar
                              OpenKNX www.openknx.de

                              Kommentar

                              Lädt...
                              X