NEU! UPGRADE IP 11 verfügbar!
NEU! LICHTWIDGET - DPT 7.600 - Logik Manager Update - sowie viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/B9MUEJj2

Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Ab sofort kann jeder die neue VISU & IFTTT testen. Info: viewtopic.php?f=8&t=5074

Release V 4 am 15. Juni 2024
Es gibt nun einen fixen Termin. Info: viewtopic.php?f=8&t=5117

NEU! Ausführliches Video Tutorial zur VISU
Jetzt werden alle Fragen beantwortet. Das Video: https://youtu.be/_El-zaC2Rrs

[Beantwortet] [V4.0 IP7] FLOAT führt zu nan (= Not a Number)

Wissen, Planung & Diskussion zur Modbus Unterstützung im Timberwolf Server.
Stellt uns hier Eure Modbus Projekte und Ideen vor.
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Antworten

Ersteller
michael8
Reactions:
Beiträge: 42
Registriert: Fr Jan 27, 2023 5:27 pm
Hat sich bedankt: 30 Mal
Danksagung erhalten: 13 Mal

[V4.0 IP7] FLOAT führt zu nan (= Not a Number)

#1

Beitrag von michael8 »

Hallo Zusammen

Ich lege gerade ein Modbus-Profil (Fronius TS 65-A Smart Meter) nach den Spezifikationen an. So weit funktioniert es wunderbar. Jetzt habe ich aber ein paar Register, die nicht ganz so wollen wie ich. :-)

Vorweg die Spezifikation von Fronius:
Bild

Wie es bei mir im TWS aussieht:
Bild

Ich gebe die Register-Nr aus der Fronius Spezifikation an, wenn nicht anders vermerkt.

40130 > Hier erhalte ich einen realistischen Wert.
40132 / 40134 / 40136 > Mit Unit float32 bzw. float erhaltet ich "nan" (Screenshot TWS > 40131). Wenn ich jedoch auf UNIT umstelle, erhalte ich einen Wert (Screenshot TWS > 40133). Das gleiche habe ich auch bei den weiteren Registern. >>> Wieso? Mach ich was falsch oder ist die Spezifikation falsch?

Bild

Bild

Spannend finde ich noch, dass einige Register (in grau) nicht supportet werden aber einen Wert liefern.

Vielen Dank und lieber Gruss :bow-yellow:
Michael
Zuletzt geändert von Parsley am Sa Feb 17, 2024 7:15 pm, insgesamt 2-mal geändert.
TWS 3500 XL mit 256GB NVMe SSD, SN 1070, VPN noch nicht aktiv

StefanW
Elaborated Networks
Reactions:
Beiträge: 9775
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 4879 Mal
Danksagung erhalten: 7820 Mal
Kontaktdaten:

#2

Beitrag von StefanW »

Hi Michael,

womöglich braucht es eine Byte-Vertauschung wegen Little-Endian vs. Big Endian. Das sollte in der Doku stehen, ansonsten einfach unter "Reihenfolge" ausprobieren.

lg

Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.
Benutzeravatar

starwarsfan
Reactions:
Beiträge: 1165
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 754 Mal
Danksagung erhalten: 947 Mal

#3

Beitrag von starwarsfan »

Hallo Michael
michael8 hat geschrieben: Sa Feb 17, 2024 5:37 pm 40132 / 40134 / 40136 > Mit Unit float32 bzw. float erhaltet ich "nan" (Screenshot TWS > 40131). Wenn ich jedoch auf UNIT umstelle, erhalte ich einen Wert (Screenshot TWS > 40133). Das gleiche habe ich auch bei den weiteren Registern. >>> Wieso? Mach ich was falsch oder ist die Spezifikation falsch?
Nein, machst Du nicht. Der angezeigte Wert ist quasi der "Überlauf" und damit das Pendant zum NAN bei Float. Der Max-Wert eines INT32 ist 2,147,483,647, also 2.14^9. Ist also einfach eine andere Darstellung und sagt genausowenig aus.

Genauer gesagt wäre auch noch Signed vs. Unsigned relevant denn Unsigned geht von 0 bis 2³²-1 = 4·1024³-1 und Signed von -2³¹ bis +2³¹-1.

Hatte das beim SMA-Profil auch bei einigen Werten. Wenn dort kein Wert geliefert wird, bekommt man ein NAN zurück. Das musst Du im Profil entsprechend handhaben.
Zuletzt geändert von starwarsfan am Sa Feb 17, 2024 6:05 pm, insgesamt 2-mal geändert.
Kind regards,
Yves

- TWS 2500 ID:159 (VPN offen, Reboot nach Rücksprache) - PBM ID:401 - TWS 3500 ID:618 (VPN offen, Reboot nach Rücksprache) - ControlPro - ProxMox - Edomi (LXC / Docker) - ... -

Ersteller
michael8
Reactions:
Beiträge: 42
Registriert: Fr Jan 27, 2023 5:27 pm
Hat sich bedankt: 30 Mal
Danksagung erhalten: 13 Mal

#4

Beitrag von michael8 »

@StefanW Danke für den Tipp. In der Doku habe ich nichts gefunden. Aber jetzt sieht es schon mal anders aus:

Bild

Bild

Bild

Nur der Wert macht für mich noch kein Sinn. In der Doku steht für 40133 und 40153 zwar "This data-point is supported/not-supported depending on the grid connection." Aber dann müsste 40131 = 40129 sein oder 40131 + 40133 + 40135 = 40131 Oder wie seht ihr das?

@starwarsfan Danke, jetzt wird so einiges klar! Jetzt ist die Macht auch mit mir :dance:
TWS 3500 XL mit 256GB NVMe SSD, SN 1070, VPN noch nicht aktiv

StefanW
Elaborated Networks
Reactions:
Beiträge: 9775
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 4879 Mal
Danksagung erhalten: 7820 Mal
Kontaktdaten:

#5

Beitrag von StefanW »

Hi Michael,

das mit der Byte-Reihenfolge war nur ein Gedanke, den man grundsätzlich in der Doku überprüfen sollte, hier aber falsch war.

Ich habe mir den Hex-Code angesehen und das empfangene 1x7FC00000 steht für "Quiet NaN" ("propagates through almost every arithmetic operation without signalling an exception")
A quiet NaN (NANQ) is represented by any bit pattern
between 7FC00000 and 7FFFFFFF or between FFC00000 and FFFFFFFF
==> Bedeutet: Das fremde Modbus Gerät stellt in seinem Register einen HEX-Wert zur Verfügung, mit dem es mitteilt, dass es keine Zahl zur Verfügung stellt. Das "warum" sollte sich aus der Doku ergeben bzw. sollte der Hersteller benennen können.

Kurz: Die Einrichtung der Abfrage für das Register im Timberwolf Server ist richtig eingestellt von Dir. Das Gerät gibt "NaN" aus, der Grund ist dort zu suchen.

lg

Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.

Ersteller
michael8
Reactions:
Beiträge: 42
Registriert: Fr Jan 27, 2023 5:27 pm
Hat sich bedankt: 30 Mal
Danksagung erhalten: 13 Mal

#6

Beitrag von michael8 »

Danke @StefanW . Ich habe mal beim Hersteller angefragt :-)
TWS 3500 XL mit 256GB NVMe SSD, SN 1070, VPN noch nicht aktiv

Ersteller
michael8
Reactions:
Beiträge: 42
Registriert: Fr Jan 27, 2023 5:27 pm
Hat sich bedankt: 30 Mal
Danksagung erhalten: 13 Mal

#7

Beitrag von michael8 »

Update: Die Antwort vom Hersteller:
ich habe gerade von unserem Experten erfahren das hier unsere Dokumentation falsch ist. Die Werte die Sie abfragen erhält der Wechselrichter nicht vom SmartMeter.
Also ist diese Abfrage nicht möglich.
Wir haben eine Änderung der Dokumentation schon eingeleitet.
Mal schauen wenn ein Update kommt...
TWS 3500 XL mit 256GB NVMe SSD, SN 1070, VPN noch nicht aktiv
Antworten

Zurück zu „Modbus“