Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Page 2 of 2 FirstFirst 12
Results 11 to 17 of 17

Thread: Von einem Datum einen Tag abziehen

  1. #11
    Join Date
    28.05.2008
    Posts
    40
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Quote Originally Posted by Sven_HH View Post
    Ich denke mal er hat das DATE Format mittels FC6 DT_DATE aus dem Date and Time Format gezogen.

    Das sollte deine Frage beatworten...

    Gruß
    Sven_HH
    Genau. Das habe ich als erstes gemacht.
    CALL "READ_CLK"
    RET_VAL:=#Fehler
    CDT :=#Zeit_Tag
    CALL "DT_DATE"
    IN :=#Zeit_Tag
    RET_VAL:=#Tag

  2. #12
    Join Date
    28.05.2008
    Posts
    40
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Default

    Quote Originally Posted by Sarek View Post
    Date-Format bezeichnet die Anzahl der Tage seit dem 1.1.1990

    d.h. wenn du einen Tag abziehen willst dann gehts ganz einfach mit
    ner INTEGER Subtraktion

    L #Datum
    L 1
    -I
    T #Datum_neu
    Der Tip von Sarek scheint zu klappen. Habe gerade mal die Systemzeit auf den 01.01.2009 geändert und im DB steht jetzt der 31.12.2008.
    Hätte nicht gedacht, daß das so einfach wäre.

    D.h. in dem Dateformat der S7 sind schon alle Schaltjahre hinterlegt? Also er muß ja wissen, ob vor dem 1.3.2034 der 29. oder 28.02. war. Bis zu welchem Jahr denn?

  3. #13
    Join Date
    11.12.2007
    Posts
    198
    Danke
    57
    Erhielt 33 Danke für 32 Beiträge

    Default

    Warum nacht ihr nicht nenn vergleich auf TOD z.B. auf >= 23:59:59,700
    Dann könntest Du dir das abziehen eines Tages ersparen

  4. Folgender Benutzer sagt Danke zu Sven_HH für den nützlichen Beitrag:

    Tompson (14.01.2009)

  5. #14
    Join Date
    11.12.2007
    Posts
    198
    Danke
    57
    Erhielt 33 Danke für 32 Beiträge

    Default

    Quote Originally Posted by Tompson View Post
    ... Bis zu welchem Jahr denn?
    Laut Hilfe: "DATE liegt zwischen den Grenzen DATE#1990-1-1 und DATE#2089-12-31. "

  6. #15
    Join Date
    28.05.2008
    Posts
    40
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Default

    Das wäre zu einfach.

    Nein Quatsch. Die Funktion gibt es schon länger, nur ist der Fehler noch keinem aufgefallen. Und als ich das eben erfahren habe, habe ich soweit gar nicht gedacht, die Abfrage für den Routineaufruf einfach zu ändern.

    Aber das werde ich wohl machen. Trotzdem ist es interessant zu wissen, daß das Datum eigentlich ein Int-Wert ist.
    Danke noch mal.

  7. #16
    Join Date
    28.05.2008
    Posts
    40
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Default

    Werde doch die
    L 1
    -I
    Variante nehmen, da mir die Zeit da gar nicht zur Verfügung steht. Könnte sie natürlich auch noch aus der Variablen #Zeit_Tag ziehen, aber ich glaube, das das Abziehen eines Tages weniger Rechenaufwand ist.

  8. #17
    Join Date
    11.12.2007
    Posts
    198
    Danke
    57
    Erhielt 33 Danke für 32 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    die Zeit (TOD) kannst Du dir genau wie das Datum auslesen, nur halt mit dem FC8 DT_TOD. Sie hat 32bit länge und kann mit CMP <=> D ausgewertet werden.

    Aber das nur ebenbei... einfacher ist sicher die von Dir gewählte -1 Variante.

    Gruß
    Sven_HH

Similar Threads

  1. Tag/Monat/Jahr zu Datum addieren/subtrahieren
    By retowalti in forum CODESYS und IEC61131
    Replies: 1
    Last Post: 07.06.2019, 17:45
  2. Step 7 Aus kalenderjahr Woche und Tag nach Datum konvertieren
    By Markusd in forum Simatic
    Replies: 2
    Last Post: 05.09.2017, 10:37
  3. TIA Uhrzeit/Datum/Tag
    By Xever in forum Simatic
    Replies: 2
    Last Post: 08.03.2017, 08:14
  4. Tag im Datum ändern
    By herbert1 in forum CODESYS und IEC61131
    Replies: 3
    Last Post: 12.04.2012, 08:58
  5. S7 Datum auflösen nach Monat Tag
    By Guste in forum Programmierstrategien
    Replies: 7
    Last Post: 03.11.2007, 00:25

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •