Ankündigung

Einklappen
Keine Ankündigung bisher.

Measuring time between ON telegrams

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

    HS/FS Measuring time between ON telegrams

    I have a sensor which produces an ON telegram every 1 ltr of waterflow.
    How do I get the time between the consecutive ON telegrams?
    That way I could calculate the waterflow in liters per minute.
    Think I've seen all the available modules but cannot figure out how to do this.
    Anyone?

    #2
    Hab sowas mal für meinen Stromzähler benötigt:



    Code:
    ##################################################################
    # (C) 2010 Wolfgang Sinz
    #
    # Zweck: Stoppuhr mit Ausgabe der Abstände zwischen zwei Impulsen
    ##################################################################
    
    #################################################
    ### 5000 Definition für HS-Experte
    #################################################
    # 5000|Bezeichnung|Remanent|Anz.Eingänge|.n.|Anzahl Ausgänge|.n.
    #    Bezeichnung
    #     |              Remanent
    #     |              | Anz.Eingänge|.n.
    #     |              | |                  Anzahl Ausgänge|.n.
    #     |              | |                  |
    5000|"www.knx-user-forum.de\Stoppuhr"|0|1|"Eingangsimpuls"|1|"Zeitdifferenz"
    
    #################################################
    ### 5001 Definition des Bausteins
    #################################################
    # 5001|Anzahl Eingänge|Ausgänge|Zeitspeicher|Speicher|Berechnung bei Init
    #    Anzahl Eingänge
    #    | Ausgänge
    #    | | Zeitspeicher
    #    | | | Speicher
    #    | | | | Berechnung bei Init
    #    | | | | |
    5001|1|1|0|2|0
    
    #################################################
    ### 5002 Definition der Eingänge EN[x]
    #################################################
    # 5002|Index Eingang|Default Wert|Datenformat 0=numerisch 1=alphanummerisch
    #    Index Eingang
    #    | Default Wert
    #    | | Datenformat
    #    | | |
    5002|1|0|0                 # Eingangsimpuls
    
    #################################################
    ### 5004 Definition der Ausgänge AN[x]
    #################################################
    # 5004|Index Ausgang|Initwert|Runden binär|Typ (1-send/2-sbc)|Datenformat 0=numerisch 1=alphanummerisch
    #    Index Ausgang
    #    | Initwert
    #    | | Runden binär
    #    | | | Typ
    #    | | | | Datenformat
    #    | | | | |
    5004|1|0|0|2|0            # Zeitdifferenz
    
    #################################################
    ###5003 Definition des Speichers SN[x]
    #################################################
    #5003|Index Speicher|Initwert|Remanent
    #    Index Speicher
    #    | Initwert
    #    | | Remanent
    #    | | |
    5003|1|0|0              # Speicher 1
    5003|2|0|0              # Speicher 2
    
    #################################################
    ### 5012 Definition der Formelzeile(n)
    #################################################
    # 5012|Ende nach Ausführen|Bedingung|Formel|Zeitformel|Ausgang|Zeitspeicher|Speichervariable|Negierter Ausgang
    #      Ende nach Ausführen
    #      |  Bedingung
    #      |  |                 Formel
    #      |  |                 |  Zeitformel
    #      |  |                 |  |  Ausgang
    #      |  |                 |  |  | Zeitspeicher
    #      |  |                 |  |  | | Speichervariable
    #      |  |                 |  |  | | | Negierter Ausgang
    #      |  |                 |  |  | | | |
    # 5012|0|"EC[1] and EN[1]"|"1"|""|1|0|0|2
    
    5012|1|"EC[1] and EN[1] and SN[1]==0"|"__import__('time').time()"|""|0|0|1|0
    5012|0|"EC[1] and EN[1]"|"__import__('time').time()"|""|0|0|2|0
    5012|0|"EC[1] and EN[1] and SN[1]"|"SN[2]-SN[1]"|""|1|0|0|0
    5012|0|"EC[1] and EN[1] and SN[1]"|"SN[2]"|""|0|0|1|0

    Kommentar


      #3
      Vielen Dank!
      It does work but is not perfect.
      Somehow there should also be an output which gives a pulse when the time between pulses is more then for example 60 sec. (<1 liter per minute) and then the module should also be reset and only start counting again after the next received pulse.
      That would make such a module perfect for this task!

      Kommentar

      Lädt...
      X