Erstellen Sie Ihre eigene Modbus-Geräteintegration für Controller. Eine praxisorientierte Anleitung zur Treibererstellung mit Video, Messwertzuordnung, Steuerungslogik und Tests.
Diese Anleitung richtet sich an Installateure und Integratoren, die anhand der Modbus-Registerübersicht eines Herstellers ihre eigene Geräteintegration erstellen möchten. Sie behandelt die Erstellung eines Treibers, die Zuordnung von Messwerten, die Implementierung von Steuerbefehlen und die Validierung des Ergebnisses.
Mit dem Benutzerdefinierte Modbus-Treiber Mit dem Modul können Sie ein Modbus-Gerät selbst in Controller integrieren, ohne dass ein Eniris-Programmierer die Integration erstellen muss. In der Inbetriebnahmeschnittstelle eines Controllers beschreiben Sie, wie das Gerät erkannt, seine Messwerte ausgelesen und es gesteuert wird. Diese Anleitung verwendet ein praktisches Beispiel: den integrierten Playground-Hybridwechselrichter.
Sehen Sie sich die vollständige Anleitung oben an: etwa 30 Minuten, mit niederländischer Vertonung und Kapiteln. Sie führt durch die Inbetriebnahmeschnittstelle – von der Erstellung eines Treibers bis zum Testen, Speichern und Wiederverwenden.
Im SmartgridX öffnen Sie die Controller-AnsichteEMSEinstellungen wählen Sie Ihren Controller aus und öffnen Sie Controller-Konfiguration immer dieselbe IP-Adresse zuweist. Siehe Zugriff auf die Inbetriebnahmeschnittstelle Die vollständige Anleitung zum Zugriff finden Sie unter
Wählen Sie in der Inbetriebnahmeschnittstelle Geräte → Custom Modbus drivers → Benutzerdefinierte Treiber verwalten.
Prüfen Sie zunächst, ob ein geeigneter vorhandener Treiber verfügbar ist. Um einen eigenen Treiber zu erstellen, beschaffen Sie sich das Modbus-Handbuch oder die Registerübersicht des Herstellers für das genaue Modell und die Firmware. Darin müssen Registeradressen, Datentypen, Einheiten, Skalierung sowie zulässige Lese-/Schreibvorgänge erläutert werden. Für die Steuerung benötigen Sie außerdem die erforderliche Abfolge zum Aktivieren der externen Steuerung, zum Schreiben von Sollwerten und zur Rückkehr in den Automatikbetrieb.
Sie benötigen die Verbindungsdaten des Geräts: eine IP-Adresse, einen TCP-Port und eine Modbus-Adresse oder den RS485-Port des Controllers sowie die seriellen Einstellungen des Geräts. Mit dem Playground können Sie den Ablauf kennenlernen, bevor Sie physische Geräte anschließen.
Klicken Sie auf Neuer Treiber Klicken Sie darauf, vergeben Sie einen aussagekräftigen Namen, wählen Sie die Marke und anschließend das Beispiel Playground-Hybridwechselrichter Dieses Beispiel stellt einen funktionierenden Treiber zum Erkunden bereit. Beim Erstellen einer eigenen Integration können Sie auch mit einem leeren unterstützten Gerätetyp beginnen.
Verbinden Sie Ihren Computer mit demselben LAN-Netzwerk wie der Konverter.TestFluviusPlayground-Hybridwechselrichter unter Verbindung, an der getestet werden soll1Verbinden Prüfen Sie Erkennung und untersuchen Sie anschließend die Messwerte und die simulierte Anlage. Mit Registerliste wird die Registerübersicht des Beispiels neben dem Editor geöffnet.
Der Playground simuliert einen dreiphasigen 10-kW-Wechselrichter mit 8 kW PV-Leistung, einer 10-kWh-Batterie, einem Netzähler und einem Backup-Ausgang. Sonneneinstrahlung und Lasten ändern sich, sodass Sie Messwerte und Steuerungsverhalten beobachten können. Dies sind simulierte Geräte innerhalb des Controllers; die Adressen und Einstellungen des Beispiels gelten nur für diese Geräte.
Der Editor ist wie folgt aufgebaut:
| Tab | Aufgabe |
|---|---|
| Treiber | Treiber, Dokumentation, Standard-Verbindungseinstellungen und Fragen für den Installateur beschreiben. |
| Gerätestruktur | Gerät und seine Komponenten, Messwerte, Identifikation und Steuerungsoptionen definieren. |
| Befehlslogik | Befehle in die erforderlichen Registervorgänge des Geräts übersetzen. |
| Test | Aktuellen Treiber ausprobieren und seine Messwerte und Befehle überprüfen. |
| Live | Geräte verfolgen, die den Treiber bereits verwenden. |
| History | Gespeicherte Versionen vergleichen und abrufen. |
Im Treiber Geben Sie unter
Legen Sie die Standard-Verbindungseinstellungen des Herstellers fest. Unterscheiden Sie bei Modbus TCP den Netzwerkport von der Modbus-Adresse, die auch als Unit-ID bezeichnet wird. Bei RS485 müssen Baudrate, Parität, Datenbits und Stoppbits mit dem Gerät übereinstimmen. Zusätzliche Sucheinstellungen können dabei helfen, anders konfigurierte Geräte zu finden; zusätzliche Kombinationen verlängern jedoch die Suchdauer.
Benutzereingaben des Treibers ermöglichen es dem Installateur, beim Hinzufügen eines Geräts Fragen zu beantworten. Der Playground fragt beispielsweise, ob der Netzähler des Wechselrichters angeschlossen ist und ob die Batterie aus dem Netz geladen werden darf. Verwenden Sie diese Eingaben, wenn ein Treiber mehrere Installationsvarianten unterstützen soll.
Im Gerätestruktur Erstellen Sie unter
Wählen Sie eine Komponente aus und ordnen Sie ihr Register zu. Jede Zeile gibt an, was gemessen wird, sowie Adresse, Registertyp, Datentyp, Skalierungsfaktor und Einheit. Geben Sie für Leistung und Strom außerdem an, was ein positiver Registerwert bedeutet. Ordnen Sie Batteriemesswerte der Batterie und PV-Messwerte der entsprechenden PV-Komponente zu.
Beginnen Sie mit der Erkennung und einigen überprüfbaren Messwerten. Beim Beispielwechselrichter liefern die Spannung L1-N und die Frequenz plausible Erkennungswerte. Fügen Sie anschließend Leistung, Ladezustand der Batterie, Energiezähler und weitere nützliche Werte hinzu. Gesteuerte Komponenten benötigen die zugehörigen Leistungsmesswerte, entweder direkt oder aus geeigneten Messwerten abgeleitet.
Halten Sie Identifikation und Nennwerte von Live-Messwerten getrennt. Hersteller, Modell, Seriennummer und Nennleistung beschreiben das Gerät; Messwerte zeigen seinen aktuellen Betrieb. Ordnen Sie Statuswerte wie „Running“ oder „Standby“ getrennt von Alarmcodes oder -bits zu. Versehen Sie Alarme mit verständlichem Text und der passenden Priorität, damit ein Installateur das Problem nachvollziehen kann.
Wählen Sie die Steuerungsoption, die zu den Registern im Protokoll des Herstellers passt. Dadurch wird festgelegt, welche Sollwerte und Begrenzungen Controller an die Befehlslogik übergibt.
Der Playground verwendet Batterie-Sollwert und PV-Begrenzung Controller kann eine Lade- oder Entladeleistung der Batterie anfordern und die PV-Erzeugung unabhängig begrenzen. Andere Geräte unterstützen möglicherweise nur einen Batterie-Sollwert, nur eine PV-Begrenzung, einen AC-Sollwert des Wechselrichters oder lediglich die Überwachung ohne Steuerung.
Ein Sollwert fordert ein Ziel an; eine Begrenzung gibt einen Höchstwert an. Eine Begrenzung der PV-Leistung auf 4 kW führt nicht zu 4 kW, wenn nicht genügend Sonnenlicht verfügbar ist. Unterscheiden Sie außerdem die AC-Anschlüsse des Wechselrichters vom Netzanschlusspunkt der Anlage: Ein Register, das den einen Punkt steuert, steuert nicht automatisch auch den anderen.
Weisen Sie der Ladestation eine statische IP-Adresse, Subnetzmaske und Gateway-Adresse zu.Watchdog Konfigurieren Sie den
Im Befehlslogik Folgen Sie in der
Der Playground veranschaulicht die folgenden Umwandlungen:
| Aktion | Beispielimplementierung |
|---|---|
| Fernsteuerung aktivieren | Schreiben Sie 1Stopp erzwungener Modus1000 als vorzeichenlosen 16-Bit-Wert mit Funktion 6. |
| Batterie-Sollwert schreiben | Kehren Sie das Vorzeichen mit Negate um und schreiben Sie anschließend einen vorzeichenbehafteten 32-Bit-Wert ab 1001 mit Funktion 16 in seine beiden Register. |
| PV-Begrenzung schreiben | Wandeln Sie die angeforderte Leistung in einen Prozentsatz der PV-Kapazität des Beispiels von 8 kW um und schreiben Sie diesen Prozentsatz in 1003. |
| Gerät freigeben | Im Freigabelogik Schreiben Sie 011000 um den automatischen Eigenverbrauch wiederherzustellen. |
Controller verwendet positive Batterieleistung zum Laden. Das Beispielgerät verwendet positive Leistung zum Entladen. Eine abschließende Ladeanforderung von +3.000 W wird daher in seinem Register zu −3.000. Das vollständige Beispiel begrenzt Änderungen außerdem auf 2 kW pro nachfolgendem Befehl, sodass Zwischenwerte abweichen können, während sich die Leistung dem angeforderten Wert nähert.
Bei PV ergeben 4 kW geteilt durch 8 kW 50 %. Verwenden Sie den richtigen Bezug: Die PV-Kapazität des Beispiels beträgt 8 kW, während die AC-Nennleistung des Wechselrichters 10 kW beträgt. Ein reales Gerät kann einen anderen Bezug oder eine andere Skalierung verwenden.
Prüfen Sie neben dem normalen Ablauf auch die Fehlerbehandlung. Wenn beispielsweise die Aktivierung der Fernsteuerung fehlschlägt, ist das anschließende Schreiben des Sollwerts möglicherweise nicht angebracht. Der Ausgang Bei Ausnahme kann einen fehlgeschlagenen Vorgang behandeln; ohne eine angeschlossene Fortsetzung beendet diese Ausnahme den Befehl. Beenden Sie normale Abläufe mit Von Befehl zurückkehren.
Der Test Der Tab
Bei einem physischen Gerät haben Testbefehle und manuelle Schreibvorgänge reale Auswirkungen. Wählen Sie für den Test Geräte aus, die gesteuert werden dürfen. Die Schnittstelle weist außerdem auf Verbindungen hin, die nicht gleichzeitig mit einem installierten Gerät verwendet werden können.
Verwenden Sie zur Diagnose manuelle Registerauslesungen und Raw frames. „Illegal function“ weist auf eine nicht unterstützte Operation hin; „illegal data address“ weist auf ein ungültiges oder nicht zugängliches Register hin; „illegal data value“ bedeutet, dass der angeforderte Wert nicht akzeptiert wird. Vergleichen Sie diese Meldungen mit dem Protokoll, bevor Sie den Treiber ändern.
Beheben Sie die in der Problemliste aufgeführten Probleme und überprüfen Sie Ihre Testergebnisse. Klicken Sie anschließend auf **Füllen Sie die Einstellungen im Tab **. Ein Entwurf mit blockierenden Problemen kann gespeichert werden, kann jedoch nicht zum Hinzufügen eines neuen Geräts verwendet werden. Eine vorhandene, zuletzt gültige Treiberversion wird, sofern verfügbar, weiterhin ausgeführt.
Gerät hinzufügen öffnet den normalen Assistenten mit diesem Treiber. Dabei wird die gespeicherte Version verwendet, speichern Sie daher zuerst. Wählen Sie die tatsächliche Verbindung aus und beantworten Sie die Fragen für den Installateur. Überprüfen Sie nach dem Hinzufügen des Geräts erneut dessen Erkennung, Messwerte und Betrieb. Das Speichern einer Treiberdefinition und das Hinzufügen eines Geräts zur Installation sind separate Schritte.
Verwenden Sie Live zur Überprüfung der installierten Geräte, ihrer Messwerte und der letzten Befehle. Treiber, die bereits von Geräten verwendet werden, werden schreibgeschützt geöffnet. Nach Bearbeitung freischalten, können sich Änderungen auf diese Geräte auswirken. Das vorübergehende Anwenden einer Befehlslogik auf ein einzelnes Gerät unterscheidet sich von **Füllen Sie die Einstellungen im Tab **, wodurch der gespeicherte, von allen zugehörigen Geräten verwendete Treiber aktualisiert wird. Beachten Sie die Hinweise im Editor, wenn eine strukturelle Änderung oder eine Änderung der Identifikation weitere Maßnahmen erfordert.
History ermöglicht den Vergleich von Versionen und das Festlegen eines benannten Snapshots. Zu dieser Version zurückkehren stellt sie als ungespeicherte Änderungen wieder her; speichern Sie, um darauf aufzubauen. Export lädt den gespeicherten Treiber als JSON herunter, wobei ungespeicherte Änderungen ausgeschlossen werden. Verwenden Sie Treiber importieren auf einem anderen Controller, um ihn wiederzuverwenden. Prüfen Sie, ob Sie eine separate Kopie importieren oder einen vorhandenen Treiber ersetzen. Ein Treiber, der eine neuere Engine erfordert, benötigt kompatible Controller-Software. Die Verteilung über den Treiber-Store ist vom Speichern auf diesem Controller getrennt.
Verwenden Sie die auf dem Bus übertragene nullbasierte Adresse. Wenn ein Handbuch eine Halteregister-Notation im Format 40001 verwendet, entspricht 40101 der Adresse 100. Ziehen Sie diese Basis nicht ab, wenn das Handbuch bereits Busadressen angibt.
Stimmen Sie Datentyp, Skalierung, Einheit sowie Wort-/Byte-Reihenfolge aufeinander ab. Bei einem Register mit Schritten von 0,1 V entspricht der Rohwert 2301 dem Wert 230,1 V. Vorzeichenbehaftete Werte können negativ sein, vorzeichenlose Werte nicht. Konfigurieren Sie Kein Wert bei nur für vom Hersteller dokumentierte Sondercodes.
Berechnete Messwerte können Phasenleistungen addieren oder die Gleichspannung mit dem Gleichstrom multiplizieren. Bei Wechselstrom ergibt Spannung mal Strom die Scheinleistung und nicht automatisch die Wirkleistung. Mathematik- und Logikblöcke passen Befehle durch Umrechnungen, Bedingungen, Begrenzungen oder Zeitsteuerungen an. Variablen behalten ihre Werte zwischen Befehlen bei; ihre Aktualisierungen stehen für den nächsten Befehl zur Verfügung und werden nach einem Neustart des Controllers zurückgesetzt. Funktionen fassen Logik zusammen, die Sie wiederverwenden möchten.