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

Ergebnis 1 bis 4 von 4

Thema: Uhrzeit - Datendoppelwort Wert in zB. MB's aufteilen

  1. #1
    Registriert seit
    11.02.2008
    Beiträge
    6
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Idee


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Abend!
    Habe ein kleines Problem! (SimaticS7 315 2DP)
    Ich lese die Uhrzeit aus (für eineSchaltuhr), und schreibe den Wert in ein DBxxx.DBDyyy!
    Die Schaltuhr funktionierteinwandfrei, da ich immer DBD mit DBD vergleiche!
    Jetzt brauche ich aber zusätzlichfür eine Grafische anzeige, dafür sollten Stunden und Minuten wert separat in zwei Daten Bytes geschrieben werden!
    Daher meine Frage:
    Wie kann ich das am leichtesten lösen, das in ein MB zb. den Stundenwert schreibt, und in einem anderen den Minutenwert? Hoffentlich habe ich es einigermaßen verständlich geschrieben.
    Für Tips wäre ich sehr dankbar.
    Zitieren Zitieren Uhrzeit - Datendoppelwort Wert in zB. MB's aufteilen  

  2. #2
    Registriert seit
    13.12.2009
    Beiträge
    5
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Uhrzeit auslesen mit der sfc1 read_clk
    Ausgabeformat ist dann "Date and Time"8 Bytes lang, also 2 Doppelworte. Am besten machst du in einem dB einen Eintrag vom Typ Date and Time und klickst ihn an, drückst dann mal F1.
    Dort steht dann vom Jahr bis zur Millisekunde alles drinnen.
    Im Byte 0 steht das Jahr
    BCD kodiert.
    Also in einem Byte die 15
    Das brauchst du wahrscheinlich getrennt.
    Geht dann folgendermaßen:
    L DB[Bausteinnummer].DBB[erstes Byte von deinem Date and Time Eintrag]
    SRD 4
    T MW[Ausgabe Merkerwort für die Zehnerstelle]
    L DB[Bausteinnummer].DBB[erstes Byte von deinem Date and Time Eintrag]
    L W#16#F
    UW
    T MW[Ausgabe Merkerwort für die Einerstelle]

    Sollte Funktionieren.





    Gesendet von iPhone mit Tapatalk

  3. #3
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.293
    Danke
    932
    Erhielt 3.320 Danke für 2.682 Beiträge

    Standard

    Schau Dir in der Step7-Hilfe den Aufbau des Datentyps DATE_AND_TIME an. Hole aus Deiner Uhrzeit/DATE_AND_TIME-Variable das Byte mit der Stunde und das Byte mit der Minute, wandele die Werte jeweils von BCD in INT und speichere in Deine separaten Variablen.

    Eine gute Idee wäre auch, mit der Forumssuche nach "DATE_AND_TIME stunde minute" zu suchen, da werden viele Erklärungen für Dein Problem aufgelistet, auch Programmbeispiele und sogar komplette Zerlegungen von DATE_AND_TIME in die Einzelteile, z.B. diese.

    Eine einfache Lösung in AWL könnte so aussehen:
    Code:
          LAR1  P##Mein_Date_and_Time
    
          L     B [AR1,P#3.0]
          BTI
          T     #Stunde
    
          L     B [AR1,P#4.0]
          BTI
          T     #Minute
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  4. #4
    Registriert seit
    29.11.2014
    Beiträge
    39
    Danke
    19
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke euch für die Hinweise.
    Habe jetzt die Variante gewählt, dass ich die mit SFC1 gelesene Zeit direkt in den DB1 schreibe und von dort dann mit der direkten Adressierung auslese.

    m0: CALL SFC 1
    RET_VAL:=MW0
    CDT:=DB1.Schicht1.Startzeit

    L DB1.DBB 4
    T AB 4

Ähnliche Themen

  1. TIA FB in Netzwerke aufteilen
    Von chipchap im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 03.06.2014, 09:15
  2. Uhrzeit synchron Wert abspeichern
    Von PhilippL im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 05.07.2010, 15:02
  3. REAL wert in zwei worte aufteilen (SCL)
    Von SPS-newbie im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 23.04.2010, 16:00
  4. String aufteilen in S7
    Von meef im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 16.05.2008, 10:55
  5. Antworten: 6
    Letzter Beitrag: 19.04.2007, 00:24

Stichworte

Lesezeichen

Berechtigungen

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