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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 24

Thema: CPU-Zeit Format

  1. #1
    Registriert seit
    04.11.2010
    Beiträge
    31
    Danke
    16
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich habe folgendes Problem, und zwar ich bekomme von einem OPC Router die Aktuelle Zeit in einem DB als "DATE_AND_TIME", diese Zeit kann ich in meiner Variable Tabelle als zwei werte beobachten High und Low:
    DB16.DBD 8 DEZ L#14033111 jahr/Monat/Tag/Std
    DB16.dbD12 DEZ L#31180501 Min/Sek/milsek/.........

    ich möchte diese Zeit über SFC 0 als Aktuelle Zeit in meiner CPU schreiben, ich weiss dass CPU-zeit als BCD Format dargestellt werden soll.
    meine Frage wie kann ich diese Zeit teilen (spliten) in Hex MB20= Jahr, MB21 = Monat ..................so dass ich über SFC0 in meiner CPU schreiben kann ???

    Danke im Voraus
    Zitieren Zitieren CPU-Zeit Format  

  2. #2
    Registriert seit
    19.07.2010
    Beiträge
    1.289
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Mußt du nicht.

    Du kannst an SFC0 auch einen Any-Pointer auf deinen DB angeben. P#DB16.DBX8.0 BYTE 8
    mfG Aventinus

  3. Folgender Benutzer sagt Danke zu Aventinus für den nützlichen Beitrag:

    kruz_007 (31.03.2014)

  4. #3
    Registriert seit
    04.11.2010
    Beiträge
    31
    Danke
    16
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo AVentinus,

    danke für die Antwort,
    so habe ich gemacht leider hat nicht geklappt


    U M 10.0
    SPBNB _008
    CALL "SET_CLK"
    PDT :="DATE_AND_TIME".OPC
    RET_VAL:=MW2
    _008: NOP 0

  5. #4
    Registriert seit
    19.07.2010
    Beiträge
    1.289
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Wieso hat das nicht geklappt. Anscheinend hat er das Symbol dazu gefunden und der Datentyp passt auch.
    Wenn es nicht klappt liegt es möglicherweise daran, dass der OPC-Server nicht im gültigen Format sendet.
    mfG Aventinus

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

    kruz_007 (31.03.2014)

  7. #5
    Registriert seit
    04.11.2010
    Beiträge
    31
    Danke
    16
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Genau das ist das Problem, ich kann die gesendete Zeit nur als zwei Dezimale werte in meiner Variable Tabele beobachten (high and low, wie oben beschrieben) und nicht als Byte-weise wie man das von DATE_AND_TIME Format kennt.
    wie kann ich jetzt diese Zeit Byteweise teilen (spliten) so dass ich mit sfc0 schreiben kann ?

  8. #6
    Registriert seit
    19.07.2010
    Beiträge
    1.289
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Das ist nicht das Problem. Erstell mal eine Variablentabelle mit 8 Byte ab DB16.DBB8 in hexadezimaler Ansicht und poste die Werte mal.
    mfG Aventinus

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

    kruz_007 (31.03.2014)

  10. #7
    Registriert seit
    04.11.2010
    Beiträge
    31
    Danke
    16
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Variable tabelle.jpg
    so sieht es aus

  11. #8
    Registriert seit
    19.07.2010
    Beiträge
    1.289
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Das passt ja gar nicht.

    du müsstest in der Ansicht in Byte 8 z.B. B#16#14 für 2014 stehen haben die B#16#0 deutet auf Jahr 2000.
    In der nächsten Zeile hast du nicht mal einen gültigen BCD-Wert. Wenn du da den März haben möchtest müsste B#16#3 stehen usw
    mfG Aventinus

  12. Folgender Benutzer sagt Danke zu Aventinus für den nützlichen Beitrag:

    kruz_007 (31.03.2014)

  13. #9
    Registriert seit
    11.09.2007
    Ort
    Suedwestpfalz
    Beiträge
    917
    Danke
    81
    Erhielt 209 Danke für 192 Beiträge

    Standard

    @ Aventinus:

    Die Zeit scheint dezimal codiert 'reinzukommen. Und muss erst noch in BCD konvertiert werden damit der SFC das verwlten kann.
    Das Grauen lauert in der Zwischenablage !!

  14. Folgender Benutzer sagt Danke zu dtsclipper für den nützlichen Beitrag:

    kruz_007 (31.03.2014)

  15. #10
    Registriert seit
    04.11.2010
    Beiträge
    31
    Danke
    16
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    das meine ich ja auch, aber ganz oben bei DB16.DBD8 = L#14033114 ist aber die Richtige zeit
    kann ich anhand DB16.dbd8 und DB16.dbd12 die zeit in CPU schreiben ??

Ähnliche Themen

  1. Step 7 Format #TOD Zeit inkrementieren
    Von Mathias im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 28.11.2013, 11:55
  2. Step 7 Umwandlung von EIB/KNX Datum und Zeit in Step7 Format
    Von emis80 im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 17.06.2013, 20:48
  3. TP177 Datum/zeit -> CPU
    Von AndreK im Forum HMI
    Antworten: 2
    Letzter Beitrag: 09.03.2010, 13:24
  4. CPU Zeit auswerten
    Von HWPascal im Forum Programmierstrategien
    Antworten: 6
    Letzter Beitrag: 05.03.2009, 23:20
  5. CPU Zeit
    Von Pinguino im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 04.04.2007, 09:46

Lesezeichen

Berechtigungen

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