OSCAT Forum

oscat.lib => oscat.lib fuer TwinCAT/CoDeSys => Thema gestartet von: Fanta-Er am 08. März 2010, 21:51:33

Titel: Arithmetik doppelter Genauigkeit. R2 Funktionen.Gibt es einen Divisionsbaustein?
Beitrag von: Fanta-Er am 08. März 2010, 21:51:33
Hiho@all

Ich habe das Problem, dass ich mit 21bit Analogwerten arbeiten muss. Ob Sinn oder Unsinn möchte ich hier nicht diskutieren. Ich muss auf jedefall damit rechnen.
Ich habe in der lib die "Arithmetik doppelter Genauigkeit" Funktionen gefunden. R2_ABS, R2_ADD, R2_ADD2, R2_MUL und R2_SET.

Meine Frage ist nun, hat wer R2_DIV?
Gibt es einen Baustein der Division mit R2 kann?

Bin dankbar für JEDE Antwort.  ;)

MfG
Fanta
Titel: Re:Arithmetik doppelter Genauigkeit. R2 Funktionen.Gibt es einen Divisionsbaustein?
Beitrag von: hugo am 08. März 2010, 23:02:53
benötigst du eine division vom typ r2 / r2 oder r2 / r (r steht für real und r2 für double real)

die division durch einen einfachen real kannst du mit multiplikation mit dem kehrwert ersetzen.

also x2 / y  ersetzt mit r2_mul(x2, 1/Y)

die multiplikation oder division mit zwei doppeöt genauen argumenten ist nicht trivial


Titel: Re:Arithmetik doppelter Genauigkeit. R2 Funktionen.Gibt es einen Divisionsbaustein?
Beitrag von: Fanta-Er am 08. März 2010, 23:15:55
Am einfachsten wäre R2/R2. Dann kann ich meine Berechnungen durchführen und am ende wieder in ein "normales" zahlenformat wechseln bzw es in einem String darstellen.
Hast du so etwas? Ich glaube auch das es eine gute Ergänzung zur lib wäre. Somit hat man dann alle Grundrechenarten.

P.S. R2/R kann ich mit dem Baustein R2/R2 auch realisieren.

Titel: Re:Arithmetik doppelter Genauigkeit. R2 Funktionen.Gibt es einen Divisionsbaustein?
Beitrag von: hugo am 09. März 2010, 19:06:52
die multiplikation und die division mit zwei doppelt real zahlen ist nicht trivial, es scheitert daran das ich keinen verifizirten algorithmus dafür habe.

bei der multiplikation mit einer einfachen real zahl geht das ganz einfach, es werden die beiden teile minor and major jeweils mit der gleichen mulktipliziert.

2 doppelte zahlen multiplizieren geht eben nicht mehr so einfach, es fahlt mit definitiv am passenden algorithmus

Titel: Re:Arithmetik doppelter Genauigkeit. R2 Funktionen.Gibt es einen Divisionsbaustein?
Beitrag von: shooter am 29. März 2010, 13:46:57
hugo
ein idee gibts es bei mir.

benutze R2_MUL und check ob es zu hoch oder runter ist.
und dan mit succesive approximation zum endeffect gehen.

oder mach es mit alten arithmetik wie mathcad es macht also mit einem string.

die 21 bit ist das real oder Integer.

Titel: Re:Arithmetik doppelter Genauigkeit. R2 Funktionen.Gibt es einen Divisionsbaustein?
Beitrag von: Fanta-Er am 30. März 2010, 17:17:28
ist nen analogwert also int genauer dint.

danke dir...werde mal googel belästigen wie du das meinst und versuchen es zu verstehen^^.