Übersicht Modbus Master



Mit diesem Funktionsbaustein wird die Modbus Master Funktion konfiguriert. Die Konfiguration ist hierbei in Slaves und Register unterteilt. Mit Slave ist hierbei eine Modbus ID gemeint, mehrere Slaves können auch dieselbe Schnittstelle verwenden. Sind mehrere Schnittstellen konfiguriert, werden diese der Reihe nach ausgelesen.

Der Funktionsbaustein ist auf 128 Ausgänge begrenzt, werden mehr Register benötigt, können diese auf Mehrere Funktionsbausteine aufgeteilt werden.

Wichtig: An den Funktionsbausteinen müssen immer Variablen verknüpft werden. Beim Erzeugen der Variablen geschieht dies automatisch.

Folgende Geräte sind bereits als Vorlage integriert. Weitere können manuell konfiguriert werden.

Wechselrichter:
    Fronius Symo Gen 24 Float (TCP)
    Fronius Symo Gen 24 Float Batterie (TCP)
    Fronius Symo Gen 24 Float Smart Meter (TCP)
    Huawei (TCP)
    Huawei Batterie (TCP)
    Solaredge (TCP)
    Solaredge (TCP)+Smartmeter
   
Wallbox:
    Wallbox KEBA KeContact P30 (TCP)")->setData(Wallbox_KEBA_KeContact_P30_TCP);
    Wallbox ABB Terra AC (TCP)")->setData(Wallbox_ABB_Terra_AC_TCP);
    Wallbox ABB Terra AC (RTU)")->setData(Wallbox_ABB_Terra_AC_RTU);

Wärmepumpe:
    Ochsner (RTU)

Energiezähler:
    Energiezähler SDM 630 (RTU)
   
Wetterstation:
    Wetterstation Thies (RTU)
   
Allgemein:
    Victron Cerbo (TCP)









Parameter

Deaktivieren Mit diesem Parameter wird der Baustein deaktiviert und die Register nicht mehr abgefragt. Dies kann zur Diagnose verwendet werden um bestimmte Register vorübergehend auszublenden.
Modbus ID
Modbus ID
Telegrammabstand Minimaler Telegrammabstand. Laut Modbus Spezifikation ist der minimale Telegrammabstand 3.5 Zeichen und mindestens 1.75 ms, dies ist für manche Geräte zu kurz, dieser Parameter wird zum Standard Abstand addiert.
Timeout
Zeit die auf eine Antwort des Slaves gewartet wird bis ein Fehler erkannt wird.
Protokoll
Auswahl des Protokolls

  • Modbus RTU (RS485)
  • Modbus TCP
Schnittstellenparameter
Bei Auswahl des Protokolls Modbus RTU werden hier die Schnittstellenparameter eingestellt. Wichtig: Über USB Umsetzer dürfen nur nicht kritische Komponenten verwendet werden.

Wichtig: Wenn mehrere Modbus Slaves auf einer Schnittstelle betrieben werden, müssen alle Funktionsbausteine die selben Schnittstellenparameter haben.
IP Adresse, Port
Bei Auswahl des Protokolls Modbus TCP werden hier die IP Adresse und der Port eingestellt, Standardport für Modbus ist 502.
Register Adresse Hier kann eingestellt werden ob die Register Adresse bei 0 oder 1 beginnen.
Verbindung trennen Nur bei TCP. Mit dieser Option wird die Verbindung zum Modbus TCP Slave getrennt und neu initialisiert. Dies kann bei manchen Geräten notwendig sein wenn diese nach einer gewissen Zeit nicht mehr antworten oder bei Inaktivität die Verbindung trennen, beispielsweise wenn nur geschrieben wird und es keine Änderungen gibt.
Verbindungen zusammenfassen Nur bei TCP. Mit dieser Option werden Geräte mit der selben IP Adresse und Portnummer über eine gemeinsame Verbindung ausgelesen. Standardmäßig werden alle Funktionsbausteine über separate Verbindungen ausgelesen. Das Zusammenfassen von Verbindungen kann bei Geräten notwendig sein die nur eine begrenzte Anzahl an gleichzeitigen Verbindungen zulassen.

Parameter Register

Register aktiv
Ist diese Option nicht angewählt, wird das Register nicht abgefragt.
Kommentar
Bezeichnung des Registers
Adresse
Registeradresse. Diese beginnt immer bei 0.
Register Länge
Anzahl an Registern welche die Variable umfasst. Ein Register ist immer 2 Byte lang. Bei Bitbefehlen (Coils, discrete Inputs) wird diese Angabe ignoriert.
Anzahl Block Lesen
Anzahl an Variablen welche mit einer Abfrage gelesen werden sollen. Gilt nicht für Schreibbefehle, wenn Daten geschrieben werden muss die Anzahl 1 sein.

Bei Bitbefehlen (Coils, discrete Inputs) ist dies die Anzahl der Coils die gelesen werden.
Schreiben bei
  • Änderung: Variable wird bei Änderung geschrieben.
  • Zyklisch: Variable wird zyklisch geschrieben. Zeit aus Parameter Intervall.
Initialisieren
Schreiben des Registers einmalig bei Hochlauf der Steuerung bzw. Änderung des Projektes. 
Funktionscode
Modbus Funktionscode.
Intervall
Intervall in der das Register ausgelesen wird. Für Schreibbefehle nur wenn Senden auf zyklisch eingestellt.
Aktualisierung lesen
Verknüpfte Variable nur aktualisieren wenn sich der Wert geändert hat. Nur Lesebefehle. Standard ist ein. Diese Option kann beispielsweise verwendet werden um die Kommunikation zu überwachen, die Variable wird nur dann aktualisiert, wenn die Lesefabfrage erfolgreich war, da die Variable auch ohne Änderung des Wertes aktualisiert wird, kann dies mit dem Funktionsbaustein KNX Überwachung überwacht werden.
Register
Datentyp des Modbus Registers, dieser muss der Beschreibung des Slaves entnommen werden.
Byte Order
  • Big Endian (ABCD): Standardeinstellung
  • Mid-Little Endian (CDAB): Beim Lesen von zwei Registern wird Hi-Loword vertauscht.
Faktor
Wert des Modbus Registers wird mit diesem Faktor multipliziert, beispielsweise um einen Zählerwert von W auf kW umzurechnen.
Offset
Offset wird zum Wert des Modbus Registers addiert, beispielsweise um einen Temperatur oder Zählerwert zu korrigieren.

Siehe auch allgemeine Parameter aller Funktionsbausteine.