Diese Vorlage bindet ein generisches Modbus RTU I/O-Modul ohne Markenbezeichnung mit 8 digitalen Ausgängen und 8 digitalen Eingängen über RS-485 in TapHome ein. Sie erstellt acht Geräte Schalten (DO1–DO8) und acht Geräte Reedkontakt (DI1–DI8). Die Vorlage hat keinen festen Hersteller und kein festes Modell: Sie passt nur zu einem Modul, dessen Registertabelle dem unten beschriebenen Aufbau entspricht. Prüfen Sie deshalb die Registertabelle des Moduls, bevor Sie die Vorlage verwenden.
Bevor Sie diese Vorlage verwenden
Die Vorlage liest und schreibt ausschließlich Holding-Register (Modbus-Funktion 03 zum Lesen, Funktion 06 zum Schreiben). Sie erwartet folgenden Registeraufbau:
| Daten | Registertyp | Register | Inhalt |
|---|---|---|---|
| Ausgänge DO1–DO8 | Holding | ein Register, Importparameter DO Register | Bits 0–7 = Zustand von DO1–DO8 |
| Eingänge DI1–DI8 | Holding | ein Register, Importparameter DI Register | Bits 0–7 = Zustand von DI1–DI8 |
Viele günstige 8DI/8DO-Module für RS-485 dokumentieren ihre Ausgänge als Coils (Funktionen 01, 05, 0F) und ihre Eingänge als Discrete Inputs (Funktion 02) und nutzen Holding-Register nur für die Konfiguration. Ein solches Modul lässt sich mit dieser Vorlage ohne Änderungen nicht steuern. Prüfen Sie vor der Installation in der Registertabelle des Moduls, dass die Ausgänge als Bitmaske in einem Holding-Register und die Eingänge als Bitmaske in einem Holding-Register verfügbar sind.
Der Registertyp ist in den Skripten der Vorlage fest vorgegeben; beim Import lassen sich nur die beiden Registeradressen und die Slave ID ändern.
Hardware-Anschluss
Das Modul wird an den RS-485-Bus der Steuereinheit Core angeschlossen:
- A an A, B an B. Die Klemmenbezeichnungen unterscheiden sich je nach Hersteller (A/B, A+/B−, D+/D−). Wenn das Modul nicht antwortet, tauschen Sie die beiden Adern.
- Gemeinsame Masse: Verbinden Sie bei längeren Leitungen GND des Moduls mit GND des Busses, sofern das Modul dafür eine Klemme hat.
- Bustopologie: Linienbus mit Abschluss an beiden Enden. Ob das Modul einen eingebauten Abschlusswiderstand hat und wie er eingeschaltet wird, hängt vom Modul ab — prüfen Sie es am Modul.
- Eindeutige Slave ID: Jedes Gerät an derselben RS-485-Leitung braucht eine eigene Slave ID.
Prüfen Sie vor der Verdrahtung am Modul: Versorgungsspannung, Eingangstyp (potenzialfreier Kontakt, NPN oder PNP, Spannungseingang) und Ausgangstyp (Relais oder Transistor) sowie deren Nennwerte. Die Vorlage hängt davon nicht ab, die Verdrahtung von Lasten und Sensoren aber schon.
Konfiguration
Kommunikationseinstellungen am Modul
Die Vorlage schlägt für die Schnittstelle Modbus RTU in TapHome diese Leitungsparameter vor:
| Parameter | Wert |
|---|---|
| Baudrate | 9600 |
| Datenbits | 8 |
| Parität | Keine |
| Stoppbits | 1 |
Das Modul muss dieselbe Baudrate und dasselbe Datenformat verwenden, und seine Slave ID muss dem Importparameter entsprechen. Wo diese Werte eingestellt werden — über DIP-Schalter, ein Konfigurationsregister oder die Konfigurationssoftware des Herstellers —, hängt vom Modul ab; prüfen Sie es in der Dokumentation des Moduls oder am Modul selbst.
Importparameter
| Parameter | Standardwert | Bedeutung |
|---|---|---|
| DO Register | 1 | Adresse des Holding-Registers mit den Ausgangsbits |
| DI Register | 2 | Adresse des Holding-Registers mit den Eingangsbits |
| Slave ID | 1 | Modbus-Adresse des Moduls |
TapHome sendet die Registeradresse unverändert an das Modul und zählt ab 0. Wenn die Registertabelle des Moduls die Register ab 1 nummeriert (zum Beispiel 40001, 40002), ziehen Sie 1 ab — siehe Adressierung von Modbus-Registern. Der Importparameter IP-Adresse hat bei einer Schnittstelle Modbus RTU keine Wirkung und kann auf dem Standardwert bleiben.
Fügen Sie in TapHome eine Schnittstelle Modbus RTU mit den obigen Leitungsparametern hinzu und importieren Sie die Vorlage mit der Slave ID und den beiden Registeradressen des Moduls.
Gerätefunktionen
Digitale Ausgänge DO1–DO8
Jeder Ausgang ist ein Gerät Schalten. Sein Zustand wird alle 1000 ms aus Bit 0 (DO1) bis Bit 7 (DO8) des DO Register gelesen. Das Schalten übernimmt das Schreibskript des Moduls in TapHome, nicht jeder einzelne Ausgang: Ändert sich ein beliebiger Ausgang, schreibt TapHome die Bitmaske aller acht Ausgänge in einem einzigen Schreibvorgang (Funktion 06) in das DO Register, und zwar nur, wenn sich der Wert ändert. Die Bits 8–15 des geschriebenen Werts sind immer 0.
Digitale Eingänge DI1–DI8
Jeder Eingang ist ein Gerät Reedkontakt, das Bit 0 (DI1) bis Bit 7 (DI8) des DI Register anzeigt, gelesen alle 1000 ms. Es eignet sich für Tür- und Fensterkontakte, Schwimmerschalter oder Hilfskontakte von Relais, die an die Eingänge des Moduls angeschlossen sind.
Prüfen Sie am Modul, dass Bit 0 tatsächlich dem ersten Kanal entspricht und dass das Modul eine mit Funktion 06 in das Ausgangsregister geschriebene Bitmaske akzeptiert.
Fehlerbehebung
Keine Antwort vom Modul
- Prüfen Sie die RS-485-Verdrahtung und tauschen Sie bei Bedarf A und B.
- Prüfen Sie, dass die Slave ID des Moduls dem Importparameter Slave ID entspricht.
- Prüfen Sie, dass Baudrate, Parität und Stoppbits des Moduls mit der Schnittstelle Modbus RTU übereinstimmen (vorgeschlagen 9600, 8N1).
- Prüfen Sie den Abschluss an beiden Enden des Busses.
Fehler „Illegal data address“
Die Registeradresse ist um 1 verschoben (die Dokumentation des Moduls nummeriert die Register ab 1), oder das Modul hat diesen Registeraufbau gar nicht — zum Beispiel, wenn seine Ausgänge Coils und seine Eingänge Discrete Inputs sind. Vergleichen Sie die Importparameter mit der Registertabelle des Moduls.
Ausgänge oder Eingänge sind den falschen Kanälen zugeordnet
Die Bitreihenfolge des Moduls weicht von der Vorlage ab (Bit 0 = Kanal 1). Prüfen Sie die Bitzuordnung in der Registertabelle des Moduls.