easy-forum

Downloadbereich => easySoft => Anwenderbausteine - Beispiele => Thema gestartet von: weiss_nix am Dezember 22, 2022, 11:33:30 Vormittag

Titel: Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: weiss_nix am Dezember 22, 2022, 11:33:30 Vormittag
Hallo easy Gemeinde,

pünktlich zum Fest habe ich einen IEEE754 Konverter programmiert und stelle euch diesen zur Verfügung.
Die Umrechnung ist auf Grund der beschränkten Möglichkeiten (mit erträglichem Aufwand 31 nutzbare Bit)
natürlich mit Rundungsfehlern behaftet welche sich aber in Grenzen halten da die Mantisse auf 9 Kommastellen basiert!

IA01 = IEEE754 32 Bit-Wert
IA02 = Gewünschte Festkomma Darstellung (Werte 1 bis max. 9, sonst ist das Ergebnis möglicherweise nicht wie erwartet)

Q01 = Achtung! wenn TRUE dann besteht ein Fehler in der IEEE Konvertierung
Q02 = Achtung! wenn TRUE dann besteht ein Fehler Festkomma Umrechnung
Q03 = Vorzeichen

QA01 = Exponent
QA02 = Mantisse
QA03 = Integer Anteil
QA04 = Dezimal Anteil
QA05 = Festkomma Integer

Sollte Q1/Q2 einen Fehler anzeigen habe ich auf das Löschen der berechneten
Werte absichtlich verzichtet um eine leichtere Fehleranalyse zu ermöglichen!

Für Fragen, konstruktive Kritik und natürlich Lob bin ich jederzeit empfänglich.

Weihnachtliche Grüße

UPDATE 15.3.2023
Grund: Fehler bei negativem Exponent, wird von easyE4 nicht unterstützt!

*** ACHTUNG UPDATE 12.5.2023 ***
Grund: Anschlussbeschreibung wird von easySoft 8 unterdrückt!
Bausteinbeschreibung im Bausteinkommentar eingefügt.

PS: Letztgültige Version V1.12 Passwort 'wx'
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: joelas am Dezember 23, 2022, 10:37:02 Vormittag
Hallo Weiss_nix,

danke vielmals, Dein Beispiel ist auf jeden Fall schon mal sehr lehrreich. Hatte nicht gewusst, dass es "**", "MOD" und Index-Operatoren "M[MDnn]" gibt. Das macht es natuerlich viel einfacher. Werde Deinen Block erst im naechsten Jahr testen koennen.
Trotzdem schon mal vielen Dank! Ich wuensche eine  friedvolle Weihnachtszeit.
Viele Gruesse aus Norwegen
Joel
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: weiss_nix am Dezember 29, 2022, 08:58:38 Vormittag
Hallo easy Gemeinde,

... ich habe die Funktion nochmal überarbeitet und die Genauigkeit der internen Berechnung auf 18 Kommastellen erweitert,
da das Ergebnis (aus meiner Sicht) bei großen Zahlen zu ungenau war!
Die Schnittstelle hat sich nicht verändert.

Gruß

PS: Letztgültige Version siehe 1. Beitrag!
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: weiss_nix am Januar 03, 2023, 09:13:39 Vormittag
Hallo easy Gemeinde, ich schon wieder ;)

- die Rundungsfehler konnten auf die ersten 5 Bit der Mantisse (kleinsten Werte) beschränkt werden
- der interne Ablauf wurde etwas verändert
- die Berechnung erfolgt nur bis Exponent 30 (bessere Performance bzw. Werte mit DWord sonst nicht darstellbar)
- einige Werte wurden durch Konstanten ersetzt (braucht weniger Speicher)
- die Schnittstelle hat sich nicht verändert

Für "ST interessierte" ... schaut es euch selber an.

Ich denke das sollte die letzte Änderung gewesen sein, außer ihr findet Fehler!
Wenn jemandem zu viel Speicher verbraten wird dann Kommentare löschen oder selber was Programmieren 8)

Ich wünsche Euch ein erfolgreiches neues Jahr

PS: Letztgültige Version siehe 1. Beitrag!
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: joelas am Januar 09, 2023, 09:21:47 Vormittag
Hallo "weiss_nix",

vielen Dank fuer die ueberarbeitete Version 1.11. Leider ist da jetzt ein Passwortschutz drauf....

Viele Gruesse aus Norwegen

JoelAs
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: weiss_nix am Januar 09, 2023, 09:32:58 Vormittag
...ich schau mir das später an, aber ich habe definitiv kein Passwort vergeben!

Gruß

PS: Letztgültige Version siehe 1. Beitrag!
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: weiss_nix am Januar 11, 2023, 09:30:23 Vormittag
Hallo Joel,
konntest du die UF jetzt öffnen?

Gruß
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: joelas am Januar 13, 2023, 07:32:45 Vormittag
Hallo Weiss_nix,
keine Aenderung, leider - siehe screenshot....
Viele Gruesse
JoelAs
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: radar17892 am Januar 13, 2023, 13:48:22 Nachmittag
Hallo, habs auch probiert, ist definitiv ein Passwort vergeben.
Gruß Thomas
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: weiss_nix am Januar 15, 2023, 06:38:18 Vormittag
... passwort "wx"

aber vermutlich muss man die vorherige Version aus dem System entfernen!

gruß

PS: Letztgültige Version siehe 1. Beitrag!
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: weiss_nix am Januar 21, 2023, 06:34:43 Vormittag
... hat sich das Problem mit dem Passwort nun gelöst?
Eigentlich wäre ich davon ausgegangen dass die easySoft-Entwickler das Problem mit dem unwillkürlichem Passwort in den Griff bekommen hätten!?!
Den Kommentar an die Entwickler erspare ich mir da er nicht sonderlich positiv ausfallen würde ...

Gruß
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: joelas am Februar 06, 2023, 11:35:08 Vormittag
Nein, leider nicht. Auch das Entfernen der vorigen Version hat nichts gebracht...
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: weiss_nix am Februar 06, 2023, 12:53:30 Nachmittag
Hallo Joel,
hast du die UF unter "ProgramData\Eaton\easySoft 7\UserFBs" auch gelöscht?

Gruß
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: joelas am Februar 07, 2023, 09:55:37 Vormittag
Hallo, danke fuer den Tipp. Aber nein, ich habe die Datei nicht explizit in C:\ProgramData\Eaton\easySoft 7\UserFBs geloescht, aber sie ist auch nicht mehr dort vorhanden, also gehe ich davon aus, dass sie beim entfernen i EasySoft7 automatisch geloescht wurde.
Also ist weiterhin der Schreibschutz drauf... :'(
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: weiss_nix am Februar 09, 2023, 05:00:04 Vormittag
@joleas,
blöde Frage, hast du auch 'wx' als Passwort eingegeben?!
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: joelas am Februar 09, 2023, 06:17:35 Vormittag
Keine bloede Frage, alles ist moeglich.
Aber ja, ich habe auch das Passwort "wx" probiert, mehrfach.
Hmmm....
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: weiss_nix am Februar 09, 2023, 06:41:06 Vormittag
 @all

PS: Letztgültige Version siehe 1. Beitrag!
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: radar17892 am Februar 09, 2023, 12:33:34 Nachmittag
@ weiss_nix
hab es getestet und die V1.12 geht mit PW wx. Hatte einfach nur den letzten UF aus der easysoft entfernt, aber nicht explizit aus dem Verzeichnis gelöscht.

Gruß Thomas
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: weiss_nix am Februar 09, 2023, 12:43:13 Nachmittag
Hallo Thomas,

Danke für die Info 👍
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: joelas am Februar 09, 2023, 12:52:22 Nachmittag
Ja, V1.12 funktioniert mit Passwort. Super, vielen Dank!

Gruss aus Norwegen(;-)))

Joel
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: weiss_nix am Februar 09, 2023, 13:43:51 Nachmittag
... passt, jetzt sollte nur noch die Funktionalität ausreichend sein  😉
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: Fokus6292 am März 15, 2023, 15:55:32 Nachmittag
Hallo,

jetzt bin ich mal dazu gekommen den Baustein zu nutzen.
Habe den SDM630 an einer Easy dran.
Spannung und Leistung auf dem ersten Blick ok. Echt super.
Beim Strom allerdings erhalte ich bei kleinen Werten nichts.  siehe Bild. Das sind auf dem Zähler ca. 0,200A
Bei Werten oberhalb von 1A passt es.  siehe Bild 2 da waren 1,027A
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: weiss_nix am März 15, 2023, 16:09:27 Nachmittag
Hallo Dieter,
danke für die Rückmeldung, es sieht so aus als es da Probleme mit negativen Exponenten gibt. Ich sehe mir das heute Abend an!
Gruß
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: weiss_nix am März 15, 2023, 17:14:11 Nachmittag
Hallo allerseits und danke an @Fokus6292!

In der V1.12 hatte sich ein kleiner Fehler eingeschlichen da die easyE4 keine negativen Exponenten (wie z.B. 2**-3) verarbeiten kann!
Der korrigierte Baustein wurde unter der ursprünglichen Versionsnummer gespeichert um ein Update bestehender Projekte zu erleichtern.

Gruß

PS: Letztgültige Version siehe 1. Beitrag!
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: Fokus6292 am März 22, 2023, 21:31:32 Nachmittag
hallo Weiss_nix,

super, werde das morgen testen.
Werde dann berichten. Erstmal Besten Dank für schnelle Umsetzung.
Gruß
Dieter
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: Fokus6292 am März 23, 2023, 16:00:37 Nachmittag
Hi weiss_nix,

passt perfekt. Ganz großen Dank für deine Umsetzung.
Habe jetzt auch meine PV Überschuss-Steuerung für meinen 3 stufigen Heizstab laufen.
Gruß
Dieter
Titel: Antw:Anwenderfunktion zum konvertieren von IEEE754 nach INTEGER
Beitrag von: weiss_nix am Mai 12, 2023, 10:18:10 Vormittag
Hallo allerseits!

Bei der easySoft 8 werden die Anschlusskommentare von Anwenderbausteinen nicht mehr angezeigt siehe hier (http://easy-forum.net/index.php?topic=8661.0)!
Daher habe ich die Bausteinbeschreibung zusätzlich im Bausteinkommentar eingefügt.
Der korrigierte Baustein wurde unter der ursprünglichen Versionsnummer gespeichert um ein Update bestehender Projekte zu erleichtern.

Gruß

PS: Letztgültige Version siehe 1. Beitrag!