TIA Probleme mit ADD_REAL

Zuviel Werbung?
-> Hier kostenlos registrieren
Also Ich habe mit V12 und V13 bei bei 1200 und 1500 CPU´s noch nie so ein verhalte beim Addieren von Realzahlen feststellen können.... Zähl aber allerhand Sachen.. und hab mir Sogar einen VirtuellenGeber in SCL geschrieben der alles in REAL verarbeitet... auch ohne Probleme...

Ich denken mal da Hucki recht hat und du mit der Flanke die deb Addierbefehl auslöst ein Problem hast..

Versuch mal...

den Eingang mit einer Verzögerungszeit zu Entprellen und danach einen Flankenmerker zu setzen der die Addierung auslöst!!!!
lg
 
Also Ich habe mit V12 und V13 bei bei 1200 und 1500 CPU´s noch nie so ein verhalte beim Addieren von Realzahlen feststellen können.... Zähl aber allerhand Sachen.. und hab mir Sogar einen VirtuellenGeber in SCL geschrieben der alles in REAL verarbeitet... auch ohne Probleme...

Das geht auch in den meisten Fällen. Problematisch wird es dann, wenn du zwei Werte addierst, die sich in ihrer Größe sehr stark unterscheiden. Also z.Bsp. einen Wert aufaddierst, der irgendwann sehr groß wird, dein aufzuaddierender Wert aber sehr klein ist. Das liegt daran, dass eine Realzahl immer nur 7 Ziffern (hoffe ich erinnere richtig) darstellt. Der Rest der Zahl ist dann der Exponent.

Hast du eine sehr große Zahl:

123 456 789 dann ist das z.Bsp. 1.23456 10^9, genauer geht es schon nicht mehr, da fehlt etwas!!!

Wenn du zu dieser Zahl eine einfache 1 addieren willst, dann gibt es das besagte Problem, es passiert --> NICHTS

Ich hab das mal so aus dem Kopf etwas populär erläutert, genauer bekommt man das sicher bei Wikipedia erklärt. :)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So ich habe jetzt nochmal den Zähler direkt zwischen am Ausgang des Flankenmerkers und dem Addierglied positioniert und kann festhalten dass es kein Problem des Flankenmerkers oder einem Prellen des Eingangs ist, sondern definitiv an dem Addierglied liegen muss. Während das Addierglied 1m³ (sprich 100 Pulse) summiert, hat der Zähler konstant immer nur 64 Impulse gezählt. Schein also doch irgendwie etwas mit der REAL Problematik zu tun zu haben.
 

Anhänge

  • FC50.JPG
    FC50.JPG
    225,7 KB · Aufrufe: 16
Warum nimmst du nicht einen ADD für Integer? Der Zählerbaustein hat nochmal eine eigene Flankenerkennung.

Hast du schonmal probiert den Real-Zählwert auf 0,0 zu setzen und dann die Impulse zu Zählen? Die Ungenauigkeit tritt erst auf wenn der Abstand zwischen den beiden Summanden zu groß ist.
 
So ich habe jetzt nochmal den Zähler direkt zwischen am Ausgang des Flankenmerkers und dem Addierglied positioniert und kann festhalten dass es kein Problem des Flankenmerkers oder einem Prellen des Eingangs ist, sondern definitiv an dem Addierglied liegen muss. Während das Addierglied 1m³ (sprich 100 Pulse) summiert, hat der Zähler konstant immer nur 64 Impulse gezählt. Schein also doch irgendwie etwas mit der REAL Problematik zu tun zu haben.
Bist Du sicher, dass Du den Zähler in Dezimaldarstellung angesehen hast? 64 Hex ist nämlich 100 Dezimal.

Gruß
Erich
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja bin ich. Vielleicht auch falsch geschrieben. Die Differenz des absoluten Zählerstandes betrug 64. Habe das Programm jetzt dahingehend angepasst dass ich DINT Zähle. Musste dann halt noch mal wandeln und durch 100 Teilen wegen den 0,01 pro Impuls. Aber sieht soweit ganz gut aus und scheint zu passen.
 
Zurück
Oben