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

Ergebnis 1 bis 7 von 7

Thema: Systemzeit setzen S7

  1. #1
    Registriert seit
    20.08.2009
    Beiträge
    137
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo

    versuche die Systemzeit ueber Wincc Flex zusetzen.

    Uhrzeit im Tod Format hab ich bereits es fehlt noch das Datum.
    Habe 3 Eingabefleder in Wincc Flex JAHR MONAT TAG aber leider keine Ahnung wie ich aus diesen 3 Daten ein DATE Format bekomme.

    zum Testen habe fuer die FC FC 3 D_TOD_DT das Datum nich Variabel
    und Time Variabel. nur leider geht die SPS auf Fehler.

    Ich denke es lieget am Ausgabewert der FC 3 D_TOD_DT
    Habe den Ausgabe Wert RET_VAL als Temp Variable DT erstellt das ist eventuell Falsch, in der FC Beschreibung steht
    "Der Rückgabewert kann nur mit einer symbolisch definierten Variablen belegt werden".

    Wie kann ich das verstehen.

    Ich bitte um Hilfe fuer das Problem Datum und fuer die FC FC 3 D_TOD_DT

    DANKE

    Gruss
    Zitieren Zitieren Systemzeit setzen S7  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo,
    DATE bei Step7 gibt an, wieviele Tage seit dem 01.01.1990 vergangen sind. Du müßtest dir also deine Einzel-Eingabe entsprechend umrechnen - und die Schaltjahre dabei berücksichtigen ...

    Gruß
    LL

  3. #3
    Registriert seit
    29.08.2007
    Beiträge
    212
    Danke
    41
    Erhielt 34 Danke für 23 Beiträge

    Standard

    In den Siemens FAQs gibt es einen Artikel dazu

    https://support.automation.siemens.c...ad=treecontent

    So hab ichs neulich auch gelöst

    Gruß
    van

  4. #4
    chefren_new ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    20.08.2009
    Beiträge
    137
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo

    Kann jetzt die Uhrzeit setzen aber leider hab ich noch immer keine Ahnung wie ich ein DATE bekomme.
    In Wincc Flex hab ich 3 Eingabefelder mit Jahr Monat und Tag.

    Kann mir Jemand sagen wie ich aus diesen 3 Felder ein DATE Format bekomme.

    Gruß

  5. #5
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    ... schade, dass du meinen Beitrag nicht gelesen hast (Beitrag #2 in diesem Thread) - oder ist dir daran noch etwas unklar ?

  6. #6
    chefren_new ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    20.08.2009
    Beiträge
    137
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo

    ja ich habe den Beitrage gelesen.
    Habe aber noch keine ahnung wie eine derartige Berechung funktioniert.

    git es einen einfacheren Weg?

    Gruß

  7. #7
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Nein ...
    es gibt keinen mir bekannten einfacheren Weg.
    Hier mal ein Code-Beispiel, wie das in SCL aussehen würde. Daraus könntest du dir auch einen AWL-Code bauen.
    Code:
    FUNCTION FC432 : VOID 
    //     Bausteinparameter
     
    VAR_INPUT 
       Jahr              : INT ;       // Jahr des Vorgabe-Date's
       Monat             : INT ;       // Monat des Vorgabe-Date's
       Tag               : INT ;       // Tag des Vorgabe-Date's
    END_VAR
    VAR_IN_OUT 
    END_VAR
    VAR_OUTPUT
       OUT_Date : DATE ;               // umgewandeltes Datum 
          i_Date AT OUT_Date : INT ;
       Wochentag         : INT ;       // Wochentag des Vorgabe-Date's  [1=So - 7=Sa]
       Schaltjahr        : INT ;       // Schaltjahr des Vorgabe-Date's
       Jahrestag         : INT ;       // Tag im Jahr des Vorgabe-Date's
       Kalenderwoche     : INT ;       // Kalenderwoche des Vorgabe-Date's
    END_VAR
    VAR_TEMP
       h_Jahr : INT ; 
       Anz_SJ : INT ; 
       Diff_J : INT ;
    END_VAR
     
    BEGIN
       h_Jahr := (Jahr MOD 100) + 10 ; // Bezug auf 1990
       
       i_Date := h_Jahr * 365 ;
       IF h_Jahr > 2 THEN i_Date := i_Date + ((h_Jahr -2) / 4) ; END_IF ;
       Schaltjahr := 0 ; IF (h_Jahr MOD 4) = 0 THEN Schaltjahr := 1 ; END_IF ;
       
       Jahrestag := Tag ;
       IF Monat >  1 THEN Jahrestag := Jahrestag + 31 ; END_IF ;
       IF Monat >  2 THEN Jahrestag := Jahrestag + 28 + Schaltjahr ; END_IF ;
       IF Monat >  3 THEN Jahrestag := Jahrestag + 31 ; END_IF ;
       IF Monat >  4 THEN Jahrestag := Jahrestag + 30 ; END_IF ;
       IF Monat >  5 THEN Jahrestag := Jahrestag + 31 ; END_IF ;
       IF Monat >  6 THEN Jahrestag := Jahrestag + 30 ; END_IF ;
       IF Monat >  7 THEN Jahrestag := Jahrestag + 31 ; END_IF ;
       IF Monat >  8 THEN Jahrestag := Jahrestag + 31 ; END_IF ;
       IF Monat >  9 THEN Jahrestag := Jahrestag + 30 ; END_IF ;
       IF Monat > 10 THEN Jahrestag := Jahrestag + 31 ; END_IF ;
       IF Monat > 11 THEN Jahrestag := Jahrestag + 30 ; END_IF ;
       
       i_Date := i_Date + Jahrestag ;
       Wochentag := (i_date MOD 7) + 1 ;
       Kalenderwoche := (Jahrestag + 7 + 3 - Wochentag) / 7 ;
    
    END_FUNCTION
    Gruß
    LL

Ähnliche Themen

  1. Systemzeit auslesen
    Von Steff3de im Forum CODESYS und IEC61131
    Antworten: 32
    Letzter Beitrag: 03.10.2012, 21:42
  2. TON und Systemzeit
    Von Bambam im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 04.08.2010, 18:53
  3. systemzeit auf op7
    Von linuxluder im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 25.11.2007, 17:39
  4. Systemzeit SPS
    Von Larry Laffer im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 03.06.2007, 11:35
  5. Systemzeit S7
    Von stricky im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 27.04.2006, 09:39

Lesezeichen

Berechtigungen

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