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

Page 1 of 2 12 LastLast
Results 1 to 10 of 12

Thread: Date_and_Time vom OB auslesen

  1. #1
    Join Date
    14.02.2006
    Posts
    61
    Danke
    21
    Erhielt 4 Danke für 3 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, habe ein Problem was ich mir nicht erklären kann. Lese die aktuelle Uhrzeit vom OB 1 aus unter den Lokaldaten und es funktioniert auch alles bis auf den Wochentag. Habe keine Ahnung wieso der nicht richtig ausgelesen wird.

    Die Standartdeklaration von Siemens im OB 1:
    OB1_DATE_TIME Adresse:12.0

    Das ist der Code dafür:
    L LB 12 //Jahr
    BTI
    T "Jahr"

    L LB 13 //Monat
    BTI
    T "Monat"

    L LB 14 //Tag
    BTI
    T "Tag"

    L LB 15 //Stunde
    BTI
    T "Stunde"

    L LB 16 //Minute
    BTI
    T "Minute"

    L LB 17 //Sekunde
    BTI
    T "Sekunde"

    L LB 18 //Millisekunden
    BTI
    T "Millisekunden"

    L LB 19 //Wochentag
    BTI
    T "Wochentag"

    das Problem ist das der Wochentag von 0-100 (INT) läuft???
    Habe es auch schon mit dem READ_CLK versucht und da ist es das selbe- irgendwie komme ich drauf auf diesen Fehler.

    Der Aufbau des Formats ist ja: Byte n ist Jahr, Byte n+1 ist das Monat und Byte n+7 ist der Wochentag usw...
    Reply With Quote Reply With Quote Date_and_Time vom OB auslesen  

  2. Folgender Benutzer sagt Danke zu taucherd für den nützlichen Beitrag:

    win98 (14.09.2009)

  3. #2
    Join Date
    08.08.2007
    Location
    Dresden
    Posts
    9,882
    Danke
    1,064
    Erhielt 2,056 Danke für 1,632 Beiträge

    Default

    Quote Originally Posted by taucherd View Post
    das Problem ist das der Wochentag von 0-100 (INT) läuft???
    und du bist dir sicher, dass deine anzeige INT ist?

    bei S fängt die woche sonntag mit 1 an und endet samstag mit 7
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  4. #3
    Join Date
    14.02.2006
    Posts
    61
    Danke
    21
    Erhielt 4 Danke für 3 Beiträge

    Default

    Ja meine Variablen sind als INT definiert, hier eine Abbildung der Sysmboltabelle.
    Wie gesagt es funktioniert auch nicht mit dem SFC1- der macht das selbe.

    Sysmboltabelle

    Jahr MW 30 INT
    Monat MW 32 INT
    Tag MW 34 INT
    Stunde MW 36 INT
    Minute MW 38 INT
    Sekunde MW 40 INT
    Millisekunden MW 42 INT
    Wochentag MW 44 INT

  5. #4
    Join Date
    08.08.2007
    Location
    Dresden
    Posts
    9,882
    Danke
    1,064
    Erhielt 2,056 Danke für 1,632 Beiträge

    Default

    benutze den FC7 DT_DAY aus den IEC-funktionen, der funktioniert sicher ...
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  6. #5
    Join Date
    08.04.2008
    Location
    Köln
    Posts
    846
    Danke
    39
    Erhielt 244 Danke für 199 Beiträge

    Default

    Hallo Taucherd,

    im letzte Byte im DATE_AND_TIME steht auch noch die letzte Stelle der ms BCD-Codiert.
    Wenn Du mit
    Code:
    SLW 12
    SRW 12
    die ms rausschiebst hast Du dann im AKKU1 den Wochentag von 1-7 (INT).


    Grüße
    Gebs

  7. Folgender Benutzer sagt Danke zu Gebs für den nützlichen Beitrag:

    vierlagig (09.12.2008)

  8. #6
    Join Date
    14.02.2006
    Posts
    61
    Danke
    21
    Erhielt 4 Danke für 3 Beiträge

    Default

    Steht die letzte Stelle von den Millisekunden vielleicht im Byte n+7 an erster Stelle? und der Wochentag an zweiter Stelle? denn das würde stimmen 3=Dienstag

    Und laut Siemens steht im Byte n+6 die Milisekunden von 000...999 als BCD, wie soll das gehen? dafür ist ein byte ein bischen zu klein, oder...

  9. #7
    Join Date
    08.04.2008
    Location
    Köln
    Posts
    846
    Danke
    39
    Erhielt 244 Danke für 199 Beiträge

    Default

    für die ms mit 3 Stellen BCD-Codiert brauchst Du auch 3 Nibble.
    d.h. Byte 6 linkes Nibble : 100er -Stelle (BCD)
    Byte 6 rechtes Nibble: 10er-Stelle (BCD)
    Byte 7 linkes Nibble: 1er-Stelle (BCD)
    Byte 7 rechtes Nibble: Wochentag (INT)

    Grüße
    Gebs

  10. Folgender Benutzer sagt Danke zu Gebs für den nützlichen Beitrag:

    taucherd (09.12.2008)

  11. #8
    Join Date
    08.08.2007
    Location
    Dresden
    Posts
    9,882
    Danke
    1,064
    Erhielt 2,056 Danke für 1,632 Beiträge

    Default

    ich würde einfach die IEC-funktionen

    Zusammenfassen DATE und TIME_OF_DAY zu DT D_TOD_DT FC 3
    Extrahieren DATE aus DT DT_DATE FC 6
    Extrahieren des Wochentags aus DT DT_DAY FC 7
    Extrahieren TIME_OF_DAY aus DT DT_TOD FC 8

    verwenden, das spart ne menge nerven
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

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

    taucherd (09.12.2008)

  13. #9
    Join Date
    08.08.2007
    Location
    Dresden
    Posts
    9,882
    Danke
    1,064
    Erhielt 2,056 Danke für 1,632 Beiträge

    Default

    so sieht es aus, wenn man sich an Gebs vorgaben hält - danke dafür auch von mir.

    Code:
    *
          L     LW    18
          SRW   4
          BTI   
          T     "Millisekunden"
    
          L     LW    18
          SLW   12
          SRW   12
          BTI   
          T     "Wochentag"
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  14. #10
    Join Date
    18.04.2005
    Location
    Fast an der Schweiz
    Posts
    928
    Danke
    234
    Erhielt 114 Danke für 79 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi

    ich hab es mit folgendem Link gemacht :

    http://support.automation.siemens.co...elled=&lang=de

    ich hoff er funktioniert.

    Da kannst Du 3 Beispiele benutzten mit anleitung die sind sehr einfach gehalten. Incl. WCF Bilder. Da ist alles ausprogramiert.

    Gruss Wälder
    Code:
    IF Suppe = fad THEN
        Salz = true
    End IF
    
    `Salz isch Cool
    Arbeitet mit : Step7 V5.6 / WinCC Flex 2008 SP5 / Intouch / Winmod /TIA V15

    ║▌║█║║▌║█║ Warnung! Falscher oder fehlender Kaffee - Benutzer angehalten --(◔̯◔)--
    1334566890111

Similar Threads

  1. Replies: 0
    Last Post: 25.11.2015, 06:17
  2. Replies: 8
    Last Post: 22.04.2011, 22:58
  3. Aktuelle Position vom Schrittmotor auslesen
    By sharkal in forum Simatic
    Replies: 1
    Last Post: 13.09.2010, 09:21
  4. AS-Register vom externen Programm auslesen
    By Zoomy in forum Simatic
    Replies: 9
    Last Post: 10.12.2009, 21:10
  5. DB automatisch auslesen? abhägig vom MW-Zustand
    By Anonymous in forum Simatic
    Replies: 5
    Last Post: 27.09.2005, 09:55

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •