Skip to content

Modbus TCP ​

Ca. 5 Min. Lesezeit

Der Verbindungstyp Modbus TCP ermöglicht die Kommunikation über Ethernet mit SPS, Energieanalysatoren, Antrieben und Gateways, die Modbus TCP unterstützen. 2WinScada arbeitet als Client (Master).

  • Der Kanal hat keine Verbindungsparameter; er gruppiert nur die Geräte.
  • Jedes Gerät öffnet eine eigene TCP-Verbindung zu seiner IP-Adresse und seinem Port. Timeouts und Wiederholungen werden pro Gerät festgelegt.
  • Ein Verbindungsproblem eines Geräts beeinträchtigt das Lesen der anderen Geräte im selben Kanal nicht.

Die Liste Verbindungstyp zeigt nur die Protokolle, die die Lizenz erlaubt (siehe Lizenz).

Kanaldefinition ​

Das Fenster für einen neuen Kanal öffnen Sie mit der Schaltfläche „+“ in der Kanalliste. Die Registerkarte Allgemein enthält diese Felder:

FeldBeschreibungRegel
NameEindeutiger Name des KanalsPflichtfeld; 3–50 Zeichen; darf nicht mit einer Ziffer beginnen
VerbindungstypWählen Sie ModbusTcpKann nach dem Speichern des Kanals nicht mehr geändert werden

Bei Modbus-TCP-Kanälen werden die Registerkarten Verbindungsparameter und Erweiterte Parameter nicht angezeigt; IP-Adresse, Port, Timeouts und Wiederholungen werden für jedes Gerät einzeln eingegeben.

Gerätedefinition ​

Bei ausgewähltem Kanal öffnen Sie das Fenster für ein neues Gerät mit der Schaltfläche „+“ in der Geräteliste. Auf der Registerkarte Allgemein geben Sie im Feld Name den Namen ein (Pflichtfeld, 3–100 Zeichen, eindeutig) und legen mit Aktiv fest, ob das Gerät aktiv ist. Zu passiven Geräten wird keine Verbindung geöffnet.

Registerkarte Parameter:

FeldBeschreibungStandardRegel
IpIPv4-Adresse des Geräts (z. B. 192.168.1.10)255.255.255.255Pflichtfeld; eine gültige IPv4-Adresse. Ein DNS-Name wird nicht akzeptiert. Der Standardwert ist nur ein Platzhalter.
PortModbus-TCP-Port des Geräts502Pflichtfeld; 1–65535
Slave-IDModbus-Unit-ID (Unit Id)1Pflichtfeld; 0–255

Die meisten direkt angeschlossenen Modbus-TCP-Geräte beachten den Wert Slave-ID nicht oder erwarten 1 oder 255. Greifen Sie auf ein serielles Gerät hinter einem Gateway zu, das Modbus TCP in Modbus RTU umsetzt, geben Sie die Slave-Adresse des seriellen Geräts ein. Für viele serielle Geräte am selben Gateway ist jedoch der Verbindungstyp Modbus Serial over Ethernet besser geeignet, da er nur eine TCP-Verbindung verwendet.

Registerkarte Einstellungen:

FeldBeschreibungStandard
NullbasiertWenn aktiviert, wird von der Registernummer der Adresse 1 abgezogen, bevor sie an das Gerät gesendet wird (400001 → Protokolladresse 0). Wenn nicht aktiviert, wird die Nummer unverändert gesendet.Aktiviert
Erstes Wort Low (32 Bit)Gibt an, dass bei 32- und 64-Bit-Werten das erste Register das niederwertige Wort ist. Sendet das Gerät das höherwertige Wort zuerst, deaktivieren Sie die Option.Aktiviert
Erstes DWord Low (64 Bit)Gibt an, dass bei 64-Bit-Werten die ersten zwei Register das niederwertige DWord sind.Aktiviert (wenn Sie 64-Bit-Tags verwenden, stellen Sie den Wert bewusst nach der Gerätedokumentation ein)
BlockgrößeHöchstzahl der Register (bei Coils/Discrete Inputs: Bits), die in einer Leseanfrage gelesen werden32

Einzelheiten zu diesen Einstellungen und die Tabellen zur Wortreihenfolge finden Sie auf der Seite Modbus-Adressierung.

Registerkarte Erweiterte Parameter:

FeldBeschreibungStandardBereich
Leerlaufzeit für die Neuinitialisierung des Geräts [s]Gelingt während dieser Zeit kein erfolgreicher Lesevorgang beim Gerät, wird die TCP-Verbindung geschlossen und nach etwa 10 Sekunden wieder geöffnet. 0 schaltet die Funktion aus.00–86400
Schreib-Timeout [ms]Wartezeit für das Senden der Anfrage1000Ganzzahl
Lese-Timeout [ms]Wartezeit auf die Antwort. Läuft sie ab, gilt die Anfrage als fehlgeschlagen, und die Qualität der betroffenen Tags wird Bad.1000Ganzzahl
WiederholungenWie oft eine Anfrage nach einem Timeout oder Kommunikationsfehler wiederholt wird. Der Wert 1 bedeutet höchstens zwei Versuche.1Ganzzahl
Wartezeit vor Wiederholung [ms]Wartezeit vor einer Wiederholung250Ganzzahl
Wiederholungsschwelle für veraltete AntwortenLiegt die Transaktionsnummer der eingehenden Antwort um weniger als diesen Wert hinter der Nummer der gesendeten Anfrage, gilt die Antwort als verspätete alte Antwort, und es wird erneut auf die richtige Antwort gewartet.3Ganzzahl
Wiederholungszähler auch bei Slave busy erhöhenWenn aktiviert, zählen auch die „Beschäftigt“-Antworten des Geräts (Slave Device Busy) zur Grenze Wiederholungen. Wenn nicht aktiviert, wird die Anfrage unbegrenzt wiederholt, solange Beschäftigt-Antworten eintreffen.Aktiviert—

Verbindungsverhalten ​

  • Kann keine Verbindung hergestellt werden, versucht 2WinScada nach 30 Sekunden erneut, sich zu verbinden. Nach drei fehlgeschlagenen Versuchen steigt die Wartezeit auf 60 Sekunden, danach auf 120 Sekunden; sobald die Verbindung steht, gilt wieder der Wert von 30 Sekunden.
  • Kann keine Verbindung hergestellt werden oder bricht sie ab, erscheint der Verbindungsstatus des Geräts als schlecht; die Qualität der nicht lesbaren Tags wird Bad.
  • Fehlerdetails werden in das Dienstprotokoll geschrieben.

Tag-Definition ​

Tags werden wie bei den anderen Protokollen in der Tag-Tabelle des Geräts definiert (siehe Tag-Verwaltung). Modbus-spezifische Regeln:

FeldModbus-Regel
Adresse6-stellige Modbus-Adresse; die erste Ziffer ist der Bereichstyp (0 Coil, 1 Discrete Input, 3 Input Register, 4 Holding Register). Für Registerbits wird das Suffix .0–.15 verwendet (z. B. 400010.3).
DatentypBei Coil- und Discrete-Input-Adressen nur Bool. Bei Registeradressen Bool (mit Bitsuffix) oder numerische Typen.
LängeImmer 1; der Typ String und Arrays werden nicht unterstützt (siehe Modbus-Adressierung)
Aktualisierungsintervall [s]0,5–86400 Sekunden. Tags mit demselben Intervall werden gemeinsam gelesen.
Nur lesenBei Adressen, die mit 1 und 3 beginnen, aktivieren

Einzelheiten zu Adressformat, Datentypen, Wortreihenfolge und Lesegruppen finden Sie auf der Seite Modbus-Adressierung. Wiederverwendbare Registerlisten finden Sie auf der Seite Geräteprofile.

Fehlerbehebung ​

SymptomPrüfungen
Gerät verbindet sich nichtPrüfen Sie die Werte Ip und Port, den Netzwerkzugriff (Ping, Firewall, VLAN) und ob der Modbus-TCP-Server im Gerät aktiviert ist. Neue Verbindungsversuche erfolgen in Abständen von 30–120 Sekunden; warten Sie nach einer Einstellungsänderung, bis das Ergebnis sichtbar ist.
Verbindung besteht, Tags sind BadPrüfen Sie den Wert Slave-ID, die Adressen und den Wert Lese-Timeout [ms]. Meldet das Gerät den Fehler „Illegal Data Address“, verringern Sie Blockgröße.
Verbindung bricht häufig abPrüfen Sie die Anzahl der TCP-Verbindungen, die das Gerät gleichzeitig annimmt; verringern Sie die Zahl anderer Systeme, die sich mit demselben Gerät verbinden. Ist Leerlaufzeit für die Neuinitialisierung des Geräts [s] zu kurz, erhöhen Sie den Wert.
Werte verschoben oder unsinnigPrüfen Sie Nullbasiert, Erstes Wort Low (32 Bit), Erstes DWord Low (64 Bit) und Datentyp (siehe Modbus-Adressierung).
Schreiben schlägt fehlPrüfen Sie, ob die Adresse mit 0 oder 4 beginnt, die Einstellung Nur lesen, die Benutzerberechtigung und ob das Gerät Schreibzugriffe erlaubt.

2WinScada 2.10