Modbus TCP
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:
| Feld | Beschreibung | Regel |
|---|---|---|
| Name | Eindeutiger Name des Kanals | Pflichtfeld; 3–50 Zeichen; darf nicht mit einer Ziffer beginnen |
| Verbindungstyp | Wählen Sie ModbusTcp | Kann 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:
| Feld | Beschreibung | Standard | Regel |
|---|---|---|---|
| Ip | IPv4-Adresse des Geräts (z. B. 192.168.1.10) | 255.255.255.255 | Pflichtfeld; eine gültige IPv4-Adresse. Ein DNS-Name wird nicht akzeptiert. Der Standardwert ist nur ein Platzhalter. |
| Port | Modbus-TCP-Port des Geräts | 502 | Pflichtfeld; 1–65535 |
| Slave-ID | Modbus-Unit-ID (Unit Id) | 1 | Pflichtfeld; 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:
| Feld | Beschreibung | Standard |
|---|---|---|
| Nullbasiert | Wenn 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öße | Höchstzahl der Register (bei Coils/Discrete Inputs: Bits), die in einer Leseanfrage gelesen werden | 32 |
Einzelheiten zu diesen Einstellungen und die Tabellen zur Wortreihenfolge finden Sie auf der Seite Modbus-Adressierung.
Registerkarte Erweiterte Parameter:
| Feld | Beschreibung | Standard | Bereich |
|---|---|---|---|
| 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. | 0 | 0–86400 |
| Schreib-Timeout [ms] | Wartezeit für das Senden der Anfrage | 1000 | Ganzzahl |
| 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. | 1000 | Ganzzahl |
| Wiederholungen | Wie oft eine Anfrage nach einem Timeout oder Kommunikationsfehler wiederholt wird. Der Wert 1 bedeutet höchstens zwei Versuche. | 1 | Ganzzahl |
| Wartezeit vor Wiederholung [ms] | Wartezeit vor einer Wiederholung | 250 | Ganzzahl |
| Wiederholungsschwelle für veraltete Antworten | Liegt 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. | 3 | Ganzzahl |
| Wiederholungszähler auch bei Slave busy erhöhen | Wenn 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:
| Feld | Modbus-Regel |
|---|---|
| Adresse | 6-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). |
| Datentyp | Bei Coil- und Discrete-Input-Adressen nur Bool. Bei Registeradressen Bool (mit Bitsuffix) oder numerische Typen. |
| Länge | Immer 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 lesen | Bei 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
| Symptom | Prüfungen |
|---|---|
| Gerät verbindet sich nicht | Prü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 Bad | Prü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 ab | Prü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 unsinnig | Prüfen Sie Nullbasiert, Erstes Wort Low (32 Bit), Erstes DWord Low (64 Bit) und Datentyp (siehe Modbus-Adressierung). |
| Schreiben schlägt fehl | Prüfen Sie, ob die Adresse mit 0 oder 4 beginnt, die Einstellung Nur lesen, die Benutzerberechtigung und ob das Gerät Schreibzugriffe erlaubt. |