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

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

Thema: Datum S7

  1. #1
    Registriert seit
    04.01.2006
    Beiträge
    133
    Danke
    16
    Erhielt 2 Danke für 2 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute, habe ein mittleres Problem. Habe in einem MW das aktuelle Datum. Wie schaffe ich es das ich für jeden Monat einen eigenen Merker setze. zB. Jänner - M0.0 , Februar - M0.1 usw. Bitte helft mir - wenn geht anhand eines Beispiels. DANKE
    Zitieren Zitieren Datum S7  

  2. #2
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.732
    Danke
    314
    Erhielt 1.519 Danke für 1.282 Beiträge

    Standard

    Ohne jetzt zu wissen, wie du das Datum in einen MW hast,

    mit einem Vergelicher!

    L Monat
    L 1
    ==I
    = Januar
    ...
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  3. #3
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    In welchem Format liegt das Datum genau vor? Je nachdem gibt es unterschiedliche Lösungen.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  4. #4
    Avatar von 1schilcher
    1schilcher ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.01.2006
    Beiträge
    133
    Danke
    16
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Habe das Datum mit dem Sfc1 in den FC6 generiert. Wenn ich auf Variable beobachten gehe und als Format der Darstellung "DATUM" eingebe steht dort wunderschön das heutige Datum. Hoffe das hilft dir weiter.

  5. #5
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Zitat Zitat von 1schilcher
    Habe das Datum mit dem Sfc1 in den FC6 generiert. Wenn ich auf Variable beobachten gehe und als Format der Darstellung "DATUM" eingebe steht dort wunderschön das heutige Datum. Hoffe das hilft dir weiter.
    Schön, dann steht in der Variablen der Tag seit 1.1.1990. Dies ist für eine Umwandlung in Bits allerdings relativ ungünstig. Am besten direkt nach dem SFC1-Aufruf das Byte 1 verwenden (siehe Aufbau DT). Dort steht dann direkt der Monat im BCD-Format. Dieser Wert kann dann fast direkt weiterverwendet werden.
    Code:
          L Monat         // = Byte 1 von SFC 1-Aufruf
          BTI             // In Dezimalzahl wandeln
          SPL   Hmpf      // Für Monate > 12
          SPA   Hmpf      // Monat 0 gibt es nicht
          SPA   Jan
          SPA   Feb
          SPA   Mar
          SPA   Apr
          SPA   Mai
          SPA   Jun
          SPA   Jul
          SPA   Aug
          SPA   Sep
          SPA   Okt
          SPA   Nov
          SPA   Dez
    
    Hmpf: L     0
          SPA   OK
    Jan:  L     W#16#100
          SPA   OK
    Feb:  L     W#16#200
          SPA   OK
    Mar:  L     W#16#400
          SPA   OK
    Apr:  L     W#16#800
          SPA   OK
    Mai:  L     W#16#1000
          SPA   OK
    Jun:  L     W#16#2000
          SPA   OK
    Jul:  L     W#16#4000
          SPA   OK
    Aug:  L     W#16#8000
          SPA   OK
    Sep:  L     W#16#1
          SPA   OK
    Okt:  L     W#16#2
          SPA   OK
    Nov:  L     W#16#4
          SPA   OK
    Dez:  L     W#16#8
          SPA   OK
    
    OK:   T     MW   104
    Jetzt ist M 104.0 gesetzt für Januar, M 104.7 für August, M 105.0 für September usw.
    Die Konstanten (Januar W#16#100) wegen High-Low-Orientierung der Bytes auf der S7.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  6. #6
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Und noch eine Variante:
    Code:
          L Monat         // = Byte 1 von SFC 1-Aufruf
          BTI             // In Dezimalzahl wandeln
          DEC   1         // Anzahl für Rotierungen
          L     DW#16#1000100   // Wegen High-Low-Anordnung und ...
          RLD             // ... weil Rotieren nur 32-bitweise geht
          T     MW   104  // Das selbe Ergebnis wie vorher
    Dies ist jetzt die kompaktere aber schwieriger zu verstehende Variante (eines PC-Programmierers ).
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  7. #7
    Unreg Gast

    Reden

    Was willst Du machen mit dem Datum ???

    Eine Zeitschaltuhr ????

  8. #8
    Avatar von 1schilcher
    1schilcher ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.01.2006
    Beiträge
    133
    Danke
    16
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Danke Rainer, hast mir viel geholfen. DANKE

  9. #9
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Zitat Zitat von 1schilcher
    Danke Rainer, hast mir viel geholfen. DANKE
    Gern geschehen
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  10. #10
    Avatar von 1schilcher
    1schilcher ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.01.2006
    Beiträge
    133
    Danke
    16
    Erhielt 2 Danke für 2 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Rainer, zu früh gefreut. Komme mit deiner Hilfe noch nicht ganz klar. Ich habe alles so gemacht wie du es mir bei deinem ersten Beispiel erklärt hast. Nur was meinst du mit "L Monat // = Byte 1 von SFC 1-Aufruf"
    Bei meinem Programm steht jetzt im MW2 das Startdatum also 1990-01-01
    In meinem MW4 steht das aktuelle Datum also 2006-04-17. Was meinst du jetzt mit dem Byte 1 - wie kann ich das laden - bin noch ein kleiner Anfänger. Bitte hilf mir nochmal. PS: mir fehlt eigentlich nur der Wert für den jeweiligen Monat.

Ähnliche Themen

  1. Datum und Uhrzeit
    Von HDF im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 18.12.2009, 09:08
  2. Datum vergleichen ?
    Von Pusher im Forum CODESYS und IEC61131
    Antworten: 0
    Letzter Beitrag: 02.07.2009, 13:01
  3. S7 Datum von VB.NET nach SPS...
    Von paddy_cmd im Forum Hochsprachen - OPC
    Antworten: 9
    Letzter Beitrag: 17.06.2009, 13:54
  4. S7-200 aus Datum Zahler
    Von blue dun im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 23.04.2008, 19:42
  5. Datum ?
    Von edi im Forum Stammtisch
    Antworten: 5
    Letzter Beitrag: 04.03.2005, 12:10

Lesezeichen

Berechtigungen

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