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

Ergebnis 1 bis 6 von 6

Thema: Fehler beim addieren von Real-Werten

  1. #1
    Registriert seit
    05.10.2006
    Beiträge
    169
    Danke
    21
    Erhielt 19 Danke für 11 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Mir ist aufgefallen das beim addieren von Real-Werten ein Rundungsfehler auftritt. Konkret habe ich unten stehenden Code geschrieben um die Impulse von einem Durchlfussmesser in einen Wert zu wandeln. Nach einiger Zeit ergibt sich aber einige stellen hinter dem Komma ein Fehler, woher kommt das, hat das auch schon jemand beobachtet?

    Code:
          U     "M0.5_Taktmerker_1Hz"
          FP    M     10.1
          SPBN  WEIT
          L     MD    20
          L     1.000000e-001
          +R    
          T     MD    20
    WEIT: NOP   0
    Zitieren Zitieren Fehler beim addieren von Real-Werten  

  2. #2
    Registriert seit
    07.06.2006
    Ort
    Bayern
    Beiträge
    623
    Danke
    27
    Erhielt 156 Danke für 139 Beiträge

    Standard

    macht euch halt mal die Mühe und benutzt die Suchfunktion im Board.

    Wenn man da z.B. Rundungsfehler eintippt dann stößt man z.B. auf diesen Thread Link

    Da ist auch ein FAQ von Siemens dazu verlinkt.

  3. #3
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Zitat Zitat von Züttu Beitrag anzeigen
    Mir ist aufgefallen das beim addieren von Real-Werten ein Rundungsfehler auftritt.
    Beschreibung

    Die Gleitpunkt-Funktionen beeinflussen die Bits A1, A0, OV und OS im Statuswort.
    Die folgenden Tabellen zeigen den Signalzustand der Bits im Statuswort für die Ergebnisse von Operationen mit Gleitpunktzahlen (32 Bit).


    Gültiger Bereich A1 A0 OV OS
    +0, -0 (Null) 0 0 0 *
    -3,402823E+38 < Ergebnis < -1,175494E-38 (negative Zahl) 0 1 0 *
    +1,175494E-38 < Ergebnis < 3,402824E+38 (positive Zahl) 1 0 0 *
    * Das OS-Bit wird vom Ergebnis der Operation nicht beeinflußt.


    Ungültiger Bereich A1 A0 OV OS
    Unterschreitung
    -1,175494E-38 < Ergebnis < - 1,401298E-45 (negative Zahl) 0 0 1 1
    Unterschreitung
    +1,401298E-45 < Ergebnis < +1,175494E-38 (positive Zahl) 0 0 1 1
    Überlauf
    Ergebnis < -3,402823E+38 (negative Zahl) 0 1 1 1
    Überlauf
    Ergebnis > 3,402823E+38 (positive Zahl) 1 0 1 1
    keine gültige Gleitpunktzahl oder unzulässige Operation (Eingangswert außerhalb des gültigen Wertebereichs) 1 1 1 1
    irgendwann bist du nicht mehr im gültigen Bereich.

  4. #4
    Züttu ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.10.2006
    Beiträge
    169
    Danke
    21
    Erhielt 19 Danke für 11 Beiträge

    Standard

    danke für eure schnellen Antworten, ich hab mir jetzt kurz die FAQ von Siemens durchgelesen, das erste Beispiel hab ich auch mehr oder weniger begriffen.

    Das heisst das beim addieren und subtrahieren die Exponenten angeglichen werden, und alles was weiter als 6 Stellen hinter dem Komma ist fällt weg.

    geh ich dann richtig in der Annahme das folgende Rechnung korrekt ist?

    Code:
    L     1.000000e+003
          L     1.000000e-005
          +R    
          =     1.000000e+003

  5. #5
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.260
    Danke
    537
    Erhielt 2.705 Danke für 1.954 Beiträge

    Standard

    @verpolt
    ??? das hat eher nichts mit dem "Rundungsfehler" zu tun.

    Hier http://www.sps-forum.de/showpost.php...91&postcount=9 ist das gut beschrieben.

    @Züttu

    Du kannst ja mal versuchen, eine kleine Realzahl auf eine sehr große Realzahl aufzuaddieren. Da ändert sich dann gar nichts mehr.
    Ich würde an deiner Stelle eine DINT nutzen, das reicht im Allgemeinen aus.

    Edit: Ich sehe, du hast das schon selbst gefunden.
    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

  6. #6
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Ralle Beitrag anzeigen
    @verpolt
    ??? das hat eher nichts mit dem "Rundungsfehler" zu tun.
    hatte ich auch nicht behauptet.

Ähnliche Themen

  1. Probleme beim Zahlen Addieren
    Von sonic_229 im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 09.08.2011, 15:28
  2. Antworten: 1
    Letzter Beitrag: 30.10.2008, 16:02
  3. Addieren Real
    Von Emilio im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 21.12.2007, 13:37
  4. Addieren von Werten
    Von 1schilcher im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 08.08.2007, 10:51
  5. Antworten: 6
    Letzter Beitrag: 05.02.2007, 21:03

Lesezeichen

Berechtigungen

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