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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Zeit/Datum auslesen und weiterverarbeiten

  1. #1
    Registriert seit
    05.10.2007
    Beiträge
    26
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen!
    Ich bin ein absoluter Neuling in Sachen SPS-Programmierung und hab auch gleich ein Problem, dass ich nicht gelöst bekomme. Und zwar möchte ich die aktuelle Zeit aus der SPS auslesen und anschließend weiterbearbeiten, habe aber absolut keine Ahnung, wie ich das machen soll. Ich habe zwar schon Beispiele gefunden, wie das in AWL funktionieren könnte, bin dieser Sprache allerdings nicht mächtig. Ich schreibe in SCL (meiner Meinung nach viel einfacher zu lernen als der Rest) und habe dafür keine Beispiele gefunden.
    Ich hoffe, dass mir jemand helfen kann...

    grüße
    amateur
    Zitieren Zitieren Zeit/Datum auslesen und weiterverarbeiten  

  2. #2
    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

    Die Zeit auslesen kannst du mit dem SFC1, das ist ein in der CPU eingebauter System Function Block. Des weiteren gibt es dann diverse Fuktionen in der Standard Library/IEC Functions unter Step7 und auch die Oscat-Library (siehe Forum und www.oscat.de) hat so einiges an Zeitfunktionen zu bieten.
    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

  3. #3
    amateur ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    05.10.2007
    Beiträge
    26
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Ralle!
    vielen Dank für deine schnelle Antwort. Hilft mir aber leider noch nicht weiter. Auf den SFC1 bin ich auch schon gestoßen und auch darauf, dass dieser eine Funktion READ_CLK bereitstellen soll. Aber wie rufe ich die nun in SCL auf? Schreibe ich SFC1(), bekomme ich eine Fehlermeldung (Funktion nicht definiert), schreibe ich READ_CLK.SFC1(), bekomme ich eine Fehlermeldung (Bezeichner existiert nicht, unbekannte Anweisung) oder schreibe ich SFC1.READ_CLK(), bekomme ich den gleichen Fehler. Wie ruft man denn jetzt diese Funktion auf und verarbeite ich die Rückgabewerte dann später??
    Wie gesagt, bin absoluter Neuling...

  4. #4
    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

    Du öffnest deine SFC-Quelle, gehst mit dem Cursor an die Stelle im Code, wo der Aufruf hin soll, dann Menü "Einfügen/Bausteinaufruf...", suchst dir aus der "Standard Library/System Function Blocks" den SFC1 und drückst "OK". Kurz warten und der Aufruf steht in deiner Quelle, inkl. Kommentaren für die IN/OUT/INOUT-Variablen, welche natürlich noch versorgt werden müssen. Anschließend befindet sich in deinem Bausteinordner auch der SFC1 inkl. Symbol, diesen kannst du aber nicht in die CPU kopieren, der ist schon drin.
    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

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

    Standard

    @Amateur:
    in SCL heißt das dann so :
    Code:
    Error := READ_CLK (CDT := SPS_Datum_Uhrzeit) ;
    Error ist vom Typ INT
    SPS_Datum_Uhrzeit ist vom Typ Date_and_Time

    probier mal ....

  6. #6
    amateur ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    05.10.2007
    Beiträge
    26
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Wow, das ging ja schnell Vielen Dank für eure Antworten, werd das gleich mal testen.

  7. #7
    amateur ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    05.10.2007
    Beiträge
    26
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also das hat bis jetzt schon mal bestens geklappt, vielen Dank!! Jetzt hab ich aber gleich noch ne Frage, und zwar: Kann ich aus "error" jetzt auch z. B. das Jahr, den Tag oder nur die Stunde herauslösen? Wenn das noch ginge, wäre mein Glück perfekt!

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

    Standard

    ...
    nein, das steht in DATE_AND_TIME.
    Wie das aufgebaut ist siehst du in der Step7-Hilfe. Wenn du an die einzelnen Bytes davon komfoirtabel herankommen willst, dann bediene dich des Befehls AT (SCL-Hilfe)

    Syntax:
    unter der Deklaration der Variablen für DATE_AND_TIME schreibst du ...
    Code:
    SPS_Datum_Uhrzeit : Date_and_Time ;
       a_Datum_Uhrzeit AT SPS_Datum_Uhrzeit : ARRAY [0..7] of byte ;
    Nun kommst du z.B. mit a_Datum_Uhrzeit [2] an das Byte 2 von SPS_Datum_Uhrzeit.

    Das wird verständlicher, wenn du den Aufbau der genannten Variablen kennst ...

  9. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    amateur (05.10.2007)

  10. #9
    amateur ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    05.10.2007
    Beiträge
    26
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Alles klar, so werd ich's mal probieren. Nochmals vielen Dank und ein schönes Wochenende!

    Gruß
    Amateur

  11. #10
    Registriert seit
    06.10.2003
    Beiträge
    3.406
    Danke
    448
    Erhielt 502 Danke für 406 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ein klein wenig komfortabler wird es mit einem STRUCT.

    Code:
     
      DATE_TIME AT TEMP_DT:
        STRUCT
          JAHR                          : BYTE;
          MONAT                         : BYTE;
          TAG                           : BYTE;
          STUNDE                        : BYTE;
          MINUTE                        : BYTE;
          SEKUNDE                       : BYTE;
          MS_UND_WDAY                   : WORD;
        END_STRUCT;
    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

Ähnliche Themen

  1. Pt 100 auslesen und weiterverarbeiten
    Von VIPAA im Forum Simatic
    Antworten: 54
    Letzter Beitrag: 24.09.2010, 21:32
  2. Datum und Zeit in DB Speichern
    Von homei im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 12.03.2009, 13:31
  3. Datum-Zeit anzeigen
    Von missywincc im Forum HMI
    Antworten: 1
    Letzter Beitrag: 04.02.2008, 12:45
  4. Aktuelle Zeit und Datum auslesen ?
    Von Anonymous im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 27.04.2005, 22:38
  5. Zeit datum TP170B
    Von xpert im Forum HMI
    Antworten: 2
    Letzter Beitrag: 19.07.2004, 13:17

Lesezeichen

Berechtigungen

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