TIA Date-and-Time aus Bytes zusammensetzen?

Frame

Level-2
Beiträge
76
Reaktionspunkte
6
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo an Alle,

ich stehe mal wieder vor einem Problem.
Die Uhrzeit einer S7-300 soll gestellt werden. Die Uhrzeit wird byteweise in die SPS eingelesen (Byte0 und Byte1 = Millisekunde, Byte2 = Minute, Byte3 = Stunde, Byte4 = Tag + Wochentag, Byte 5 = Monat, Byte6 = Jahr, Byte7 = Reserve).
Ich habe die Eingangsbytes jetzt so aufgearbeitet, dass ich für jede Zeiteinheit eine Variable des Typs Byte habe. Also:

VariablennameTypKommentar
s_bytebyteSekunden
min_bytebyteMinuten
h_bytebyteStunden
d_bytebyteTage
wd_bytebyteWochentag (1=Mo, ..., 7=So)
mo_bytebyteMonat
a_bytebyteJahr

Um die Zeit mithilfe von wr_sys_t zu stellen benötige ich ja das Datenformat Date_and_Time.
Mein Problem ist jetzt, die einzelnen Bytes zu eben diesen Date_and_Time-Format zusammenzusetzen. Mit meinen vorherigen Versuchen komme ich nur dazu die Bytes bis zu einem DWord zusammenzufügen aber das wars dann auch.
Ich bin über jede Hilfe dankbar. Ich kann mir vorstellen, dass das mit SCL umsetzbar ist, jedoch warte ich da noch auf meine Kurse :rolleyes: (wurden aufgrund von Corona verschoben).
 
Date_And_Time sieht so aus:
Bytes Inhalt Bereich
0 Jahr 90 ... 89, d.h. die Jahre 1990 bis 2089
1 Monat 01 ... 12
2 Tag 1 ... 31
3 Stunde 0 ... 23
4 Minute 0 ... 59
5 Sekunde 0 ... 59
6 2 MSD von ms 00 ... 99
7 (4 MSB) LSD von ms 0 ... 9
7 (4 LSB) Wochentag 1 ... 7 (1 = Sonntag)
Da musst Du Deine Bytes eigentlich nur in die richtige Reihenfolge bringen und als STRUCT zusammenfassen.
Und die Bytes müssen im BCD-Format gespeichert sein.

Und mit F1 solltest Du in Deiner Programmierumgebung eine genauere Beschreibung zu DATE_AND_TIME finden.


PS:
Bei 'ner S7-300 solltest Du ja SFC0/SFC1 haben:
Wie kann das Datum und die Uhrzeit mit der SFC1 (READ_CLK) ausgelesen und mit der SFC0 (SET_CLK) eingestellt werden?
 
Zuletzt bearbeitet:
Danke für eure Antworten. Ich schwöre ich habe gegoogelt aber der Link zu Siemens ist mir nicht untergekommen :oops:. Werde ich später auf jeden Fall so versuchen.
 
Hallo an Alle,

ich hatte heute nochmal Zeit mich mit dem Thema zu beschäftigen. Mithilfe des o.g. Links konnte ich erstmal alles soweit umsetzen wie ich mir das vorgestellt habe.

Also once again ... Danke!
 
Zurück
Oben