Autor Thema: Modbus Analogwert float32  (Gelesen 891 mal)

Offline Pinguin3

  • Newbie
  • *
  • Beiträge: 4
Modbus Analogwert float32
« am: Mai 06, 2023, 15:15:33 Nachmittag »
Hallo Zusammen,

ich nutzte den Baustein von weiss_nix für das Umwandeln eines Analogwertes. Der Analogwert wird über Modbus TCP eingelesen. Leider funktioniert aber irgendwie das Umwandeln nicht. Meine Frage ist, ob ich hier einfach ein Fehler beim Einlesen über Modbus mache oder den Wert einfach falsch verschalte. Ich hab das Projekt mal angehängt.

Wäre schön, wenn mich jemand unterstützten könnte und mal kurz draufschauen kann.

Gruß Rene
« Letzte Änderung: Mai 06, 2023, 15:20:19 Nachmittag von Pinguin3 »

Offline w.sprungmann

  • Full Member
  • ***
  • Beiträge: 201
Antw:Modbus Analogwert float32
« Antwort #1 am: Mai 08, 2023, 08:06:36 Vormittag »
Hallo Rene,
Meinst du den Anwenderbaustein UF06?
Du hast den Analogausgang QA5 benutzt, da kommt kein Signal raus. Nehme mal QA2, dort kommen folgende Signale raus:
Beim Eingangssignal von 100 kommt dann ein Wert von 11920 raus. Bei 4095 kommt ein Signal von 488162 raus.
Gibt es eine Beschreibung von dem Anwenderbaustein (IEEE754 float to integer/decimal converter)

Gruß Wilhelm
« Letzte Änderung: Mai 08, 2023, 10:52:12 Vormittag von w.sprungmann »

Offline Pinguin3

  • Newbie
  • *
  • Beiträge: 4
Antw:Modbus Analogwert float32
« Antwort #2 am: Mai 08, 2023, 11:31:52 Vormittag »
Hallo Willhelm,

Ja, es geht um den UF06. Beschrieben ist der Anwenderbaustein im Forum:
http://easy-forum.net/index.php?topic=8609.0
Das Passwort wäre: wx
Dann kann man schauen, wie er aufgebaut ist.




Offline joelas

  • Newbie
  • *
  • Beiträge: 17
Antw:Modbus Analogwert float32
« Antwort #3 am: Mai 08, 2023, 11:45:38 Vormittag »
Im Baustein sind die IO-Parameter wie folgt beschrieben:

IEEE754 float to integer/decimal converter

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


Offline weiss_nix

  • Sr. Member
  • ****
  • Beiträge: 594
  • it has to be easy, it's a easy!
Antw:Modbus Analogwert float32
« Antwort #4 am: Mai 12, 2023, 09:16:48 Vormittag »
Hallo Rene,
da ich leider keine Modbus Komponenten zur Verfügung habe kann ich dein Beispiel nicht testen.
Die Anschlussbeschreibung (bei mouseover) wird von der easySoft 8 leider unterdrückt (was bei der V7x noch funktioniert)!
Ich hoffe allerdings da dies in einer der nächsten Versionen gefixt wird.

Haben dir die Informationen von Willhelm bzw. joelas weitergeholfen?

PS: bei der Beschaltung des IEEE754 Baustein kann man eigentlich nicht viel falsch machen.

Gruß
Sollte ich (gefährliches) Halbwissen verbreiten, beuge ich demütig mein Haupt mit der Gewissheit versagt zu haben!
WICHTIG: Sämtliche Programme dienen lediglich der Veranschaulichung von Funktionen und sind nicht für den Produktiveinsatz geeignet!

Offline Pinguin3

  • Newbie
  • *
  • Beiträge: 4
Antw:Modbus Analogwert float32
« Antwort #5 am: Mai 12, 2023, 18:55:06 Nachmittag »
Vielen Dank für die Rückmeldungen. Mein Problem konnte ich leider noch nicht lösen. Ich vermute dass mein Problem irgendwie beim Auslesen der Modbusregister entsteht. Ich denke nicht dass es am Konverter-Baustein liegt, der ist gut kommentiert und verständlich.

Wenn ich die Modbusregister über Node-Red auslese und umwandele dann passen die Werte. Keine Ahnung warum das auf der Easy nicht geht. Wenn es was neues gibt, dann melde ich mich wieder.

Vielen Dank für die Hilfe.

Gruß Rene

Offline Pinguin3

  • Newbie
  • *
  • Beiträge: 4
Antw:Modbus Analogwert float32
« Antwort #6 am: Mai 23, 2023, 21:08:55 Nachmittag »
Guten Abend,

ich lese die Werte über Modbus jetzt einzeln ein. Also als 2  x 16 Bit lege diese in zwei hintereinander liegende MWe ab. Das MD lese ich dann in den Konverter ein,... und siehe da. Es funktioniert jetzt. Vielen Dank! Es lag also definitiv am Einlesen der Modbus-Register.

Gruß Rene