Startseite / Deutsch / Modbus TCP Daten normalisieren
Deutsch

Modbus TCP Daten normalisieren

Modbus überträgt Zahlen ohne jede Bedeutung. Register 40071 ist eine 16-Bit-Zahl — was sie darstellt, in welcher Einheit und mit welchem Skalierungsfaktor, steht in einem Hersteller-PDF und nicht im Protokoll.

API-Schlüssel holen English version →

Echte Tags aus dem Korpus

Modbus TCP Daten normalisieren

Roh-Tag der SteuerungKanonisches Feld
ActivePoweractive_power_kw
Amps_Avgline_current_a
DisplacementPFpower_factor
AC_Frequencygrid_frequency_hz
AC_Energy_WHenergy_delivered_kwh

Warum das schwierig ist

Ein Register ist eine Zahl, kein Messwert

Modbus kennt keine Datentypen jenseits des 16-Bit-Wortes, keine Einheiten, keine Namen und keine Discovery. Zwei Geräte desselben Herstellers, zwei Firmware-Stände, zwei Registerkarten.

Bei SunSpec-Geräten kommt der Skalierungsfaktor hinzu: der Exponent steht in einem eigenen Register. Wer den Wert liest und den Faktor vergisst, liegt um eine Zehnerpotenz daneben — und der Wert sieht dabei völlig normal aus.


Lösung

Ein Schema statt einer Registerkarte pro Gerät

Forge normalisiert Modbus TCP, Modbus RTU und die SunSpec-Modelle gegen dasselbe kanonische Schema. Die Skalierungsfaktoren werden angewendet, Einheiten konvertiert, und das Ergebnis wird gegen Physikgrenzen geprüft, bevor es gespeichert wird.


Selbst testen

Testen Sie es selbst. Kein Konto erforderlich, kein API-Schlüssel, keine Daten verlassen Ihren Rechner.

docker run -p 8000:8000 ghcr.io/foundrynet/forge-sandbox

Weiterlesen

Get the thesis behind this infrastructure — The Machine Agent, weekly.