Simotion DATE_AND_TIME Wochentag ermitteln

FredlFesl

Level-2
Beiträge
25
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

ich will in Simotion aus Date_And_Time den Wochentag ermitteln.

Habt ihr da schon Erfahrungen?

Hab bis jetzt herausgefunden, dass die 4 ersten Bytes die abgelaufenen ms seit 00:00 Uhr sind

und die nächsten 4 Bytes die abgelaufenen Tage seit dem 01.01.1992.

Wie soll ich da auf den aktuellen Wochentag schliessen?

Vielen Dank!
 
Hallo,
ich weiß nicht so genau, was du da herausgefunden hast - aber der so weit ich es nachgelesen habe unterscheidet sich der DT-Datentyp nicht von dem bei Step7.
Der ist dann wie folgt aufgebaut (alle Werte sind BCD) :

Byte Inhalt Bereich

0 Jahr 1990.....2069
1 Monat 1....12
2 Tag 1....31
3 Stunde 0...23
4 Minute 0....59
5 Sekunde 0....59
6 MSD v. ms 00...99
7(MSB) LSV v. ms 0....9
7(LSB) Wochentag 1....7 (1 = Sonntag)

Also ist dein Wochentag in den unteren 4 Bits des letzten Bytes codiert. Das brauchst du nur da raus verunden.

Gruß
Larry
 

Anhänge

  • Bild.jpg
    Bild.jpg
    49,5 KB · Aufrufe: 37
Hallo,
mir ist auch nur der von dir verlinkte Beitrag bekannt gewesen.
Wenn es aber so ist, wie in deinem Screenshot, dann bleibt dir wohl nichts anderes übrig als dir den Wochentag aus diesem DATE-Bestandteil selbst zu errechnen.

Für das Step7-DATE-Format wäre das diese Formel gewesen :
Code:
   Wochentag := DINT_TO_INT(myDate MOD 7) + 1 ;
Für dein DATE müßtest du den Korrekturwert als Offset zu DATE nur ermitteln ...
Dann sähe die Formal dafür so aus :
Code:
   Wochentag := DINT_TO_INT((myDate + Korrektur) MOD 7) + 1 ;

Gruß
Larry
 
Zurück
Oben