Für das Auslesen mehrer Parameter aus meinem Fronius Wechselrichter verwende ich den Modbus TCP Block im X1. Protokoll in der Fronius API aktiviert und die ersten Werte passen schon mal. Nun gibt es zwei SunSpec Model Typen:
Auszug Fronius Register Map:
2022-12-09 12_01_13-Gen24_Primo_Symo_Inverter_Register_Map_Float.xlsx [Protected View] - Excel.png
SunSpec float32 Definition:
2022-12-09 12_22_20-SunSpec Device Information Model Specification.png
Modbus TCP Float - jämmerlich versagt :-)
2022-12-09 12_04_16.png
- int + SF -> funktioniert soweit, aber da sich der Skalierungsfaktor auch laufend ändern muss man immer zwei Register auslesen um einen Wert zu erhalten. Zudem lasst sich das Senden nicht über einen externen Trigger synchronisieren. Daher wäre mir 'float' lieber.
- float -> dachte das sei einfach, "Number" Datentyp des Blocks einfach über Typ-Konverter führen und fertig. Dem ist aber leider nicht so, denn die konvertierte Zahl wurde nicht auf float gecastet.
Auszug Fronius Register Map:
2022-12-09 12_01_13-Gen24_Primo_Symo_Inverter_Register_Map_Float.xlsx [Protected View] - Excel.png
SunSpec float32 Definition:
2022-12-09 12_22_20-SunSpec Device Information Model Specification.png
Modbus TCP Float - jämmerlich versagt :-)
2022-12-09 12_04_16.png
Kommentar