PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datenlogger der trotz Stromausfällen die Messdaten behält ?



Speed
20.10.2006, 12:51
Hallo,
ich habe vor eine art Datenlogger zu programmieren der aber auch bei einen Stromausfall die „Messdaten“ nicht verliert.

Diese Messdaten können dann nur mit einen erneuten laden eines Programms gelöscht werden.

Ich kenn das:


' --- Definitionen ---

define count word
define value word
define sec byte
define key port[2] 'Taster an Port 2
define led port[1] 'LED an Port 1
define sensor ad[7] 'Sensor an A/D 7

' --- Programmoperationen ---

count = 0
led = off 'Ausgang: LED aus!
deact key 'Eingang!

#Start
if filefree then goto loop1
led = on 'Speicher voll!
goto loop2

#loop1
sec = second
if sec = 0 or sec = 30 then gosub log 'alle 30 Sekunden messen/loggen

#loop2
if key=off then gosub dump 'Taste gedrückt: LOW-Pegel an Port 2!!!

' Keine Taste gedrückt:
goto Start

#log
beep 100, 10, 0
if sec <> 0 then goto Sek30
'Sekunde 0:
value = sensor shl 8 '1. Sensorwert (8 Bit) in obere Position schieben
pause 100 '2 Sekunden warten, damit second sicher <> 0 wird
return
#Sek30
'Sekunde 30:
value = value or sensor '2. Sensorwert ins WORD einfügen
open# for append
print# value
close#
count = count + 2 '2 Werte gespeichert
pause 100 '2 Sekunden warten, damit second sicher <> 30 wird
return

#dump
print
print count, " Messwerte"
led = off 'Speicher wird wieder leer!
count = 0 'Zähler zurücksetzen
open# for read

#dumpnext
if eof then return
input# value
print (value shr 8); " "; 'oberes Byte (1. Wert) zeigen
print (value and &H00FF); " "; 'unteres Byte (2. Wert) zeigen
goto dumpnext


Da gehen aber leider die Daten bei einem Stromabfall verloren.

Suggarman
20.10.2006, 14:37
Speichere Deine Daten einfach in einem I2C-Speicherbaustein ab.

mfg

Stefan

Dirk
20.10.2006, 14:46
Hallo Speed,


Da gehen aber leider die Daten bei einem Stromabfall verloren.

Bei den OPEN/READ-Befehlen geht der Inhalt NICHT beim Stromausfall verloren, sondern wird im internen EPROM gespeichert!

Gruss Dirk

Amiwerewolf
20.10.2006, 16:49
hallo speed, es wäre hilfreich wenn du angibst welche welche C-Control du hast!
du kannst mal auf meine hompage schauen, da ist ein von mir gebauter GPS tracker, mit einem Config EEP-ROM und 1 bis 8 Speicher EEProms (je 64Kbyte)

gruß Michi

Speed
20.10.2006, 20:00
Ich habe das Mainunit(V1) und das M-Unit(V1).

Wenn die Daten bei einen Stromabfall NICHT verloren gehen,
wie werden sie dann ausgelesen?

Wenn ich das Programm (siehe Oben) starte und z.B. nach 5 min die Stromversorgung trenne,
dann sind die Daten weg.

Dirk
21.10.2006, 07:08
Hallo Speed,


Wenn ich das Programm (siehe Oben) starte und z.B. nach 5 min die Stromversorgung trenne, dann sind die Daten weg.

Wie liest du die Daten denn wieder ein? Poste 'mal das Prog!

Gruß Dirk

Speed
21.10.2006, 16:35
Hallo Dirk,

die vom Unit gespeicherten Daten lese ich mit dem normalen Windows Hyper-Terminal aus.

Dirk
21.10.2006, 17:13
Hallo Speed,

die Daten müßten aber eigentlich noch im EPROM sein,- es sei denn, der Stromausfall kam zu einem sehr unglücklichen Zeitpunkt.

Teste das doch 'mal mit einem Prog, dass 5 Bytes oder so im EPROM ablegt und dann nach einem Tastendruck wieder einliest. Das ist zwar kein Stromausfall, zeigt aber, dass es grundsätzlich klappt.

Bei deinem Prog würde ich noch etwas ergänzen:

#dumpnext
if eof then goto Dumpende
input# value
print (value shr 8); " "; 'oberes Byte (1. Wert) zeigen
print (value and &H00FF); " "; 'unteres Byte (2. Wert) zeigen
goto dumpnext
#Dumpende
close#
return


Gruß Dirk