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

Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 22 von 22

Thema: Millisekunden ind Stunden/Minuten umrechnen

  1. #21
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.302
    Danke
    932
    Erhielt 3.321 Danke für 2.683 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von dizzi33 Beitrag anzeigen
    Der Tip von DN/DP wär glaube ich der richtige, aber da steig ich programmtechnisch aus

    aber ich tippsle ja hier rum um was dazuzulernen
    Zitat Zitat von PN/DP Beitrag anzeigen
    Wie kann ein vorhandener Sekundenwert in die benötigten Tage, Stunden, Minuten und Sekunden berechnet werden?
    [...]
    Oder Du änderst den Baustein so, daß er gleich mit TIME (Millisekunden) am Eingang klarkommt.
    Das sind gerade mal 2 Programmzeilen gleich am Bausteinanfang, die Du zufügen müsstest, und Dein Zerlegungsbaustein wäre "fertig".
    Noch die Deklaration des IN-Parameters value von DINT zu TIME ändern und Du könntest den Baustein für die Zerlegung benutzen.
    Code:
          L     #value      //alt: Sekunden (DINT) / neu: Millisekunden (TIME)
          L     1000        // <-- zufügen
          /D                // <-- zufügen
          T     #sDiValue   //Sekunden (DINT)
    Zitat Zitat von PN/DP Beitrag anzeigen
    Wenn Du Dir den Baustein genauer ansiehst, dann wird Dir aber vielleicht klar, warum wahre Profis die simple Umrechnung lieber gleich selber programmieren, statt sich solche umständlichen Fremdbausteine ins Projekt zu holen.
    Falls Du von dem Baustein auch die formatierte Stringausgabe nutzen willst, dann müsstest Du erstmal ca. 9 Fehler beseitigen

    Zumindest kannst Du ja den Bausteinrumpf übernehmen. Wenn Du eines Tages mehr Ahnung vom Programmieren hast, dann schmeisst Du den ganzen Müll-Code da raus und packst dafür den schlanken und effizienten Code von Ralle rein.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  2. #22
    Registriert seit
    11.02.2009
    Ort
    01968 Brieske
    Beiträge
    105
    Danke
    25
    Erhielt 6 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    ich habe da mal was vorgekramt, das hatte ich mal programmiert wo ich mit SCL angefangen hatte. Vielleicht hilft dir das weiter...

    Code:
    // **************************************************************************************************************
    // **************************************************************************************************************
    // *****                                                                                                    *****
    // *****    Zeit_ms_to_Uhrzeit                                                                              *****
    // *****    Umwandlung von Millisekunden in Urhzeit                                                         *****
    // *****                                                                                                    *****
    // **************************************************************************************************************
    // **************************************************************************************************************
     
    FUNCTION Zeit_ms_to_Uhrzeit: VOID
     TITLE = 'Zeit_ms_to_Uhrzeit'
        // - Dirk Gollasch
     AUTHOR: Gollasch
     Name: 'DG'
     VERSION: '1.0'
    
    VAR_INPUT
        ms:                     DINT;                                               // zu wandelne Zeitwert in Millisekunden
    END_VAR
    
    VAR_OUTPUT
        Tage:                   INT;                                                // Tage
        Stunden:                INT;                                                // Stunden
        Minuten:                INT;                                                // Minuten
        Sekunden:               INT;                                                // Sekunden
        mSekunden:              INT;                                                // Millisekunden
    END_VAR
    
    VAR_TEMP
        tTage:                  DINT;
        tStunden:               DINT;
        tMinuten:               DINT;
        tSekunden:              DINT;
        tMSekunden:             DINT;
        Rest:                   DINT;
    END_VAR
     
    LABEL
    END_LABEL
     
     
     
    BEGIN
    // Tage
        tTage:= ms / 86400000;
        Rest:= ms - (tTage * 86400000);
    
    // Stunden
        tStunden:= Rest / 3600000;
        Rest:= Rest - (tStunden * 3600000);
        Stunden:= DINT_TO_INT(tStunden);
    
    // Minuten
        tMinuten:= Rest / 60000;
        Rest:= Rest - (tMinuten * 60000);
        Minuten:= DINT_TO_INT(tMinuten);
    
    // Sekunden
        tSekunden:= Rest / 1000;
        Rest:= Rest - (tSekunden * 1000);
        Sekunden:= DINT_TO_INT(tSekunden);
    
    // MilliSekunden
        tMSekunden:= Rest;
        mSekunden:= DINT_TO_INT(tMSekunden);
     
     
    OK := TRUE;
    END_FUNCTION
    Dirk
    >>> Bestandsschutz gibt es nicht - allenfalls ein: "Nichtvorhandensein einer Anpassungspflicht" <<<

Ähnliche Themen

  1. Step 7 TOD umwaneln in Minuten und Stunden
    Von S7_1500 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 12.10.2017, 09:45
  2. Zeit in Format REAL in Minuten und Stunden aufsplitten
    Von ThomasKl im Forum Programmierstrategien
    Antworten: 9
    Letzter Beitrag: 24.08.2014, 15:38
  3. TIA Minuten in Stunden umwandeln
    Von kuti im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 07.10.2013, 21:52
  4. SCL TIME in minuten umrechnen
    Von michdan im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 30.06.2008, 23:02
  5. Antworten: 4
    Letzter Beitrag: 07.04.2006, 14:52

Lesezeichen

Berechtigungen

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