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

Results 1 to 7 of 7

Thread: Uhrzeit

  1. #1
    Join Date
    20.12.2008
    Location
    Magdeburg
    Posts
    31
    Danke
    10
    Erhielt 1 Danke für 1 Beitrag

    Ausrufezeichen


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo und allen ein gutes neues Jahr,
    danke für die bisherige Hilfe.
    Neues Problem: Wie kann ich auf die einfachste Art die CPU- UHR
    auslesen und ablegen, damit ich in Netzausfall einen Vergleich anstellen
    kann?? Ich muß feststellen können, wenn meine Steuerung >>5min
    stromlos war, eine entsprechende Aktion durchführen zu können.
    Die Systemzeit ist ja Batterie gepuffert.
    Kann jemand auf dem einfachsten Weg helfen??

    Grüße Frank
    Reply With Quote Reply With Quote Uhrzeit  

  2. #2
    Join Date
    05.06.2006
    Location
    PLZ 97xxx
    Posts
    298
    Danke
    38
    Erhielt 46 Danke für 38 Beiträge

    Default

    In jedem OB ist die Startzeit in den Lokaldaten hinterlegt:

    für OB1: OB1_DATE_TIME
    für OB100: OB100_DATE_TIME

    => OB1-Startzeit zyklisch in einem DB sichern
    (sind 8Bytes, wobei aber nicht alle für dich interessant sein dürften)

    Im OB100 (wird nach Neustart abgearbeitet)
    Startzeit auslesen und vergleichen mit dem gesichertem OB1 Wert

    Aber dabei musst du das Format beachten (Date_and_time):
    BCD-codiert .... (in Step7 Hilfe nachschauen)

  3. #3
    Join Date
    09.01.2008
    Posts
    17
    Danke
    5
    Erhielt 3 Danke für 3 Beiträge

    Default

    Eventuell hilft Dir das........


    Code:
    FUNCTION "SPS Datum Uhrzeit Tag" : VOID
    TITLE =SPS Datum Uhrzeit Wochentag
    VERSION : 0.0
    
    
    VAR_OUTPUT
      DATUM : DATE ;    
      UHRZEIT : TIME_OF_DAY ;    
      TAG : INT ;    
    END_VAR
    VAR_TEMP
      DATUM_UHRZEIT : DATE_AND_TIME ;    
      READ_CLK : INT ;    
    END_VAR
    BEGIN
    NETWORK
    TITLE =SPS Datum Uhrzeit (DATE_AND_TIME)
    //SFC 1  READ_CLK
    //
    //Die Funktion SFC 1 liest die aktuelle Uhrzeit und das aktuelle Datum im 
    //Datenformat DATE_AND_TIME aus der SPS aus.
    //   
          CALL "READ_CLK" (
               RET_VAL                  := #READ_CLK,
               CDT                      := #DATUM_UHRZEIT);
          NOP   0; 
    
    NETWORK
    TITLE =SPS Datum (DATE)
    //FC 6  DT_DATE
    //
    //Die Funktion FC 6 liest das Datenformat DATE aus dem Datenformat DATE_AND_TIME. 
    //DATE liegt zwischen den Grenzen DATE#1990-1-1 und DATE#2089-12-31.   
    //   
          CALL "DT_DATE" (
               IN                       := #DATUM_UHRZEIT,
               RET_VAL                  := #DATUM);
          NOP   0; 
    
    NETWORK
    TITLE =SPS Uhrzeit (TOD)
    //FC 8  DT_TOD
    //
    //Die Funktion FC 8 liest das Datenformat TIME_OF_DAY aus dem Datenformat 
    //DATE_AND_TIME.
    //   
          CALL "DT_TOD" (
               IN                       := #DATUM_UHRZEIT,
               RET_VAL                  := #UHRZEIT);
          NOP   0; 
    
    NETWORK
    TITLE =SPS Wochentag (DAY)
    //FC 7 DT to DAY
    //
    //Die Funktion FC 7 liest das Datenformat DAY aus dem Datenformat 
    //DATE_AND_TIME.
    //
    //Wochentag liegt im Datenformat INTEGER vor:
    //1-Sonntag
    //2-Montag
    //3-Dienstag
    //4-Mittwoch
    //5-Donnerstag
    //6-Freitag
    //7-Samstag
          CALL "DT to DAY" (
               IN                       := #DATUM_UHRZEIT,
               RET_VAL                  := #TAG);
          NOP   0; 
    END_FUNCTION
    Reply With Quote Reply With Quote Uhrzeit  

  4. Folgender Benutzer sagt Danke zu <nemo> für den nützlichen Beitrag:

    elektrohippi (10.01.2009)

  5. #4
    Join Date
    30.03.2005
    Posts
    2,134
    Danke
    0
    Erhielt 681 Danke für 545 Beiträge

    Default

    Quote Originally Posted by <nemo> View Post
    Code:
    FUNCTION "SPS Datum Uhrzeit Tag" : VOID
    TITLE =SPS Datum Uhrzeit Wochentag
    VERSION : 0.0
     
     
    VAR_OUTPUT
      DATUM : DATE ;    
      UHRZEIT : TIME_OF_DAY ;    
      TAG : INT ;    
    END_VAR
    VAR_TEMP
      DATUM_UHRZEIT : DATE_AND_TIME ;    
      READ_CLK : INT ;    
    END_VAR
    BEGIN
    NETWORK
    TITLE =SPS Datum Uhrzeit (DATE_AND_TIME)
    //SFC 1  READ_CLK
    //
    //Die Funktion SFC 1 liest die aktuelle Uhrzeit und das aktuelle Datum im 
    //Datenformat DATE_AND_TIME aus der SPS aus.
    //   
          CALL "READ_CLK" (
               RET_VAL                  := #READ_CLK,
               CDT                      := #DATUM_UHRZEIT);
          NOP   0; 
     
    NETWORK
    TITLE =SPS Datum (DATE)
    //FC 6  DT_DATE
    //
    //Die Funktion FC 6 liest das Datenformat DATE aus dem Datenformat DATE_AND_TIME. 
    //DATE liegt zwischen den Grenzen DATE#1990-1-1 und DATE#2089-12-31.   
    //   
          CALL "DT_DATE" (
               IN                       := #DATUM_UHRZEIT,
               RET_VAL                  := #DATUM);
          NOP   0; 
     
    NETWORK
    TITLE =SPS Uhrzeit (TOD)
    //FC 8  DT_TOD
    //
    //Die Funktion FC 8 liest das Datenformat TIME_OF_DAY aus dem Datenformat 
    //DATE_AND_TIME.
    //   
          CALL "DT_TOD" (
               IN                       := #DATUM_UHRZEIT,
               RET_VAL                  := #UHRZEIT);
          NOP   0; 
     
    NETWORK
    TITLE =SPS Wochentag (DAY)
    //FC 7 DT to DAY
    //
    //Die Funktion FC 7 liest das Datenformat DAY aus dem Datenformat 
    //DATE_AND_TIME.
    //
    //Wochentag liegt im Datenformat INTEGER vor:
    //1-Sonntag
    //2-Montag
    //3-Dienstag
    //4-Mittwoch
    //5-Donnerstag
    //6-Freitag
    //7-Samstag
          CALL "DT to DAY" (
               IN                       := #DATUM_UHRZEIT,
               RET_VAL                  := #TAG);
          NOP   0; 
    END_FUNCTION
    Vielen Dank, dass Du meinen Programmcode verwendet hast.

    http://www.sps-forum.de/showpost.php...6&postcount=16

    Gruß Kai
    Attached Files Attached Files

  6. Folgender Benutzer sagt Danke zu Kai für den nützlichen Beitrag:

    elektrohippi (10.01.2009)

  7. #5
    Join Date
    05.06.2006
    Location
    PLZ 97xxx
    Posts
    298
    Danke
    38
    Erhielt 46 Danke für 38 Beiträge

    Default

    Schau mal im Anhang.
    Das Problem hat mich jetzt auch interessiert, hab schnell was geschrieben.
    (ungetestet)

    Im OB100 wird die Zeitdifferenz seit dem Ausschalten berechnet.
    Dort kannst du dann entsprechend reagieren.
    Attached Files Attached Files

  8. Folgender Benutzer sagt Danke zu Sarek für den nützlichen Beitrag:

    elektrohippi (10.01.2009)

  9. #6
    Join Date
    27.05.2004
    Location
    Thüringen/Berlin
    Posts
    14,036
    Danke
    793
    Erhielt 3,225 Danke für 2,286 Beiträge

    Default

    Quote Originally Posted by Kai View Post
    Vielen Dank, dass Du meinen Programmcode verwendet hast.

    http://www.sps-forum.de/showpost.php...6&postcount=16

    Gruß Kai
    Ich geh mal davon aus, daß du ihn genau dazu hier im Forum veröffentlicht hast oder?
    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

  10. #7
    Join Date
    16.11.2007
    Posts
    234
    Danke
    3
    Erhielt 27 Danke für 24 Beiträge

    Lächeln


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich lese ständig mit den Systemfunktionen die aktuelle Uhrzeit aus und speichere sie im remanenten Bereich. Bei CPU-Anlauf ist es dann einfach möglich die Zeitdifferenz zu ermitteln (Differenz aus aktueller und letzter Zeit und Umrechnen in Minuten).
    Reply With Quote Reply With Quote Lösungsvorschlag  

Similar Threads

  1. Replies: 12
    Last Post: 17.09.2019, 16:15
  2. Step 7 Uhrzeit
    By heli100 in forum Simatic
    Replies: 2
    Last Post: 22.01.2016, 12:02
  3. Replies: 2
    Last Post: 10.07.2014, 17:33
  4. Uhrzeit
    By carsten in forum Simatic
    Replies: 10
    Last Post: 20.07.2012, 13:02
  5. Replies: 10
    Last Post: 02.01.2008, 16:54

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
  •