Ankündigung

Einklappen
Keine Ankündigung bisher.

Wasserzähler

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

    [Codebeispiel] Wasserzähler

    Hallo Zusammen,

    ich bin gerade etwas über das Verhalten des EbPC verwirrt.

    An einem Wasserzähler mit Impulsausgang hängt eine Tasterschnittstelle, die bei geschlossenem Kontakt ein EIN sendet.

    Im EibPC wird das so dargestellt:

    % 2015-04-17 21:48:54 | Sender: 1.1.30 | GA: "Wasserzaehler Impulszaehler-8/2/9" | Wert: ?% | Typ: ?% | Lesen
    % 2015-04-17 21:48:58 | Sender: 1.1.30 | GA: "Wasserzaehler Impulszaehler-8/2/9" | Wert: ?% | Typ: ?% | Lesen
    % 2015-04-17 21:49:00 | Sender: 1.1.30 | GA: "Wasserzaehler Impulszaehler-8/2/9" | Wert: ?% | Typ: ?% | Lesen
    % 2015-04-17 21:49:04 | Sender: 1.1.30 | GA: "Wasserzaehler Impulszaehler-8/2/9" | Wert: ?% | Typ: ?% | Lesen
    % 2015-04-17 21:49:07 | Sender: 1.1.30 | GA: "Wasserzaehler Impulszaehler-8/2/9" | Wert: ?% | Typ: ?% | Lesen
    % 2015-04-17 21:49:11 | Sender: 1.1.30 | GA: "Wasserzaehler Impulszaehler-8/2/9" | Wert: ?% | Typ: ?% | Lesen
    % 2015-04-17 21:49:14 | Sender: 1.1.30 | GA: "Wasserzaehler Impulszaehler-8/2/9" | Wert: ?% | Typ: ?% | Lesen
    % 2015-04-17 21:49:18 | Sender: 1.1.30 | GA: "Wasserzaehler Impulszaehler-8/2/9" | Wert: ?% | Typ: ?% | Lesen
    % 2015-04-17 21:49:20 | Sender: 1.1.30 | GA: "Wasserzaehler Impulszaehler-8/2/9" | Wert: ?% | Typ: ?% | Lesen
    % 2015-04-17 21:49:25 | Sender: 1.1.30 | GA: "Wasserzaehler Impulszaehler-8/2/9" | Wert: ?% | Typ: ?% | Lesen

    Wieso wird der Wert und Typ mit ?% angezeigt?
    In der ETS Gruppenadressliste wird die GA mit b01 angezeigt.

    Im EPC Code soll eigentlich wie folgt auf die Tasterschnittstelle reagiert werden:

    Wasserzaehler_Zaehlimpulsanzahl = 0u32
    if "Wasserzaehler Impulszaehler-8/2/9" == EIN then \\
    Wasserzaehler_Zaehlimpulsanzahl = Wasserzaehler_Zaehlimpulsanzahl + 1u32 \\
    endif

    Wasserzaehler_Zaehlimpulsanzahl zählt aber nicht hoch.

    Hat irgend jemand spontan eine Idee?

    Viele Grüße

    Michael

    #2
    kompilier noch mal...
    Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

    Kommentar


      #3
      Hi Martin,

      das habe ich schon 2-3x gemacht.

      Viele Grüsse

      Michael

      Kommentar


        #4
        genau einmal neu kompilieren und vorher im Code ergänzen:

        Wasserzaehler_Zaehlimpulsanzahl = 0u32
        if event("Wasserzaehler Impulszaehler-8/2/9") and "Wasserzaehler Impulszaehler-8/2/9" == EIN then \\
        Wasserzaehler_Zaehlimpulsanzahl = Wasserzaehler_Zaehlimpulsanzahl + 1u32 \\
        endif

        Du willst ja jedesmal wenn der Taster eine 1 sendet zählen und ich vermute, der Taster sendet keine 0 oder?

        Gruß,
        Bernd

        Kommentar


          #5
          Hallo Bernd,

          das wird es sein. Ursprünglich hat die Rasterschnittstelle jeden Schaltzustand signalisiert. Aber nachdem die Meldungen " Wert: ?% | Typ: ?% | Lesen" immer so unkonkret aussahen, habe ich die Einstellungen der Rasterschnittstelle geändert (u.A. Senden nur bei geschlossenem Kontakt). Ohne event() passiert dann natürlich nur genau 1x etwas.

          Was ist denn die Ursache, dass ein EIN der Rasterschnittstelle nicht sauber im Meldungsfenster angezeigt wird, sondern immer nur WERT: ?% ?

          Viele Grüße

          Michael

          Kommentar


            #6
            event() hat auch nichts geändert.

            Kommentar


              #7
              Wer hat denn die Adresse 1.1.30? Das sind doch alles leseanforderungen, drum auch kein Wert. Deine Tasterschnittstellw scheint nichts zu senden und drum zählt auch nichts.
              ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

              Kommentar


                #8
                1.1.30 ist die Tasterschnittstelle und die merkwürdigen Nachrichten kommen auch genau dann wenn sie sollen (also bei Wasserverbrauch).

                Kommentar


                  #9
                  Was sagt die ETS? Eine Schreib' oder Leseanforderung?

                  Kommentar


                    #10
                    Genau, das sind Lesetelegramme von der Schnittstelle. Du kannst auch mit eventread auf dieses speziellle Verhalten triggern, aber an sich ist das Verhalten der Schnittstelle merkwürdig.
                    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                    Enertex Produkte kaufen

                    Kommentar


                      #11
                      Problem gelöst.

                      Ich vermute der Impulsausgang des Wasserzählers ist für die Tasterschnittstelle zu kurz geschlossen um eine herkömmliche Schaltfunktion zu erkennen. Daher erfolgt möglicherweise die Interpretation als Leseanforderung durch die Tasterschnittstelle.

                      Nachdem ich die Tasterschnittstelle so parametrisiert habe, dass eine steigende Flanke = EIN ist, werden korrekte Meldungen auf den Bus geschrieben

                      Kommentar


                        #12
                        Ich nehme hierzu die US/U 4.x Schnittstelle. Die hat einen integrierten Zähler (mit Zwischenzähler). Die Zählerwerte werden nach Anforderung ausgegeben. Bisher habe ich von den Wasserzählern noch keinen Impuls verloren. Nur der Gaszähler läuft etwas hinterher (verlorene Impulse).
                        Gruß Jukom

                        Kommentar

                        Lädt...
                        X