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

Ergebnis 1 bis 6 von 6

Thema: SCL Division mit Rest

  1. #1
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.620
    Danke
    777
    Erhielt 647 Danke für 493 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi zusammen. Ich versuch grad aus einem TOD eine realzahl im Format HH.MM zu erstellen.

    Code:
    (TOD_TO_DINT(FC8 (IN := SPS_DT)) / 3600000)
    Damit hätte ich ja schon die Stunden. Jetzt würde ich aber gerne eine Division ausführen bei der ich den Rest auch noch bekomme um damit noch die Sekunden zu errechnen.

    Hat jemand eine Idee? Die Suche war für SCL etwas ergebnislos.

    mfG René
    Zitieren Zitieren SCL Division mit Rest  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    MOD statt / bringt den Rest.

    Code:
    Test := 10 mod 3;
    Oder du multiplizierst das Ergebnis wieder mit dem Divisor und ziehtst das vom ursprünglichen Ausgangswert ab.
    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. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    vollmi (05.06.2009)

  4. #3
    Registriert seit
    01.03.2007
    Beiträge
    262
    Danke
    26
    Erhielt 33 Danke für 28 Beiträge

    Standard

    Ich würde mal sagen, dass das so gehen sollte:

    Code:
    std := tod DIV 3600000;
    tod := tod MOD 3600000;
    min := tod DIV 60000;
    tod := tod MOD 60000;
    sec := tod DIV 1000;
    tod := tod MOD 1000;
    millisec := tod;

  5. #4
    Avatar von vollmi
    vollmi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.620
    Danke
    777
    Erhielt 647 Danke für 493 Beiträge

    Standard

    Danke euch MOD genau das hab ich gesucht.

    Jetzt hab ich mir die Real anständig zusammensetzen können.

    Code:
    SPS_TOD := (DINT_TO_REAL((TOD_TO_DINT(FC8 (IN := SPS_DT)) / 3600000))) + ((DINT_TO_REAL(TOD_TO_DINT(FC8 (IN := SPS_DT)) MOD 3600000) / 60000) / 100);
    Is a bissel verschachtelt und überklammert, aber ich finde so sind die Zusammenhänge besser ersichtlich als wenn man alles rauskürzt.
    Als Resultat krieg ich jetzt eine Real Zahl im Format HH.MM

    mfG René
    Geändert von vollmi (05.06.2009 um 13:11 Uhr)

  6. #5
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    ... das hat den Nachteil, dass der FC8 zwei Mal (ünnötigerweise) aufgerufen wird und deinen Zyklus damit belastet ...

  7. #6
    Avatar von vollmi
    vollmi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.620
    Danke
    777
    Erhielt 647 Danke für 493 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Larry Laffer Beitrag anzeigen
    ... das hat den Nachteil, dass der FC8 zwei Mal (ünnötigerweise) aufgerufen wird und deinen Zyklus damit belastet ...
    Grundsätzlich wärs eh sinnvoll den FC8 Zentral aufzurufen und dann das Resultat in nem DB zur Verfügung zu stellen. Werd ich dann auch noch so umbiegen.

    mfG René

Ähnliche Themen

  1. 64/32 Bit Division in AWL
    Von Lisa im Forum Simatic
    Antworten: 37
    Letzter Beitrag: 19.02.2010, 14:09
  2. Timer-Rest
    Von t3kaese im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 24.05.2007, 10:51
  3. Rest nach der Kommastelle
    Von TedescoA im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 05.01.2007, 08:39
  4. Division von DInt
    Von godi im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 07.01.2006, 08:10
  5. Timer Rest-Zeitwert
    Von Maxdo im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 02.07.2004, 11:55

Lesezeichen

Berechtigungen

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