Skip to content
Der Text wurde für 2.10 aktualisiert; die Bildschirmfotos stammen aus Version 2.5.0 und können von der Oberfläche abweichen.

Siemens S7 TCP ​

Ca. 6 Min. Lesezeit

Das Protokoll Siemens S7 TCP ermöglicht die Kommunikation von 2WinScada mit SPS der Siemens-S7-Familie (S7-200, S7-200 Smart, LOGO! 0BA8, S7-300, S7-400, S7-1200, S7-1500) über Ethernet. Die Kommunikation erfolgt über ISO-on-TCP; der Standardport ist TCP 102. 2WinScada liest die Bereiche DB, Eingänge (I), Ausgänge (Q), Merker (M), Timer (T) und Zähler (C) der SPS über absolute Adressen und schreibt auf beschreibbare Tags.

Adresssyntax und Datentypen sind auf der Seite Siemens-S7-Adressierung beschrieben.

Sicherheit

Bevor Sie Schreibvorgänge an Produktionsanlagen testen, überprüfen Sie das SPS-Programm, die Prozesssicherheit und die Benutzerberechtigungen. Definieren Sie die Tags bei der ersten Inbetriebnahme mit Nur lesen; geben Sie das Schreiben erst nach einer kontrollierten Prüfung frei.

Lizenz ​

Siemens S7 TCP gehört zu den Standardprotokollen und ist in allen Lizenzpaketen verfügbar. Einzelheiten zur Lizenz finden Sie auf der Seite Lizenz.

Kanaldefinition ​

Auf der Registerkarte Allgemein des Fensters für einen neuen Kanal geben Sie den Kanalnamen ein und wählen unter Verbindungstyp den Eintrag SiemensTcp aus. Bei diesem Protokoll gibt es keine Verbindungsparameter auf Kanalebene; die Verbindungseinstellungen werden für jedes Gerät einzeln eingegeben. Mit einem Klick auf Speichern wird der Kanal angelegt.

Gerätedefinition ​

Klicken Sie im Kanalbaum mit der rechten Maustaste auf den Siemens-Kanal und wählen Sie Neues Gerät, um das Gerätefenster zu öffnen. Auf der Registerkarte Allgemein werden Gerätename und Aktiv wie bei den anderen Protokollen festgelegt.

Registerkarte Parameter des Gerätefensters für Siemens S7 TCP

Registerkarte Parameter:

FeldBeschreibungStandardBereich
CPU-TypSPS-Familie: S7200, Logo0BA8, S7200Smart, S7300, S7400, S71200 oder S71500S71200Auswahl aus der Liste
IpIPv4-Adresse der SPS oder des Ethernet-Moduls; ein DNS-Name wird nicht akzeptiert255.255.255.255Eine gültige IPv4-Adresse
PortISO-on-TCP-Port1021–65535
RackNummer des Racks, in dem die CPU steckt00 und höher
SteckplatzNummer des Steckplatzes (Slot), in dem die CPU steckt10 und höher
Timeout [ms]Wartezeit auf die Antwort beim Lesen und Schreiben30003000–86400000

Liste CPU-Typ

Der Standardwert von Ip ist nur ein Platzhalter; geben Sie vor dem Speichern des Geräts die tatsächliche Adresse der SPS ein (z. B. 192.168.1.10).

Rack und Steckplatz werden nach der Hardwarekonfiguration im SPS-Projekt eingegeben. Typische Werte:

SPSRackSlot
S7-30002
S7-4000CPU-Steckplatz aus der Hardwarekonfiguration
S7-1200 / S7-150001 (in manchen Konfigurationen 0)

Registerkarte Erweiterte Parameter:

FeldBeschreibungStandardBereich
Leerlaufzeit für die Neuinitialisierung des Geräts [s]Gelingt bei offener Verbindung während dieser Zeit kein erfolgreicher Lesevorgang bei der SPS, wird die Verbindung geschlossen und neu aufgebaut. Mit 0 ist diese Überwachung ausgeschaltet.00–86400

Tag-Definition ​

Tags werden wie bei den anderen Protokollen in der Tag-Tabelle des Geräts definiert (siehe Tag-Verwaltung). Bei Siemens-Geräten werden die Felder nach diesen Regeln ausgefüllt:

FeldSiemens-Regel
AdresseAbsolute S7-Adresse, z. B. DB1.DBD4, MW20, I0.0. Zur Syntax siehe Siemens-S7-Adressierung.
DatentypMuss dem Typ der Variablen in der SPS entsprechen. Datentyp bestimmt die Anzahl der gelesenen Bytes und wie der Wert dekodiert wird. Ein Bool-Tag erfordert eine Bitadresse; LInt, ULInt und LWord werden nicht unterstützt.
LängeBei String-Tags die in der SPS definierte maximale Zeichenzahl (z. B. 20 für STRING[20]). Bei den anderen Typen muss der Wert 1 sein.
Aktualisierungsintervall [s]Leseperiode des Tags; 0,5–86400 Sekunden
Nur lesenWenn aktiviert, schreibt 2WinScada nicht auf dieses Tag.

Beispieldefinitionen:

AdresseDatentypBedeutung
DB1.DBX0.0BoolDB1, Byte 0, Bit 0
DB1.DBW2IntINT ab Byte 2 in DB1
DB1.DBD4RealREAL ab Byte 4 in DB1
M10.3BoolMerkerbyte 10, Bit 3
MD40DIntDINT ab Merkerbyte 40
IW64IntEingangswort ab Byte 64

Lese- und Schreibverhalten ​

  • Die Tags werden nach dem Wert Aktualisierungsintervall [s] gruppiert. Nahe beieinanderliegende Adressen mit demselben Intervall im selben Speicherbereich (derselbe DB, I, Q oder M) werden zu einer Leseanfrage zusammengefasst: Die Lücke dazwischen darf höchstens 30 Byte betragen, eine Anfrage höchstens 200 Byte. Um die Zahl der Lesevorgänge zu verringern, legen Sie gemeinsam gelesene Variablen in der SPS auf aufeinanderfolgende Adressen.
  • Ein Schreibvorgang auf ein Bool-Tag ändert nur das adressierte Bit; die anderen Bits im selben Byte bleiben unverändert.
  • Der auf ein String-Tag geschriebene Text wird gemäß dem Wert Länge im S7-STRING-Format geschrieben.
  • Kann keine Verbindung hergestellt werden oder bricht sie ab, wird die Qualität des Geräts und der Tags Bad. 2WinScada versucht höchstens einmal alle 30 Sekunden, die Verbindung wiederherzustellen.
  • Schlägt bei offener Verbindung eine Leseanfrage fehl, wird nur die Qualität der Tags dieser Anfrage Bad.

Fehlerbehebung ​

SymptomPrüfungen
Verbindung kann nicht hergestellt werdenPrüfen Sie die Werte Ip und Port, den Netzwerkzugriff und den Port TCP 102 in der Firewall. Prüfen Sie, ob CPU-Typ, Rack und Steckplatz mit der Hardwarekonfiguration der SPS übereinstimmen.
Keine Verbindung zu S7-1200 / S7-1500 oder Lesen wird abgelehntPrüfen Sie im TIA Portal in den CPU-Eigenschaften, ob der PUT/GET-Zugriff durch entfernte Partner erlaubt ist und ob die Schutzstufe der CPU den Zugriff zulässt.
DB kann nicht gelesen werdenPrüfen Sie, ob der DB in der SPS vorhanden ist und die Adresse innerhalb der DB-Größe liegt. Bei S7-1200 / S7-1500 muss in den DB-Eigenschaften die Option „Optimized block access“ (Optimierter Bausteinzugriff) ausgeschaltet sein; andernfalls kann nicht über absolute Adressen auf den DB zugegriffen werden.
Wert unsinnig oder falschPrüfen Sie, ob Datentyp dem Typ in der SPS entspricht und ob die Adresse auf das Anfangsbyte der Variablen zeigt (siehe Siemens-S7-Adressierung).
Bool-Tag erhält keinen Wert oder wird nicht gespeichertDie Adresse von Bool-Tags muss eine Bitnummer enthalten (z. B. DB1.DBX0.0, M10.3); Bitadressen werden nur bei Bool-Tags verwendet.
Tag nach dem Upgrade BadDas Tag erfüllt die Regeln von 2.10 nicht (LInt/ULInt/LWord oder die Adresse passt nicht zum Datentyp). Korrigieren Sie das Tag nach dem Grund im Dienstprotokoll und speichern Sie es (siehe Siemens-S7-Adressierung).
Adresse wird nicht akzeptiertPrüfen Sie, ob die Adresse in Großbuchstaben und mit unterstützter Syntax geschrieben ist und ob die Bitadresse nur bei einem Bool-Tag verwendet wird. Die Fehlermeldung nennt den Ablehnungsgrund.
Verbindung bricht in kurzen Abständen ab und wird neu aufgebautPrüfen Sie, ob Leerlaufzeit für die Neuinitialisierung des Geräts [s] länger als der Wert Aktualisierungsintervall [s] der Tags ist, oder setzen Sie den Wert auf 0.
Schreiben schlägt fehlPrüfen Sie die Einstellung Nur lesen, die Benutzerberechtigung und ob die Adresse in der SPS beschreibbar ist. Auf Eingänge (I) geschriebene Werte werden von der SPS in jedem Zyklus neu aktualisiert.

2WinScada 2.10