Zeitstempel in DB speichern

HannesIVA

Level-1
Beiträge
68
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich möchte bei einem Ereignis einen Zeitstempel in einem DB für das Datum und in einem DB für die Zeit speichern und zwar so, daß ich mit jedem neuen Ereignis das nächste DBW (Date) bzw. DBD (Zeit) beschreibe (Logger). Zeitstempel erzeugen ist kein Problem aber die
fortlaufende Speicherung (indirekte Adressierung!?) klappt nicht. Es kann nicht so schwer sein, aber irgendwie krieg ich das nicht gebacken.
 
leg dir einen Header im DB an der den letzten Offset bzw. den Offset hinterlegt hat in den du als nächstes schreiben willst

also cih schreibs einfach mal herunter:



un ereignis
beb

l dbd0
lar1
un initialisierung
un (
l dbd 0
l maxwert // Konstanter Maximalwert der Einträge z.B.
>D
spb log

l offset // offset zum array der Logdaten z.B. p#10.0
t dbd0
log: nop 0
l Zeitstempel
t dbd[ar1,p#0.0 ]
l date
t dbw[ar1,p#4.0]
+ ar1 p#6.0 // wobei 6.0 die Länge eines Eintrages ist

tar1 // ar1 in den Akku schreiben
t dbd0 // und ins dbd 0 wegsichern damit beim nächsten Eintrag nichts überschrieben wird

sollte so funktionieren
mfg
Stefan
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die prompte Antwort. Ich habe noch probiert und folgendes gemacht:

L MW 106 //Platzzähler
SLD 3 //In Pointerformat
T MD 120
LAR1 //ins Adressregister


AUF DB 1 //Speicher-DB auf
L MW 0 //Wert laden Datum
T DBW [AR1,P#0.0] //in den von AR1 def. Bereich laden

L MD 2 //Wert laden Zeit
T DBD [AR1,P#2.0]

L MW 8 //Wert laden Status
T DBW [AR1,P#6.0]

L MW 106 //Platzzähler erhöhen
INC 8
T MW 106
Das Programm trägt in einen DB Datum,Uhrzeit,Status ein. Im Status steht Z.B. welcher Eingang. Der FC mit dem Programm wird durch die Ereignisse aufgerufen. Je Ereignis habe ich 3 Einträge fortlaufend. Nach 128 gehts von vorne los. Die alten Werte bleiben erhalten bis sie wieder überschrieben werden. Das klappt soweit.
 
jo ist nicht schlecht bis auf
den Befehl "INC 8" das ist ein 8 Bit Befehl und sollte nicht in Verbindung mit Wörtern verwendet werden...

L MW 106
+ 8
T MW 106

ist eigentlich der gängige Weg was zu zählen oder erhöhen
 
Zurück
Oben