Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

Addition von REAL-Zahlen

Eliza
2008-05-20
2008-05-20
  • Eliza - 2008-05-20

    Hallo!

    Arbeite mit WAGO 750-841 und habe eigentlich ein recht banales Problem bzw. sehe den Wald vor lauter Bäumen nicht. Habe eine Gleichung, die ich schon soweit in Zwischenschritte und Zwischenergebnisse unterteilt habe, dass ich das Problem auf folgendes eingrenzen konnte:

    Wieso ergibt die Addition zweier REAL-Zahlen immer 1,42*10^-42????? Dieses Phänomen tritt immer auf, sobald Zahlen ungleich Null addiert werden sollen. Beide Zahlen sind REAL-Variablen, die Zwischenergebnisse anderer Rechnungen sind. Auch wenn ich mir eine Dummy-Variable bastle und diese noch dranaddiere und sie online verändere, ändert sich am Ergebnis nichts.

    Hoffe auf schnelle Hilfe und Danke im Voraus.

    Eliza

     
  • Tobi - 2008-05-20

    Hallo,

    bis ich deinen letzten Satz gelesen habe, hatte ich auf Rundungsfehler getippt. Ist es möglich, dass sich die beiden Werte (bis aufs VZ) stark ähneln und du deshalb ~0 rausbekommst? Eine Erklärung für das Verhalten im letzten Satz ist das aber auch noch nicht. Vielleicht kannst du ka mal den betreffenden Teil des Projektes hier posten...

    Bedenke auch, dass bei REAL nicht immer 8var_real = 8.00var_real sein muss....

    Gruß

     
  • Eliza - 2008-05-20

    Hallo!

    Nein, die Werte ähneln sich leider nicht besonders. Es ist auch eigentlich egal ob ich 5.xxx + 0.15 oder 100.xxx + irgendwas rechne. Kommt immer das Gleiche raus. Hab mal nen Screenshot gepostet, ganzes Projekt ist etwas umfangreich. Geht um das Ergebnis für "Zw6". Alle Variablen sind REAL. (ab ist eine dummy-variable zum online testen. Ergebnis ist das gleiche wenn man sie weglässt.)

    Danke nochmal!

    Eliza

    IMG: screen3.JPG

     
  • Eliza - 2008-05-20

    okay, mit nachkommastellen könnte ich leben, aber nicht mit SOLCHEN abweichungen....

    werde das gleich mal ausprobieren, ob das mit ganzzahlen besser klappt.

     
  • Eliza - 2008-05-20

    irgendwelche ideen???????? bin jetzt echt ein bisschen ratlos.......

    (ach ja: die variable messhoehe wird sonst nirgends anders geschrieben!)

    IMG: screen4.JPG

     
  • Eliza - 2008-05-20

    problem gelöst: wie man in den screenshots erkennen kann, wird die variable "messhoehe" durch "limit" begrenzt. die obergrenze war dabei eine int-variable. also vorher einfach eine dummy variable generiert, die als real deklariert und als obergrenze eingesetzt. - sollte das nicht eigentlich automatisch passieren bzw. zumindest eine warnung rausschmeißen???????

     

Log in to post a comment.