Step 7 Format #TOD Zeit inkrementieren

Mathias

Level-1
Beiträge
51
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen

Ich stehe im Moment an einem Problem an und weiss nicht weiter. In einem DB lege ich einen Zeitstempel einer Messung im Format Time of Day ab (Bsp. TOD#12:45:59:000), diesen Zeitstempel muss ich zu einem späteren Zeitpunkt nehmen und mit einer Variabel E_Intervall (als Minuten im Format int) inkrementieren, um den wert danach wieder als Time of Day abzulegen (Bsp. TOD# 12:45:59:000, E_Intervall = 1, danach soll im Speicher TOD#12:46:59:000 stehen).

Ich habe das ganze folgendermassen gelöst:

L #E_Intervall **** Intervall in Minuten im Format Int
ITD
L 60 **** Danach mit 60 multiplizieren, damit wir Sekunden erhalten
*D
L 1000 **** Danach mit 1000 multiplizieren, damit wir Millisekunden erhalten
*D
L DBD [AR1,P#0.0] **** alter Speicherwert als TOD laden
+D
T DBD [AR1,P#0.0] **** Summe aus der Addition in Speicher schreiben


Mein Problem ist nun, dass der überschriebene Speicher nicht mehr im Format Time of Day angezeigt werden kann, sonder nur noch als Doppelword.

Wie kann ich die Addition wieder als TOD respektive als Time formatieren?

Danke für Eure Antwort.
 
die tod ist ja die zeit in milisekunden nach 0:00 uhr. normal ist es kein problem da was zuzuaddieren. du darfst durch die addition allerdings nicht die maximalen milisekunden des tages überschreiten.
der max wert ist L#86399999
sollte das der fall sein musst du halt entspreched oft 86400000 abziehen um wieder in den passenden bereich zu kommen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Volker

Besten Dank für Deine prompte Antwort. Ich hab meinen Fehler gefunden, die interne Variabel, die als erstes den DB beschreibt war als Time deklariert und die Zeit wurde zusammengesetzt mit Bytes.
Danke und einen schönen Tag
 
Zurück
Oben