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

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

Thema: BYTE in DATE schrieben

  1. #1
    Registriert seit
    10.08.2010
    Beiträge
    774
    Danke
    1
    Erhielt 14 Danke für 13 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo

    Ich habe einen JAHR, Monat und einen Tag im Format BYTE

    wie bekomme ich diesen in SCL in eine in Format DATE?

    aZEITATE;

    Wenn ic mir einen ZEIT: ARAAY[0..7] of BYTE anlege und die Bytes an die ensprechende stelle schreibe kann ich nicht das

    aZEIT:=ZEIT; ???
    Zitieren Zitieren BYTE in DATE schrieben  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.263
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Ich denke, in SCL wäre der AT-Befehl die richtige Wahl, damit kann man eine Sicht auf eine Variable anlegen. Sie dir mal in der Step7-Hilfe von SCl den AT-Befehl an. Kannst auch hier im Forum nach "AT" suchen, aber nicht mit dem AT aus Codesy verwechseln, das ist etwas anderes.
    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
    Registriert seit
    10.08.2010
    Beiträge
    774
    Danke
    1
    Erhielt 14 Danke für 13 Beiträge

    Standard

    Ja das habe ich aber ich bekomme ich BYTE nicht in die aDATE

    Code:
    FUNCTION OSTERN : DATE
    TITLE = 'OSTERN'
    
    VAR_INPUT
      year : INT;
    END_VAR
    
    
    VAR_TEMP
        // temporäre Variablen 
        a,b,c,d,e,f,g,h,i,k,l,m,n,o,x:INT;
        
        
        aDATE:DT;
        cDATE : DATE ;
            
               SZP AT aDATE:
           STRUCT 
            JAHR                          : BYTE;
            MONAT                         : BYTE;
            TAG                           : BYTE;
            STUNDE                        : BYTE;
            MINUTE                        : BYTE;
            SEKUNDE                       : BYTE;
            MS_MSD                        : BYTE;                          // MSD (most significant decade) von ms 
            MS_LSD                        : BYTE;
           END_STRUCT;
     END_VAR
     
     BEGIN
    
    
    a := year MOD 19;
    b := year / 100;
    c := year MOD 100;
    d := b / 4;
    e := b MOD 4;
    f := (b + 8) / 25;
    g := (b - f + 1) / 3;
    h := (19 * a + b - d -g + 15) MOD 30;
    i := C / 4;
    k := c MOD 4;
    l := (32 + 2*e + 2*i - h - k) MOD 7;
    m := (a + 11 * h + 22 * l) / 451;
    x := h + l - 7 * m + 114;
    n := X / 31;
    o := x MOD 31 + 1;
    
    SZP.JAHR:=INT_TO_BYTE (year);
    SZP.MONAT:=INT_TO_BYTE (n);
    SZP.TAG:=INT_TO_BYTE (o);
    
    
    cDATE :=DT_DATE(IN :=aDATE);  
     
    ostern :=cDATE;
    
                   
     END_FUNCTION

  4. #4
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Hi,

    das ist ja auch nur ein DATE, probiere mal DATE_AND_TIME

    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  5. #5
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Oh falsch. Habs falsch gelesen.
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  6. #6
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Habe es mal übersetzen lassen. Geht problemlos.
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  7. #7
    Registriert seit
    10.08.2010
    Beiträge
    774
    Danke
    1
    Erhielt 14 Danke für 13 Beiträge

    Standard

    Was muss ich jetzt änder ???

  8. #8
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Nicht vergessen DATE AND TIME ist BCD kodiert.
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  9. #9
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Zitat Zitat von emilio20 Beitrag anzeigen
    Was muss ich jetzt änder ???
    Nichts es lässt sich Problemlos übersetzen (v5.3 SP6). Welche SCL Version hast Du?
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  10. #10
    Registriert seit
    10.08.2010
    Beiträge
    774
    Danke
    1
    Erhielt 14 Danke für 13 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ja aber ich wollte doch das berechnete DATUM haben in DATE.
    Wie bekomme ich jetzt die einselnen Byte' s von JAHR MONAT und TAG in ein DATE format ?

Ähnliche Themen

  1. Wie kann man Hi-Byte Low-Byte spiegeln?
    Von Klärmolch im Forum Simatic
    Antworten: 23
    Letzter Beitrag: 11.12.2010, 20:58
  2. Umwandeln von INT nach Byte u Byte + n
    Von Gerold im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 07.04.2009, 10:07
  3. libnodave integer in sps schrieben
    Von david.ka im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 10.09.2008, 09:27
  4. Antworten: 4
    Letzter Beitrag: 08.07.2008, 08:52
  5. Antworten: 4
    Letzter Beitrag: 23.09.2007, 21:25

Lesezeichen

Berechtigungen

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