Ankündigung

Einklappen
Keine Ankündigung bisher.

Abfragereihenfolge mehrerer Controller

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [wiregate] Abfragereihenfolge mehrerer Controller

    Hallo,

    ich nutze meine Wiregate unter anderem für bestimmte Heizungsfunktionen, z.B. Warmwasserladung, aber auch für den Wärmemengenzähler der Solaranlage. Um bei letzterem einigermaßen genaue Werte zu erhalten, ist der Abfragezyklus auf 15 Sekunden eingestellt.
    Meine derzeit 23 Temperaturfühler sind auf 4 Controller aufgeteilt. Laut EIB-Log werden die Werte alle nacheinander auf den Bus geschickt. Ein kompletter Zyklus dauert ca. 17 Sekunden.
    Nun meine Frage: Wäre es möglich, dass die einzelnen Controller ihre Werte nicht nacheinander sondern gleichzeitig losschicken, so dass der Zyklus, bis alle Werte übertragen wurden, verkürzt werden kann?

    Gruß
    Werner

    #2
    Nein, gleichzeitig geht nicht.
    Du kannst höchstens versuchen, die Auflösung herunterzuschrauben

    Einstellung der Auflösung des Sensors, je mehr Bit desto genauer jedoch auch langsamer (Standardwert: 10 Bit / vgl. Zeiten und Tabelle).(Nur DS18B20, bei DS18S20 ist die Auflösung fix 12 Bit)

    12 Bit (0.0625°C, 750ms)
    11 Bit (0.125°C, 375ms)
    10 Bit (0.25°C, 187.5ms)
    9 Bit (0.5°C, 93.75ms)
    ob das aber den Zyklus deutlich verringert, vermutlich nicht..
    Was aber helfen sollte, ist den nicht so schnellen/wichtigen Sensoren einen grösseren Zyklus zu geben und am besten unterschiedliche (z.B. 61,62,63 sek.) dann verteilen sich die Abfragen besser zwischen den "schnellen".

    Makki
    EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
    -> Bitte KEINE PNs!

    Kommentar


      #3
      Zitat von makki Beitrag anzeigen
      einen grösseren Zyklus zu geben und am besten unterschiedliche (z.B. 61,62,63 sek.)
      Optimal wären dafür übrigens Primzahlen (in dem Bereich um eine Minute wären dass z.B. 53, 59, 61, 67, 71) - zumindest aber teilerfremde Zahlen.
      TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

      Kommentar


        #4
        Das Ändern der Zeiten hatte keinerlei Auswirkung auf die Abfragezykluszeit. Auch wenn ich alle Sensoren bis auf 5 auf eine Minute stelle, dann dauert es bei den 5 mit 15 Sekunden dennoch die bereits genannten 17 Sekunden.

        Ich habe folgendes im Netz gefunden:

        Ein weiterer Punkt ist ebenfalls wichtig. Der 1-Wire Bus wird im Polling-Verfahren betrieben. Das bedeutet, dass der Abfragezyklus direkt von der Anzahl der Devices abhängig ist. Mit jedem hinzukommenden Device verlängert sich der Zyklus. Bei sehr vielen Devices muss man sich also auf Reaktionszeiten im Sekundenbereich einstellen.
        Gerade die Abfrage von Temperatursensoren dauert relativ lange.

        Daher kam auch meine Frage, ob man nicht die einzelnen Controller parallel abfragen kann.

        Kommentar


          #5
          Was ist denn eingestellt:
          - Globaler Zyklus ?
          (die Sensoren werden max. Zyklus/4 überhaupt abgefragt, was dafür gut ist unnötige Systemlast zu vermeiden)
          - Senden bei Wertänderung ? (bei den anderen) - Alle die da etwas eingetragen haben müssen nätürlich auch ständig ausgelesen werden.
          Auflösung würde hier auch was bringen (was ja nichts an der Genauigkeit ändert!)

          Makki
          EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
          -> Bitte KEINE PNs!

          Kommentar


            #6
            Zitat von makki Beitrag anzeigen
            Was ist denn eingestellt:
            - Globaler Zyklus ?
            (die Sensoren werden max. Zyklus/4 überhaupt abgefragt, was dafür gut ist unnötige Systemlast zu vermeiden)
            Bisher hatte ich als globalen Zyklus 15 Sekunden eingetragen. Bei den einzelnen Sensoren war gar nichts eingetragen, also weder Sendezyklus noch Senden bei Änderung. Bis alle Sensoren abgefragt waren, hat es 17 Sekunden gedauert.

            Bei meinem nächsten Test hatte ich den globalen Zyklus auf 15 Sekunden gelassen und bei 5 Sensoren 15 Sekunden, bei allen anderen ca. 60 Sekunden eingestellt. Es hat bei diesen 5 Sensoren wieder 17 Sekunden gedauert, bis die Werte erneut auf den Bus gesendet wurden.

            Beim folgenden Test hatte ich den globalen Zyklus auf 60 Sekunden gestellt und bei den 5 Sensoren 15 Sekunden im Sendezyklus eingetragen. Bei allen anderen war der Sendezyklus leer. Komischerweise hat es bei den 5 Sensoren nun 23 Sekunden gedauert, bis sie erneut auf den Bus gesendet wurden.

            Meinen letzten Test führte ich mit einem globalen Zyklus von 15 Sekunden durch. Bei 5 Sensoren waren 15, bei einem 5 und beim Rest 60 Sekunden eingestellt. Der Sensor mit 5 Sekunden wird nun innerhalb von 7-11 Sekunden erneut auf den Bus gesendet.

            Kommentar


              #7
              Zitat von cava Beitrag anzeigen
              Bisher hatte ich als globalen Zyklus 15 Sekunden eingetragen. Bei den einzelnen Sensoren war gar nichts eingetragen, also weder Sendezyklus noch Senden bei Änderung. Bis alle Sensoren abgefragt waren, hat es 17 Sekunden gedauert.
              Das klingt recht schlüssig, bedeutet 15s schlafen + 2s um 5 Sensoren abzufragen..
              Der Sendezyklus ist ehrlichgesagt auch nicht wirklich ansatzweise so implementiert, das das auf die Sekunde genau passiert.
              Spielt ja auch normalerweise keine Rolle..

              1-Wire ist und bleibt keine Raketentechnik, das auslesen der Temperaturen dauert (s.o.), ich hätte aber auch deutliche Zweifel, wieviel deltaT binnen 15s in einem trägen System vom Transportmedium Wasser übers Rohr zum Sensor gelangen..
              Da wirds glaub ich esotherisch, wenn man sich so einen "echten", geeichten WMZ mal anschaut, naja, die kochen auch nur mit Wasser und letztlich haben die wesentlich grössere Toleranzen in der Messgenauigkeit, als worüber wir hier gerade sprechen.

              Schneller bekommt man das mit genanntem: Globalen Zyklus runterschrauben, im zweifelsfall auf 4s (bitte nicht darunter!), das geht auf die Last aber führt zum gewünschten, solange sonst wenig drauf läuft: egal.
              Aber ich zweifle wiegesagt an der sinnhaftigkeit von sekündlichen abfragezyklen,, weil das Metall, das der Sensor misst auch ein bisschen braucht bis es die Medientemperatur annimmt; ich vermute, das dauert Faktoren länger als jene 15s..

              Makki

              P.S.: Ich hab ja selbst die WMZ mit 0-5V durchflussgeber, 1-Wire und HS gebaut. Am AE/S; die initial eingesetzten PT100 am AE/S wurden durch 1-Wire ersetzt, weil der Messfehler da einfach viel zu krass war; wie genau der durchflusssensor arbeitet kann man kaum beurteilen, bei den Temperaturen kann man einfacher mal nachmessen..
              Eine gewisse Abweichung von der Realität dürfte bleiben, wieviel genauer ein "echter" WMZ für hunderte von Euro mit gleichen Schätzeisen was die Temp angeht, wäre aber erstmal zu beweisen
              Wenn ich das heute planen würde, käme da vermutlich ein BAE0910 zum Einsatz, ist halt ein bisschen blutig in Assembler, das Problem des Abfrageintervalls stellt sich da aber nicht
              EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
              -> Bitte KEINE PNs!

              Kommentar


                #8
                Wenn ich das richtig verstehe, bedeutet 4 Controller auch 4 jeweils voneinander unabhängige 1-wire-Busse, deren einzige Gemeinsamkeit darin besteht, das deren 4 Controller am selben PC hängen.
                Wenn das korrekt ist, stellt sich auch für mich die Frage, warum diese Controller nicht unabhängig voneinander die Sensoren an ihrem Bus auslesen können - also auch gleichzeitig. Die Bandbreite des USBs kann da ja wohl nicht begrenzend wirken?
                Tessi

                Kommentar


                  #9
                  @Tessi: theoretisch ginge es natürlich, in der Software ist es aber nicht so umgesetzt und auch nicht einfach änderbar..
                  In einer perfekten Welt wäre die Abfrage Multithreaded pro Busmaster, ist sie aber nicht

                  Makki
                  EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                  -> Bitte KEINE PNs!

                  Kommentar


                    #10
                    OK, ginge grundsätzlich und eigentlich spricht auch nichts dagegen, es ist aber einfach nicht so umgesetzt und eine Änderung wäre (zu?) aufwändig.
                    (Und der Kinderchor rief: Sch...ade! )
                    Kommt vielleicht doch noch? Oder lieder 'Never touch a running system'?
                    Tessi

                    Kommentar

                    Lädt...
                    X