Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > > Hallo Leute, > > > > im Moment verwende ich die CCII als Datenlogger. Es werden mehrere Temperaturen erfasst und mit > > Zeitstempel im CC2Net-RAM-Device 4MBit abgelegt. Dieses wird über CC2Net-RAM-Interface Ports > > angesteuert. > > > > Das läuft soweit ganz gut. Aber jetzt ist mir aufgefallen, dass es Fehler bei den ge-log-ten Daten gibt. > > Um diesen Fehler abzufangen, habe ich den entsprechenden Code folgendermassen geändert: > > > > In logArray stehen die zu speichernden Daten. > > > > <code> > > do { > > ram.writebytearray (lastLoggedRecord, logArray, LOGENTRYLENGTH); > > ram.readbytearray (lastLoggedRecord, testArray, LOGENTRYLENGTH); > > writtenOK = constant.TRUE; > > for i = 0...LOGENTRYLENGTH-1 { > > if (logArray[i] != testArray[i]) { > > writtenOK = constant.FALSE; > > writeErrorCount = writeErrorCount + 1; > > } > > } > > } while (!writtenOK); > > </code> > > > > Nachdem jetzt 2 Tage vergangen sind, und ca. 7800 Einträge im RAM abgelegt wurden, hat > > writeErrorCount einen Wert von 9. Sooft wurden also die Daten nicht korrekt abgelegt oder ausgelesen. > > > > Hat jemand von Euch ähnliche Erfahrungen gemacht? > > > > Danke und Gruß, > > > > Jan > > > > Hallo Jan, > > ich habe sporadisch Bitfehler in strings beobachtet, z.B. ! oder " anstatt Ziffern im string. Bisher kommt > dies im Logbuch mit ca. 50 Zeilen pro Tag nur alle paar Tage mal vor. Um die Häufigkeit zu erkennen, > wollte ich immer mal eine Checksumme mit ablegen, bin bisher jedoch nie dazu gekommen. > > Auch den Grund habe ich bisher wegen Zeitmangel nicht eingekreist. Evtl. liegt es an meiner Codierung, > die Schreibroutine für das sram arbeitet ohne capture. > > Beispiel: > stamp ist ein string mit Wochentag,Tag,Monat, Eges einer der Werte aus einem thread. > > p_logbuch ist ein pointer auf eine gültige ram Zeile, wird nach jeder Schreiboperation > um 0x20 erhöht. > > Hier ein Schnipsel aus meinem thread sram > <code> > s = stamp; > str.putstring(s,";Eges:"); > str.putlong(s,global_var.Eges); > str.putstring(s," Wh; "); > > ram.writestr(global_var.p_logb,s); > </code> > > Bisher hatte ich den Verdacht, dass nur strings verändert werden. Denn das ram ist bei mir so > organisiert, dass zwiscchen 0x0 und 0x0300 Werte vom Typ bool (byte) , int oder long an festen > Adresen gespeichert werden. Eine Veränderung dieser Werte hätte sicher enorme Auswirkungen > gehabt. Z.B. wird dort der Zeiger p_logbuch gesichert. Das läuft seit ca. 1/12 Jahren ohne > Auffälligkeiten. > > Grüße aus dem Norden, Norbert >