# Geräte über Modbus verbinden

## Über Modbus

Der *Modbus* Protokoll ist ein weit verbreitetes Kommunikationsprotokoll, das 1979 von *Gould-Modicon*entwickelt wurde. Es basiert auf einer **Client-Server-Architektur**, in der ein *Master* -Gerät (in der Regel ein Computer) mit einem oder mehreren *Slave* -Geräten verbunden ist. Dieses Protokoll ermöglicht es, verschiedene Messgeräte von einem zentralen System aus zu überwachen und zu steuern. Die Datenübertragung kann über eine von drei Varianten erfolgen: **ASCII**, **RTU**, oder **TCP**.

In *Eliona*, **Modbus TCP** und **RTU über TCP** werden hauptsächlich verwendet; die Plattform bietet jedoch auch Unterstützung für andere Schemen wie **UDP** und **RTU über UDP** um die flexible Integration älterer oder spezieller Geräte zu ermöglichen.

***

## Modbus TCP

Mit *Modbus TCP*werden Daten über Ethernet in binärer Form mithilfe von TCP/IP-Paketen übertragen. Der **Standardport 502** ist dafür reserviert. Für ältere Geräte mit seriellen Schnittstellen kann ein Protokollwandler oder Router verwendet werden, um sie in das TCP-System zu integrieren.

***

## Rollen im Modbus-Protokoll

### Modbus-Client (Master)

* Kommuniziert mit einem entfernten Gerät.
* Sendet Modbus-Anfragen, die von der Anwendung gesteuert werden.
* Überträgt diese Anfragen an die Modbus-Client-Schnittstelle.
* Der Client ist normalerweise das Gerät, das die Daten abruft (z. B. ein PC oder Modbus Poll).

### Modbus-Server (Slave)

* Wartet auf Modbus-Anfragen (über TCP-Port 502).
* Liest und verarbeitet diese Anfragen.
* Gibt Modbus-Antwortnachrichten zurück.
* Der Server ist normalerweise das Gerät, das die Daten bereitstellt (z. B. eine SPS oder ein Sensor).

{% hint style="info" %}
Jedes *Slave* hat eine eindeutige Adresse im Bereich von **1 bis 247**.
{% endhint %}

***

## Vorgehensweise zum Verbinden von Geräten über Modbus

Um Geräte mit *Eliona* über Modbus zu verbinden, befolgen Sie diese Schritte:

#### Eine Verbindung zu einem Modbus-Server (Slave) herstellen

1. Um eine Verbindung zu einem *Modbus-Server* (Slave) herzustellen, benötigen Sie die **IP-Adresse** und den **port** des Servers. Der Standardport für Modbus TCP ist **502**.
2. **Register lesen oder schreiben**

   Nach erfolgreicher Herstellung der Verbindung kann der *Modbus-Client* (Master) Anfragen an den *Modbus-Server*senden. Diese Anfragen werden verwendet, um **zu lesen** oder **zu schreiben** Register auf dem Server.

   * **Lesen**: Der Client liest bestimmte Werte aus den Registeradressen des Servers.
   * **Schreiben**: Der Client sendet Daten und schreibt sie in die Register des Servers. ⚠ **Notiz**: Alle Anfragen werden vom *Client*.
3. **Eine eindeutige Geräteadresse (ID) angeben**

   Jedes Gerät im Modbus-Netzwerk hat eine eindeutige **Adresse (ID)** im Bereich von **1 bis 247**. Diese ID muss bei der Konfiguration des Clients angegeben werden, um sicherzustellen, dass die Anfragen an das richtige Gerät gesendet werden.

***

## Interne Modbus-Versionen in BuildingPro Suites

In *Eliona*, werden mehrere Modbus-Protokolle unterstützt, um verschiedene Gerätetypen und Netzwerke zu integrieren:

* **Modbus TCP**: Ermöglicht die Kommunikation über Ethernet mit dem Standardport **502**.
* **RTU über TCP**: Ermöglicht die Integration von Geräten mit dem älteren RTU-Protokoll über eine TCP-Verbindung.
* **UDP**: Bietet eine verbindungslose Übertragungsoption für Modbus-Nachrichten.
* **RTU über UDP**: Verwendet das RTU-Protokoll über UDP, um Geräte mit geringem Verbindungsaufwand in das Netzwerk zu integrieren.
