Ankündigung

Einklappen
Keine Ankündigung bisher.

Logik für KWL

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

    HS/FS Logik für KWL

    Hallo,

    ich bastele schon seit Stunden an einer Logik für die KWL Steuerung, komme aber nicht wirklich weiter.

    Ich habe in den Bädern Luftfeuchte-Sensoren. Wenn einer davon über einen bestimmten Schwellwert ansteigt, möchte ich die Lüftung auf 80% stellen. Wenn der Wert wieder unter den Schwellwert fällt, soll 10 Minuten (hier Test 2 Min.) später wieder der Ursprungswert eingestellt werden.
    Vorher frage ich den aktuellen Lüftungswert ab und schreibe in ein internes KO (remanent)-

    Wenn die Logik aktiv ist, wird der Lüfterwert alle x Sekunden auf 0 gestellt wird. Ich kann den Wert manuell einstellen, der Merker kriegt auch den Wert mit. Jedoch kommt vom HS einige Sekunden später wieder der Wert 0.
    Die Luftfeuchtewerte liegen dabei alle so bei 50%.

    Wenn ich dann in der ETS den Wert für eine GA auf 75% (Schwellwert ist 70%) einstelle, passiert gar nichts, ausser die Telegramme auf 0. Im gleichen Zyklus, wie ich die GA schreibe.

    Woher kommt die 0, wenn der Merker doch den entsprechenden Wert bekommt? Und vor allem: wo ist mein Denkfehler?

    Ratlos. Hat jemand einen Tipp für mich?

    VG
    Angehängte Dateien

    #2
    Logik für KWL

    Vor den TLA einen Filter Ein-Ein, Aus - ---


    Sent from my iPhone using Tapatalk
    Gruß Matthias
    EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
    - PN nur für PERSÖNLICHES!

    Kommentar


      #3
      Filter eingebaut aber geht leider nicht. Da wird immer noch von irgendwo auf 0 geschrieben. Dann habe ich mal auf Send by Change umgestellt, auch erfolglos.

      Vielleicht hängt das auch mit dem Merker zusammen. Der ändert sich auch auf die hohe Lüftungsstufe wenn sich der Luftfeuchtewert ändert. Eigentlich sollte der ja nur einmal geschrieben werden um den Ursprungswert zu speichern.

      Den Merker habe ich mal mit in den Hauptstrang eingebaut. Aber das gleiche Ergebnis.

      Wie kann ich mir die Ausführung der Logik vorstellen? Werden alle Instruktionen einer Logik der Reihe nach, wenn mehrere 'Stränge' vorhanden sind, von oben nach unten, zyklisch ausgeführt? Kann man den Zyklus irgendwo einstellen oder einsehen?

      VG
      Angehängte Dateien

      Kommentar


        #4
        Bekommt der TLA eine Null, geht auch der Ausgang auf Null.
        Nimm statt des TLA eine Telegrammverzögerung.
        Gruß, Rainer

        Kommentar


          #5
          SBC Ausgang ist in dem Fall schlecht. Und TLA nachtriggerbar machen.
          Gruß Matthias
          EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
          - PN nur für PERSÖNLICHES!

          Kommentar


            #6
            Ich raff's nicht.

            Momentan verfolge ich zwei Lösungsansätze:
            1. mit dem TLA, einschliesslich Filter, kein SBC, nachtriggerbar
            2. mit dem Telegrammverzögerer, einschl. Filter, kein SBC

            In beiden Fällen ist das Ergebnis das gleiche: von irgendwo kommt immer eine Null.

            Nun habe ich mal aus Spass den Filter und den TLA/Verzögerer entfernt, und es kommt immer noch von wo?? ein Null. Nach wenigen Sekunden steht die Lüftung wieder. :-(

            Kommentar


              #7
              Zwei Punkte zur Prüfung:

              Wie sehen die Ausgangsboxen aus? Hier wird möglicherweise sowohl das KO (Datentyp?) direkt beschrieben (%-Wert mit 0/1 aus der Logik) und zusätzlich per Befehl gesetzt.

              Und der Merker: der wird auch zu häufig mit dem unerwünschten (u.U. nämlich erhöhten) Wert beschrieben (KO in Ausgangsbox). Das musst Du anders lösen (z.B. Merk-Sperre, wenn Lüftung aktiv).

              Reduziere das doch zunächst zum Debugging mit festen Lüftungswerten in der Ausgangsbox - den Merker-Teil führst Du dann später wieder hinzu.
              Gruß, Rainer

              Kommentar


                #8
                Zitat von Taxus Beitrag anzeigen
                Wie sehen die Ausgangsboxen aus? Hier wird möglicherweise sowohl das KO (Datentyp?) direkt beschrieben (%-Wert mit 0/1 aus der Logik) und zusätzlich per Befehl gesetzt.
                Super, vielen Dank! Das war der Tipp, den ich brauchte.
                Ich hatte in der Ausgangsbox das KO und den Befehl drin fuer den Luefterwert. Das KO herausgenommen, und dann funktioniert's mit festen Werten. Was allerdings komisch ist, ist dass ich den Init-Wert des KOs auf einem krummen Wert eingestellt hatte, um eben festzustellen, ob der geschrieben wird. Da aber der Wert immer 0 war, bin ich nicht mehr auf die Idee gekommen, dass es damit zu tun hatte. Anfaengerfehler, wieder was gelernt.

                Das debuggen ist ja so eine Sache, irgendwie nicht wirklich praktisch.

                Eine Sperre habe ich eingebaut, bin aber noch nicht sicher, ob das so sinnvoll ist. Dafuer benutze ich einen Merker Status, der bei WAHR der ODER Bedingung den Wert schreibt und beim Rueckstellen der den Status wieder loescht (=1).
                Ich muss allerdings mal die GA fuer den Luftfeuchte-Sensor aus dem WireGate nehmen. Das schreibt immer zwischendurch auf den Bus und erzeugt dann komische Spruenge im Verhalten.

                Ist es eigentlich problematisch, dass bei jedem schreiben der Luftfeuchte in der ETS (ich schreibe die zu Testzwecken zyklisch sekuendlich) ein neuer Luefterwert auf den Bus gesendet wird?

                VG
                Angehängte Dateien

                Kommentar

                Lädt...
                X