Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Frage zu delay() und after()

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

    - √ - Frage zu delay() und after()

    Hallo,

    im Handbuch gibt es zu diesen beiden Funktionen jeweils auch ein Diagramm, bei dem bei der after() Funktion erst nach Ablauf der Verzögerungszeit der Rückgabewert EIN ist. Dieser Wert dafür so lange EIN bleibt wie im ursprünglichen Signal. Bei der delay() Funktion ist laut Diagramm der Rückgabewert sofort EIN und wechselt nach Ablauf der Verzögerungszeit auf AUS. Dies widerspricht irgendwie der Verwendung dieser beiden Funktionen in den Beispielen und auch der Aussage, dass der wesentliche Unterschied zwischen delay() und after() die Nachtriggerbarkeit von delay() ist. Sind diese Diagramme falsch oder verstehe ich hier nur etwas nicht?

    Welche Rückgabewerte liefern die beiden Funktionen

    - delay("Schalter" == EIN, 1000u64) und
    - after("Schalter" == EIN, 1000u64)

    denn konkret zu folgenden Zeitpunkten:

    1. beim Programmstart?
    2. wenn "Schalter" auf EIN wechselt?
    3. 1000 ms nachdem "Schalter" auf EIN wechselt?
    4. im nächsten Zyklus nach Ablauf der 1000 ms?

    Schöne Grüsse,
    Klaus

    #2
    Hallo Klaus,

    die delay() Funktion ist leider im Handbuch (HandbuchEibPC-15.odt, 2010-07-23) immernoch falsch beschrieben. Hatte ich schon mal gemeldet siehe hier:
    https://knx-user-forum.de/eibpc/7208...html#post90461
    Gruß
    Christian

    Kommentar


      #3
      Zitat von klaus Beitrag anzeigen
      Hallo,
      im Handbuch gibt es zu diesen beiden Funktionen jeweils auch ein Diagramm, bei dem bei der after() Funktion erst nach Ablauf der Verzögerungszeit der Rückgabewert EIN ist.
      In der Releaseversion des Handbuches ist hier noch ein Fehler drinnen. Wir haben das ab Version 16 angepasst. [Der Fehler rührt daher, dass das Verhalten der after Funktion am Ende des Betatests geändert wurde und sich leider keiner mehr an diese Änderung "erinnerte", obwohl es auf der todo Liste stand].
      Angehängte Dateien
      offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
      Enertex Produkte kaufen

      Kommentar


        #4
        Zitat von enertegus Beitrag anzeigen
        In der Releaseversion des Handbuches ist hier noch ein Fehler drinnen.
        Vielen Dank. Mit den korrekten Diagrammen macht das jetzt auch alles Sinn. Hab schon etwas an meinen kognitiven Fähigkeiten gezweifelt ;-)

        Klaus

        Kommentar


          #5
          Zitat von enertegus Beitrag anzeigen
          .....Wir haben das ab Version 16 angepasst.
          Die Grafik für delay() ist immer noch zu unklar. Warum?

          Das Signal hat 3 steigende Flanken.
          Für Flanke 1 ist es klar: Delay liefert Impuls Nr. 1 einige Zeit später und wurde zwischendurch nicht neu getriggert.

          Bei Signal Flanke 2 wird Delay neu gestartet.

          Bei Signal Flanke 3 wird Delay "verlängert", Delay liefert aber selber keinen Impuls. Deshalb irritiert der dicke braune senkrechte Strich (=Impuls) bei Delay (den ihr mit "Neustart Timer" bezeichnet). Man könnte annehmen, dass die Funktion Delay beim "Verlängerungstriggern in dem Moment auch einen Impuls gibt.
          Gruss Pio

          Kommentar


            #6
            Zitat von pio Beitrag anzeigen
            Bei Signal Flanke 3 wird Delay "verlängert", Delay liefert aber selber keinen Impuls. Deshalb irritiert der dicke braune senkrechte Strich (=Impuls) bei Delay (den ihr mit "Neustart Timer" bezeichnet). Man könnte annehmen, dass die Funktion Delay beim "Verlängerungstriggern in dem Moment auch einen Impuls gibt.
            Stimmt. Danke, das bessern wir noch aus!
            offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
            Enertex Produkte kaufen

            Kommentar


              #7
              Mein Vorschlag wäre ja eine Markierung der Neustarts und der Beendigung mit unterschiedlichen Farben gewesen, ähnlich dem after().

              S51: "Die Funktion delay verzögert den einen EIN-Impuls am Eingang um die Zeit, die im zweiten Argument angeben wird. Der Rückgabewert ist also EIN oder AUS."

              Was soll das bedeuten?
              BR
              Marc

              Kommentar


                #8
                Zitat von saft6luck Beitrag anzeigen
                Was soll das bedeuten?
                habs ausgebessert.
                offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                Enertex Produkte kaufen

                Kommentar


                  #9
                  Also, after wird nach dem Triggern (0->1-Flanke) nach einer gegebenen und nicht nachtriggerbaren Zeit für einen Programmschleifendurchlauf true, liefert also einen Impuls. Eine 1->0-Flanke wird nicht verarbeitet. So habe ich das jetzt verstanden.

                  Aber was macht delay? Genau das gleiche nur das die Laufzeit bei jeder 0->1-Flanke erneut startet?
                  Tessi

                  Kommentar


                    #10
                    Zitat von Tessi Beitrag anzeigen
                    Aber was macht delay? Genau das gleiche nur das die Laufzeit bei jeder 0->1-Flanke erneut startet?
                    Genau!
                    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                    Enertex Produkte kaufen

                    Kommentar

                    Lädt...
                    X