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

Ergebnis 1 bis 7 von 7

Thema: Uhrzeit

  1. #1
    Registriert seit
    20.12.2008
    Ort
    Magdeburg
    Beiträge
    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
    Zitieren Zitieren Uhrzeit  

  2. #2
    Registriert seit
    05.06.2006
    Ort
    PLZ 97xxx
    Beiträge
    274
    Danke
    31
    Erhielt 44 Danke für 36 Beiträge

    Standard

    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
    Registriert seit
    09.01.2008
    Beiträge
    17
    Danke
    5
    Erhielt 3 Danke für 3 Beiträge

    Standard

    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
    Zitieren Zitieren Uhrzeit  

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

    elektrohippi (10.01.2009)

  5. #4
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard

    Zitat Zitat von <nemo> Beitrag anzeigen
    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
    Angehängte Dateien Angehängte Dateien

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

    elektrohippi (10.01.2009)

  7. #5
    Registriert seit
    05.06.2006
    Ort
    PLZ 97xxx
    Beiträge
    274
    Danke
    31
    Erhielt 44 Danke für 36 Beiträge

    Standard

    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.
    Angehängte Dateien Angehängte Dateien

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

    elektrohippi (10.01.2009)

  9. #6
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.227
    Danke
    534
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Zitat Zitat von Kai Beitrag anzeigen
    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
    Registriert seit
    16.11.2007
    Beiträge
    67
    Danke
    2
    Erhielt 8 Danke für 6 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).
    Zitieren Zitieren Lösungsvorschlag  

Ähnliche Themen

  1. Uhrzeit in der SPS
    Von settelma im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 16.03.2008, 12:48
  2. Antworten: 10
    Letzter Beitrag: 02.01.2008, 16:54
  3. Op 170 B Uhrzeit
    Von Balou im Forum HMI
    Antworten: 2
    Letzter Beitrag: 09.04.2007, 22:35
  4. Op 73 Uhrzeit
    Von Holle6 im Forum HMI
    Antworten: 2
    Letzter Beitrag: 03.02.2006, 07:37
  5. SPS und Uhrzeit
    Von Paradox im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 10.01.2005, 12:17

Lesezeichen

Berechtigungen

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