Table of Contents
Modbus TCP/IP
Einführung
Die Siemens-LOGO!-Geräte unterstützen Modbus über TCP/IP. Diese Geräte sind hilfreich, wenn 230VAC im Rahmen der Modelleisenbahn geschaltet werden müssen.
Das Modbus-Protokoll ist sehr einfach und daher einfach zu implementieren.
Serielle Modbus-Geräte können über ein Gateway verbunden werden.
Modbus hat sich zu einem Standard-Kommunikationsprotokoll entwickelt und ist heute ein allgemein verfügbares Mittel zum Verbinden von industriellen elektronischen Geräten. (en-Wikipedia)
Im de-Wikipedia ist Modbus nur sehr rudimentär beschrieben.
Einstellung 'Allgemein'
Schnittstellenkennung
Eindeutige Kennung der Zentrale.
IP
Das IP-Präfix. Wenn nicht gesetzt, wird die IP des Rocrail-Servers verwendet.
Port
Die registrierte Standard-Modbus-Port-Nummer 502 wird verwendet, falls Null eingestellt ist.
Abfrage-Optionen
Eingänge
Einzelne Eingänge.
Register
Analoge Register.
Halte-Register
Halte-Register.
Ausgänge
Coil-Ausgänge.
Pause
Pause in ms zwischen den Abfragen.
Einstellung 'Geräte'
Sub-IP
Der letzte Teil der IP-Adresse des Gerätes.
Geräte-ID
Geräte-ID, verbunden mit dem Slave.
Bereich in Rocrail ist 0…15.
Eingangs-/Ausgangs-Bereich
Beide Bereiche sind automatisch auf Vielfache von 8 eingestellt.
Bereiche
Wenn ein Bereich von Null bis Null eingestellt ist, ist die Abfrage für diesen Typ deaktiviert.
Adressierung
Die Adressierung basiert auf der IP-Adresse des Rocrail-Servers.
Wenn der Server die IP-Adresse 192.168.0.120 hat, ist das Basis-IP-Präfix 192.168.0.
Das Rocrail-Objekt Bus/Node-ID wird als IP-Suffix (Sub-IP) verwendet. Wenn zum Beispiel ein Ausgangsbus 44 ist, lautet die IP-Adresse 192.168.0.44.
Slaves werden durch Objekt-Port-Nummer adressiert.
Rückmelder
Modbus | Rocrail |
---|---|
SubIP | NodeID |
Module | High part of address |
Address | Low part of address |
Rocrail-Rückmelder-Adresse = Modul * 256 + Adresse
Block-Schnittstelle
Der Gleistreiber ist wie folgt adressiert:
Modbus | Rocrail |
---|---|
SubIP | NodeID |
Modul | Port |
Register-Adresse | Adresse |
Der 16bit-Register-Werte-Bewreich ist 0…1000.
Die Richtung wird durch Bit 15 definiert.
Ausgänge
Ein Ausgang ist eine Lese- / Schreibausgabe - im Modbus-Kontext "Coil" (Spule) - und wird einem Rocrail-Ausgangs-/Weichen-Objekt zugeordnet.
Der Ausgangsbus ist die Sub-IP und die Adresse ist die Ausgangs-/Coil-Adresse.
Abfragen
Modbus-Eingänge müssen wegen der Master / Slave-Architektur abgefragt werden. (Ursprünglich RS485. Auch neue Projekte basieren auf RS485 wie BiDiB, wo der GBMBoost-Master die Abfrage durchführt.)
Wenn ein Rocrail-Rückmelder für diese Schnittstellen-Kennung definiert ist, wird der Bereich der Acht-Bit-Module, 8, für diesen IP-Suffix in einem festen Intervall angefordert.
Um das Polling zu aktivieren, muss das digint-Attribut 'fbpoll' auf 'true' gesetzt sein. Das psleep-Attribut wird für das Abfrageintervall in ms verwendet.
Diskrete Eingänge
Eingangs-Register werden als Standard-Typ 'Sensor' gemeldet.
Ausgänge
Ausgänge/Coils werden als Ausgangs-Feld-Ereignisse gemeldet.
Register-Eingänge
Eingangs-Register werden als Rückmelde-Typ 'Register' gemeldet.
Halte-Register
Halte-Register werden als Rückmelde-Typ 'Register' gemeldet.
Dienst
Wenn der Port > 1024 gesetzt ist, wird ein Modbus-Dienst gestartet; Rocrail akzeptiert Modbus-Anfragen auf diesem Port.
Unterstützte Anfragen:
- Write Single Coil (Schreibe Einzel-Ausgang), dies wird als ein Ausgangs-Feldereignis ausgewertet.
Für alle anderen Anfragen wird ein 'exception response' (Ausnahme-Antwort) zurückgesendet.
PLC-Adress-Typen
Mnemonic | Typ | Größe | Modbus | Rocrail |
---|---|---|---|---|
I | Digital Input | Bit | Einzel-Eingang | Rückmelder |
Q | Digital Output | bit | Coil | Ausgang/Weiche |
M | Memory | Bit | Coil | Rückmelder lesen, Ausgang schreiben |
AI | Analog Input | Wort | Register | Rückmelder Register-Typ |
AQ | Analog Output | Wort | Register | Ausgang Analog-Port-Typ |
AM | Memory | Wort | Halte-Register | Rückmelder Register-Typ |