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

Ergebnis 1 bis 9 von 9

Thema: Addieren Real

  1. #1
    Registriert seit
    19.04.2007
    Beiträge
    15
    Danke
    7
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Moin,

    ich habe folgendes Thema.

    Wir haben ein Tagesmengezähler und ein Gesamtmengezähler.

    Ich habe ein Beispiel beigefügt. Wenn jetzt der Realzahl auf zb "0.0" steht addiert er mit jeder Puls schön 0.01. Wenn der Realzahl auf zb "88500.0" steht dan wird ab und zu ein Puls verpasst so sieht es aus. Der Tagesmenge zähler addiert mit der Puls wie es gehört, aber der Gesamtmenge zähler stockt ab und zu. Die Werte haben wir auch mal umgedreht, dan áddiert sich wieder der höhere Zahl ab und zu nicht. Es liegt also an diese etwas höhere Zahl. Aber wir wollen beim Kunden der Gesamtmengezähler einstellen so wie auch der IDM jetzt gezählt hat. "MB0" ist das Taktmerkerbyte. Wer weiss wo das d'ran liegt. Es war beim Kunde so im CPU312. Hier in der Firma auch auf ein CPU412.

    Wir haben Step7 5.4 SP2.

    Gr
    Angehängte Grafiken Angehängte Grafiken
    Zitieren Zitieren Addieren Real  

  2. #2
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    meiner meinung nach ein rundungsfehler ... rechne deine wert mal 100, dann wirds besser, addierst dann nämlich immer eine 1 ....
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. Folgender Benutzer sagt Danke zu vierlagig für den nützlichen Beitrag:

    Emilio (21.12.2007)

  4. #3
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.718
    Danke
    729
    Erhielt 1.158 Danke für 969 Beiträge

    Standard

    Wie vierlagig schon sagte, es ist besser immer eine 1 zu addieren. Am besten noch in einem DINT (DWORD) und nicht Real und dann nachher zur Darstellung auf HMI oder zur Weiterberechnung in Real wandeln.
    Hier eine FAQ zur Genauigkeit von Real in Berechnungen
    Geändert von marlob (21.12.2007 um 12:25 Uhr) Grund: Rechtschreibfehler korrigiert

  5. Folgender Benutzer sagt Danke zu marlob für den nützlichen Beitrag:

    Emilio (21.12.2007)

  6. #4
    Registriert seit
    28.10.2005
    Ort
    Ottweiler, Saar
    Beiträge
    940
    Danke
    259
    Erhielt 124 Danke für 109 Beiträge

    Standard

    Nimm doch lieber DINT zum Zählen, dafür sind die
    da. Die Methode von vierlagig bringt wohl eher nichts,
    denn Rundungsfehler verschieben sich damit nur.

  7. Folgender Benutzer sagt Danke zu argv_user für den nützlichen Beitrag:

    Emilio (21.12.2007)

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

    Standard

    Zitat Zitat von vierlagig Beitrag anzeigen
    meiner meinung nach ein rundungsfehler ... rechne deine wert mal 100, dann wirds besser, addierst dann nämlich immer eine 1 ....
    ... sehe ich genauso.
    Vielleicht wäre es auch schlau nicht eine REAL-Zahl zu inkrementieren sondern besser einen DINT. Der macht so etwas gar nicht erst und du kommst damit ohne Rundungsfehler etc. ganz sicher bis 2.000.000.000 und 'nen Keks. Das schaffst du mit REAL nicht, da du da nicht so viele Stellen zur Verfügung hast ...

    Gruß
    LL

    ... sind noch ein paar andere Kollegen der gleichen Meinung ...

  9. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    Emilio (21.12.2007)

  10. #6
    Emilio ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.04.2007
    Beiträge
    15
    Danke
    7
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke für den schnelle Antwort.

    Das Messgerät gebt 10 liter Impulse. Und wir zeichen in WinCC die Menge in m³. Deswegen haben wir das so gemacht.

    Aber ist die Ruindungsfehler denn eine Macke (bug) in der SPS? Oder wie funktioniert dies denn? Oder wie geht dies schief denn?

  11. #7
    Emilio ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.04.2007
    Beiträge
    15
    Danke
    7
    Erhielt 1 Danke für 1 Beitrag

    Standard

    hmmm, ich hab's schon. Es liegt an der Exponent der bei eine Addierung sogesagt gleich gemacht wird.

    Ok, danke!

  12. #8
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von argv_user Beitrag anzeigen
    Nimm doch lieber DINT zum Zählen, dafür sind die
    da. Die Methode von vierlagig bringt wohl eher nichts,
    denn Rundungsfehler verschieben sich damit nur.
    aber man kann den rest hinterm komma doch wegschmeißen ...aber ja, kinners, ihr habt recht DINT ist hier wirklich geeigneter, hab ich wieder nur die halbe lösung gebracht
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  13. #9
    Registriert seit
    24.05.2006
    Beiträge
    234
    Danke
    14
    Erhielt 77 Danke für 57 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Man muss bei Real halt immer bedenken, dass nur 23 Bit für die Mantisse zur Verfügung stehen - das sind etwa 7 Dezimalstellen (zzgl. Vorzeichen). Egal wie groß (z.B. 3.5357*10^27) oder klein (z.B. 2.76564*10^-19) die Zahl sein mag: es bleiben nur 7 Stellen.

    Bei DINT ist zwar der Wertebereich deutlich kleiner, aber es sind immerhin 31 Bit, also etwa 9,2 Dezimalstellen (plus Vorzeichen). Die Genauigkeit liegt also bei normierten Eingangswerten um mehr als den Faktor 100 höher!

  14. Folgende 3 Benutzer sagen Danke zu hovonlo für den nützlichen Beitrag:

    Emilio (21.12.2007),Ganz (21.12.2007),SIGGI (01.03.2009)

Ähnliche Themen

  1. Fehler beim addieren von Real-Werten
    Von Züttu im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 01.07.2011, 15:31
  2. Addieren von Werten
    Von 1schilcher im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 08.08.2007, 10:51
  3. Zählerergebnis addieren
    Von vario926 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 19.05.2007, 13:38
  4. BCD addieren CPU 224
    Von digidax im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 13.02.2006, 07:33
  5. Doppelworte addieren
    Von hubert im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 06.12.2005, 14:18

Lesezeichen

Berechtigungen

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