Ankündigung

Einklappen
Keine Ankündigung bisher.

OneWire.lib (insbesondere RS232 Behandlung)

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

    #16
    Zitat von enertegus Beitrag anzeigen
    Du kannst den Delay-Wert reduzieren, sodass Du einen Aussetzer erst gar nicht mehr mitbekommst. Ich denke, dass man bei 1-Wire mindestens mit diesen Fehlern ab einer bestimmten Größe (Kabellänge, Umgebung ...) rechnen muss - zumindest hat man mir das mal so erzählt - , je ausgedehnter der Netz ist, desto mehr ist das der Fall.
    Die FW wurde jedenfalls an dieser Stelle gar nicht geändert. Vermutlich war das Wetter und die Feuchtigkeit in den 4 Wochen davor etwas anders, sodass eben der Fehler auf dem 1-Wire nicht aufgetreten ist.
    Welcher "Delay-Wert" und was hat das mit der RS232/HA7E abstürzen zu tun?
    Kann ich auf 3.010 zurück?
    Dass "Die FW ... ...jedenfalls an dieser Stelle gar nicht geändert. "wurde, muss nicht bedeuten, dass andere Anderungen einen Seiteneffekt auf diese Features haben.

    Kommentar


      #17
      unversorgte NameD_Len

      Zitat von enertegus Beitrag anzeigen
      So ich hab das mal eben umgecodet:
      EDIT: gelöscht: Steffis Code (s.u.) nutzen.
      Nun triggert die Variable HA_read das Auswerten des Eingangspuffers HA_read.
      Hallo Steffi, Hallo Michael,

      Ich habe sofort das neue Makro ausprobiert. Nach kurzer Anlaufzeit waren alle 6 Messfühler stabil und dauerhaft (?? 8 Std) in Aktion.

      Ich habe dann das Makro TemperaturGASync getestet, leider ohne Erfolg.
      Bei einer genauen Duchsicht liegt es wahrscheinlich nur an dem unversorgten NameD_Len-Parameter.

      Anbei die Ausschnitte. Mit der entsprechenden Änderung im ..GASYNC-Makro hatte ich dann den gewünschten Erfolg.

      Bitte in der neuen LIB anpassen.

      Gruss Wolfgang

      Code:
      //Family Code 10, DS18B20 Family Code 28
      // @date    11.01.2012
      // @version    2
      // @author    Dr. Ing. Michael Schuster
      :begin TemperatureGASync(NameD, ROMID,GA,Sync,Second)
      NameD_Len=0u16
      
      einzige Verwendung von HA_Device
      __________________________________________
      if change(HA_read) and (ROMID==HA_Device)  then {
      NameD_Buffer=split(NameD_rawdata,0u16,NameD_Len);
      NameD_rawdata=split(NameD_rawdata,NameD_Len+1u16,EOS);
      
      % 2014-07-18 11:38:10 | Sender: EibPC | GA: '9/9/9'c14 | Wert: S:R | Typ: Text |  Schreiben
      % 2014-07-18 11:38:10 | Sender: EibPC | GA: '9/9/9'c14 | Wert: S:AAC0000031BA | Typ: Text |  Schreiben
      % 2014-07-18 11:38:10 | Sender: EibPC | GA: '9/9/9'c14 | Wert: S:R | Typ: Text |  Schreiben
      % 2014-07-18 11:38:11 | Sender: EibPC | GA: '9/9/9'c14 | Wert: S:AAC0000031BA | Typ: Text |  Schreiben
      % 2014-07-18 11:38:11 | Sender: EibPC | GA: '9/9/9'c14 | Wert: S:R | Typ: Text |  Schreiben
      % 2014-07-18 11:38:12 | Sender: EibPC | GA: '9/9/9'c14 | Wert: S:A550000031BA | Typ: Text |  Schreiben
      % 2014-07-18 11:38:12 | Sender: EibPC | GA: '9/9/9'c14 | Wert: S:W0144 | Typ: Text |  Schreiben
      
      =============================================================================================
      
      Code von Steffi / Michael
      ----------------------
      //Family Code 10, DS18B20 Family Code 28
      // @date    11.01.2012
      // @version    2 
      // @author    Enertex Bayern GmbH
      :begin Temperature(NameD, ROMID,Minute)
      
      if change(HA_read) and (ROMID==HA_Device)  then {
          NameD_Buffer=split(HA_rawdata,0u16,HA_Len);
          /*Is it the Scratchpad?*/;
          if split(NameD_Buffer,0u16,1u16) == $BE$ then {
      //    write('9/9/9'c14,$B2:$c14 + convert(NameD_Buffer,$$c14));
               /* Hier werden ungueltige Daten abgefangen*/;
               
               
      % 2014-07-18 11:49:14 | Sender: EibPC | GA: '9/9/9'c14 | Wert: S:R | Typ: Text |  Schreiben
      % 2014-07-18 11:49:14 | Sender: EibPC | GA: '9/9/9'c14 | Wert: S:A550000031BA | Typ: Text |  Schreiben
      % 2014-07-18 11:49:15 | Sender: EibPC | GA: '9/9/9'c14 | Wert: S:W0144 | Typ: Text |  Schreiben
      % 2014-07-18 11:49:16 | Sender: EibPC | GA: '9/9/9'c14 | Wert: S:R | Typ: Text |  Schreiben
      % 2014-07-18 11:49:16 | Sender: EibPC | GA: '9/9/9'c14 | Wert: S:A550000031BA | Typ: Text |  Schreiben
      % 2014-07-18 11:49:17 | Sender: EibPC | GA: '9/9/9'c14 | Wert: S:W0ABEFFFFFFF | Typ: Text |  Schreiben
      % 2014-07-18 11:49:17 | Sender: EibPC | GA: '9/9/9'c14 | Wert: TR:168.48 | Typ: Text |  Schreiben
      % 2014-07-18 11:49:17 | Sender: EibPC | GA: '9/9/9'c14 | Wert: R:BE51014B467F | Typ: Text |  Schreiben
      % 2014-07-18 11:49:17 | Sender: EibPC | GA: '9/9/9'c14 | Wert: 2:T:21.06 | Typ: Text |  Schreiben

      Kommentar


        #18
        Hallo Wolfgang,

        Ich nehme an, Du hast mit Firmware Version 3.012 getested.
        Lief Dein eiBPC vorher mal länger als 6-10 Wochen am Stück ohne Neustart während die Temperaturen gemessen wurden?

        Kommentar


          #19
          Zitat von schloessl Beitrag anzeigen

          Bitte in der neuen LIB anpassen.
          ist aufgenommen - danke
          Enertex Bayern GmbH - www.eibpc.com

          Kommentar

          Lädt...
          X