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

Ergebnis 1 bis 9 von 9

Thema: aktuelle Zeit bzw. Minuten vergleich

  1. #1
    Registriert seit
    27.09.2011
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    Wie kann ich die Minuten aus der aktuellen Zeit auslesen um diese danach mit einem INT zu vergleichen?
    z.B.
    aktuelle Zeit: 13.30

    L 30
    L aktuelle Minute
    ==I

    Wer kann mir helfen???
    Danke und Gruss
    Zitieren Zitieren aktuelle Zeit bzw. Minuten vergleich  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo,
    hast du die aktuelle Zeit schon aus der Systemuhr ausgelesen oder das auch noch nicht ?
    Wenn ja, dann hättest du die im Format TOD (TimeOfDay) vorliegen, welche einem DINT entspricht und die Anzahl der vergangenene Millisekunden seit 0:00 Uhr beinhaltet. Da ist dann ein bißchen Rechenarbeit gefragt.

    Darüber hinaus könnte man zu diesem Thema noch die Forensuche bemühen, die sicherlich so einige Lösungsansätze ausspucken wird ...

    Gruß
    Larry

  3. #3
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Am einfachsten, du nutzt im OB 1 aus den Lokaldaten die Variable OB1_Date_Time. Die hat das Format Date_and_Time.

    Date_and_Time hat folgende Zusammensetzung:

    Der Datentyp Date_And_Time wird im BCD-Format gespeichert:

    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)
    Dann noch Byte 4 von BCD zu Int wandeln (der Befehl heißt BTI), anschließend im Vergleicher verwenden.

    Datum und Uhrzeit kann man auch mit einem Baustein aus der Standard-Library auslesen, wenn man das nicht im OB1 programmieren will.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  4. #4
    Avatar von Fragwürdig
    Fragwürdig ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    27.09.2011
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Larry,
    ja hab mich schon viel zu lange durch gelesen.

    mein Versuch, welcher nicht das günschte Ergebnis bringen:

    CALL "TIME_TCK"
    RET_VAL:=#t_Time

    L #t_Time // in ms
    L 1000 // in s
    /D
    L 60 // in min
    /D
    T #t_Time_1

  5. #5
    Avatar von Fragwürdig
    Fragwürdig ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    27.09.2011
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Blinzeln

    Danke Ralle


    hab ich schon einmal versucht..hat zuerst aber nicht geklappt.

    L P##i_timeandate
    LAR1

    L LB 4
    BTI
    T #t_Time_1
    die akt. 14.19Uhr...under der wert =10?!

    und wie funktionierts mit dem Time of Day?

    GS
    Geändert von Fragwürdig (28.09.2011 um 14:19 Uhr)

  6. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Der TOD ist sehr viel umfangreicher wie das Beispiel von Ralle, welches allerdings nur im OB1 funktioniert und auch nur mit der OB1-Variablen (#OB1_Date_Time). Das wäre m.E. der beste Weg.

    Zu meinem Vorschlag wirklich erstmal mit der Suche des Forums arbeiten und sich dann auf etwas beziehen (falls noch etwas unklar ist).

    Gruß
    Larry

  7. #7
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Zitat Zitat von Fragwürdig Beitrag anzeigen
    CALL "TIME_TCK"
    RET_VAL:=#t_Time

    L #t_Time // in ms
    L 1000 // in s
    /D
    L 60 // in min
    /D
    T #t_Time_1
    ... den Beitrag hatte ich erst gar nicht gesehen ...
    Wenn du mit dem TOD arbeitest und es so machst, wie von dir skizziert dann erhälst du zwar die Rest-Minuten für die aktuelle Uhrzeit - das wären aber für z.B. 14:30 Uhr := 14*60 + 30 := 870.
    Hierauf müßtest du jetzt noch ein MOD 60 machen und dann würden nur noch die Minuten übrig bleiben ...

    Also so :
    Code:
    L #t_Time // in ms
    L 1000 // in s
    /D 
    L 60 // in min
    /D 
    L 60
    MOD
    T #t_Time_Minuten
    Gruß
    Larry

  8. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Zitat Zitat von Fragwürdig Beitrag anzeigen
    L P##OB1_Date_Time
    LAR1
    L B [Ar1 , p#4.0]
    BTI
    T #t_Time_1
    so wäre dann dieser Code wahrscheinlich (im OB1) auch richtig ...

  9. #9
    Avatar von Fragwürdig
    Fragwürdig ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    27.09.2011
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Super..hat geklappt..MOD: genau das was ich brauchte!
    Danke Larry!
    Geändert von Fragwürdig (28.09.2011 um 14:55 Uhr)

Ähnliche Themen

  1. Aktuelle Zeit und Datum in Array schreiben
    Von JanMichael im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 25.02.2011, 13:04
  2. s7 zeit in minuten eingeben
    Von magus111 im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 11.10.2008, 20:27
  3. Zeit in Minuten eingeben
    Von smartie im Forum HMI
    Antworten: 3
    Letzter Beitrag: 21.02.2008, 11:08
  4. Antworten: 4
    Letzter Beitrag: 26.10.2005, 07:19
  5. Aktuelle Zeit und Datum auslesen ?
    Von Anonymous im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 27.04.2005, 22:38

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •