Herunterladen Inhalt Inhalt Diese Seite drucken

Beispiele Für Modbus Tcp - Siemens SIMATIC S7 Serie Systemhandbuch

Inhaltsverzeichnis

Werbung

Kommunikationsprozessor und Modbus-TCP
13.5 Modbus-Kommunikation
Hinweis
Kommunikationsfehler beim Senden oder Empfangen von Daten
Wenn beim Senden oder Empfangen von Daten ein Kommunikationsfehler auftritt (80C4
(Temporärer Kommunikationsfehler. Die angegebene Verbindung wird temporär beendet.),
80C5 (Der entfernte Partner hat die Verbindung aktiv beendet.), 80A1 (Die angegebene
Verbindung wurde beendet oder ist noch nicht aufgebaut.)), beendet die CPU die bestehende
Verbindung.
Das bedeutet auch, dass Sie alle zurückgegebenen STATUS-Werte sehen können, wenn die
Verbindung beendet wird, und dass der STATUS-Code, der den Abbruch der Verbindung
verursacht hat, nur ausgegeben wird, wenn die Verbindung beendet wird.
Beispiel: Wenn beim Empfangen von Daten ein temporärer Kommunikationsfehler auftritt, wird
zunächst der STATUS 7003 (ERROR = False) und dann 80C4 (ERROR = True) ausgegeben.
13.5.2.4
Beispiele für Modbus TCP
Beispiel: MB_SERVER für mehrere TCP-Verbindungen
Sie können mehrere Verbindungen zum Modbus TCP-Server haben. Hierfür muss MB_SERVER
für jede Verbindung unabhängig ausgeführt werden. Jede Verbindung muss einen
unabhängigen Instanz-DB, eine Verbindungs-ID und einen IP-Port verwenden. Bei der S7-1200
ist nur je eine Verbindung pro IP-Port zulässig.
Um optimales Betriebsverhalten zu erzielen, muss MB_SERVER in jedem Programmzyklus für
jede Verbindung ausgeführt werden.
Der Parameter CONNECT verwendet den Systemdatentyp TCON_IP_V4. Im Beispiel befinden sich
diese Datenstrukturen im DB "Modbus-Verbindungen". Der DB "Modbus-Verbindungen" enthält
zwei TCP_IP_V4-Strukturen: "TCPpassiv_1" (für Verbindung 1) und "TCP_passiv_2" (für
Verbindung 2). Bei der in den Netzwerkkommentaren beschriebenen ID der
Verbindungseigenschaften und bei LocalPort handelt es sich um in der Datenstruktur CONNECT
gespeicherte Datenelemente.
Die TCP_IP_V4 CONNECT-Daten enthalten auch eine IP-Adresse im ADDR-Array RemoteAddress.
Die IP-Adresszuweisungen in TCPpassiv_1 und TCP_passiv_2 wirken sich nicht auf den Aufbau
der TCP-Serververbindungen aus, bestimmen jedoch, welche Modbus TCP-Clients über die
Verbindungen mit jedem MB_SERVER kommunizieren dürfen. MB_SERVER überwacht passiv auf
eine Modbus-Client-Meldung und vergleicht die eingehende IP-Adresse der Meldung mit der im
entsprechenden ADDR-Array RemoteAddress gespeicherten IP-Adresse.
Für die beiden MB_SERVER-Anweisungen sind drei Varianten von IP-Adressen möglich:
• IP-Adresse = 0.0.0.0
Jede MB_SERVER-Anweisung reagiert auf alle Modbus TCP-Clients mit beliebiger IP-Adresse.
• IP-Adresse = Gleiche IP-Adresse in TCPpassiv_1 und TCPpassiv_2
Beide MB_SERVER-Verbindungen reagieren nur auf Modbus-Clients, die von dieser IP-
Adresse stammen.
• IP-Adresse = Unterschiedliche IP-Adresse in TCPpassiv_1 und TCPpassiv_2
Jede MB_SERVER-Anweisung reagiert nur auf Modbus-Clients, die von der IP-Adresse
stammen, die in ihren jeweiligen TCP_IP_V4-Daten gespeichert ist.
1084
S7-1200 Automatisierungssystem
Systemhandbuch, V4.5 05/2021, A5E02486681-AO

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Diese Anleitung auch für:

Simatic s7-1200

Inhaltsverzeichnis