Funktionsbaustein: Modbus Output
Der Modbus Output ist ein Funktionsbaustein zur Abfrage von Prozesswerten aus einem externen Modbus-Gerät
über Modbus RTU oder Modbus TCP. Der Baustein liest die aktuellen Werte aus dem Modbus-Slave und stellt sie als Ausgang zur Verfügung.
Funktionsweise
Beim Aufruf von update() fragt der Baustein den aktuellen Registerwert vom externen Gerät ab und stellt diesen Wert am Ausgang zur Verfügung.
Es handelt sich also um eine lesende Verbindung zu einem Modbus-Slave, z. B. einem digitalen oder analogen Sensor.
Unterstützte Registertypen
| Register | Beschreibung |
|---|---|
DO |
Discrete Outputs (Coils) → bool |
AO |
Analog Outputs (Holding Registers) → int |
Die Werte werden aus dem lokalen Modbus-Stack (RTU oder TCP) gelesen.
Parameter
| Parameter | Beschreibung |
|---|---|
register |
Registertyp: DO (digital output) oder AO (analog output) |
addr |
Startadresse des Registers (1–9999) |
len |
Anzahl der Register (DO: max. 2000, AO: max. 125) |
⚠️ Die Adresse wird intern 0-basiert gespeichert (Adresse − 1).
⚠️ Registeradressen dürfen nicht doppelt verwendet werden.
Ein- / Ausgang
-
Eingang:
Wird nicht verwendet. Der Baustein ist rein lesend. -
Ausgang:
Gibt den zuletzt überupdate()gelesenen Wert zurück.
Typ:boolfür DO /intfür AO
Bei mehreren Registern: Liste
Interner Callback-Mechanismus
Der Baustein registriert sich im lokalen Modbus-Stack mit einem Callback, um bei Bedarf aktualisiert zu werden.
Die internen Methoden set_coil() und set_hreg() übernehmen die Kommunikation mit der Modbus-Infrastruktur.
Anwendungsbeispiele
- Einlesen von Schalterzuständen, Sensoren oder Analogeingängen eines Modbus-Geräts
- Verwendung in Verbindung mit Prüf-, Statistik- oder Logikbausteinen
- Automatisiertes Reagieren auf externe Modbus-Signale
Der Modbus Output ist der ideale Baustein zur Einbindung externer Modbus-Slaves
und zur Verwendung von Modbus-Daten in der Programmierlogik des Wetterrelais.